Perulangan #
Dalam bahasa Ruby, perulangan (looping) digunakan untuk menjalankan sekelompok perintah berulang kali. Ruby menyediakan berbagai cara untuk melakukan perulangan, dan masing-masing memiliki kegunaan dan sintaksis yang berbeda. Berikut adalah penjelasan lengkap mengenai berbagai cara perulangan di Ruby:
while Loop
#
Loop while akan terus mengeksekusi blok kode selama kondisi yang diberikan bernilai true.
Sintaks:
while kondisi
# blok kode
end
Contoh:
i = 0
while i < 5
puts i
i += 1
end
Penjelasan:
- Loop ini mencetak nilai
idari 0 hingga 4. Kondisii < 5harus bernilaitrueagar loop terus berlanjut.
until Loop
#
Loop until mirip dengan while, tetapi loop akan terus berlanjut hingga kondisi menjadi true.
Sintaks:
until kondisi
# blok kode
end
Contoh:
i = 0
until i >= 5
puts i
i += 1
end
Penjelasan:
- Loop ini mencetak nilai
idari 0 hingga 4. Kondisii >= 5harus bernilaitrueuntuk menghentikan loop.
for Loop
#
Loop for digunakan untuk iterasi melalui rentang atau koleksi objek, seperti array.
Sintaks:
for elemen in koleksi
# blok kode
end
Contoh:
for i in 0..4
puts i
end
Penjelasan:
- Loop ini menggunakan rentang
0..4untuk mencetak angka dari 0 hingga 4.
each Method
#
Metode each adalah cara yang sering digunakan untuk iterasi melalui elemen-elemen dalam array, hash, atau koleksi lainnya. Ini adalah bentuk perulangan berbasis blok yang lebih idiomatik di Ruby.
Sintaks:
koleksi.each do |elemen|
# blok kode
end
Contoh:
numbers = [1, 2, 3, 4, 5]
numbers.each do |number|
puts number
end
Penjelasan:
- Metode
eachiterasi melalui setiap elemen dalam arraynumbersdan mencetaknya.
map Method
#
Metode map digunakan untuk mengiterasi koleksi dan mengembalikan array baru dengan hasil dari blok kode yang diterapkan pada setiap elemen.
Sintaks:
koleksi.map do |elemen|
# blok kode yang menghasilkan nilai
end
Contoh:
numbers = [1, 2, 3, 4, 5]
squared_numbers = numbers.map { |number| number ** 2 }
puts squared_numbers.inspect # Output: [1, 4, 9, 16, 25]
Penjelasan:
- Metode
mapmengaplikasikan blok kode yang mengkuadratkan setiap elemen dalam array dan mengembalikan array baru dengan hasilnya.
select Method
#
Metode select digunakan untuk memilih elemen-elemen dari koleksi yang memenuhi kondisi tertentu.
Sintaks:
koleksi.select do |elemen|
# kondisi yang menghasilkan nilai boolean
end
Contoh:
numbers = [1, 2, 3, 4, 5]
even_numbers = numbers.select { |number| number.even? }
puts even_numbers.inspect # Output: [2, 4]
Penjelasan:
- Metode
selectmengembalikan array baru yang berisi elemen-elemen darinumbersyang memenuhi kondisinumber.even?.
each_with_index Method
#
Metode each_with_index memungkinkan iterasi melalui koleksi dengan akses ke indeks elemen saat iterasi.
Sintaks:
koleksi.each_with_index do |elemen, indeks|
# blok kode
end
Contoh:
colors = ["red", "green", "blue"]
colors.each_with_index do |color, index|
puts "#{index}: #{color}"
end
Penjelasan:
- Metode
each_with_indexmengiterasi melalui arraycolorsdan mencetak indeks dan nilai dari setiap elemen.
times Method
#
Metode times menjalankan blok kode sejumlah waktu yang ditentukan oleh bilangan.
Sintaks:
n.times do
# blok kode
end
Contoh:
5.times do |i|
puts i
end
Penjelasan:
- Metode
timesmenjalankan blok kode sebanyak 5 kali, dengan variabelibernilai dari 0 hingga 4.
break dan next
#
break: Menghentikan loop saat ini dan keluar dari loop.
Contoh:
i = 0
while i < 10
if i == 5
break
end
puts i
i += 1
end
Penjelasan:
-
breakmenghentikan loop ketikaimencapai 5. -
next: Melompati iterasi saat ini dan melanjutkan ke iterasi berikutnya.
Contoh:
(1..10).each do |i|
next if i.even?
puts i
end
Penjelasan:
nextmelompati pencetakan angka genap dan hanya mencetak angka ganjil.
redo
#
Metode redo digunakan untuk mengulangi iterasi saat ini tanpa memulai loop dari awal.
Contoh:
i = 0
while i < 5
if i == 2
i += 1
redo
end
puts i
i += 1
end
Penjelasan:
redodigunakan untuk mengulangi iterasi saatisama dengan 2 tanpa memulai loop dari awal.
Kesimpulan #
Ruby menyediakan berbagai cara untuk melakukan perulangan, mulai dari while dan until untuk loop berbasis kondisi, hingga metode berbasis blok seperti each, map, dan select untuk iterasi koleksi. Memahami berbagai metode ini akan membantu Anda menulis kode yang lebih efisien dan idiomatik di Ruby. Jika ada bagian tertentu yang perlu penjelasan lebih lanjut atau jika Anda memiliki pertanyaan lain, jangan ragu untuk bertanya!