Workshop Diktat Bab 3 (Alpro Minggu Ketiga)
Workshop Minggu Ke-3
nomor : 2, 5, 8, 11, 12.
2.
Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.
Analisis :
Untuk mencari isi
bola/volume bola digunakan rumus :
Volume
bola = 4/3.ℼ.r3
Dimisalkan : r = 3, phi = 3.14, isi/volume bola = 4/3×3.14×(3×3×3) = 113.04
Algoritma : Isi_bola
{mencari isi
bola/volume bola bila diketahui jari-jari bola, algoritma menerima masukan dari
r(jari-jari), phi di deklarasikan sebagai 3.14, lalu r dimasukkan ke rumus, dan
mencetak hasil dari rumus}
Deklarasi :
r : integer {input}
phi : float {konstanta}
vbola : float {output}
Deskripsi :
read (r)
phi ← 3.14
vbola ← 4/3.𝝅.r3
write(vbola)
Flowchart Algoritma :
![]() |
Flowchart Algoritma no.2 |
![]() |
Hasil Flowchart Algoritma no.2 |
Dengan model OOP C++ :
![]() |
OOP no.2 |
![]() |
Hasil OOP no2 |
5. Buatlah analisis dan algoritma untuk menghitung konversi dari jam:menit:detik ke detik
Buat contoh kasus, misalnya konversikan 2 jam 13 menit 43 detik menjadi ..... detik.
Analisis :
1 jam = 3600 detik, 1 menit = 60 detik.
Dimisalkan :
2 jam = 2×3600=7200 detik.
13 menit = 13×60=780 detik.
43 detik
Jadi, 2 jam 13 menit 43 detik = 7200+780+43 = 8023
Algoritma : Konversi_waktu
{mengkonversikan jam:menit:detik menjadi detik, algoritma menerima masukkan berupa jam, menit, dan detik, konversikan dahulu jam menjadi detik (1 jam=3600 detik), lau konversikan menit (1 menit=60 detik), dan jumlahkan hasil konversi detik}
Deklarasi :
hh : integer {input}
mm : integer {input}
dd : integer {input}
h : integer {hh×3600}
m : integer {mm×60}
d : integer {dd}
detik : integer {output}
Deskripsi :
read(hh,mm,dd)
h←hh×3600
m←mm×60
d←dd
detik←h+m+d
write(detik)
Flowchart Algoritma :
![]() |
Flowchart Algoritma no.5 |
![]() |
Hasil Flowchart Aloritma no.5 |
Dengan model OOP C++ :
![]() |
OOP no.5 |
![]() |
Hasil OOP no.5 |
8. [Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar.
Analisis :
Luas plat CD = Luas lingkaran luar - Luas lingkaran dalam
Dimisalkan :
Diameter lingkaran luar = 6cm dan Diameter lingkaran dalam 2cm.
Jari lingkaran luar = 6cm/2 = 3cm
Jari lingkaran dalam = 2cm/2 = 1cm
Luas lingkaran luar = 3.14*3*3 = 28.26cm²
Luas lingkaran dalam = 3.14*1*1 = 3.14cm²
Luas plat CD = 28.26cm - 3.14cm = 25,12cm²
Algoritma :
{Untuk mencari luas sebuah plat CD, Algoritma menerima masukan berupa 2 diameter(lingkaran luar dan lingkaran dalam), setelah itu cari jari jari lingkaran menggunakan diameter (r = d/2). Lalu cari luas lingkaran luar dan luas lingkaran dalam. Luas lingkaran luar - Luas lingkaran dalam = Luas plat CD.}
Deklarasi :
d1 : float {input}
d2 : float {input}
phi : float {konstanta}
r1 : float {d1/2}
r2 : float {d2/2}
L1 : float {phi*r1*r1}
L2 : float {phi*r2*r2}
L : real
Deskripsi :
Read(d1,d2)
phi←3.14
r1←d1/2
r2←d2/2
L1←phi*r1*r1
L2←phi*r2*r2
L←L1-L2
Write(L)
Flowchart Algoritma :
![]() |
Flowchart Aloritma no.8 |
![]() |
Hasil Flowchart Aloritma no.8 |
Dengan model OOP C++ :
![]() |
OOP no.8.0 |
![]() |
OOP no.8.1 |
![]() |
Hasil OOP no.8 |
11. Buatlah analisis dan algoritma untuk menjumlah dua bilangan scientific berbentuk aEb dengan 0<a<10 dan 0<=b<=4.
Hitung 2.1E2 + 3.31E1 = Secara manual lebih dulu.
Analisis :
Menjumlahkan a bilangan pertama dengan a bilangan kedua dan menjumlahkan b bilangan pertama dengan b bilangan kedua, lalu jadikan model bilangan scientific aEb.
Menjumlahkan a bilangan pertama dengan a bilangan kedua dan menjumlahkan b bilangan pertama dengan b bilangan kedua, lalu jadikan model bilangan scientific aEb.
Dimisalkan : 2.1E2 + 3.31E1 = 2.1+3.31 E 2+1 = 5.41E3
Algoritma :
{Algoritma menerima bilangan a1,a2,b1,b2, lalu menjumlahkan a1+a2, b1+b2, lalu diubah ke model scientific aEb.}
Deklarasi :
a1 : integer {input}
a2 : integer {input}
b1 : integer {input}
b2 : integer {input}
a : int {output}
b : int {output}
a1 : integer {input}
a2 : integer {input}
b1 : integer {input}
b2 : integer {input}
a : int {output}
b : int {output}
Deskripsi :
read (a1,a2,b1,b2)
a ←a1+a2
b←b1+b2
b←b1+b2
write(aEb)
Flowchart Algoritma :
![]() |
Flowchart Aloritma no.11 |
![]() |
Hasil Flowchart Aloritma no.11 |
![]() |
OOP no.11 |
![]() |
Hasil OOP no.11 |
12. Buatlah analisis dan algoritma untuk menghitung jumlah dari dua tanggal yang dimasukkan user. Misalnya, berapa hari dari 6/1/90 sampai 8/3/92 ? Anggap satu tahun 365 dan anggap semua komponen tanggal pertama Selalu lebih kecil dari komponen tanggal kedua.
Analisis : Menghitung jumlah hari dari dua tanggal berarti sama denga menghitung selisih hari. Untuk mencari selisih hari harus mengurangkan kedua tahun , bulan dan hari yang diinputkan,yang besar dikurangkan yang kecil.
Dimisalkan :
Diketahui 6/1/90 sampai 8/3/92.
hari1=6, bulan1=1, tahun1 =90
hari2 =8, bulan2 =3, tahun2 =92
maka,
hari = hari2-hari1 = 8-6 = 2
bulan = bulan2-bulan1 = 3-1 = 2
tahun = tahun2-tahun1 = 92-91 = 1
Konversikan dahulu ahun dan bulan ke hari.
1 Tahun = 365 hari, 1 Bulan = 30 hari.
bulan= 2*365 = 730hari
bulan= 2*20 = 60 hari
lalu, jumlahkan semua hari = 2+730+60 =792hari
Algoritma :
{Algoritma menerima inputan berupa tanggal yang pertama dan tanggal yang kedua, lalu bulan dan tahun dikonversikan ke hari, setelah itu semua hasil hari di jumlahkan, dan outputkan hasilnya.}
Deklarasi :
d1 : int {input}
d2 : int {input}
m1 : int {input}
m2 : int {input}
y1 : int {input}
y2 : int {input}
hari : int {output}
m2 : int {input}
y1 : int {input}
y2 : int {input}
hari : int {output}
Deskripsi :
Read(d1,d2,m1,m2,y1,y2)
d←d2-d1
m←m2-m1
y←y2-y1
hari←d+m+y
Write(hari)
y←y2-y1
hari←d+m+y
Write(hari)
![]() |
OOP no.12 |
![]() |
OOP no.12 |
![]() |
Hasil OOP no.12 |
Nomor : 4, 7, 10, 11, 12 http://ardiansyah220898.blogspot.co.id/
Nomor : 3, 6, 9, 11, 12 http://rahmadkurniawan09.blogspot.co.id
Komentar
Posting Komentar