Assalamu’alaikum WR. WB., hai para
bloger pada postingan saya kemarin saya membahas tentang bahasa pemrograman
ruby mengenai perulangan. Silahkan bagi kalian yang belum melihat bisa
melihatnya Di Sini. Sekarang saya akan menjelaskan kembali bahasa pemrograman
ruby mengenai array pada ruby.
Array pada
ruby
Tipe data Array di Ruby hampir sama dengan tipe data array pada bahasa
pemrograman lain umumnya. Tipe data Array di Ruby sama dengan tipe data list di
Python. Untuk membuat suatu objek Array baru, Kita dapat menggunakan literal
Array [] ataupun konstruktor Array.new. Isi array dapat berupa objek apapun
baik angka, string, maupun objek lain termasuk objek array itu sendiri. Untuk
mengakses elemen objek Array ini, kita menggunakan indeks di mana indeks awal
dimulai dari 0 sampai panjang array – 1. Kita juga dapat menggunakan indeks
negatif di mana indeks -1 berarti elemen terakhir , -2 berarti elemen kedua
terakhir, dan seterusnya.
Apabila kita mencoba mengakses elemen Array pada indeks yang di luar
jangkauan, pernyataan tersebut tidak akan menyebabkan error seperti
IndexError : list index out of range di Python, Ruby akan mengembalikan objek
nil. Untuk mengubah isi array ataupun menambahkan data pada objek Array dengan
indeks tertentu, kita bisa menggunakan statement biasa seperti
array[indeks] = nilai baru. Apabila kita ingin membuat objek Array yang berisi
string, akan repot sekali untuk menambahkan tanda kutip pada setiap elemen Array.
Hal tersebut dapat diatasi dengan menggunakan prefiks %w.
Sekarang langsung saja pada programnya, silahkan untuk
copy-paste untuk kalian yang ingin mencoba meruning program ini :
def menu()
puts ""
puts "===============Menu=============="
puts "1. Array"
puts "2. Hash"
puts "3. Range"
puts "4. Keluar"
puts "================================="
print "Masukan Pilihan : "
a = gets.to_i
if a == 1
array
elsif a == 2
hash
elsif a == 3
range
elsif a == 4
exit
else
puts "Maaf Menu Yang Anda Pinta Tidak Tersedia :"
end
end
puts ""
puts "===============Menu=============="
puts "1. Array"
puts "2. Hash"
puts "3. Range"
puts "4. Keluar"
puts "================================="
print "Masukan Pilihan : "
a = gets.to_i
if a == 1
array
elsif a == 2
hash
elsif a == 3
range
elsif a == 4
exit
else
puts "Maaf Menu Yang Anda Pinta Tidak Tersedia :"
end
end
def array()
nama=[]
kelas=[]
uts=[]
uas=[]
print "Masukan jumlah data mahasiswa : "
jumlah = gets.to_i
for i in 1..jumlah
print "Masukan Nama Mahasiswa Ke #{i}: "
nama[i] = gets.to_s
print "Masukan Kelas Anda : "
kelas[i] = gets.to_s
print "Masukan Nilai UTS : "
uts[i] = gets.to_i
print "Masukan Nilai UAS : "
uas[i] = gets.to_i
end
puts "Data Mahasiswa yang anda input"
puts "================================="
for i in 1..jumlah
print "Nama Mahasiswa Ke #{i}: "
print nama[i]
print "Kelas : "
print kelas[i]
print "Total Nilai Akhir : "
puts (uas[i]+uts[i])/2
puts "================================="
end
ulang
end
nama=[]
kelas=[]
uts=[]
uas=[]
print "Masukan jumlah data mahasiswa : "
jumlah = gets.to_i
for i in 1..jumlah
print "Masukan Nama Mahasiswa Ke #{i}: "
nama[i] = gets.to_s
print "Masukan Kelas Anda : "
kelas[i] = gets.to_s
print "Masukan Nilai UTS : "
uts[i] = gets.to_i
print "Masukan Nilai UAS : "
uas[i] = gets.to_i
end
puts "Data Mahasiswa yang anda input"
puts "================================="
for i in 1..jumlah
print "Nama Mahasiswa Ke #{i}: "
print nama[i]
print "Kelas : "
print kelas[i]
print "Total Nilai Akhir : "
puts (uas[i]+uts[i])/2
puts "================================="
end
ulang
end
def hash()
puts "================================================"
print "Masukkan Nama Mahasiswa : "
nama = gets.to_s
nama.chop!
print "Masukkan Npm Mahasiswa : "
npm = gets.to_s
npm.chop!
print "Masukkan Kelas Mahasiswa : "
kelas = gets.to_s
kelas.chop!
print "Masukkan Jurusan Mahasiswa : "
jurusan = gets.to_s
puts "================================================"
jurusan.chop!
data = {"Nama"=>nama,"Npm"=>npm,"Kelas"=>kelas,"Jurusan"=>jurusan}
print "Masukkan data yang ingin ditampilkan : "
x = gets.to_s
x.chop!
puts data[x]
ulang()
end
puts "================================================"
print "Masukkan Nama Mahasiswa : "
nama = gets.to_s
nama.chop!
print "Masukkan Npm Mahasiswa : "
npm = gets.to_s
npm.chop!
print "Masukkan Kelas Mahasiswa : "
kelas = gets.to_s
kelas.chop!
print "Masukkan Jurusan Mahasiswa : "
jurusan = gets.to_s
puts "================================================"
jurusan.chop!
data = {"Nama"=>nama,"Npm"=>npm,"Kelas"=>kelas,"Jurusan"=>jurusan}
print "Masukkan data yang ingin ditampilkan : "
x = gets.to_s
x.chop!
puts data[x]
ulang()
end
def range()
rata = 0
print "Masukan Batas Bilangan : "
x = gets.to_i
for i in 1..x
print "Masukan Nilai Ke #{i}: "
bil = gets.to_i
rata = rata + bil
end
print "Rata-Rata Nilai yang diinput adalah : "
rata2 = rata/x
puts (rata2)
puts "================================"
ulang
end
rata = 0
print "Masukan Batas Bilangan : "
x = gets.to_i
for i in 1..x
print "Masukan Nilai Ke #{i}: "
bil = gets.to_i
rata = rata + bil
end
print "Rata-Rata Nilai yang diinput adalah : "
rata2 = rata/x
puts (rata2)
puts "================================"
ulang
end
def ulang ()
print "Back to menu [y/n] "
a = gets
a.chop!
if a == "y"
menu
else
puts "Terimakasih :) :* "
end
end
menu
print "Back to menu [y/n] "
a = gets
a.chop!
if a == "y"
menu
else
puts "Terimakasih :) :* "
end
end
menu
LOGIKA
PROGRAM
def
menu()
puts ""
puts "===============Menu=============="
puts "1. Array"
puts "2. Hash"
puts "3. Range"
puts "4. Keluar"
puts "================================="
print "Masukan Pilihan : "
a = gets.to_i
if a == 1
array
elsif a == 2
hash
elsif a == 3
range
elsif a == 4
exit
else
puts "Maaf Menu Yang Anda Pinta Tidak Tersedia :"
end
end
puts ""
puts "===============Menu=============="
puts "1. Array"
puts "2. Hash"
puts "3. Range"
puts "4. Keluar"
puts "================================="
print "Masukan Pilihan : "
a = gets.to_i
if a == 1
array
elsif a == 2
hash
elsif a == 3
range
elsif a == 4
exit
else
puts "Maaf Menu Yang Anda Pinta Tidak Tersedia :"
end
end
Blok sintaks di atas adalah header dalam program Array.rb
ini yang di simpan kedalam fungsi def dengan
nama menu(). Dimana menggunakan
perintah percabangan if elsif else untuk
memilih menu yang ingin kita jalankan, jika menginputkan nomor 1 maka program
akan menjalankan program array, jika menginputkan nomor 2 maka program akan
menjalankan program hash, jika menginputkan nomor 3 maka program akan
menjalankan program range dan jika menginputkan nomor 4 maka program akan
keluar
def
array()
nama=[]
kelas=[]
uts=[]
uas=[]
print "Masukan jumlah data mahasiswa : "
jumlah = gets.to_i
for i in 1..jumlah
print "Masukan Nama Mahasiswa Ke #{i}: "
nama[i] = gets.to_s
print "Masukan Kelas Anda : "
kelas[i] = gets.to_s
print "Masukan Nilai UTS : "
uts[i] = gets.to_i
print "Masukan Nilai UAS : "
uas[i] = gets.to_i
end
puts "Data Mahasiswa yang anda input"
puts "================================="
for i in 1..jumlah
print "Nama Mahasiswa Ke #{i}: "
print nama[i]
print "Kelas : "
print kelas[i]
print "Total Nilai Akhir : "
puts (uas[i]+uts[i])/2
puts "================================="
end
ulang
end
nama=[]
kelas=[]
uts=[]
uas=[]
print "Masukan jumlah data mahasiswa : "
jumlah = gets.to_i
for i in 1..jumlah
print "Masukan Nama Mahasiswa Ke #{i}: "
nama[i] = gets.to_s
print "Masukan Kelas Anda : "
kelas[i] = gets.to_s
print "Masukan Nilai UTS : "
uts[i] = gets.to_i
print "Masukan Nilai UAS : "
uas[i] = gets.to_i
end
puts "Data Mahasiswa yang anda input"
puts "================================="
for i in 1..jumlah
print "Nama Mahasiswa Ke #{i}: "
print nama[i]
print "Kelas : "
print kelas[i]
print "Total Nilai Akhir : "
puts (uas[i]+uts[i])/2
puts "================================="
end
ulang
end
Blok sintak di atas adalah kodingan untuk program no 1
yaitu array yang ditaruh d dalam fungsi def.
Dengan nama[], kelas[], uts[] dan uas[] adalah variabel yang dimasukkan
kedalam array yang nantinya akan diginakan untuk memanggil pada inputan nanti.
Program akan meminta untuk memasukan banyaknya mahasiswa yang ingin di inputkan
dan dihitung nilai totalnya, dengan menggunakan perintah perulangan for. Program ini akan meminta inputan
untuk nama, kelas, nilai uts dan nilai uas, yang nantinya akan ditampilkan untuk
nama, kelas dan total niilai yang telah dihitung yang nantinya akan memanggil
dari variabel array tadi. Ulang
adalah perintah untuk memanggil fungsi ulang nanti
def
hash()
puts "================================================"
print "Masukkan Nama Mahasiswa : "
nama = gets.to_s
nama.chop!
print "Masukkan Npm Mahasiswa : "
npm = gets.to_s
npm.chop!
print "Masukkan Kelas Mahasiswa : "
kelas = gets.to_s
kelas.chop!
print "Masukkan Jurusan Mahasiswa : "
jurusan = gets.to_s
puts "================================================"
jurusan.chop!
data = {"Nama"=>nama,"Npm"=>npm,"Kelas"=>kelas,"Jurusan"=>jurusan}
print "Masukkan data yang ingin ditampilkan : "
x = gets.to_s
x.chop!
puts data[x]
ulang()
end
puts "================================================"
print "Masukkan Nama Mahasiswa : "
nama = gets.to_s
nama.chop!
print "Masukkan Npm Mahasiswa : "
npm = gets.to_s
npm.chop!
print "Masukkan Kelas Mahasiswa : "
kelas = gets.to_s
kelas.chop!
print "Masukkan Jurusan Mahasiswa : "
jurusan = gets.to_s
puts "================================================"
jurusan.chop!
data = {"Nama"=>nama,"Npm"=>npm,"Kelas"=>kelas,"Jurusan"=>jurusan}
print "Masukkan data yang ingin ditampilkan : "
x = gets.to_s
x.chop!
puts data[x]
ulang()
end
Blok sintaks di atas adalah kodingan untuk program nomor
2 yaitu hash. Dalam program ini kita akan di minta untuk menginputkan nama,
npm, kelas dan jurusan. Sama halnya pada fungsi dictionary pada python, fungsi
hash juga digunakan untuk membuat objec data yang diinginkan, dengan
menggunakan literal hash {} ataupun konstruktor Hash.new. Dengan menyimpan
objek berupa variabel nama, kelas, npm dan jurusan kita akan menignputkanya
telebih dahulu lalu pada perintah
selanjutnya kita akan memanggilnya dengan objek variabel tadi
def
range()
rata = 0
print "Masukan Batas Bilangan : "
x = gets.to_i
for i in 1..x
print "Masukan Nilai Ke #{i}: "
bil = gets.to_i
rata = rata + bil
end
print "Rata-Rata Nilai yang diinput adalah : "
rata2 = rata/x
puts (rata2)
puts "================================"
ulang
end
rata = 0
print "Masukan Batas Bilangan : "
x = gets.to_i
for i in 1..x
print "Masukan Nilai Ke #{i}: "
bil = gets.to_i
rata = rata + bil
end
print "Rata-Rata Nilai yang diinput adalah : "
rata2 = rata/x
puts (rata2)
puts "================================"
ulang
end
Blok sintaks di atas adalah kodingan untuk program nomor
3 yaitu range. Range pada ruby merupakan suatu barisan di mana tterdapat nilai
awal dan nilai akhir dari barisan tersebut. Pada program ini, kita akan di
minta untuk menginputkan batas bilangan yang ingin dihitung dengan variabel x, lalu selanjutnya kita masukan
kembali banyak bilangan sesuai dengan batasannya. Selanjutnya program akan
melooping banyaknya batas dengan rumus variabel rata ditambah variabel bil. Terakhir
untuk mengitung rata-ratanya program menghitung dengan rumus variabel rata dibagi variabel x
def
ulang ()
print "Back to menu [y/n] "
a = gets
a.chop!
if a == "y"
menu
else
puts "Terimakasih :) :* "
end
end
menu
print "Back to menu [y/n] "
a = gets
a.chop!
if a == "y"
menu
else
puts "Terimakasih :) :* "
end
end
menu
Blok sintak di atas adalah kodingan untuk mengulang program
yang dimasukkan kedalam fungsi def
ulang(). Dimana program ini menggunakan perintah percabangan if else, jika kita menginputkan kata /
tulisan y maka program akan
mengulangnya dan kembali pada menu awal. Jika menginputkan n maka program akan keluar dengan sendirinya atau berhenti
OUTPUT
PROGRAM