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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.