2. Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.
Algoritma dan
Analisis.
{membaca data real berupa jari-jari bola (r), dan menghitung
isi atau volumenya dengan jari-jari tertentu. Volume bola dihiutng dengan rumus
V=4πr3. Nilai V dicetak sebagai output ke peranti keluaran.}
Deklarasi:
Phi : float {nilai 3,14, satuan cm}
R : float {jari-jari bola, satuan cm}
V : float {volume bola, satuan cm3}
Deskripsi:
Baca
(phi)
Baca
(r)
Vß4*phi*r*r*r
Write (V)
3. Buatlah analisis dan algoritma untuk mencari hipotenusa dari segitiga Pythagoras bila
diketahui sisi siku-sikunya. (Petunjuk : gunakan fungsi sqrt yang menyatakan akar
dari).
Algoritma dan
Analisis.
Analisis:
Kasus
hipotenusa: H=sqrt(A*A+B*B)
Algoritma:
{membaca panjang sisi depan (A) dan
alas segitiga (B), dan menghitung hipotenusa dengan panjang sisi depan dan sisi
alas tertentu. Hipotenusa dihitung dengan rumus H=sqrt(A*A+B*B). nilai H
dicetak sebagai output}
Deklarasi:
A = integer (input)
B = integer (input)
H= float (output)
Deskripsi:
Read (A)
Read (B)
Hßsqrt(A*A+B*B)
Write (H)
4. Buatlah analisis dan algoritma untuk menghitung konversi detik menjadi format
jam:menit:detik
Analisis:
Kasus jam : detik/3600
Kasus modulus: - sisa = jam%3600
Sisa 2 =menit%60
Kasus menit : sisa/60
Kasus detik: detik=sisa 2
Algoritma:
{membaca jumlah detik (detik), dan menghitung jam=detik/3600, menit/60. Nilai jam, menit dan detik sebagai berikut}
Deklarasi:
Detik : integer
Jam : integer
Menit : integer
Sisa : integer
Sisa 2 : integer
Deskripsi:
Baca (detik)
Jamjam/3600
Menitmenit/60
Write (jam,menit,sisa).
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:
Kasus: j =jam*3600
m=menit*60
Algoritma:
{membaca jumlah jam(jam), menit (menit), detik (detik) dan menghitung dengan rumus h=j+m+detik}
Deklarasi:
Jam (integer)
Menit (integer)
Detik (integer)
Deskripsi:
Baca (jam)
Baca (menit)
Detik (detik)
Hasil j+m+detik
Write (hasil)
6. Buatlah analisis dan algoritma untuk menghitung selisih 2 waktu. Output ditampilkan
dalam bentuk jam:menit:detik. Asumsikan menggunakan sistem jam 24-an.
Buat contoh kasus, misalnya berapa selisih waktu antara jam 3.45 sore dengan jam 10.23
malam. Selesaikan secara manual lebih dulu.
Analisis:
• Kasus selisih detik:
If((detik.detik-detik.detik)<0){
det.detik = (60+detik.detik)-detik.detik;
men.menit*60-60;} else{det.detik=detik.detik-deti.detik;}
• kasus selisih menit:
if((menit.menit-meni.menit)<0){
men.menit=(60+meni.menit)-menit.menit;
j.jam*60-60;} else { men.menit=menit.menit-meni.menit;}
• kasus selisih jam:
j.jam=jam.jam-ja.jam;
Algoritma:
{membaca nilai waktu pertama [jam(jam.jam), menit(menit),detik(detik)], nilai waktu kedua [jam(ja.jam),menit(meni,menit), detik(deti.detik)]. Menghitung selisih dengan mengurangkan waktu perjam dengan waktu kedua}
Deklarasi:
//function
Struct satu ();
Struct dua ();
Struct selisih ();
//didalam struct berisi:
jam (integer)
jenit (integer)
detik (integer)
//main ()
Jam, menit, detik (satu)
Ja, meni, deti (dua)
J, men, det (selisih)
Deskripsi:
//waktu pertama
Baca jam.jam (integer)
Baca menit.menit (integer)
Baca detik.detik (integer)
//waktu kedua
Baca ja.jam (integer)
Baca meni.menit (integer)
Baca detik.detik (integer)
Write (j.jam, men.menit, det.detik)
8. [Pengamatan] Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar = …. cm.
Diameter lingkaran dalam = …. cm.
Kasus rumusD:
Phi*dalam*dalam.
Kasus rumusL:
Phi*luar*luar.
Kasus luasCD:
rumusL-rumusD.
Algoritma:
{membaca jari-jari dalam(dalam) dan jari-jari(luar). Menghitung luasCD dengan rumus rumusL-rumusD)
Deklarasi:
Dalam (integer).
Luar (integer).
rumusD (integer).
rumusL (integer).
luasCD (integer).
Phi (float, nilai 3.14).
Deskripsi:
Baca (dalam).
Baca (luar).
luasCD rumusL-rumusD.
Write (luasCD).
9. Buatlah analisis dan algoritma untuk menghitung operasi bilangan rasional :
penjumlahan, pengurangan, perkalian, pembagian dan kebalikan.
Buat contoh kasus, misalnya dua bilangan rasional 2/3 dan 4/7.
10. Buatlah analisis dan algoritma untuk mengkonversi bilangan biner 4 digit menjadi
bilangan desimal. Operator overloading input mencegah user untuk memasukkan
bilangan selain 0 dan 1. Deklarasi variabel input dan output adalah bertipe integer.
Analisis:
Kasus biner 4 digit:
Switch(biner){
Case 1000
Case 1001
Case 1010
Case 1011
Case 1100
Case 1101
Case 1110
Case 1111
Algoritma:
{membaca nilai biner (biner), mencari nilai desimal dengan menggunakan switch)
Deklarasi:
Biner (integer).
Deskripsi:
Baca (biner).
Switch (biner).
Write (case 1000, case 1001, case 1010, case 1011, case 1100, case 1101, case 1110, case 1111).
Tidak ada komentar:
Posting Komentar