Follow Us @soratemplates

Minggu, 16 Oktober 2016

Contoh Soal Program Ruby Array/Larik MATRIKS

01.09.00 0 Comments
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





Selasa, 31 Mei 2016

CONTOH SOAL PROGRAM RUBY ARRAY/LARIK

10.13.00 0 Comments

SOAL


  1. Buatlah program untuk 2 menu, yakni:
1. Bilangan Fibbonacci
2. Segitiga Bintang Terbalik
dimana masing-masing menu memiliki batasan yang merupakan inputan dari user, dan seluruh menu tersebut menggunakan perintah “UNTIL”. Dan juga menawarkan kepada user apakah ingin mengulang lagi prosesnya atau tidak.


SOURCE CODE

pilih=1
while pilih==1 do

puts "========== pilih menu =========="
puts "| 1. BILANGAN FIBBONACCI       |"
puts "| 2. SEGITIGA BINTANG TERBALIK |"
puts "================================"
print "Jawab: "
jawab=gets.to_i
puts"---------------------------------"
if jawab==1
  print "masukkan banyak fibo [n] : "
  n=gets.to_i
  a=1
  print a.to_s+" "
  b=0
  c=1
  until a >= n do
    d = b + c
    b = c
    c = d
    print d.to_s+" "
    a +=1
  end
elsif jawab==2
  print "masukkan batas [m]: "
  m=gets.to_i
  e=1
  f=0
  until e > m do
    g = e - 1
    if f==g
    end
    until f>=g do
      print " "
      g=g-1
    end
     g = m - e + 1
     until f>=g do
       print "*"
       g = g - 1
     end 
     puts "\n"
     e +=1
  end
else
puts "INPUTAN SALAH!!!" 
end
puts"\n---------------------------------"
puts "Ulangi Program Ini ??"
puts "1. Ya"
puts "2. Tidak"
print "Pilih : "
pilih=gets.to_i
puts"---------------------------------"
end
puts "<<<SELESAI>>>"    


OUTPUT