সুমন কে তার মামা কিছু টাকা হাতে দিয়ে বলল যা দোকান থেকে মিষ্টি নিয়ে আয়। সুমন মামাকে জিজ্ঞেস করল কি মিষ্টি আনবে সে, উত্তরে মামা বলল “চমচম”। সুমনঃ “যদি চমচম না পাই?”, “তাহলে রসমালাই”- মামার উত্তর। “মামা যদি সেটাও না পাই?” মামা কিছুক্ষণ ভেবে বলল “তাহলে কালো জ্যাম”। সুমনের আবার পাল্টা প্রশ্ন “যদি সেটাও না পাই?”। এবার মামা রেগে গেলেন। বললেন “না পেলে মুড়ি কিনে আনিস, মুড়ি খাব!!”।
অতঃপর সুমন মিষ্টি কেনার উদ্দেশে রউনা হল। সুমনের এই প্রশ্ন গুলো কি অবান্তর ছিল? যদি একটু ভেবে দেখেন তবে নিশ্চয়ই উত্তর টা “না” হবে, কারন সুমনের এই প্রশ্ন করার পিছনে কারন হল সে নিশ্চিত হতে চেয়ে ছিল মামা কি চাচ্ছে। আর এই সিদ্ধান্ত নিতেই তার এই প্রশ্ন করা। সুমনের মত আমরাও কিন্তু প্রতিদিন সিদ্ধান্ত হিনতায় ভুগি। এটা খাব না ওটা, এটা পরব না ওটা, এখানে যাব না ওখানে, যদি এটা পাই তাহলে এটা করব নাহলে ওটা করব, আর কত কি। এবং এই ‘যদি’ আর ‘নাহলে’র উপর ভিত্তি করে আমরা আমাদের সিদ্ধান্ত নিয়ে থাকি। ঠিক একই ভাবে প্রোগ্রামিং জগতে আমাদের সিদ্ধান্তু (decision) নেয়ার প্রয়োজন হয়। যদি এটা হয় তবে এটা কর, নাহলে ওটা কর। যেমন, ফেসবুক’র কথাই ধরুন না, যদি লগইন করার সময় ইউজারনাম আর পাসওয়ার্ড ঠিক থাকে তবে প্রোফাইল এ নিয়ে যাও অথবা পুনরাই লগইন করতে বল। এই যে সিদ্ধান্ত নিচ্ছি এটাকেই প্রোগ্রামিং এর ভাষায় বলে কন্ডিশনাল স্টেটমেন্ট। আজকে কথা বলব এই কন্ডিশনাল স্টেটমেন্ট নিয়ে।
প্রতিটা প্রোগ্রামিং ল্যাঙ্গুয়েজ এর কিছু বেসিক পার্ট থাকে, if-else তাদের মধ্যে অন্যতম।এর স্ট্রাকচার বা লেখার ধরন হচ্ছেঃ
if ( ) {
} else {
}
if এর প্রথম ব্রাকেটের(first bracket) ভিতর লিখতে হয় আপনি কি চেক করতে চাচ্ছেন বা কন্ডিশন কি । আর এই চেক বা কন্ডিশন সত্য হলে কি করতে চান সেটা লিখতে হই সেকেন্ড ব্রাকেটের(curly brace-{}) ভিতর। আর সবশেষে else এর ভিতর লিখতে হয় যদি কন্ডিশন ঠিক বা সত্য না হয় তাহলে কি করতে চান। এখন প্রশ্ন হচ্চে কন্ডিশন কি?
কন্ডিশন বলতে এখানে বোঝানো হয়েছে আপনি কিসের উপর ভিত্তি করে সিদ্ধান্ত নিচ্ছেন। ফেসবুক এর কথাটাই চিন্তা করা যাক।আপনি ইউজার কে তার প্রোফাইল এ নিয়ে যাবেন তখনই যখন তার ইউজারনাম আর পাসওয়ার্ড ঠিক হবে। অর্থাৎ এখানে শর্ত বা কন্ডিশন হচ্ছে ইউজার এর কাছ থেকে নেয়া ইউজারনাম এবং পাসওয়ার্ড ঠিক হতে হবে। তাহলে যদি ইউজারনাম আর পাসওয়ার্ড ঠিক হয় মানে কন্ডিশন সত্য হয় বা true হয় তাহলেই আপনি তাকে তার প্রোফাইল এ নিয়ে যাবেন। কিন্তু যদি ভুল হয় তাহলে কি আপনি তাকে তার প্রোফাইল এ যেতে দিবেন নাকি পুনরায় লগইন করতে বলবেন? অবশ্যই লগইন করতে বলবেন, তাই নয় কি? তাহলে এখানে আপনার কন্ডিশন চেকিং টা মিথ্যা বা false হয়ে গেল। আগেই বলেছিলাম যদি কেবল মাত্র if এ থাকা কন্ডিশন মিথ্যা বা false হয় তবে else পার্টটি কাজ করবে। তাহলে আমরা else এর মধ্যে বলে দিব ইউজার কে পুনরায় লগইন করতে। এতক্ষণ যা বুঝলাম সেটাকে যদি code আকারে লিখি তাহলে দ্বারায় -
if ( ইউজারনাম এবং পাসওয়ার্ড কি ঠিক ) {
ইউজার কে তার প্রোফাইল এ নিয়ে যাও;
} else {
ইউজার কে পুনরায় লগইন করতে বল;
}
এখানে যদি ইউজারনাম আর পাসওয়ার্ড ঠিক হয় তবেই {} এর ভিতর থাকা অংশটুকু কাজ করবে, নাহলে else {} এ থাকা অংশ কাজ করবে। এখন আপনার মনে প্রশ্ন আসতেই পারে “ আচ্ছা, শুধু if বা শুধু else কি কাজ করবে?” আসুন আমরা এই প্রশ্নের উত্তর খোঁজার চেষ্টা করি।
আগেই বলেছিলাম else শুধুমাত্র তখনি কাজ করবে যদি if এ থাকা কন্ডিশনটি মিথ্যা হয়। অর্থাৎ else এর কাজ করা নির্ভর করছে if এর উপর। তারমানে if ছাড়া else কাজ করবে না। তাহলে শুধু if কি কাজ করবে? আসুন উত্তর খুঁজি।
মনে করুন, আপনার ফেসবুক এর পাসওয়ার্ড টি মনে নেই। সুতরাং আপনি forgot password এর মাধ্যমে আপনার পাসওয়ার্ডটি পুনরায় সেট করতে পারেন। তাহলে ঘটনা দাঁড়াচ্ছে যদি কেবলমাত্র আপনি পাসওয়ার্ড ভুলে যান তবেই আপনি forgot password এর সাহায্য নিবেন। না ভুলে গেলে কি করবেন সেটা কি গুরুত্ত পূর্ণ? কারন, পাসওয়ার্ড ভুলে না গেলে তো আপনার forgot password এর প্রয়োজনই হচ্ছে না। অর্থাৎ আমাদের শুধু চেক করতে হচ্ছে পাসওয়ার্ডটি মনে আছে কি নেই। এই ধরনের অবস্থায় আমরা শুধুমাত্র if এর সাহায্য নিতে পারি, এখানে else এর প্রয়োজন নেই।
if ( পাসওয়ার্ড মনে নেই) {
forgot password এর সাহায্য নাও;
}
এখানে খেয়াল করে দেখুন else এর কোন ব্যাবহার করা হয়নি, কারন এখানে আমার শুধু if এ থাকা কন্ডিশনটি চেক করলেই হচ্ছে।
আসুন এবার আজকে আমরা যা বুঝলাম সেটাকে আরেকবার মনে করার চেষ্টা করি। অনেকসময় আমাদের সিদ্দান্তু(decision) নিতে কিছু জিনিস চেক করতে হয়, প্রোগ্রামিং এর ভাষায় একে বলে কন্ডিশনাল স্টেটমেন্ট। if-else হচ্ছে তেমনি একটি কন্ডিশনাল স্টেটমেন্ট যার সাহায্যে আমারা চেকিং (condition checking) এর মাধ্যমে কি করব সেই সিদ্ধান্ত (decision) নিতে পারি। if এর ভিতর থাকা কন্ডিশন বা শর্ত যদি true বা ঠিক হয় তবে if কাজ করবে অন্যথায় else কাজ করবে। আমরা চাইলে শুধু if কেউ ব্যাবহার করতে পারি, সেক্ষেত্রে else এর প্রয়োজন নেই।
আশা করি এই আর্টিকেলটি যারা নতুন নতুন প্রোগ্রামিং শুরু করেছেন তাদের উপকারে আসবে। ধন্যবাদ এতক্ষণ সাথে থাকার জন্য, ভাল লাগলে share করতে ভুলবেন না এবং প্রোগ্রামিং জগতে আপনাকে স্বাগতম।