m="y" or m="Y"
until m=="t" or m=="T" do
print "masukan
ordo : "
r=gets.to_i
b=r
k=r
x=b-1
y=k-1
puts
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
end
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
puts
puts "===========pilihan==========="
puts "1. untuk menjumlahkan matriks"
puts "2. untuk mengurangkan matriks"
print "masukan pilihan anda : "
c=gets.to_i
puts '==================================='
if c==1
puts "hasil penjumlahan adalah "
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[i][j]+p[i][j]} "
end
puts("|")
end
puts "=========================================="
puts "transpose penjumlahan"
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[j][i]+p[j][i]} "
end
puts("|")
end
end
puts'======================================'
if c==2
puts "hasil
pengurangan adalah "
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[i][j]-p[i][j]} "
end
puts("|")
end
puts '========================================='
puts "transpose pengurangan"
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[j][i]-p[j][i]} "
end
puts("|")
end
puts '========================================='
end
print "apakah
anda ingin mengulang y/t : "
m=gets.chomp
end
penjelasan
Program menghitung matriks
ini adalah program yang dibuat untuk menjumlahkan dan mengurangkan dua matriks
yang dimana ordo dan nilai matriks akan diinputkan oleh user dan kemudian hasil
penjumlahan dan pengurangan tersebut ditranspose yaitu dimana posisi baris
menjadi kolom dan kolom menjadi baris.
print "masukan
ordo : "
r=gets.to_i
b=r
k=r
x=b-1
y=k-1
Source kode menghitung matriks di atas adalah proses untuk memasukan ordo n x n dan mendeklarasikan nilai variable yang akan digunakan dalam proses selanjutnya. Pemasukan ordo terserah oleh 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
end
Kemudian Source kode menghitung matriks berikutnya adalah proses pemasukan nilai baris dan kolom oleh user.
Matriks yang dimasukan oleh user ada dua matriks yaitu matriks a dan matriks b.
jumlah angka yang dimasukan user adalah 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.
Kelemahan dari matriks ini adalah
tidak bisa memasukan data matriks yang berbeda. Program ini hanya bisa
memasukan dua matriks dengan ordo yang sama. Dengan kata lain jika matriks a
ordonya 3 x 3 maka matriks b juga ordonya 3 x 3. Sehingga penjumlahan lebih
mudah untuk diproses.
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
Dan Source kode menghitung matriks
berikutnya adalah proses untuk menampilkan matriks a dan matriks b seperti yang
telah diinputkan oleh user.
puts "===========pilihan==========="
puts "1. untuk menjumlahkan matriks"
puts "2. untuk mengurangkan matriks"
print "masukan pilihan anda : "
c=gets.to_i
puts '==================================='
Setelah
matriks a dan matriks b ditampilkan maka aka nada pilihan apakah matriks
tersebut akan dijumlahkan atau dikurangkan. Pilihan hanya ada 1 dan 2. Jika
user menginputkan angka selain itu maka program tidak akan menampilkan apa-apa.
Dan langsung menanyakan perintak perulangan.
puts '==================================='
if c==1
puts "hasil penjumlahan adalah "
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[i][j]+p[i][j]} "
end
puts("|")
end
puts "=========================================="
puts "transpose penjumlahan"
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[j][i]+p[j][i]} "
end
puts("|")
end
end
Kemudian
jika pilihan user 1, maka program akan menjumlahkan matriks a dan matriks b
yang kemudian hasil dari penjumlahan tersebut akan ditranspose.
if c==2
puts "hasil
pengurangan adalah "
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[i][j]-p[i][j]} "
end
puts("|")
end
puts '========================================='
puts "transpose pengurangan"
puts
for i in 0..x
print ("|")
for j in 0..y
print "#{a[j][i]-p[j][i]} "
end
puts("|")
end
Dan jika user memilih 2, maka program akan mengurangkan matriks a dan matriks b dan kemudian hasil dari pengurangan tersebut ditranspose.
print "apakah
anda ingin mengulang y/t : "
m=gets.chomp
end
Dan Source kode menghitung 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.
0 komentar:
Posting Komentar