Percabangan dan Perulangan pada Ruby

Posted on Updated on


tulisan 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.

Input(angka) Banyaknya looping x
3 3 kali
4 4 kali
5 5 kali
n n kali

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.

Saat x bernilai: Banyaknya looping y
1 1 kali
2 2 kali
3 3 kali
n n kali

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 :




Web development jakarta

4 thoughts on “Percabangan dan Perulangan pada Ruby

    udin said:
    November 2, 2010 pukul 1:06 pm

    bos gmn listing program borland nya kalo hasilnya kaya 3 hasil dibawah, tapi yang pake perulangan for..
    hasil:
    1
    12
    123
    1234
    12345

    *******
    *****
    ***
    *

    *
    ***
    *****
    ******

    outtaste responded:
    November 2, 2010 pukul 10:38 pm

    borland?? maksudnya pascal kali ya?? atau borland delphi??

    kalo di pascal kira2 kaya gini:

    output pertama:
    for x := 1 to 5 do
    begin
    for y := 1 to x do
    begin
    write(y);
    end;
    writeln(‘ ‘);
    end;

    output kedua:
    for x := 5 downto 1 do
    begin
    for y := 1 to x do
    begin
    write(y);
    end;
    writeln(‘ ‘);
    end;

    output ketiga:
    for x := 1 to 5 do
    begin
    for y := 1 to x do
    begin
    write(‘*’);
    end;
    writeln(‘ ‘);
    end;

    di bahasa lainnya juga sebenernya sama,, pake nested for juga,, cuma beda di syntaxnya aja..
    semoga membantu yaa..
    thx 4 comment..^_^

    Damai007 said:
    April 6, 2011 pukul 1:02 pm

    Gan.. kalo semua koding itu di copas trus dicoba running, justru ga running nih.. malah bnyak yg error..
    tolong penulisan di blognya diperbaikin, kalo perlu dicoba sendiri copas dari blog agan terus coba dirunning sendiri dari hasil postingannya, bisa atau engga.. kalo sy coba sih bnyk yg error..
    Terima kasih.. ; )

      codycoding responded:
      April 7, 2011 pukul 7:14 am

      okee,, thx gan buat masukannya….
      kalo saya langsung copass juga ga bisa soalnya font di web sama yang di copy kan ke editor nantinya jadi beda,, contohnya:
      coba deh perhatiin tanda petik nya setelah di copas dari web,, itu jadi beda gan,, emang harus ditulis manual..
      heheheheheee….
      thx for comment yah..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s