Looping data
Looping adalah membuat program yang akan dilakukan secara berulang-ulang misalnya kita ingin mencetak data dari 1 sampai 1000, bila kita tidak menggunakan perintah looping kita harus mengetikan angka sebanyak 1000 kali, tapi dengan menggunakan perintah looping kita hanya perlu menuliskan 3 baris program saja. Dalam bahasa ruby juga terdapat berbagai macam bentuk looping yang dapat mengakomodasikan kebutuhan kita bila ingin mencetak kumpulan data baik itu berupa array maupun suatu record.
Looping
- sama seperti pada program yang lain di dalam ruby terdapat berbagai macam bentuk looping
- looping adalah melakukan suatu kelompok program secara berulang-ulang
- batasan antara looping dapat ditentukan dengan 3 hal yaitu nilai awal, counter / penambah dan nilai akhir
- agar siswa dapat lebih jelas dalam memahami berbagai macam looping yang ada di ruby, maka berikut akan diberikan contoh program
class DeretBilangan def initialize(awal, akhir) @awal = awal @akhir = akhir end def menggunakan_while_do puts "Contoh looping menggunakan while do" i = @awal while i <= @akhir do puts "bilangan ke #{i}" i = i + 1 end end def menggunakan_each puts "Contoh looping menggunakan each" puts "di dalam ruby penulisan each dapat diganti dengan map, collect dan select" @data = [10,20,30,45,50,68,74,81] total = 0 @data.each do |nilai| puts " #{nilai} " total = total + nilai end puts "Total bilangan diatas adalah #{total}" end def map_collect_select_each @data = [1,2,3] @hasil = @data.map { |n| n*2 } puts "Hasil perintah map [1,2,3] adalah #{@hasil}" @hasil = @data.collect { |n| n*2 } puts "Hasil perintah collect [1,2,3] adalah #{@hasil}" @hasil = @data.select { |n| n*2 } puts "Hasil perintah select [1,2,3] adalah #{@hasil}" @hasil = @data.each { |n| n*2 } puts "Hasil perintah each [1,2,3] adalah #{@hasil}" puts "Bila Cek bila menggunakan kondisi n > 2" @hasil = @data.map { |n| n>2 } puts "cek n>2 dari map [1,2,3] adalah #{@hasil}" @hasil = @data.collect { |n| n>2 } puts "cek n>2 dari collect [1,2,3] adalah #{@hasil}" @hasil = @data.select { |n| n>2 } puts "cek n>2 dari select [1,2,3] adalah #{@hasil}" @hasil = @data.each { |n| n>2 } puts "cek n>2 dari each [1,2,3] adalah #{@hasil}" puts "dari hasil diatas dapat disimpulkan" puts "map dan collect sama, yaitu menghasilkan array baru hasil dari perhitungan" puts "select akan menghasilkan array tapi berisi data awal yang sesuai dengan syarat" puts "each akan selalu mengembalikan seluruh data awal yang di looping" end def menggunakan_for puts "Contoh looping menggunakan for" for nilai in 1..10 puts " #{nilai}" end end end deret1 = DeretBilangan.new(5,10) deret1.menggunakan_while_do deret1.menggunakan_each deret1.menggunakan_for deret1.map_collect_select_each