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
i
dari 0 hingga 4. Kondisii < 5
harus bernilaitrue
agar 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
i
dari 0 hingga 4. Kondisii >= 5
harus bernilaitrue
untuk 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..4
untuk 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
each
iterasi melalui setiap elemen dalam arraynumbers
dan 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
map
mengaplikasikan 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
select
mengembalikan array baru yang berisi elemen-elemen darinumbers
yang 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_index
mengiterasi melalui arraycolors
dan 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
times
menjalankan blok kode sebanyak 5 kali, dengan variabeli
bernilai 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:
-
break
menghentikan loop ketikai
mencapai 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:
next
melompati 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:
redo
digunakan untuk mengulangi iterasi saati
sama 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!