Kontrol Alur dalam Ruby: Membuat Keputusan & Perulangan

| Ruby | ruby, tutorial, kontrol-alur, if-else, loop

Kontrol Alur dalam Ruby: Membuat Keputusan & Perulangan

Tanpa kontrol alur, kode hanya berjalan lurus dari atas ke bawah. Dengan kontrol alur, Anda bisa buat keputusan dan ulang kode sesuai kebutuhan.

1. If/Else — Keputusan Dasar

umur = 20

if umur >= 17
  puts "Dewasa"
else
  puts "Anak-anak"
end

If/Elif/Else

nilai = 85

if nilai >= 90
  puts "A"
elsif nilai >= 80
  puts "B"
elsif nilai >= 70
  puts "C"
else
  puts "D"
end
# Output: B

If sebagai Modifier

umur = 20
puts "Dewasa" if umur >= 17

Lebih ringkas untuk kondisi satu baris.

Unless — Kebalikan If

aktif = false

unless aktif
  puts "Akun tidak aktif"
end
# Output: Akun tidak aktif

unless = “kalau tidak”. Bisa juga sebagai modifier:

puts "Akun tidak aktif" unless aktif

2. Case/When — Multiple Kondisi

hari = "Senin"

case hari
when "Senin"
  puts "Mulai kerja"
when "Jumat"
  puts "Hari rase"
when "Sabtu", "Minggu"
  puts "Libur"
else
  puts "Hari biasa"
end
# Output: Mulai kerja

Case dengan Range

nilai = 85

case nilai
when 90..100
  puts "A"
when 80..89
  puts "B"
when 70..79
  puts "C"
else
  puts "D"
end
# Output: B

3. Ternary Operator

Kondisi singkat satu baris:

umur = 20
status = umur >= 17 ? "Dewasa" : "Anak-anak"
puts status  # Dewasa

Kapan pakai? Kondisi sederhana, satu baris. Kalau terlalu panjang, pakai if/else biasa.

4. While Loop — Ulangi Selama Kondisi True

counter = 1

while counter <= 5
  puts counter
  counter += 1
end
# Output: 1, 2, 3, 4, 5

Until — Kebalikan While

counter = 1

until counter > 5
  puts counter
  counter += 1
end
# Output: 1, 2, 3, 4, 5

5. For Loop — Ulangi Collection

for i in 1..5
  puts i
end
# Output: 1, 2, 3, 4, 5

Range

# Inclusive (1 sampai 5)
for i in 1..5
  puts i
end

# Exclusive (1 sampai 4)
for i in 1...5
  puts i
end

6. Each — Iterasi Favorit Ruby

Ruby lebih suka pakai each daripada for loop:

[1, 2, 3, 4, 5].each do |angka|
  puts angka
end

Each dengan Index

["Andika", "Budi", "Citra"].each_with_index do |nama, index|
  puts "#{index + 1}. #{nama}"
end
# Output:
# 1. Andika
# 2. Budi
# 3. Citra

Map — Transformasi Collection

angka = [1, 2, 3, 4, 5]
kuadrat = angka.map { |n| n ** 2 }
puts kuadrat.inspect  # [1, 4, 9, 16, 25]

Select — Filter

angka = [1, 2, 3, 4, 5, 6, 7, 8]
genap = angka.select { |n| n.even? }
puts genap.inspect  # [2, 4, 6, 8]

7. Break & Next

Break — Hentikan Loop

[1, 2, 3, 4, 5].each do |n|
  break if n == 3
  puts n
end
# Output: 1, 2

Next — Skip Iterasi

[1, 2, 3, 4, 5].each do |n|
  next if n == 3
  puts n
end
# Output: 1, 2, 4, 5

8. Ringkasan

Konsep Fungsi Contoh
if/else Keputusan if kondisi ... end
unless Kebalikan if unless aktif
case/when Multiple kondisi case nilai when 90...
while Ulangi selama true while x < 10
until Ulangi sampai true until x > 10
for Ulangi range for i in 1..5
each Iterasi collection [1,2,3].each
break Hentikan loop break if selesai
next Skip iterasi next if skip

Penutup

Kontrol alur membuat Ruby hidup — kode bisa buat keputusan dan mengulang tugas. Gunakan if/else untuk keputusan sederhana, each untuk iterasi, dan break/next untuk kontrol loop.

Di artikel selanjutnya, kita akan bahas Metode dalam Ruby — cara membuat dan menggunakan fungsi.


Mail Facebook Twitter Whatsapp