Kali ini saya akan menguplod tentang Workshop Algoritma dan class
1.Buatlah analisis dan algoritma untuk mecari titik tengah sebuah garis yang ujung titiknya adalah A(x1,y1) dan B(x2,y2) ;
Algoritma :
Membaca data yang dimasukkan (x1,y1,x2,y2) kemudian di olah dengan rumus xt =(x1+x2)/2
dan yt=(y1+y2)/2
Deklarasi:
float x1,x2,y1,y2;
float xt,yt
Deskripsi:
read(x1,x2,y1,y2)
xt =(x1+x2)/2
yt=(y1+y2)/2
Program C++
Raptornya :
2.Buatlah algoritma untuk mencari isi bola bila diketahui jari-jari bola.
Algoritma :
membaca data berupa jari-jari bola (r), dan menghitung volumenya . Volume bola dihitung dengan rumus V=4/3 * 3.14*r*r*r.
Deklarasi:
float vol,r;
Deskripsi:
Baca (r)
vol=4/3 * 3.14*r*r*r.
write(vol)
C++:
Raptor:
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:
Membaca data berupa sisi alas dan tinggi(a,b)menghitung hipotenusa menggunakan c=sqrt(a*a+b*b)
Deklarasi:
float a,b,c
Deskripsi:
Baca(a,b)
c=sqrt(a*a+b*b)
write(c)
C++
Raptor:
4.Buatlah analisis dan algoritma untuk menghitung konversi detik menjadi format
jam:menit:detik
Buat contoh kasus, misalnya konversikan 1230 detik menjadi … jam … menit … detik.
Algoritma:
Membaca data berupa inputan (sekon) kemudian mencari detik dari jam dengan cara jam=(sekon/3600) kemudian menit=(sekon-3600)/60 detik=(sekon-3600)-60*menit.kemudian menjumlahkannya (total= jam+menit+detik)
Deklarasi:
int jam,menit,detik,total,sekon;
Deskripsi:
Baca(sekon,jam,menit,detik)
jam=(sekon/3600);
menit=(sekon-3600)/60;
detik=(sekon-3600)-60*menit;
total= jam+menit+detik
write(total)
C++
Raptor:
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.
Algoritma:
Membaca inputan(jam,menit,detik) kemudian menjadikannya detik dengan cara jam=jam*3600 menit=menit*60 ,kemudian menjumlahkan total=jam+menit+detik
Deklarasi:
int jam,menit,detik,total
Deskripsi:
Baca(jam,menit,detik)
jam=jam*3600
menit=menit*60
detik=detik
total=jam+menit+detik
write(detik)
C++
Raptor:
6. Buatlah analisis dan algoritma untuk menghitung selisih 2 waktu. Output ditampilkandalam 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.
Algoritma
Membaca (jam1,menit1,detik1,jam2,menit2.detik2 ),kemudian mengurangkannya dengan cara jam=jam2-jam1,menit=menit2-menit1,detik=detik2-detik1 kemudian menampilkannya dengan format jam menit detik,
Deklarasi
int jam1,jam2,menit1,menit2,detik1,detik2,jam,menit,detik;
Deskripsi:
Baca(jam1,menit1,detik1,jam2,menit2.detik2)
jam=jam2-jam1
menit=menit2-menit1,
detik=detik2-detik1
write(jam,menit,detik)
C++
Raptor:
menjadi pecahan-pecahannya. Misalkan Rp 188.875,- menjadi : 1 seratus ribuan, 1 lima
puluh ribuan, 1 dua puluh ribuan, 1 puluhan ribu, 1 lima ribuan, 3 ribuan, 1 lima ratusan,
1 dua ratusan, 1 ratusan, 1 lima puluhan, 1 dua puluh limaan
Algoritma
Membaca(uang) kemudian mencari pecahannya dengan cara
u100rb=uang/100000;
sisa=uang%100000;
u50rb=sisa/50000;
sisa=sisa%50000;
u20rb=sisa/20000;
sisa=sisa%20000;
u10rb=sisa/10000;
sisa=sisa%10000;
u5rb=sisa/5000;
sisa=sisa%5000;
u1rb=sisa/1000;
sisa=sisa%1000;
u5ratus=sisa/500;
sisa=sisa%500;
u2ratus=sisa/200;
sisa=sisa%200;
u1ratus=sisa/100;
sisa=sisa%100;
u5puluhan=sisa/50;
sisa=sisa%50;
u25an=sisa/25;
sisa=sisa%25;
Kemudian mengoutputkannya sesuai urutannya
Deklarasi:
int uang;
int u100rb,u50rb,u20rb,u10rb,u5rb;
int u1rb,u5ratus,u2ratus,u1ratus,u5puluhan,u25an;
Deskripsi:
Baca (uang)
Hitung (sesuai int)
write(sesuai INT)
C++
Raptor:
8. Buatlah analisis dan algoritma untuk menghitung luas sebuah plat CD.
Diameter lingkaran luar = …. cm.
Diameter lingkaran dalam = …. cm.
Algoritma:
membaca (d1,d2) kemudian menghitung luas lingkaran luar=3.14*(d1/2)*(d1/2) dan dalam=3.14*(d2/2)*(d2/2) kemudian menggurangkan luas luar dengan dalam (cd=luar-dalam)
Deklarasi:
float d1,d2,cd,luar,dalam
Deskripsi:
Baca(d1,d2)
luar=3.14*(d1/2)*(d1/2)
dalam=3.14*(d2/2)*(d2/2)
cd=luar-dalam
write(cd)
C++
Raptor
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.
Algoritma:
Membaca (pem1,pen1,pem2,pen2) ,kemudian memprosesnya dengan cara
pertambahan=(pem1/pen1)+(pem2/pen2)
pengurangan=(pem1/pen1)-(pem2/pen2)
perkalian=(pem1/pen1)*(pem2/pen2)
pembagian=(pem1/pen1)/(pem2/pen2)
kemudian di outputkan dengan memanggil tipe datanya
Deklarasi:
float pem1,pen1,pem2,pen2,pertambahan,perkalian,pengurangan,pembagian;
Deskripsi:
Baca(pem1,pem2,pen1,pen2)
pertambahan=(pem1/pen1)+(pem2/pen2)pengurangan=(pem1/pen1)-(pem2/pen2)
perkalian=(pem1/pen1)*(pem2/pen2)
pembagian=(pem1/pen1)/(pem2/pen2)
write(pertambahan,pengurangan,perkalian,pembagian)
C++
Raptor:
bilangan desimal. Operator overloading input mencegah user untuk memasukkan
bilangan selain 0 dan 1. Deklarasi variabel input dan output adalah bertipe integer.
Konversikan 1011 ke desimal :
Algoritma:
Menerima input(bin1,bin2,bin3,bin4) kemudian menjadikan menggunakan rumus desimal=(bin1*2*2*2)+(bin2*2*2)+(bin3*2)+(bin4*1+(2*0)),kemudian mengoutputkannya
Deklarasi:
int bin1,bin2,bin3,bin4,desimal
Deskripsi:
Baca(bin1,bin2,bin3,bin4)
desimal=(bin1*2*2*2)+(bin2*2*2)+(bin3*2)+(bin4*1+(2*0))
write(desimal)
C++
Raptor:
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.
(confuse)
12. Buatlah analisis dan algoritma untuk menghitung jumlah dari dari dua tanggal yang
dimasukkan user. Misalnya, berapa hari dari 6/1/90 sampai 8/3/92 ? Anggap satu tahun
365 hari dan anggap semua komponen tanggal pertama SELALU LEBIH KECIL dari
komponen tanggal kedua.
Algoritma:
Membaca(tg1,bln1,th1,tg2,bln2,th2) kemudian mencari selisih hari kedua waktu tg=tg2-tg1,
bln=(bln2-bln1)*30,th=(th2-th1)*3600,kemudian menjumlahkannya total=tg+bln+th agar mendapatkan hasil jarak dari 2 waktu tersebut
Deklarasi:
int tg1,bln1,th1,tg2,bln2,th2,tg,bln,th
Deskripsi:
Baca(tg1,bln1,th1,tg2,bln2,th2)
tg=tg2-tg1
bln=(bln2-bln1)*30
th=(th2-th1)*3600
total=tg+bln+th
write(total)
C++
Raptor:
Sekian postingan dari saya mohon maaf bila ada kesalahan dan kurang rapi dalam penulisan
Wassalamualaikum wr.wb
Tidak ada komentar:
Posting Komentar