Nah, bagaimana latihannya? Nggak susah kan? Asalkan kita mengerti konsep dasarnya dan tidak hanya menghafalkan saja, kita pasti bisa membuat program sendiri. Sudah siap melanjutkan petualangan?
Seperti yang sudah kita lihat bersama, program kita selama ini dikerjakan secara urut. Baris paling atas akan dikerjakan lebih dulu dan berturut-turut baris-baris di bawahnya mengambil giliran sampai baris terakhir program kita. Tapi, ada kalanya kita akan "melanggar" aturan ini. Bukan berarti nanti kita bisa mengerjakan program dari bawah ke atas, tapi kita bisa
melompati atau mengulangi beberapa baris. Nanti kita juga akan melihat bagaimana kita bisa mengerjakan program dari mana saja!
Oke, sekarang bayangkan kasus ini. Ambil saja contoh program sambutan kita. Sambutan itu terdengar datar saja, sama untuk tiap orang, tidak peduli jenis kelaminnya. Kita ingin agar kalau pria yang menggunakan program itu, sambutannya terdengar maskulin, sementara wanita akan disambut dengan feminin.
Langkah pertama, kita mungkin menyuruh pengguna memasukkan jenis kelaminnya seperti ini:
p "Masukkan jenis kelamin:"
sex = gets
Lah, terus, bagaimana kita menentukan apa yang akan ditampilkan program kita? Kita sudah tahu jenis kelamin pengguna kita, tapi apa yang harus kita lakukan? Nah, di sinilah kita mulai mengenal...
PercabanganIstilah kerennya
branching. Yup, program kita memang bisa "bercabang", terutama jika kita menemui kondisi-kondisi tertentu yang harus dipenuhi. Mudah sekali, dalam bahasa Inggris percabangan ini diwakili dengan kata
if (jika). Semua bahasa pemrograman pasti memiliki kata
if termasuk Ruby. Bagaimana cara kerjanya?
Blok
if yang paling sederhana berbentuk seperti ini:
if kondisi [then]
program di sini...
end
Tiap kali bertemu kata
if, program kita akan mengecek
kondisi, terpenuhi atau tidak. Kalau terpenuhi, ia akan menjalankan program apapun yang berada di dalamnya. Kalau tidak, seluruh blok (yang diapit dengan kata
if dan
end) akan dilewati alias tidak dikerjakan. Kata
then boleh digunakan boleh tidak.
Bingung? Nii ilustrasinya dalam kata-kata sederhana...
jika kondisi terpenuhi
lakukan apa saja yang ingin kita lakukan di sini
selesaiContoh! Pada kasus kita tadi, kita ingin tahu, jenis kelamin pengguna kita laki-laki atau perempuan. Dalam bahasa manusia, ilustrasinya seperti ini.
jika jenis kelamin adalah laki-laki
beri sambutan maskulin
selesai
Aduh, tapi bagaimana dengan yang perempuan? Blok
if juga mengizinkan kita menuliskan program yang akan dilakukan kalau kondisinya
tidak terpenuhi. Pada Ruby, ini ditandai dengan kata
else. Blok
if kita akan jadi seperti ini:
if kondisi [then]
apa yang kita lakukan kalau kondisinya terpenuhi
else
apa yang kita lakukan kalau kondisinya tidak terpenuhi
end
Inilah yang populer dengan sebutan
if-then-else.
Kembali lagi ke program kita! Jadi, dalam bahasa manusia, kita akan melakukan perintah berikut:
jika jenis kelamin adalah laki-laki
beri sambutan maskulin
selain itu
beri sambutan feminin
selesai
Bahasa Ruby-nya bagaimana? Nah, untuk mendefinisikan kondisi, kita bebas menggunakan tanda perbandingan, misalnya lebih kecil
<, lebih besar
>, sama dengan
== (awas! Tanda
== menunjukkan kondisi sama, bukan persamaan/assignment), tidak sama dengan
!=, dan sebagainya. Jadinya seperti ini:
if sex == "L"
p "Hi Mas!"
else
p "Halo Mbak!"
end
Lengkapnya menjadi seperti ini (kita abaikan dulu yah nama pengguna):
p "Masukkan jenis kelamin Anda (L/P):"
sex = gets.chomp.upcase
if sex == "L"
p "Hi Mas!"
else
p "Halo Mbak!"
end
upcase akan mengubah string menjadi huruf besar semua.
Silakan dicoba!
Waduh, tapi kalau aku masukkan huruf apapun selain
L, program ini memberikan sambutan feminin! Gimana dengan para transgender?