SOAL
Buatlah sebuah program untuk
membentuk 2 buah matriks berordo n x n, dimana n adalah inputan user. Lalu
hitung sesuai menu:
Menu 1 : Penjumlahan
Menu 2 : Pengurangan
Menu 3 : Perkalian
Menu 4 : Exit
SOURCE CODE
puts "-----------------------------------"
puts "| Program Array dan Array Lanjut:
|"
puts "| M
A T R
I K S
|"
puts "-----------------------------------"
puts"MATRIKS A"
print"masukkan banyak baris matriks A : "
nA=gets.to_i
print"masukkan banyak kolom matriks A : "
mA=gets.to_i
puts"Ordo Matriks A: #{nA} x #{mA}"
puts"---------------------------------------"
puts"MATRIKS B"
print"masukkan banyak baris matriks B : "
nB=gets.to_i
print"masukkan banyak kolom matriks B : "
mB=gets.to_i
puts"Ordo Matriks B: #{nB} x #{mB}"
puts"---------------------------------------"
a=Array.new(nA,Array.new(mA,nil))
b=Array.new(nB,Array.new(mB,nil))
puts"MATRIKS A"
for i in 1..nA
baris=[nil]
for j in 1..mA
print "Baris ke-#{i} Kolom ke-#{j} : "
baris[j]=gets.to_i
end
a[i]=baris
end
puts"---------------------------------------"
puts"MATRIKS B"
for i in 1..nB
baris=[nil]
for j in 1..mB
print "Baris ke-#{i} Kolom ke-#{j} : "
baris[j]=gets.to_i
end
b[i]=baris
end
puts"---------------------------------------"
puts"MATRIKS A"
for i in 1..nA
print "| "
for j in 1..mA
print "#{a[i][j]} "
end
puts "|"
end
puts"---------------------------------------"
puts"MATRIKS B"
for i in 1..nB
print "| "
for j in 1..mB
print "#{b[i][j]} "
end
puts "|"
end
puts"----------------------------------------"
pilih="y"
while pilih=="y" do
puts"==========MENU=========="
puts"| 1. Penjumlahan |"
puts"| 2. Pengurangan |"
puts"| 3. Perkalian |"
puts"| 4. Exit |"
puts"========================"
print"Masukkan Menu : "
menu=gets.to_i
if menu==1
puts"--------------PENJUMLAHAN--------------"
if nA==nB and mA==mB
puts "Matriks A+B = "
for i in 1..nA
print "|\t"
for j in 1..mB
print "#{a[i][j]+b[i][j]}"
print "\t"
end
puts "|"
end
else
puts "Ket : Karena Ordo A dan B tidak sama"
puts " maka-->Tidak bisa
dijumlahkan"
end
elsif menu==2
puts"------------PENGURANGAN----------------"
if nA==nB and mA==mB
puts "Matriks A-B = "
for i in 1..nA
print "|\t"
for j in 1..mB
print "#{a[i][j]-b[i][j]}"
print "\t"
end
puts "|"
end
else
puts "Ket : Karena Ordo A dan B tidak sama"
puts " maka-->Tidak bisa dikurangi"
end
elsif menu==3
puts"----------------PERKALIAN--------------"
if mA==nB
puts "Matriks X = A*B = "
x=Array.new(nA,Array.new(mB,nil))
for i in 1..nA
y=[nil]
for j in 1..mB
z=0
for k in 1..mA
p=a[i][k]*b[k][j]
z=z+p
y[j]=z
end
x[i]=y
end
end
for i in 1..nA
print "|\t"
for j in 1..mB
print "#{x[i][j]}"
print "\t"
end
puts "|"
end
else
puts "Ket : Karena kolom A dan baris B tidak sama"
puts " maka-->Tidak bisa
dikalikan"
end
elsif menu==4
puts"-----------------EXIT------------------"
break
else
puts "INPUTAN SALAH..!!"
end
puts "---------------------------------------"
pilih=["a-z/A-Z"]
while pilih!="y" and pilih!="t" do
print "Ingin Mengulang Menu?? (y/t) :
"
pilih=gets.chomp
puts "---------------------------------------"
end
if pilih=="t"
puts "======================================"
puts "| T E R I M A K A S I H ^_^ |"
puts "======================================"
end
end
OUTPUT
Tidak ada komentar:
Posting Komentar