Program Determinan menggunakan Java

Program Determinan menggunakan Java

Penggunaan program java dalam membuat rumus matematika tentu jika dibayangkan akan sulit, ngerjain dikertas aja udah pusing gimana bikin programnya. tapi semua butuh proses dengan sedikit usaha dan kerja keras program determinan yang dituangkan kedalam suatu program akan memudahkan kita dalam mengerjakan soal-soal determinan untuk itu program dibawah ini beserta logikanya semoga dapat bermanfaat untuk kalian yang membutuhkan.

Listing ini digunakan sebagai package dalam java yang berfungsi untuk memasukkan inputan dari keyboard

Listing di atas berguna untuk memasukkan fungsi Scanner pada program dan mendeklarasikan nama class yang telah ditentukan, untuk nama class harus sama dengan nama file java sehingga method main dapat berjalan dengan baik ketika di compile.

Listing tersebut berguna untuk mendeklarasikan fungsi void pada program, yang mana fungsi tersebut berfungsi untuk meginputkan nilai dari matriks yang berordo 2 x 2. mendeklarasikan variabel matrik sebagai variabel bertipe array 2 dimensi yang akan digunakan sebagai variabel penampun nilai dari matriks yang diinputkan.

Listing tersebut berguna untuk menginputkan nilai dari elemen matriks berordo 2 x 2. Dimana akan dilakukan perulangan bersarang menggunakan for, dimana pada perulangan for yang pertama nilai awal variabel i = 0, jika kondisi i lebih kecil dari 2, maka for yang pertama akan menjalankan statement yang berada dibawahnya, yaitu menjalankan for yang kedua dengan nilai awal variabel j = 0, jika kondisi j lebih kecil dari 2, maka for j akan menjalankan statement yang berada dibawahnya yaitu menginputkan nilai dari matriks yang berordo 2 x 2. Selanjutnya nilai i dan j akan bertambah 1. Perulangan bersarang tersebut tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False.

Blok sintaks di atas berfungsi untuk mencetak nilai – nilai yang telah diinputkan pada Matriks berordo 2 x 2. Dimana akan dilakukan perulangan bersarang menggunakan for, dimana pada perulangan for yang pertama nilai awal variabel i = 0, jika kondisi i lebih kecil dari 2, maka for yang pertama akan menjalankan statement yang berada dibawahnya, yaitu mencetak ”|” lalu menjalankan for yang kedua dengan nilai awal variabel j = 0, jika kondisi j lebih kecil dari 2, maka for j akan menjalankan statement yang berada dibawahnya yaitu menampilkan hasil penginputan nilai dari baris dan kolom dalam bentuk matriks berordo 2 x 2. Setelah For j selesai menjalankan statement yang berada dibawahnya maka for i akan menjalankan statementnya kembali yaitu dengan mencetak ”|” ke bawah. Selanjutnya nilai i dan j akan bertambah 1. Perulangan bersarang tersebut tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False.

Listing di atas berfungsi untuk mencetak nilai Determinan dari Matriks berordo 2 x 2. Dimana untuk mencetaknya akan dilakukan terlebih dahulu pendeklarasian rumus dari determinan matriks berordo 2 x 2 yaitu mengurangi perkalian diagonal kanan matriks dengan perkalian diagonal matriks kiri. Selanjutnya setelah rumus Determinan matriks ordo 2 x 2 dideklarasikan, maka nilai dari Determinan tersebut akan dicetak pada program.

Listing tersebut berguna untuk mendeklarasikan fungsi void pada program, yang mana fungsi tersebut berfungsi untuk meginputkan nilai dari matriks yang berordo 3 x 3. mendeklarasikan variabel matrik sebagai variabel bertipe array 2 dimensi yang akan digunakan sebagai variabel penampun nilai dari matriks yang diinputkan.

Listing tersebut berguna untuk menginputkan nilai dari elemen matriks berordo 3 x 3. Dimana akan dilakukan perulangan bersarang menggunakan for, dimana pada perulangan for yang pertama nilai awal variabel i = 0, jika kondisi i lebih kecil dari 3, maka for yang pertama akan menjalankan statement yang berada dibawahnya, yaitu menjalankan for yang kedua dengan nilai awal variabel j = 0, jika kondisi j lebih kecil dari 3, maka for j akan menjalankan statement yang berada dibawahnya yaitu menginputkan nilai dari matriks yang berordo 3 x 3. Selanjutnya nilai i dan j akan bertambah 1. Perulangan bersarang tersebut tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False.

Blok sintaks di atas berfungsi untuk mencetak nilai – nilai yang telah diinputkan pada Matriks berordo 3 x 3. Dimana akan dilakukan perulangan bersarang menggunakan for, dimana pada perulangan for yang pertama nilai awal variabel i = 0, jika kondisi i lebih kecil dari 3, maka for yang pertama akan menjalankan statement yang berada dibawahnya, yaitu mencetak ”|” lalu menjalankan for yang kedua dengan nilai awal variabel j = 0, jika kondisi j lebih kecil dari 3, maka for j akan menjalankan statement yang berada dibawahnya yaitu menampilkan hasil penginputan nilai dari baris dan kolom dalam bentuk matriks berordo 3 x 3. Setelah For j selesai menjalankan statement yang berada dibawahnya maka for i akan menjalankan statementnya kembali yaitu dengan mencetak ”|” ke bawah. Selanjutnya nilai i dan j akan bertambah 1. Perulangan bersarang tersebut tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False.

Listing di atas berfungsi untuk mencetak nilai Determinan dari Matriks berordo 3 x 3. Dimana untuk mencetaknya akan dilakukan terlebih dahulu pendeklarasian rumus dari determinan matriks berordo 3 x 3 yaitu degan menggunakan cara Sarrus. Dimana pada cara ini Determinan dicari dengan mengurangi perkalian diagonal kiri atas ke kanan bawah akan dikurangi dengan baris perkalian diagonal kiri bawah ke kanan atas. Selanjutnya setelah rumus Determinan matriks ordo 3 x 3 dideklarasikan, maka nilai dari Determinan tersebut akan dicetak pada program.

Listing tersebut berguna untuk mendeklarasikan fungsi void pada program, yang mana fungsi tersebut berfungsi untuk menamipilkan Menu Utama pada program. Dimana user diminta untuk menginputkan pilihan sesuai dengan keinginan pada menu utama tersebut.

Listing di atas berguna jika user menginputkan pilihan = 1, maka program akan memanggil fungsi ordox() yaitu mencari nilai Determinan dari Matriks berodro 2 x 2. Serta memanggil atau menampilkan fungsi menu() untuk kembali ke menu utama.

Listing di atas berguna jika user menginputkan pilihan = 2, maka program akan memanggil fungsi ordox() yaitu mencari nilai Determinan dari Matriks berodro 3 x 3. Serta memanggil atau menampilkan fungsi menu() untuk kembali ke menu utama.

Listng di atas berguna jika user menginputkan pilihan = 2, maka program akan mencetak statement berupa ”Anda Telah Keluar” dan program akan berkahir.

Listing di atas berfungsi untuk membuat objek baru pada program yang akan digunakan untuk memanggil fungsi void menu() yang telah dideklarasikan sebelumnya.

nah ini hasil output dari program diatas yang dibuat

Output Determinan

Program Transpose pada Java

Program Transpose pada Java

import java.io.*;
Listing ini digunakan sebagai fungsi dalam java untuk memasukkan inputan dari keyboard

class transpose
{

public static void main (String[] args) throws Exception
{
BufferedReader input = new BufferedReader( new InputStreamReader (System.in));
//input matriks
System.out.print(“Masukan jumlah baris matriks =”);
int m=Integer.parseInt(input.readLine());
System.out.print(“Masukan jumlah kolom matriks =”);
int n=Integer.parseInt(input.readLine());
int [][] matrika = new int[m][n];

Listing di atas berguna untuk memasukkan fungsi BufferReader dan mendeklarasikan nama class yang telah ditentukan, untuk nama class harus sama dengan nama file java sehingga method main dapat berjalan dengan baik ketika di compile. Selanjutnya pendeklarasian variabel m sebagai variabel yang menampung nilai baris dan variabel n sebagai variabel yang menampung nilai kolom dari Matriks A. serta mendeklarasikan variabel matrika sebagai variabel yang bertipe array 2 dimensi. Lisiting ini juga berfungsi untuk menginputkan banyaknya jumlah baris dan kolom sesuai dengan keinginan user.

System.out.println(“matriks A:”);
for(int i=0;i
Listing tersebut berguna untuk menginputkan nilai dari banyaknya kolom dan baris yang telah diinputkan. Dimana akan dilakukan perulangan bersarang menggunakan for, dimana pada perulangan for yang pertama nilai awal variabel i = 0, jika kondisi i lebih kecil dari variabel inputan m (baris Matriks), maka for yang pertama akan menjalankan statement yang berada dibawahnya, yaitu menjalankan for yang kedua dengan nilai awal variabel j = 0, jika kondisi j lebih kecil dari variabel inputan n (kolom Matriks), maka for j akan menjalankan statement yang berada dibawahnya yaitu menginputkan nilai dari baris dan kolom matriks A. mencetak Selanjutnya nilai i dan j akan bertambah 1. Perulangan bersarang tersebut tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False.

//tampilkan matriks A
System.out.println(“matriks A:”);
for(int i=0;i
Blok sintaks di atas berfungsi untuk mencetak nilai – nilai yang telah diinputkan pada Matriks A. Dimana akan dilakukan perulangan bersarang menggunakan for, , dimana pada perulangan for yang pertama nilai awal variabel i = 0, jika kondisi i lebih kecil dari variabel inputan m (baris Matriks), maka for yang pertama akan menjalankan statement yang berada dibawahnya, yaitu mencetak ”| ” lalu menjalankan for yang kedua dengan nilai awal variabel j = 0, jika kondisi j lebih kecil dari variabel inputan n (kolom Matriks), maka for j akan menjalankan statement yang berada dibawahnya yaitu menampilkan hasil penginputan nilai dari baris dan kolom dalam bentuk matriks A. Setelah For j selesai menjalankan statement yang berada dibawahnya maka for i akan menjalankan statementnya kembali yaitu dengan mencetak ”| ” ke bawah. Selanjutnya nilai i dan j akan bertambah 1. Perulangan bersarang tersebut tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False. Setelah kondisi bernilai False maka program akan mencetak spasi ke bawah.

//tampilkan matriks transpose
System.out.println(“transpose dari matriks A:”);
for(int j=0;j
Listing di atas berfungsi untuk mencetak Transpose dari Matriks A. Dimana untuk mencetaknya akan dilakukan perulangan bersarang menggunakan for, , dimana pada perulangan for yang pertama nilai awal variabel j = 0, jika kondisi j lebih kecil dari variabel inputan n (kolom Matriks), maka for yang pertama akan menjalankan statement yang berada dibawahnya, yaitu mencetak ”| ” lalu menjalankan for yang kedua dengan nilai awal variabel i = 0, jika kondisi i lebih kecil dari variabel inputan m (baris Matriks), maka for i akan menjalankan statement yang berada dibawahnya yaitu menampilkan hasil Transpose dari Matriks A dengan mengubah baris menjadi kolom dan mengubah kolom menjadi baris. Setelah For i selesai menjalankan statement yang berada dibawahnya maka for j akan menjalankan statementnya kembali yaitu dengan mencetak ”| ” ke bawah. Selanjutnya nilai i dan j akan bertambah 1. Perulangan bersarang tersebut tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False. Setelah kondisi bernilai False maka program akan mencetak spasi ke bawah.

Nah berikut ini tampilan dari hasil output program diatas :
Output Transpose Matif

Program Vektor pada Java

Program Vektor pada Java

import java.util.Scanner;
Listing ini digunakan sebagai awalan yang akan diberikan pada program yang akan meminta user untuk memasukkan input.

class vektor{
public static void main (String []args) {
Scanner input = new Scanner (System.in);
int [] jum = new int [10];
int [] VektorA = new int [10];
int [] VektorB = new int [10];
int n , k ;

Listing di atas berguna untuk memasukkan fungsi Scanner dan mendeklarasikan nama class yang telah ditentukan, untuk nama class harus sama dengan nama file java sehingga method main dapat berjalan dengan baik ketika di compile. Serta mendeklarasikan variabel jum, VektorA, dan VektorB yang bertipe array. Dan juga mendeklarasikan variabel n dan k yang bertipe integer.

System.out.print(“nMasukkan Jumlah Elemen Vektor = “);
n = input.nextInt();
System.out.print(“nMasukkan Nilai K (Skalar) = “);
k = input.nextInt();

Listing di atas berfungsi untuk menginputkan banyaknya jumlah Elemen Vektor dan juga menginputkan besarnya nilai dari K(Skalar).

System.out.println(“nVektor A”);
for(int i = 0; i < n ; i++){
System.out.print(“Elemen [1, “+(i+1)+”] = “);
VektorA[i] = input.nextInt();
}

Listing tersebut berguna untuk menginputkan nilai dari banyaknya VektorA yang telah diinputkan. Dimana akan dilakukan suatu perulangan menggunakan for, dengan nilai awal variabel i = 0, jika kondisi i lebih kecil dari variabel inputan yaitu n, maka for akan menjalankan statement yang berada dibawahnya, yaitu mencetak suatu pernyataan dan menginputkan nilai dari VektorA yang bertipekan Array. Selanjutnya nilai i akan bertambah 1. Perulangan tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False.

System.out.println(“nVektor B”);
for(int i = 0; i < n ; i++){
System.out.print(“Elemen [1, “+(i+1)+”] = “);
VektorB[i] = input.nextInt();
}

Listing tersebut berguna untuk menginputkan nilai dari banyaknya VektorB yang telah diinputkan. Dimana akan dilakukan suatu perulangan menggunakan for, dengan nilai awal variabel i = 0, jika kondisi i lebih kecil dari variabel inputan yaitu n, maka for akan menjalankan statement yang berada dibawahnya, yaitu mencetak suatu pernyataan dan menginputkan nilai dari VektorB yang bertipekan Array. Selanjutnya nilai i akan bertambah 1. Perulangan tersebut akan terus menjalankan statementnya hingga kondisi yang diberikan bernilai False.

System.out.print(“nVektor A = [ “);
for (int i=0; i<n; i++){
System.out.print(VektorA[i]);
if (i!=n-1){
System.out.print(“, “);
}
}
System.out.print(” ]n”);

Blok sintaks di atas berfungsi untuk mencetak nilai – nilai yang telah diinputkan pada VektorA. Dimana akan dilakukan suatu perulangan for dengan nilai awal i = 0, dan dengan kondisi i kurang dari n (Variabel inputan). Jika kondisi bernilai True yaitu i < n, maka for akan menjalankan statement yang berada di dalamnya yaitu mencetak nilai dari VektorA yang telah diinputkan sebelumnya yang bertipekan Array. Lalu masuk ke dalam statement for yang kedua dimana jika nilai awal i tidak sama dengan nilai n – 1, maka akan dijalakan statement yaitu mencetak ”, ”. Kemudian nilai i akan bertambah 1 dan perulangan for akan terus menjalankan statement yang berada di dalamnya hingga kondisi yang diberikan bernilai False. Jika kondisi yang diberikan telah bernilai False maka program akan mencetak suatu penutup untuk menutup nilai yang telah dicetak.

System.out.print(“Vektor B = [ “);
for (int i=0; i<n; i++){
System.out.print(VektorB[i]);
if (i!=n-1){
System.out.print(“, “);
}
}
System.out.print(” ]n”);

Blok sintaks di atas berfungsi untuk mencetak nilai – nilai yang telah diinputkan pada VektorB. Dimana akan dilakukan suatu perulangan for dengan nilai awal i = 0, dan dengan kondisi i kurang dari n (Variabel inputan). Jika kondisi bernilai True yaitu i < n, maka for akan menjalankan statement yang berada di dalamnya yaitu mencetak nilai dari VektorB yang telah diinputkan sebelumnya yang bertipekan Array. Lalu masuk ke dalam statement for yang kedua dimana jika nilai awal i tidak sama dengan nilai n – 1, maka akan dijalakan statement yaitu mencetak ”, ”. Kemudian nilai i akan bertambah 1 dan perulangan for akan terus menjalankan statement yang berada di dalamnya hingga kondisi yang diberikan bernilai False. Jika kondisi yang diberikan telah bernilai False maka program akan mencetak suatu penutup untuk menutup nilai yang telah dicetak.

System.out.print(“nVektor A + B = [ “);
for (int i=0;i<n;i++){
System.out.print(VektorA[i]+VektorB[i]);
if (i!=n-1){
System.out.print(“, “);
}
}
System.out.print(“]n”);

Blok sintaks di atas berfungsi untuk mencetak nilai penjumlahan dari VektorA dan VektorB. Dimana akan dilakukan suatu perulangan for dengan nilai awal i = 0, dan dengan kondisi i kurang dari n (Variabel inputan). Jika kondisi bernilai True yaitu i < n, maka for akan menjalankan statement yang berada di dalamnya yaitu mencetak nilai dari VektorA + VektorB yang telah diinputkan sebelumnya yang bertipekan Array. Lalu masuk ke dalam statement for yang kedua dimana jika nilai awal i tidak sama dengan nilai n – 1, maka akan dijalakan statement yaitu mencetak ”, ”. Kemudian nilai i akan bertambah 1 dan perulangan for akan terus menjalankan statement yang berada di dalamnya hingga kondisi yang diberikan bernilai False.Jika kondisi yang diberikan telah bernilai False maka program akan mencetak suatu penutup untuk menutup nilai yang telah dicetak.

System.out.print(“nVektor A – B = [ “);
for (int i=0;i<n;i++){
System.out.print(VektorA[i]-VektorB[i]);
if (i!=n-1){
System.out.print(“, “);
}
}
System.out.print(“]n”);

Blok sintaks di atas berfungsi untuk mencetak nilai pengurangan dari VektorA dan VektorB. Dimana akan dilakukan suatu perulangan for dengan nilai awal i = 0, dan dengan kondisi i kurang dari n (Variabel inputan). Jika kondisi bernilai True yaitu i < n, maka for akan menjalankan statement yang berada di dalamnya yaitu mencetak nilai dari VektorA – VektorB yang telah diinputkan sebelumnya yang bertipekan Array. Lalu masuk ke dalam statement for yang kedua dimana jika nilai awal i tidak sama dengan nilai n – 1, maka akan dijalakan statement yaitu mencetak ”, ”. Kemudian nilai i akan bertambah 1 dan perulangan for akan terus menjalankan statement yang berada di dalamnya hingga kondisi yang diberikan bernilai False.Jika kondisi yang diberikan telah bernilai False maka program akan mencetak suatu penutup untuk menutup nilai yang telah dicetak.

System.out.print(“nVektor A x B = [ “);
for (int i=0;i<n;i++){
System.out.print(VektorA[i]*VektorB[i]);
if (i!=n-1){
System.out.print(“, “);
}
}
System.out.print(“]n”);

Blok sintaks di atas berfungsi untuk mencetak nilai perkalian dari VektorA dan VektorB. Dimana akan dilakukan suatu perulangan for dengan nilai awal i = 0, dan dengan kondisi i kurang dari n (Variabel inputan). Jika kondisi bernilai True yaitu i < n, maka for akan menjalankan statement yang berada di dalamnya yaitu mencetak nilai dari VektorA x VektorB yang telah diinputkan sebelumnya yang bertipekan Array. Lalu masuk ke dalam statement for yang kedua dimana jika nilai awal i tidak sama dengan nilai n – 1, maka akan dijalakan statement yaitu mencetak ”, ”. Kemudian nilai i akan bertambah 1 dan perulangan for akan terus menjalankan statement yang berada di dalamnya hingga kondisi yang diberikan bernilai False.Jika kondisi yang diberikan telah bernilai False maka program akan mencetak suatu penutup untuk menutup nilai yang telah dicetak.

System.out.print(“nK.A = [ “);
for(int i=0;i<n;i++){
jum[i]= k * VektorA[i];
System.out.print(jum[i]);
if(i!=n-1){
System.out.print(“,”);
}
}
System.out.print(” ]n”);

Blok sintaks di atas berfungsi untuk mencetak nilai perkalian dari VektorA dengan nilai Skalar yang telah diinputkan. Dimana akan dilakukan suatu perulangan for dengan nilai awal i = 0, dan dengan kondisi i kurang dari n (Variabel inputan). Selanjutnya mendeklarasikan Variabel jum yang bertipekan Array yang mempunyai nilai berupa perkalian antara bilangan Skalar dengan nilai VektorA. Jika kondisi bernilai True yaitu i < n, maka for akan menjalankan statement yang berada di dalamnya yaitu mencetak nilai dari Variabel jum yang bertipekan Array. Lalu masuk ke dalam statement for yang kedua dimana jika nilai awal i tidak sama – 1, maka akan dijalakan statement yaitu mencetak ”, ”. Kemudian nilai i akan bertambah 1 dan perulangan for akan terus menjalankan statement yang berada di dalamnya hingga kondisi yang diberikan bernilai False. Jika kondisi yang diberikan telah bernilai False maka program akan mencetak suatu penutup untuk menutup nilai yang telah dicetak.

               System.out.print(“nK.B = [ “);
for(int i=0;i<n;i++){
jum[i]= k * VektorB[i];
System.out.print(jum[i]);
if(i!=n-1){
System.out.print(“,”);
}
}
System.out.print(” ]n”);
}
}

Blok sintaks di atas berfungsi untuk mencetak nilai perkalian dari VektorB dengan nilai Skalar yang telah diinputkan. Dimana akan dilakukan suatu perulangan for dengan nilai awal i = 0, dan dengan kondisi i kurang dari n (Variabel inputan). Selanjutnya mendeklarasikan Variabel jum yang bertipekan Array yang mempunyai nilai berupa perkalian antara bilangan Skalar dengan nilai VektorB. Jika kondisi bernilai True yaitu i < n, maka for akan menjalankan statement yang berada di dalamnya yaitu mencetak nilai dari Variabel jum yang bertipekan Array. Lalu masuk ke dalam statement for yang kedua dimana jika nilai awal i tidak sama – 1, maka akan dijalakan statement yaitu mencetak ”, ”. Kemudian nilai i akan bertambah 1 dan perulangan for akan terus menjalankan statement yang berada di dalamnya hingga kondisi yang diberikan bernilai False. Jika kondisi yang diberikan telah bernilai False maka program akan mencetak suatu penutup untuk menutup nilai yang telah dicetak.

Nah untuk hasil output dari kodingan diatas adalah seperti berikut :
Output Vektor Java

Program Fungsi pada Ruby

Program Fungsi pada Ruby

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

Program Matriks pada Ruby

Program Matriks pada Ruby

print “Masukan ordo : ”
r=gets.to_i
b=r
k=r
x=b-1
y=k-1

Blok sintaks di atas merupakan proses untuk menginputkan ordo n x n dan mendeklarasikan nilai variable yang akan digunakan dalam proses selanjutnya di dalam program. Penginputan ordo dilakukan sesuai dengan keinginan user, jika user memasukan angka 3 maka matriks yang akan keluar terdiri dari 3 baris dan 3 kolom.

a=Array.new(b).map {Array.new(k)}
for i in 0..x
for j in 0..y
print “Matriks A, masukan baris ke “,(i+1),”, kolom ke”,(j+1),”: ”
n=gets.to_i
a[i][j]=n
end
end
puts
p=Array.new(b).map {Array.new(k)}
for i in 0..x
for j in 0..y
print “Matriks B, masukan baris ke “,(i+1),”, kolom ke”,(j+1),”: ”
n=gets.to_i
p[i][j]=n
end

Selanjutnya blok sintaks diatas adalah proses untuk memasukkan nilai dari baris dan kolom matriks yang dilakukan sesuai dengan keinginan user. Matriks yang dimasukan oleh user ada dua matriks yaitu matriks a dan matriks b. Jumlah nilai yang diinputkan olehh user tergantung pada jumlah ordo yang dimasukan oleh user. Jika user memasukan angka 3 berarti banyaknya angka dari matriks yang akan dimasukan adalah 9 angka. Karena matriks ada dua, maka user akan memasukan data matris sebanyak dua kali. Jadi total user memasukan angka adalah 18 kali.

puts
puts “Matriks A”
puts
for i in 0..y
print (“|”)
for j in 0..x
print(” “,a[i][j],” “)
end
puts(“|”)
end
puts
puts “Matriks B”
puts
for i in 0..y
print (“|”)
for j in 0..x
print(” “,p[i][j],” “)
end
puts(“|”)
end

Pada sintaks ini program akan menampilkan hasil tampilan matriks a dan b beserta nilai yang telah diinputkan oleh user sebelumnya. Pada proses penampilan matriks ini, perulangan digunakan untuk mencetak nilai serta “|” pada matriks a dan b.

m=”y” or m=”Y”
until m==”t” or m==”T” do
puts
puts “===========pilihan===========”
puts “1. Penjumlhan matriks”
puts “2. Pengurangan matriks”
puts “3. Perkalian matriks”
puts “4. Exit”
print “masukan pilihan Anda : ”
c=gets.to_i
puts ‘===================================’

Setelah matriks a dan matriks b dicetak maka akan muncul menu pilihan dalam operasi – operasi pada matriks. apakah matriks tersebut akan dijumlahkan dikurangkan, dikalikan, atau ingin keluar dari program. Program akan terus melakukan perulangan pada pemunculan menu operasi matriks tersebut hingga user menginputkan “t” atau “T” pada saat muncul pemilihan perulangan pada menu.

if c==1
puts “Hasil penjumlahan matriks adalah ”
puts
for i in 0..x
print (“|”)
for j in 0..y
print “#{a[i][j]+p[i][j]} ”
end
puts(“|”)
end
puts “==========================================”

Selanjutnya jika user menginputkan pilihan 1, maka program akan melakukan operasi penjumlahan antar matriks pada matriks a dan matriks b sesuai dengan kolom dan baris yang sama. Kemudian hasil dari penjumlahan kedua matriks tersebut akan ditranspose.

elsif c==2
puts “Hasil pengurangan matriks adalah ”
puts
for i in 0..x
print (“|”)
for j in 0..y
print “#{a[i][j]-p[i][j]} ”
end
puts(“|”)
end
puts ‘=========================================’

Selanjutnya jika user menginputkan pilihan 2, maka program akan melakukan operasi pengurangan antar matriks pada matriks a dan matriks b sesuai dengan kolom dan baris yang sama. Kemudian hasil dari pengurangan kedua matriks tersebut akan ditranspose.

elsif c==3
puts “Hasil perkalian matriks adalah ”
puts
t=Array.new(b).map {Array.new(k)}
for i in 0..x
w=[]
for j in 0..y
s=0
for l in 0..x
u=a[i][l]*p[l][j]
s=s+u
w[j]=s
end
t[i]=w
end
end

for i in 0..x
print (“|”)
for j in 0..y
print (” “+”#{t[i][j]}”+” “)
end
puts(“|”)
end
puts ‘=========================================’
Selanjutnya jika user menginputkan pilihan 3, maka program akan melakukan operasi perkalian antar matriks pada matriks a dan matriks b sesuai dengan kolom dan baris yang sama. Kemudian hasil dari pengurangan kedua matriks tersebut akan ditranspose.

elsif c==4
puts “==Selesai==”
Dan jika user menginputkan pilihan 4, maka program akan menampilkan cetakan berupa “==Selesai==”.
else
puts “Anda salah dalam menginput”
Jika user menginputkan pilihan selain dari 4 pilihan yang disediakan, maka program akan mencetak suatu tampilan berupa “Anda salah dalam menginput”.
end
Jika user
print “Apakah Anda mau mengulang y/t : ”
m=gets.chomp
end
puts “Selesai juga akhirnya!!!”

Source kode matriks yang terakhir adalah proses perulangan. Dimana user akan ditanya apakah akan mengulang program atau tidak. Jika user ingin mengulang maka user dapat memasukan huruf “Y” yang berarti “ya” dan jika tidak user dapat memasukan huruf “T” yang artinya tidak maka program akan selesai serta menampilkan cetakan berupa “Selesai juga akhirnya!!!”.

Dan berikut adalah tampilan dari output program yang dibuat

Output matriks Ruby

Program Perulangan pada Ruby

Program Perulangan pada Ruby

def siku(angka)
puts””
awal = 1
for awal in 1..angka
for c in 1..awal
print ” *”
end
puts””
end
end

Blok sintaks ini merupakan suatu fungsi untuk mencetak bentuk segitiga siku – siku, dimana fungsi tersebut mempunyai satu argumen yang mana argumen tersebut adalah variabel yang berisi nilai inputan yang diinputkan oleh user. Variabel awal diberi nilai 1, kemudian masuk kedalam perulangan yang pertama. Dimana perulangan tersebut memiliki range(batasan) yaitu dari 1 sampai nilai variabel yang diinputkan oleh user. selanjutnya masuk ke dalam perulangan kedua dimana batas dari perulangan tersebut dimulai dari 1 sampai nilai dari perulangan for yang pertama. Kemudian perulangan kedua akan menjalankan statement yang berada didalamnya, jika sudah maka dilanjutkan dengan menjalankan statement yang ada di dalam perulangan yang pertama yaitu mencetak spasi kosong kebawah dan program akan terus melakukan looping sampai batas dari kedua perulangan tersebut selesai.

def persegi(angka)
puts “”
awal = 1
for awal in 1..angka
for c in 1..angka
print” *”
end
puts””
end
end

Blok sintaks ini merupakan suatu fungsi untuk mencetak bentuk persegi, dimana fungsi tersebut mempunyai satu argumen yang mana argumen tersebut adalah variabel yang berisi nilai inputan yang diinputkan oleh user. Variabel awal diberi nilai 1, kemudian masuk kedalam perulangan yang pertama. Dimana perulangan tersebut memiliki range(batasan) yaitu dari 1 sampai nilai variabel yang diinputkan oleh user. selanjutnya masuk ke dalam perulangan kedua dimana batas dari perulangan tersebut dimulai dari 1 sampai nilai variabel yang diinputkan oleh user juga. Kemudian perulangan kedua akan menjalankan statement yang berada didalamnya, jika sudah maka dilanjutkan dengan menjalankan statement yang ada di dalam perulangan yang pertama yaitu mencetak spasi kosong kebawah dan program akan terus melakukan looping sampai batas dari kedua perulangan tersebut selesai.


def segitiga_sama_kaki(x)
puts “”
temp = x
i = 1
while i<=x
k = 1
while temp >= 1
print ” ”
temp -=1
end
while k<=i
print “* ”
k+=1
end
temp=x-i
i+=1
puts “”
end
end

Blok sintaks ini merupakan suatu fungsi untuk mencetak bentuk segitiga sama kaki, dimana fungsi tersebut mempunyai satu argumen yang mana argumen tersebut adalah variabel yang berisi nilai inputan yang diinputkan oleh user. Untuk membuat program ini kita perlu menggunakan perulangan while untuk membatasi niai selama nilai yang kita input itu benar,dan statemen temp diatas digunakan untuk menampung nilai sementara ketika kita melakukan input data. statement diatas menjelaskan bahwa untuk mencetak segitiga tersebut kita perlu menggunakan perulangan while yang mana apabila nilai yang terdapat pada variabel i selalu kurang dari nilai yang terdapat pada vaariabel k maka nilai bernilai benar atau akan terus terjadi looping jika tidak maka looping berhenti,setelah kondisi terpenuhi maka program akan mencetak tanda * dan nilai dari k selalu bertambah 1 selanjutnya nilai yang disimpan menggunakan temp ketika nilai yang kita input pada variabel x akan selalu dikurang dengan nilai yang ada pada variabel i dan variabel I akan selalu bertambah 1 juga,dan akan mencetak spasi kosong kebawah.

def persegi_panjang(panjang,lebar)
puts “”
awal = 1
for awal in 1..lebar
for i in 1..panjang
print ” *”
end
puts “”
end
end

Blok sintaks ini merupakan suatu fungsi untuk mencetak bentuk persegi panjang, dimana fungsi tersebut mempunyai dua argumen yang mana argument – arugumen tersebut adalah variabel yang berisi nilai inputan yang diinputkan oleh user. Variabel awal diberi nilai 1, kemudian masuk kedalam perulangan yang pertama. Dimana perulangan tersebut memiliki range(batasan) yaitu dari 1 sampai nilai variabel panjang yang diinputkan oleh user. selanjutnya masuk ke dalam perulangan kedua dimana batas dari perulangan tersebut dimulai dari 1 sampai nilai variabel lebar yang diinputkan oleh user. Kemudian perulangan kedua akan menjalankan statement yang berada didalamnya, jika sudah maka dilanjutkan dengan menjalankan statement yang ada di dalam perulangan yang pertama yaitu mencetak spasi kosong kebawah dan program akan terus melakukan looping sampai batas dari kedua perulangan tersebut selesai.


def menu_utama
puts “n===================================================”
puts “| PROGRAM MEMBUAT BANGUN RUANG |”
puts “===================================================”
puts “—————————————————”
puts ” 1. SEGITIGA SIKU-SIKU”
puts ” 2. PERSEGI”
puts ” 3. SEGITIGA SAMA KAKI”
puts ” 4. PERSEGI PANJANG”
puts “—————————————————”
print “nMasukan Pilihan Anda : ”
pil = gets.to_i

Kumpulan sintaks ini merupakan suatu fungsi, dimana ketika fungsi tersebut dipanggil maka fungsi tersebut akan menampilkan menu utama dari program ini yaitu pilihan bentuk bangun ruang. Kemudian user dapat menginputkan suatu pilihan dalam program yang mana nilai inputan tersebut akan disimpan ke dalam suatu variabel local.

case(pil)
when 1
print “Masukan Angka : ”
angka = gets.to_i
siku(angka)

Selanjutnya, jika nilai variabel yang telah di inputkan user adalah 1, maka program akan menjalankan sintaks yang berada pada case 1. Dimana user diminta untuk menginputkan angka yang akan dijadikan nilai argumen dari fungsi siku yang telah dideklarisikan sebelumnya, kemudian fungsi tersebut akan dipanggil dengan mengirimkan nilai yang ada didalam fungsi itu sendiri.


when 2
print “Masukan Angka : ”
angka = gets.to_i
persegi(angka)

Jika nilai variabel yang telah di inputkan user adalah 2, maka program akan menjalankan sintaks yang berada pada case 2. Dimana user diminta untuk menginputkan angka yang akan dijadikan nilai argumen dari fungsi persegi yang telah dideklarisikan sebelumnya, kemudian fungsi tersebut akan dipanggil dengan mengirimkan nilai yang ada didalam fungsi itu sendiri.

when 3
print “Masukan angka : ”
x = gets.to_i
segitiga_sama_kaki(x)

Jika nilai variabel yang telah di inputkan user adalah 3, maka program akan menjalankan sintaks yang berada pada case 3. Dimana user diminta untuk menginputkan suatu angka yang akan dijadikan nilai argumen dari fungsi segitiga_sama_kaki yang telah dideklarisikan sebelumnya, kemudian fungsi tersebut akan dipanggil dengan mengirimkan nilai yang ada didalam fungsi itu sendiri.

when 4
print “Masukan panjang : ”
panjang = gets.to_i
print “Masukan Lebar : ”
lebar = gets.to_i
persegi_panjang(panjang,lebar)
else
puts “nPilihan yang anda masukan salah !”
end
end

Jika nilai variabel yang telah di inputkan user adalah 4, maka program akan menjalankan sintaks yang berada pada case 4. Dimana user diminta untuk menginputkan beberapa inputan yaitu menginputkan nilai dari variabel panjang dan nilai dari variabel lebar yang akan dijadikan nilai argumen dari fungsi persegi_panjang yang telah dideklarisikan sebelumnya, kemudian fungsi tersebut akan dipanggil dengan mengirimkan nilai yang ada di dalam fungsi itu sendiri. Selanjutnya jika pilihan yang diinputkan oleh user selain dari 1 – 4 maka akan muncul suatu tampilan bahwa pilihan yang dimasukkan oleh user adalah salah.


ulang = “yes”
while(ulang == “yes”)
menu_utama
print “nDo you want to repeat the program ?”
ulang = gets.chomp
end

Kumpulan sintaks ini berfungsi untuk melakukan perulangan menu utama pada program, variabel “ulang” terlebih dahulu diberi nilai “yes” kemudian masuk kedalam pengecekan kondisi while. Jika kondisi bernilai True maka fungsi menu_utama akan dipanggil dan akan menampilkan menu utama program. Kemudian setelah menu utama selesai dijalankan, while akan menjalankan statement keduanya yaitu menanyakan kepada user apakah ingin mengulang menu utama pada program, kemudian user diminta untuk menginputkan pilihannya. Jika user menginputkan nilai string “yes” , maka nilai tersebut akan disimpan pada variabel ulang dan program akan memanggil kembali fungsi dari menu utama.

if(ulang == “no”)
puts (“nThank You, and see you again!!”)
else
puts (“nError Program !!! your choice is FALSE”)
end

Dan jika nilai variabel ulang yang diinputkan oleh user “no”, maka program akan menampilakan cetakan berupa “Thank you, and see you again!!” lalu keluar dari program. Jika nilai variabel ulang yang diinputkan selain dari “yes” dan “no” , maka akan tampil suatu cetakan berupa eror message yaitu “Eror program !!, your choice is FALSE” dilajutkan dengan berakhirnya program.

Nah untuk hasil dari output program diatas akan seperti pada gambar berikut :

Output perulangan Ruby

Pengenalan Pemrograman Ruby

A. Sejarah dan Perkembangan Ruby
Ruby merupakan bahasa scripting yang memiliki string processing yang sangat akurat misalnya regular expression sehingga sangat cocok untuk administrator sistem untuk membuat shell script yang powerfull. Di pihak lain, bahasa scripting menawarkan pengembangan aplikasi yang cepat misalnya pembuatan aplikasi GUI, web scripts, system utilities, dan aplikasi yang membutuhkan pemrosesan string ataupun perhitungan yang akurat. Pencipta Ruby, Yukihiro Matsumoto (Matz), menggabungkan bagian-bagian dari bahasabahasa favorit beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk bahasa baru yang seimbang antara pemrograman fungsional dengan pemrograman imperatif. Sejak Ruby pertama kali dirilis ke publik pada tahun 1995, banyak programmer profesional dari seluruh dunia serius ikut mengembangkan Ruby. Pada tahun 2006, Ruby diterima oleh banyak orang. Dengan komunitas pengguna Ruby yang aktif di banyak kotakota di seluruh dunia dan konferensi-konferensi beserta pertemuan Ruby terkait. Ruby-Talk, milis utama untuk diskusi Ruby (dalam bahasa Inggris) telah mencapai kisaran 200 email setiap hari. TIOBE index, yang menghitung perkembangan bahasa-bahasa pemrograman, menempatkan Ruby pada peringkat ke 10 diantara bahasa-bahasa pemrograman di seluruh dunia. Melihat pada perkembangan ini, mereka memperkirakan, “Kesempatan Ruby memasuki peringkat atas 10 besar adalah dalam waktu setengah tahun.” Kebanyakan dari perkembangan Ruby beratribut pada terkenalnya software yang ditulis dengan Ruby, terutama framework web Ruby on RailS. Ruby juga sepenuhnya bebas. Tidak hanya gratis, tetapi juga bebas untuk menggunakan, memodifikasi dan mendistribusikan Ruby. Pengenalan Bahasa Ruby Ruby adalah bahasa pemrogaman scripting yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa pemrogaman scripting yang ada di dunia. Ruby ditulis dengan bahasa C dengan kemampuan dasar seperti Perl dan Phyton. Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Penulisan Ruby dimulai pada February 1993 dan pada Desember 1994 dirilis versi alpha dari ruby. Pada awal perkembangan Ruby, Yukihiro meulis Ruby sendiri sampai pada tahun 1996 terbentuk komunitas Ruby yang banyak mengkotribusikan Ruby. | Pengenalan Ruby 74 Aplikasi bahasa Ruby, antara lain :
• Implementasi besar Ruby pada JRuby dan Rubinius.
• Ruby dapat diterapkan pada teknologi Asynchronous JavaScript dan XML (AJAX).
• Ruby on Rails untuk membuat framework web.

B. Kelebihan dan Kekurangan Ruby
Adapun kelebihan dan kekurangan yang dimiliki oleh Bahasa Pemrograman Ruby adalah sebagai berikut.

Kelebihan :
• Sintaks sederhana.
• Memiliki Exception Handling yang baik.
• OOP.
• Single inheritance
• Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix
• Merupakan bahasa pemrograman scripting yang berorientasi objek.
• Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori.

Kelemahan:
• Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
• Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
• Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz. IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis

C. Fitur-fitur Pada Ruby
Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari sintaks yang ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa scripting yang lebih hebat daripada Perl dan lebih berorientasi obyek daripada Ruby.” Di Ruby, semua adalah obyek. Setiap informasi dan kode bisa diberi property dan action. Pemrograman berorientasi obyek memanggil property dengan nama variabel instant dan action, yang disebut sebagai metode. Pendekatan murni berorientasi obyek terutama terlihat pada demonstrasi sedikit kode yang diberikan pada number. Ruby dianggap sebagai bahasa yang fleksibel, karena bagian-bagian dari Ruby bisa diubah-ubah dengan bebas. Bagian-bagian yang esensi di Ruby bisa dihapus maupun didefinisikan ulang. Bagian-bagian yang sudah ada bisa ditambahkan.

Ruby mencoba untuk tidak membatasi programmer. Ruby kaya fitur, antara lain sebagai berikut:

• Ruby merupakan bahasa interpreter.
• Ruby memiliki sintaks yang sederhana, mudah dipelajari dan dipahami.
• Ruby memiliki fitur-fitur yang menangani exception, seperti Java atau Ruby, untuk mempermudah menangani error.
• Ruby menyediakan mark-and-sweep garbage collector untuk semua obyek Ruby. Tidak perlu me-maintain reference count pada library extension
• Menulis extension C di Ruby lebih mudah daripada di Perl ataupun di Ruby, dengan API yang elegan untuk memanggil Ruby dari C. Ini termasuk memanggil Ruby embedded di software, untuk digunakan sebagai bahasa scripting. Interface SWIG juga tersedia
• Ruby bisa load library extension secara dinamis jika Sistem Operasi mengijinkan
• Ruby menyediakan fitur OS threading yang independent. Maka, untuk semua platform dimana Ruby berjalan, kita juga punya multithreading, terlepas dari apakah Sistem Operasi mendukung multithreading atau tidak, bahkan pada MS-DOS sekalipun
• Ruby sangat portable: Ruby kebanyakan dikembangkan di GNU/Linux, tetapi juga berjalan di banyak tipe UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, dan lain-lain.

D. Aturan penamaan variabel pada Ruby
Karena Ruby bersifat dynamic-typing, Kita tidak perlu mendeklarasikan tipe dan variable yang ingin kita gunakan seperti pada bahasa C. Kita cukup memasukkan nilai ke variable yang ingin kita pakai. Aturan penamaan variabel sama dengan aturan penamaan variabel pada umumnya, yakni tidak boleh dimulai dengan angka dan tidak memakai keyword penting dari bahasa tersebut. Berikut contoh deklarasi variabel: Contoh variabel yang benar: x = 888 ini_variabel_string = “halo” Contoh variabel yang tidak benar: 8x = 888 while = “halo” # while adalah reserved keyword

E. Struktur Program Program
Ruby umumnya juga memakai indentasi seperti bahasa Ruby. Akan tetapi indentasi tidak mutlak harus dilakukan, karena Ruby menggunakan keyword end untuk menandakan akhir dari suatu bagian program.