Percabangan dan Perulangan pada Ruby
13/11/2010 15:57tulisan kali ini saya akan membahas tentang percabangan dan perulangan yang ada pada bahasa pemrograman Ruby, sintaks nya tidak jauh berbeda dengan bahasa pemrograman lainnya.
Listing program : perulangan = 0 while perulangan < 1 print "\n\n" print "--------- Menu ---------\n" print "1. Statement IF Simple Way\n" print "2. Statement IF Simple Append Array\n" print "3. Statement For Simple Way\n" print "4. Statement For Nested Loop\n" print "5. Statement each-do for reading hash\n" print "Exit (press key 'x')" print "\n" print "Choice: " menu = gets menu.chop! if menu.to_i == 1 nilai_a = 10 if nilai_a == 10 print "\nNilai adalah 10\n" end #Pilihan 1 elsif menu.to_i == 2 print "\n" makanan = Array.new makanan = ["Ayam Goreng", "Ikan Bakar", "Pecel Lele"] print "Array Awal:\n---------------\n" puts makanan print "\n" if makanan.length < 4 makanan << "Lontong Sayur" makanan << "Nasi Uduk" makanan << "Nasi Goreng" end print "Array Akhir:\n--------------\n" puts makanan print "\n" # Pilihan 2 elsif menu.to_i == 3 print "\n" for ii in 1..10 puts "Prulangan ke-#{ii}\n" end print "\n" #pilihan 3 elsif menu.to_i == 4 print "\n" for ii in 1..10 for jj in 1..ii print "*" end print "\n" end #pilihan 4 elsif menu.to_i == 5 print "\n" hash = {} hash = Hash["Motor" => 2, "Bajaj" => 3, "Mobil" => 4] print "Jumlah Elemen hash: #{hash.size}\n" hash.sort_by { |p| p[0] }.each do |p| puts "#{p[0]}, kendaraan beroda #{p[1]}" end print "\n" # pilihan terakhir 'exit' elsif menu == "x" or menu == "X" print "Exit..............\n" perulangan += 1 else puts "Menu Not Define" end end Logika program : Program ini adalah program menu yang befungsi untuk menampilkan contoh output program yang menggunakan struktur perulangan dan percabangan.tampilan awal program ini adalah tampilan menu program yang berisi lima pilihan yang masing- masing merupakan jenis – jenis percabanga dan perulangan pada ruby.lalu program akan meminta input pilihan menu yang ingin dipilih, dan akan digunakan percabangan untuk menampilkan output program sesuai dengan input nomor menu yang diinginkan.jika input tidak sesuai dengan nilai yang disediakan pada menu program akan mencetak tulisan “menu not define”.jadi program iini akan dibagi menjadi 5 blok program. Blok program pertama: nilai_a = 10 if nilai_a == 10 print "\nNilai adalah 10\n" end blok program yang pertama berfungsi untuk menampilkan contoh output program yang menggunakan statement percabangan if pada ruby. Kode diatas pertama akan memberikan nilai pada variable nilai_a sama dengan 10. Lalu dilakukan percabagan dengan kondisi nilai a==10. Jadi, statement yang ada dalam percabangan hanya akan dijalanakan atau diproses jika kondisi perulangan bernilai true, sehingga statement pada percabangan diatas akan dijalankan karena variable nilai_a bernilai = 10 sehingga kondisi pada perulangan terpenuhi. Blok program kedua makanan = Array.new makanan = ["Ayam Goreng", "Ikan Bakar", "Pecel Lele"] print "Array Awal:\n---------------\n" puts makanan print "\n" if makanan.length < 4 makanan << "Lontong Sayur" makanan << "Nasi Uduk" makanan << "Nasi Goreng" end print "Array Akhir:\n--------------\n" puts makanan print "\n" blok program yang kedua berfungsi untuk menampilkan output program dengan percabangan pada ruby dengan cara menabahkan elemen pada suatu array jika kondisi perulangan terpenuhi.pertama, dideklarasikan array baru bernama makanan dengan kode makanan = array.new lalu array makanan diisi dengan elemen beruapa string “ayam goreng”, “ikan bakar”, dan “pecel lele” dan elemen – elemen array tersebut akan dicetak sebagai array awal, atau array pada sebelum percabangan dijalankan.setelah array dicetak, akan dilakuakn penyeleksian atau percabangan dengan kondisi makanan.length < 4 yang berarti statement didalam percabangan akan dijalankan jika kondisi makanan.length <4 bernilai true yaitu jika banyak elmen array makanan kurang dari 4,jadi kondisi percabangan diatas akan terpenuhi karena banyak elemen array makanan berjumlah3.karena kondisi percabangan bernilai true maka statement – statement dalam percabangan akan dijalankan.program akan menambahkan elemen berupa string “lontong sayur”, “nasi uduk”, dan “nasi goreng” pada array makanan, sehingga setelah percabangan selesai dijalankan elemen array makanan akan bertambah menjadi 6 elemen.dana elemen array tersebut akan dicetak sebagai output program dengan kode puts makanan. Blok program ketiga for ii in 1..10 puts "Prulangan ke-#{ii}\n" end blok program yang ketiga berfungsi untuk menampilkan output program yang menggunakan perulangan sederhana pada ruby.for ii in 1..10 berarti perulangan akan dilakuakn dengan variable perulangan ii yang bernilai 1 sampai 10 jadi perulangan akan dilakukan sebanyak 10 kali.sedangkan statement dalam perulangan akan mencetak kalimat”perulangan ke” dan diikuti dengan nilai variable perulangan ii pada saat perulangak sedang dijalankan. Blok program keempat for ii in 1..10 for jj in 1..ii print "*" end print "\n" end blok program yang keempat berfungsi untuk menampilkan output program yang menggunakan perulangan bersarang (nested loop) atau dapat juga disebut perulangan yang berada pada perulangan. akan menampilkan ‘*’ yang akan diulang sehingga akan membentuk segitiga. Kode diatas merupakan serangkaian statement yang digunakan untuk menmpilkan output ”*” yang akan membentnuk segitiga.statement for yang pertama adalah statement yang digunakan untuk melakukan perulangan pada statement yang ada didalam for body dengan harga awal x=0 lalu nilai x akan ditambahkan satu pada perulangan berikutnya,demikian seterusnya hingga x bernilai salah terhadap ekspresi x<angka. Lalu statement for yang kedua adalah statement yang digunakan untuk melakukan perulangan pada statement yang ada didalam for body dengan harga awal y=0 lalu nilai y akan ditambahkan satu pada perulangan berikutnya,demikian seterusnya hingga y bernilai salah terhadap ekspresi y<=x.dengan kata lain saat x barnilai 1 maka statement yang ada didalam for body yang kedua akan diulang sebanyak sekali,saat x bernilai 2 maka statement yang ada didalam for body yang kedua akan diulang sebanyak 2 kali dan seterusnya,sampai perulangan pada for yang pertama berhenti. Blok program keempat hash = {} hash = Hash["Motor" => 2, "Bajaj" => 3, "Mobil" => 4] print "Jumlah Elemen hash: #{hash.size}\n" hash.sort_by { |p| p[0] }.each do |p| puts "#{p[0]}, kendaraan beroda #{p[1]}" pada blok program yang keempat ini berfungsi untuk menampilkan output program yang menggunakan fungsi hash. Statement pertama berfungsi untuk mendeklarasikan hash bernama hash.kemudian program akan menambahkan elemen hash berupa string “motor” dengan key 2, “bajaj” dengan key 3, dan “mobil”dengan key 4.metode hash.size berfungsi untuk mengembalikan nilai banyak elemen hash.jadi, metode diatas akan mengmbalikan nilai 3 karena hash diatas memiliki 3 elemen. Kemudian untuk menguruutkan elemen hash digunakan metode sort.setiap elemen pada hash terdiri dari dua bagian yaitu key dan value.pada pemrograman ruby value pada hash berindeks 0 dan key pada hash berindeks 1. Jadi metode sort akan dijalankan pada p[0] sehingga elemen – elemen pada hash akan diurutkan menurut abjad pada value.dan setelah elemen diurutkan elemen hash akan dicetak, dengan format p[0] lalu p[1] dengan format seperti listing diatas. Output program: Jika input menu = 1 (blok program pertama) : Jika input menu = 2 (blok program kedua) : Jika input menu = 3 ( blok program ketiga) : Jika input menu = 4 (blok program keempat) : Jika input menu = 5 (blok program kelima) : Jika input tidak sesuai dengan angka yang terdapat pada menu :
Input(angka)
Banyaknya looping x
3
3 kali
4
4 kali
5
5 kali
n
n kali
Saat x bernilai:
Banyaknya looping y
1
1 kali
2
2 kali
3
3 kali
n
n kali
Tags:
———
Back