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