Blogger Tips and TricksLatest Tips For BloggersBlogger Tricks

Program Fungsi pada Ruby


Nama File                         : data.rb
Nama Program             : Fungsi pada Ruby
Listing Program
def input(nama,npm,uts,uas,total,n)
 for i in 1..n
 print "Isi NAMA ke- ",i," = "
 nama[i]=gets
 print "Isi NPM ke-  ",i," = "
 npm[i]=gets.to_i
 print "Isi UTS ke-  ",i," = "
 uts[i]=gets.to_i
 print "Isi UAS ke-  ",i," = "
 uas[i]=gets.to_i
 puts""
 end
 end
def hitung(nama,npm,uts,uas,total,n)
 print "=============================================================\n"
 print "NAMA            NPM          UTS     UAS     TOTAL \n"
 print "=============================================================\n"
 for i in 1..n
 total=0.3*uas[i]+0.7*uts[i]
 print nama[i],"\t\t",npm[i],"\t",uts[i],"\t",uas[i],"\t",total
 puts""
end
puts "========================================="
puts "|      PROGRAM DATA NILAI MAHASISWA     |"
puts "========================================="
i=0
nama=[]
npm=[]
uts=[]
uas=[]
total=[]
n=[]
while i==0
 puts "--------------------------------"
 puts "    1.INPUT DATA MAHASISWA \n    2.HITUNG JUMLAH NILAI \n    3.EXIT"
 print "\n >--> Isi pilihan[1-3]: "
 pil=gets.to_i
 puts "--------------------------------\n\n"
 if pil==1
 print "\nBanyak data:"
 n=gets.to_i
 input(nama,npm,uts,uas,total,n)
 next
 elsif pil==2
 hitung(nama,npm,uts,uas,total,n)
 puts"\n"
 next
else
if pil==3
i=1
break
else
puts "Pilihan tidak ada"
break
end
end
end

Logika Program
def input(nama,npm,uts,uas,total,n)
 for i in 1..n
 print "Isi NAMA ke- ",i," = "
 nama[i]=gets
 print "Isi NPM ke-  ",i," = "
 npm[i]=gets.to_i
 print "Isi UTS ke-  ",i," = "
 uts[i]=gets.to_i
 print "Isi UAS ke-  ",i," = "
 uas[i]=gets.to_i
 puts""
 end
 end
Coding diatas menggunakan perintah def yang berfungsi untuk membuat class input dengan parameter nama,npm,uts,uas,total dan n.
Selanjutnya merupakan perintah perulangan for dengan nilai i dimulai dari 1 sampai dengan n. Perintah print disini akan mencetak kata yang berada didalam tanda kutip (" ") yaitu perintah untuk Isi NAMA ke- (sesuai dengan banyaknya nilai n yang tadi kita masukkan). Kemudian coding nama[i]=gets berarti kita disuruh untuk melakukan penginputan nama sesuai dengan nilai i yang akan dirubah menjadi tipe data integer tanpa menambahkan karakter newline. Untuk parameter npm, uts dan uas juga sama seperti parameter nama. Perintah print digunakan untuk mencetak kata yang berada di dalam tanda kutip (" "), diantaranya perintah untuk Isi NPM, UTS dan UAS ke- (sesuai dengan banyaknya nilai n yang tadi kita masukkan). Kemudian coding npm[i]=gets, uts[i]=gets.to_i, uas[i]=gets.to_i berarti kita disuruh untuk melakukan penginputan npm, uts dan uas sesuai dengan nilai i yang akan dirubah menjadi tipe data integer tanpa menambahkan karakter newline.
puts"" berfungsi untuk mencetak apa yang tertulis setelah tanda petik, dan akan menambahkan karakter newline(‘\n’) atau satu baris enter. Lalu perintah end digunakan untuk menutup perulangan for tadi.
def hitung(nama,npm,uts,uas,total,n)
 print "=============================================================\n"
 print "NAMA            NPM          UTS     UAS     TOTAL \n"
 print "=============================================================\n"
 for i in 1..n
 total=0.3*uas[i]+0.7*uts[i]
 print nama[i],"\t\t",npm[i],"\t",uts[i],"\t",uas[i],"\t",total
 puts""
end
Penggunaan perintah def lagi yang berfungsi untuk membuat class hitung dengan parameter nama, npm, uts, uas, total dan n. Selanjutnya akan mencetak garis dengan tambahan karakter newline yang berfungsi sebagai garis pembatas judul program.
=============================================================
NAMA            NPM             UTS     UAS     TOTAL
=============================================================
Kemudian perintah perulangan for dengan nilai i dimulai dari 1 sampai dengan n.
Untuk mencari total digunakan rumus total=0.3*uas[i]+0.7*uts[i]. Lalu akan mencetak  nama, npm, uts, uas dan total [i] dari indeks i yang tadi sudah diinputkan  puts"" berfungsi untuk mencetak apa yang tertulis setelah tanda petik, dan akan menambahkan karakter newline(‘\n’) atau satu baris enter. Lalu perintah end digunakan untuk menutup perulangan for tadi dan mengakahiri fungsi def.

puts "========================================="
puts "|      PROGRAM DATA NILAI MAHASISWA     |"
puts "========================================="
i=0
nama=[]
npm=[]
uts=[]
uas=[]
total=[]
n=[]
while i==0
 puts "--------------------------------"
 puts "    1.INPUT DATA MAHASISWA \n    2.HITUNG JUMLAH NILAI \n    3.EXIT"
 print "\n >--> Isi pilihan[1-3]: "
 pil=gets.to_i
 puts "--------------------------------\n\n"
 if pil==1
 print "\nBanyak data:"
 n=gets.to_i
 input(nama,npm,uts,uas,total,n)
 next
 elsif pil==2
 hitung(nama,npm,uts,uas,total,n)
 puts"\n"
 next
else
if pil==3
i=1
break
else
puts "Pilihan tidak ada"
break
end
end
end
Perintah puts bermaksud untuk mencetak ke baris bawah kata-kata yang berada didalam tanda kutip (" "). Misalnya seperti berikut ini :
=========================================
|      PROGRAM DATA NILAI MAHASISWA     |
=========================================
Coding selanjutnya yaitu menggunakan array, dengan indeks i sama dengan 0. Lalu diberi nama variabelnya nama, npm, uts, uas, total dan n. Indeks pada array tersebut dikosongkan.
Coding selanjutnya terjadi perulangan lagi menggunakan perintah while dengan nilai i sama dengan 0. Perintah puts akan mencetak karakter atau kata di dalam tanda kutip dan mencetak kata dibaris selanjutnya berupa perintah pilihan:
--------------------------------
1.INPUT DATA MAHASISWA
2.HITUNG JUMLAH NILAI
3.EXIT
--------------------------------
Lalu coding ini print "\n >--> Isi pilihan[1-3]: menjelaskan bahwa akan mencetak satu buah karaktek newline yang diikuti dengan kata Isi pilihan [1-3], berarti kita disuruh menginputkan pilihan 1 sampai dengan 3 yang bertipe data integer.
Didalam membuat program ini kita juga menggunakan suatu kondisi atau percabangan. Jika pilihan sama dengan 1 maka akan mencetak perintah untuk menginput Banyak data : dengan nilai n berupa tipe data integer. Lalu kita akan masuk ke dalam class input pada fungsi def tadi untuk menginputkan nama, npm, uts, uas, total dan n. Setelah itu jika kita memilih pilihan sama dengan 2 maka akan masuk ke dalam class hitung dari fungsi def tadi untuk menghitung parameter dari fungsi tersebut, diantaranya nama, npm, uts, uas, total dan n.
Perintah puts"\n" akan mencetak karakter newline di baris selanjutnya.
Lalu jika kita memilih pilihan sama dengan 3 maka nilai 1 akan berubah menjadi sama dengan 1 dan berhenti . Saat kita memilih pilihan selain 1 sampai dengan 3 maka akan mencetak perintah Pilihan tidak ada dan akan menutup percabangan serta program ini.
Setelah listing dan coding program selesai dibuat, kita save pada partisi yang ingin disimpan. Kemudian kita dapat merunningnya pada Start Command Prompt with Ruby yaitu dengan cara mengetik perintah. Misalnya data.rb lalu tekan Enter.


Tampilan Input pada Notepad++



Tampilan Output pada Start Command Prompt with Ruby

Nama File                         : data.rb
Nama Program             : Fungsi pada Ruby
Listing Program
def input(nama,npm,uts,uas,total,n)
 for i in 1..n
 print "Isi NAMA ke- ",i," = "
 nama[i]=gets
 print "Isi NPM ke-  ",i," = "
 npm[i]=gets.to_i
 print "Isi UTS ke-  ",i," = "
 uts[i]=gets.to_i
 print "Isi UAS ke-  ",i," = "
 uas[i]=gets.to_i
 puts""
 end
 end
def hitung(nama,npm,uts,uas,total,n)
 print "=============================================================\n"
 print "NAMA            NPM          UTS     UAS     TOTAL \n"
 print "=============================================================\n"
 for i in 1..n
 total=0.3*uas[i]+0.7*uts[i]
 print nama[i],"\t\t",npm[i],"\t",uts[i],"\t",uas[i],"\t",total
 puts""
end
puts "========================================="
puts "|      PROGRAM DATA NILAI MAHASISWA     |"
puts "========================================="
i=0
nama=[]
npm=[]
uts=[]
uas=[]
total=[]
n=[]
while i==0
 puts "--------------------------------"
 puts "    1.INPUT DATA MAHASISWA \n    2.HITUNG JUMLAH NILAI \n    3.EXIT"
 print "\n >--> Isi pilihan[1-3]: "
 pil=gets.to_i
 puts "--------------------------------\n\n"
 if pil==1
 print "\nBanyak data:"
 n=gets.to_i
 input(nama,npm,uts,uas,total,n)
 next
 elsif pil==2
 hitung(nama,npm,uts,uas,total,n)
 puts"\n"
 next
else
if pil==3
i=1
break
else
puts "Pilihan tidak ada"
break
end
end
end

Logika Program
def input(nama,npm,uts,uas,total,n)
 for i in 1..n
 print "Isi NAMA ke- ",i," = "
 nama[i]=gets
 print "Isi NPM ke-  ",i," = "
 npm[i]=gets.to_i
 print "Isi UTS ke-  ",i," = "
 uts[i]=gets.to_i
 print "Isi UAS ke-  ",i," = "
 uas[i]=gets.to_i
 puts""
 end
 end
Coding diatas menggunakan perintah def yang berfungsi untuk membuat class input dengan parameter nama,npm,uts,uas,total dan n.
Selanjutnya merupakan perintah perulangan for dengan nilai i dimulai dari 1 sampai dengan n. Perintah print disini akan mencetak kata yang berada didalam tanda kutip (" ") yaitu perintah untuk Isi NAMA ke- (sesuai dengan banyaknya nilai n yang tadi kita masukkan). Kemudian coding nama[i]=gets berarti kita disuruh untuk melakukan penginputan nama sesuai dengan nilai i yang akan dirubah menjadi tipe data integer tanpa menambahkan karakter newline. Untuk parameter npm, uts dan uas juga sama seperti parameter nama. Perintah print digunakan untuk mencetak kata yang berada di dalam tanda kutip (" "), diantaranya perintah untuk Isi NPM, UTS dan UAS ke- (sesuai dengan banyaknya nilai n yang tadi kita masukkan). Kemudian coding npm[i]=gets, uts[i]=gets.to_i, uas[i]=gets.to_i berarti kita disuruh untuk melakukan penginputan npm, uts dan uas sesuai dengan nilai i yang akan dirubah menjadi tipe data integer tanpa menambahkan karakter newline.
puts"" berfungsi untuk mencetak apa yang tertulis setelah tanda petik, dan akan menambahkan karakter newline(‘\n’) atau satu baris enter. Lalu perintah end digunakan untuk menutup perulangan for tadi.
def hitung(nama,npm,uts,uas,total,n)
 print "=============================================================\n"
 print "NAMA            NPM          UTS     UAS     TOTAL \n"
 print "=============================================================\n"
 for i in 1..n
 total=0.3*uas[i]+0.7*uts[i]
 print nama[i],"\t\t",npm[i],"\t",uts[i],"\t",uas[i],"\t",total
 puts""
end
Penggunaan perintah def lagi yang berfungsi untuk membuat class hitung dengan parameter nama, npm, uts, uas, total dan n. Selanjutnya akan mencetak garis dengan tambahan karakter newline yang berfungsi sebagai garis pembatas judul program.
=============================================================
NAMA            NPM             UTS     UAS     TOTAL
=============================================================
Kemudian perintah perulangan for dengan nilai i dimulai dari 1 sampai dengan n.
Untuk mencari total digunakan rumus total=0.3*uas[i]+0.7*uts[i]. Lalu akan mencetak  nama, npm, uts, uas dan total [i] dari indeks i yang tadi sudah diinputkan  puts"" berfungsi untuk mencetak apa yang tertulis setelah tanda petik, dan akan menambahkan karakter newline(‘\n’) atau satu baris enter. Lalu perintah end digunakan untuk menutup perulangan for tadi dan mengakahiri fungsi def.

puts "========================================="
puts "|      PROGRAM DATA NILAI MAHASISWA     |"
puts "========================================="
i=0
nama=[]
npm=[]
uts=[]
uas=[]
total=[]
n=[]
while i==0
 puts "--------------------------------"
 puts "    1.INPUT DATA MAHASISWA \n    2.HITUNG JUMLAH NILAI \n    3.EXIT"
 print "\n >--> Isi pilihan[1-3]: "
 pil=gets.to_i
 puts "--------------------------------\n\n"
 if pil==1
 print "\nBanyak data:"
 n=gets.to_i
 input(nama,npm,uts,uas,total,n)
 next
 elsif pil==2
 hitung(nama,npm,uts,uas,total,n)
 puts"\n"
 next
else
if pil==3
i=1
break
else
puts "Pilihan tidak ada"
break
end
end
end
Perintah puts bermaksud untuk mencetak ke baris bawah kata-kata yang berada didalam tanda kutip (" "). Misalnya seperti berikut ini :
=========================================
|      PROGRAM DATA NILAI MAHASISWA     |
=========================================
Coding selanjutnya yaitu menggunakan array, dengan indeks i sama dengan 0. Lalu diberi nama variabelnya nama, npm, uts, uas, total dan n. Indeks pada array tersebut dikosongkan.
Coding selanjutnya terjadi perulangan lagi menggunakan perintah while dengan nilai i sama dengan 0. Perintah puts akan mencetak karakter atau kata di dalam tanda kutip dan mencetak kata dibaris selanjutnya berupa perintah pilihan:
--------------------------------
1.INPUT DATA MAHASISWA
2.HITUNG JUMLAH NILAI
3.EXIT
--------------------------------
Lalu coding ini print "\n >--> Isi pilihan[1-3]: menjelaskan bahwa akan mencetak satu buah karaktek newline yang diikuti dengan kata Isi pilihan [1-3], berarti kita disuruh menginputkan pilihan 1 sampai dengan 3 yang bertipe data integer.
Didalam membuat program ini kita juga menggunakan suatu kondisi atau percabangan. Jika pilihan sama dengan 1 maka akan mencetak perintah untuk menginput Banyak data : dengan nilai n berupa tipe data integer. Lalu kita akan masuk ke dalam class input pada fungsi def tadi untuk menginputkan nama, npm, uts, uas, total dan n. Setelah itu jika kita memilih pilihan sama dengan 2 maka akan masuk ke dalam class hitung dari fungsi def tadi untuk menghitung parameter dari fungsi tersebut, diantaranya nama, npm, uts, uas, total dan n.
Perintah puts"\n" akan mencetak karakter newline di baris selanjutnya.
Lalu jika kita memilih pilihan sama dengan 3 maka nilai 1 akan berubah menjadi sama dengan 1 dan berhenti . Saat kita memilih pilihan selain 1 sampai dengan 3 maka akan mencetak perintah Pilihan tidak ada dan akan menutup percabangan serta program ini.
Setelah listing dan coding program selesai dibuat, kita save pada partisi yang ingin disimpan. Kemudian kita dapat merunningnya pada Start Command Prompt with Ruby yaitu dengan cara mengetik perintah. Misalnya data.rb lalu tekan Enter.


Tampilan Input pada Notepad++