Belajar Bahasa Ruby? (bagian 2)

Di Artikel ini kita akan belajar banyak. Antara lain tentang if, else, elsif, while, range, while, dan for loop. Tau dasar bagaimana cara print, puts dan memasukkan nilai di variabel tidaklah cukup. Karena kalau ibarat makan duren, kalian baru mencium aromanya saja, belum ngicipi keniqmatannya. Di artikel sebelumnya Kita gak bisa berbuat banyak dengan bahasa ini, tapi di artikel ini kita akan masuk ke bagian mengontrol sesuatu dengan logika. Jadi cari duduk yg lebih enak, jangan lupa ambil air putih, teh atau kopi dan mari kita mulai materi selanjutnya πŸ˜‰

Coffee

BOOLEANS

Setelah di artikel sebelumnya ada integer dan string, nah ini ada yg namanya booleans. Disemua bahasa pemrograman, dan hampir di level terkecil dari komponen elektronika, selalu ada yg namanya BOOLEANS. Jangan terintimidasi dari namanya yg aneh πŸ˜‚. Booleans hanyalah nilai yg berisi dua, kalo nggak true ya false. Benar atau salah. Cara menuliskannya di Ruby seperti berikut

1
2
3
4
hadir = true
keranHidup = false
lampuMati = true
pacarSelingkuh = false

Pada dasarnya, nama variabel apapun kalau diisi dengan β€˜true’ atau β€˜false’ akan jadi Boolean.

PEMBANDING

Booleans akan ada hubungannya dengan pembanding (comparison). Pembanding kalau di ruby cara menuliskannya dengan dobel sama dengan (==). Namanya juga pembanding, artinya ada 2 hal yg dibandingkan. Jika keduanya bernilai sama, maka hasilnya true jika berbeda maka bernilai false. Cotohnya seperti ini

1
2
3
4
5
jumlahMantan = 6
jumlahPacar = 1

puts jumlahPacar == jumlahMantan # false, yaiyalah πŸ˜‚
puts jumlahMantan == 6 # true

selain ==, ada juga != yang artinya β€˜tidak sama dengan’. Nilai keluarannya kebalikannya β€˜sama dengan’. Dan tentunya, ada juga operator matematika lainnya seperti > lebih besar, < lebih kecil, <= lebih kecil sama dengan, >= lebih besar sama dengan.

Khusus di Ruby, ada lagi .eql?. Dia akan mengeluarkan nilai true jika kedua hal yg dibandingkna mempunyai nilai yg sama dan tipe data yg sama.

JIKA (if)

If adalah bagian yg penting dari pemrograman. Cara kerjanya ya kyk logika biasa. Jika bener maka lakukan. Nah cara menulisnya di Ruby seperti ini

1
2
3
4
mantan = 9
if mantan > 8
puts "banyak amat πŸ˜‚ mantannya"
end

Dari kode diatas, kondisi mantan > 8 dievaluasi. Apabila memang benar (true) maka perintah di dalam tanda if dieksekusi. Berbeda dengan bahasa pemrograman lain seperti javascript atau C yg memakai kurung kurawal, Ruby menggunakan end untuk menandai akhir dari β€˜if’ tersebut.

jangan lupa kita juga bisa menaruh β€˜if’ didalam β€˜if’. πŸ˜‰

else

Jika if pertama menghasilkan false, kita bisa menambahi β€˜else’ agar menghasilkan nilai keluaran yg lain. Misalnya

1
2
3
4
5
6
mantan = 9
if mantan > 10
puts "banyak amat πŸ˜‚ mantannya"
else
puts "oalah, masih kurang dari 10" #ini nilai keluarannya
end

jangan lupa menaruh β€˜end’ di akhir if, satu saja walaupun ada else nya

else if (elsif)

Kalau program kita ingin memiliki kondisional yg lebih banyak. Bisa menggunakan else if. Di Bahasa Ruby dituliskan dengan elsif. Misalnya

1
2
3
4
5
6
7
8
9
10
mantan = 9
if mantan > 10
puts "banyak amat πŸ˜‚ mantannya"
elsif mantan == 8
puts "oalah cuma 8"
elsif mantan == 9
puts "oalah, cuma 9" #ini nilai keluarannya
else
puts "hmm ..."
end

jangan lupa : tulis end cuma sekali saja.

unless

Mungkin cuma ada di Ruby saja Unless ini. wkwk. Jadi mudahnya unless adalah kebalikan dari β€˜if’. Kode akan dieksekusi kalau bernilai false

1
2
3
4
5
6
7
mantan = 9
unless mantan > 10
puts "banyak amat πŸ˜‚ mantannya" # ini outputnya
end

# kalau di if, akan false dan tidak dieksekusi
# kalau di unless, kode diatas akan lancar jaya

Operator Logika

Seperti di pelajaran kelas 1 SMA. Operator logika sederhana ada && (and), || (or), dan ! (not). Operator logika akan bernilai true dan false saja.

Yang perlu diingat :

  • Di operator AND, nilai keluaran akan true jika keduanya benar.
  • Di operator OR, nilai keluaran akan true jika salah satu saja benar
  • Di operator NOT, nilai keluaran akan true jika nilai awalnya false

Contohnya untuk AND :

1
2
3
4
5
6
7
8
9
10
mantan = 42
pacar = 8
if mantan > 7 && pacar < 11
puts "Yes"
end

# Nilai keluaran "Yes",
# karena mantan > 7 true
# pacar < 11 juga true
# keduanya true, maka true

Contohnya untuk OR :

1
2
3
4
5
6
7
8
9
10
mantan = 3
pacar = 5
if mantan == 3 || pacar > 11
puts "OK BOS"
end

# Nilai keluaran "OK BOS",
# karena mantan == 3 true
# pacar > 11 false
# salah satunya true, maka true

Contohnya untuk NOT :

1
2
3
4
mantan = 7
puts !(mantan>5)

# nilai keluaran false. Karena nilai awalnya sudah true

chloe

CASE STATEMENT

kalau di Javascript ada switchcase. Switch case ini digunakan kalau kalian lelah menulis if/elsif/else. Switch case juga lebih enak dibaca dan di beberapa bahasa pemrograman lebih cepat dieksekusi.

1
2
3
4
5
6
7
8
9
10
11
12
teman = 2

case teman
when 1
puts "One"
when 2
puts "Two"
when 3
puts "Three"
end

# Nilai Keluaran "Two"

When juga bisa diberi koma (untuk output sama di banyak kondisi). Contohnya

1
2
3
4
5
6
7
8
9
10
umur = 5

case umur
when 1, 2, 3
puts "Bayi"
when 4, 5
puts "Nak Kanak Children"
end

# Nilai Keluaran "Nak Kanak Children"

Kalau di Javascript ada β€œdefault: β€œ, di ruby untuk kondisi yg tidak tertemukan, bisa menggunakan β€œelse” πŸ˜‰

LOOPS

IF, Switch selalu digunakan di pemrograman. Begitu juga untuk β€˜loop’. Di Ruby ada banyak cara melakukan looping. Salah satunya dengan while. Whila akan dieksekusi jika kondisi di dalam nya bernilai true. Contohnya :

1
2
3
4
5
6
7
8
x = 0
while x < 10
puts x
x += 1
end

# nilai keluarannya 0 1 2 3 4 5 6 7 8 9
# sewaktu x = 10, while di dalam tidak dieksekusi & program berhenti.

Bisa juga menggunakan until. Until akan dieksekusi ketika kondisi di dalamnya bernilai false. Contohnya :

1
2
3
4
5
6
7
8
x = 0
until x > 10
puts x
x += 2
end

# nilai keluarannya 0 2 4 6 8 10
# sewaktu x = 10, while di dalam tidak dieksekusi dan program berhenti.

Range

range. Seperti logika biasa, range antara 0 ke 10. Isinya adalah nilai dari 0,1,2,3,4,5 … 10. Untuk menuliskannya bisa menggunakan 2 titik atau 3 titik.

  • Kalau menggunakan 2 titik, nilai terakhir diikutkan
  • Kalau menggunakan 3 titik, nilai terakhir tidak diikutkan Contohnya :
1
2
3
4
5
6
7
a = (1..7).to_a
puts a
# Nilai Keluarannya [1, 2, 3, 4, 5, 6, 7]

b = (79...82).to_a
puts b
# Nilai Keluarannya [79, 80, 81]

FOR LOOP

for loop adalah statement yg digunakan untuk β€˜looping’ pada nilai spesifik tertentu (seperti dalam range tertentu) . Contohnya

1
2
3
for i in (1..10)
puts i
end

APA itu i setelah for? HNAH!, beruntung jika kalian nyadar πŸ˜‚. i adalah variabel kosong. Tiap iterasi dari loop, i tadi akan memiliki nilai tertentu sesuai apa yg di dalam for πŸ˜‰. Pada contoh diatas, pada loop pertama i akan bernilai 1, loop kedua i bernilai 2, dst dst.

Mudahnya for loop akan mengeksekusi apa yg didalam for loop tersebut, satu per satu, sesuai jumlah range nya πŸ˜‰

Kalau penuiisan for untuk looping dirasa susah, ruby punya statement lain dinamakan loop do. Dia akan mengeksekusi sampai kondisi dalam break bernilai true.

1
2
3
4
5
6
x = 0
loop do
puts x
x += 1
break if x > 10
end

Kode diatas akan memiliki nilai keluaran 0 sampai 10. Ketika x > 10, loop akan berhenti.

Jangan lupa nulis break agar program tidak looping selamanya.

chloe

ARTIKEL RUBY PART 2 SELESAI, sampai jumpa di part 3. Karena kita akan bermain data-data yg berbentuk array, list dkk πŸ˜‰