Lapres Modul2
Lapres Modul2
00
PRAKTIKUM BAHASA PEMROGRAMAN 1
LAPORAN RESMI
“BRANCHING”
MODUL 2
SESI/KELOMPOK : E3 / 8
1. JALU BAMARA HARLAMBANG (1234010032)
2. FADHIL MUHAMMAD (1234010033)
ASISTEN :
1. ADI KISWANTO (1134010057)
2. NEMICIO DE SOUSA GAMA (1134010007)
Surabaya,
Mengetahui
Asisten Praktikum
3. Jika outputnya “remaja” maka masuk ke program hitung luas & kelliling segitiga
4. Jika outputnya “dewasa” maka masuk ke program hitung determinan & invers dari
matriks ordo 3x3
ALGORITMA
1. Start
2. Inisialisasi umur = 0
3. Deklarasi umur = integer
4. Masukkan umur
5. Jika umur>=1 dan umur<=16 maka ke no 10
6. Jika umur>=17 dan umur<=25 maka ke no 18
7. Jika umur>=25 dan umur<=45 maka ke no
8. Jika umur>45
9. Cetak “inputan salah”
10. Masukkan a
11. Masukkan b
12. Proses x = 2𝑎3 + b + 13
13. Proses y = 5𝑎2 + b +15
𝑥+𝑦
14. Proses z = 2
15. Cetak x
16. Cetak y
17. Cetak z
18. Ke langkah 40
19. Masukkan alas
20. Masukkan tinggi
21. Masukkan sisimiring
22. Proses luas = 0.5 * alas * tinggi
23. Proses keliling = alas + tinggi + sisimiring
24. Cetak luas
25. Cetak keliling
26. Ke langkah 40
27. Masukkan a1
28. Masukkan a2
29. Masukkan a3
30. Masukkan a4
31. Masukkan a5
32. Masukkan a6
33. Masukkan a7
34. Masukkan a8
35. Masukkan a9
36. Proses det= (a1*a5*a9)+(a2*a6*a7)+(a3*a4*a8)-(a7*a5*a3)-(a8*a6*a1)-(a9*a4*a2)
37. Proses invers= (1/det)
38. Cetak det
39. Cetak invers
40. End
FLOWCHART
Mulai
Inisialisasi
Umur=0
Deklarasi
Umur=integer
Masukkan
umur
tidak
Masukkan b
Jika umur>=17 dan Cetak Masukkan
ya
umur<=25 “Remaja” alas
x = 2a^3 + b + 13
tidak Masukkan
tinggi
Cetak Masukkan
Jika umur>=25 dan y = 5a^2 + b + 15
ya “Dewasa” a1
umur<=45 Masukkan
sisimiring
Masukkan
a2
z = (x+y) / 2
Cetak x
Cetak y
Masukkan Cetak z
Cetak a4
“inputan Kelilling = alas + tinggi +
salah” sisimiring
Masukkan
a5
Cetak luas
Masukkan Cetak kelliling
a6
Masukkan
a7
Masukkan
a8
Masukkan
a9
Det =
(a1xa5xa9)+(a2xa6xa7)+(a3xa4xa8)-
(a7xa5xa3)-(a8xa6xa1)-(a9xa4xa2)
inv=(1/det)
Cetak det
Cetak inv
Selesai
SOURCE CODE
print "masukkan umur : "
umur=gets.to_i
if umur>=1 and umur <=16
puts "anak-anak"
puts "x = 2a^3 + b + 13"
puts "y = 5a^2 + b + 15"
puts "z = (x+y)/2"
puts "masukkan a : "
a=gets.to_i
puts "masukkan b : "
b=gets.to_i
x= 2*a**3 + b + 13
puts "nilai x : "+x.to_s
y= 5*a**2 + b + 15
puts "nilai y : "+y.to_s
z= (x+y)/2
puts "nilai z : "+z.to_s
elsif umur>=17 and umur<=25
puts "remaja"
puts "hitung luas & keliling segitiga"
puts "masukkan alas : "
alas=gets.to_i
puts "masukkan tinggi :"
tinggi=gets.to_i
puts "masukkan sisi miring : "
sisimiring=gets.to_i
luas=0.5*alas*tinggi
puts "luas segitiga adalah : "+luas.to_s
kel=alas+tinggi+sisimiring
puts "keliling segitiga adalah : "+kel.to_s
elsif umur>=26 and umur<=45
puts "dewasa"
puts "masukkan a1 : "
a1=gets.to_f
puts "masukkan a2 : "
a2=gets.to_f
puts "masukkan a3 : "
a3=gets.to_f
puts "masukkan a4 : "
a4=gets.to_f
puts "masukkan a5 : "
a5=gets.to_f
puts "masukkan a6 : "
a6=gets.to_f
puts "masukkan a7 : "
a7=gets.to_f
puts "masukkan a8 : "
a8=gets.to_f
puts "masukkan a9 : "
a9=gets.to_f
puts "A = |#{a1} #{a2} #{a3}|"
puts " |#{a4} #{a5} #{a6}|"
puts " |#{a7} #{a8} #{a9}|"
det= (a1*a5*a9)+(a2*a6*a7)+(a3*a4*a8)-(a7*a5*a3)-(a8*a6*a1)-(a9*a4*a2)
puts "jadi determinan matriks A adalah : "+det.to_s
inv= (1/det)
puts “jadi invers matriks A adalah : ”+inv.to_s
else umur>45
print "inputan salah"
end
ANALISAH MASALAH
Dalam praktikum 2 ini kami membuat program branching pada ruby di program
eclipse. Kesulitan yang kami alami ialah memilih pernyataan (statement) yang pas untuk
percabangan bertingkat. Akhirnya kami memutuskan untuk menggunakan perintah
IF...ELSIF....ELSE.
Kesulitan yang ke-2 kami tidak dapat memanggil inputan a pada matriks a1,a2,a3..a
ke-n , akhirnya kami menggunakan #{a1},#{a2},#{a3}, dan seterusnya. Dan kami tidak tahu
apa rumus invers matriks kami. Akhirnya , setelah kami mencari di google akhirnya
menemukan rumus invers :
KESIMPULAN
Output soal 2 :
Output Soal 3 :