class Proses def initialize(i) @i = i @nama = Array.new(i) @nilai = Hash.new(i) end
Blok sintaks di atas merupakan proses pendeklarasian class dari program, serta mendeklarasikan fungsi def dari initialize yang berisikan deklrasi dari variabel – variabel yang akan digunakan di dalam program.
def nama puts "===Input Nama===" for x in 0..@i-1 print "Masukkan Nama ke-#{x+1} = " @nama[x] = gets.chomp end puts end
Listing di atas berguna untuk pendeklarasian fungsi def, yang mana fungsi tersebut berguna untuk menginputkan nama pada program. Dimana nama tersebut bertipekan array, dan proses penginputan nama tersebut menggunakan perulangan for. Setelah itu program akan mencetak spasi baru ke bawah.
def nilai puts "===Input Nilai===" for x in 0..@i-1 print "Nilai #{@nama[x]} = " @nilai[@nama[x]] = gets.to_i end puts end
Sintaks diatas adalah proses untuk pendeklarasian fungsi def, dimana fungsi tersebut berguna untuk memasukkan nilai pada program. Yang mana nilai tersebut bertipekan array, dan proses penginputan nilai menggunakan perulangan for. Setelah itu program akan mencetak spasi baru ke bawah.
def peringkat n = 0 puts "===Rangking Nilai===" nilai = Hash[@nilai.sort_by{|key,value|-value}.each{ |key,value|puts "Rangking #{n = n+1}n#{key} = #{value}"}] puts end end
Pada sintaks ini program akan mendeklarasikan fungsi def, dimana fungsi akan menampilkan hasil rangking atau urutan peringkat. Yang mana rangking tersebut didapat dari nilai – nilai yang telah diinputkan sebelumnya. Dan setelah rangking tersebut dicetak, maka program akan mencetak spasi baru ke bawah.
print "Banyaknya Data = " i = gets.to_i puts objek = Proses.new(i) objek.nama() objek.nilai() objek.peringkat()
Listing di atas berfungsi untuk memasukkan banyaknya data sesuai dengan keinginan user. Selanjutnya program akan membuat objek. Dimana objek tersebut akan digunakan untuk memanggil fungsi – fungsi yang telah di deklarasikan sebelumnya. Kemudian program akan memanggil fungsi penginputan nama, fungsi penginputan nilai, dan fungsi mencetak rangking atau urutan.
Nah untuk hasil dari output program diatas adalah seperti berikut