[BAB 3] Latihan
Kasus 3.1 : Hitunglah jumlah dari 3 buah bulat!
Analisis : Untuk menjumlahkan 3 buah bilangan bulat, operator yang tepat adalah opertaor pnejumlahan (+).
Algoritma :
Mencari jumlah 3 bilangan bulat
{menghitung jumlah 3 bilangan bulat, algoritma menerima masukan 3 buah bilangan bulat, menjumlahkan, lalu mencetak hasil penjumlahannya}
Deklerasi :
a, b, c: integer {input}
jumlah : integer {output}
Deskripsi :
read (a,b,c)
jumlah <-a+b+c
write(jumlah)
C++
Flowchart:
Kasus 3.2 : Buat algoritma dan program untuk mencari hasil kali dari dua buah bilangan !
Algoritma : hasil kali
{mencari hasil kali dari dua buah bilangan bulat, algoritma menerima masukan nilai bilangan 1 dan bilangan2, lalu mengalikan kedua bilangan tersebut, dan mencetak hasil kalinya }
Deklarasi :
a,b : integer (input)
hasil : integer (output)
Deskripsi :
read (a,b)
hasil <- a*b
write(hasil)
C++
Kasus 3.3 : Buat algoritma dan program untuk menghitung konversi dari m ke cm dan inchi !
Analaisis : Konversi satuan jarak di tentukan sebagai berikut :
1 meter = 100 cm
1 inch = 2.54cm
1 meter = 39.37 m
Algoritma 3.3 : Konversi jarak
{mengkonversi satuan jarak dari meter ke centimeter dan inch,masukkan m lalu konversi ke cm, dan konversi ke inch }
Deklarasi :
-m : real (input)
-cm : real (output)
inch : real (output)
Deskripsi :
-read (m)
-cm <- m*100
-inch <- m*100/2.54
-write(cm)
-write(inch)
C++
Raptor:
Kasus 3.4 : carilah keliling dan luas lingkaran yang telah diketahui jari-jarinya
Analisis : untuk mencari keliling dan luas lingkaran dibutuhkan rumus :
-keliling = 2*phi*r
-luas = phi*r^2
dengan ketentuan phi= 3.14 dan r adalah jari-jari lingkaran
Algoritma : Lingkaran
{mencari keliling dan luas lingkaran yang telah diketahui jari-jarinya }.
Deklarasi:
Konstanta : - phi = 3.14
- r : integer {input}
- keliling, luas : real (output)
Deskripsi :
read (r)
keliing = 2*phi*r
luas=phi*r*r
write(keliling,luas)
C++
Raptor:
C++
Assalamualaikum Wr.Wb.
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) ;
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.
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)
7. Buatlah analisis dan algoritma untuk menghitung jumlah komponen sejumlah uang
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;
penjumlahan, pengurangan, perkalian, pembagian dan kebalikan.
Buat contoh kasus, misalnya dua bilangan rasional 2/3 dan 4/7.
pengurangan=(pem1/pen1)-(pem2/pen2)
perkalian=(pem1/pen1)*(pem2/pen2)
pembagian=(pem1/pen1)/(pem2/pen2)
write(pertambahan,pengurangan,perkalian,pembagian)
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.
Konversikan 1011 ke desimal :
Analisis : Untuk menjumlahkan 3 buah bilangan bulat, operator yang tepat adalah opertaor pnejumlahan (+).
Algoritma :
Mencari jumlah 3 bilangan bulat
{menghitung jumlah 3 bilangan bulat, algoritma menerima masukan 3 buah bilangan bulat, menjumlahkan, lalu mencetak hasil penjumlahannya}
Deklerasi :
a, b, c: integer {input}
jumlah : integer {output}
Deskripsi :
read (a,b,c)
jumlah <-a+b+c
write(jumlah)
C++
Flowchart:
Algoritma : hasil kali
{mencari hasil kali dari dua buah bilangan bulat, algoritma menerima masukan nilai bilangan 1 dan bilangan2, lalu mengalikan kedua bilangan tersebut, dan mencetak hasil kalinya }
Deklarasi :
a,b : integer (input)
hasil : integer (output)
Deskripsi :
read (a,b)
hasil <- a*b
write(hasil)
C++
Flowchart:
Analaisis : Konversi satuan jarak di tentukan sebagai berikut :
1 meter = 100 cm
1 inch = 2.54cm
1 meter = 39.37 m
Algoritma 3.3 : Konversi jarak
{mengkonversi satuan jarak dari meter ke centimeter dan inch,masukkan m lalu konversi ke cm, dan konversi ke inch }
Deklarasi :
-m : real (input)
-cm : real (output)
inch : real (output)
Deskripsi :
-read (m)
-cm <- m*100
-inch <- m*100/2.54
-write(cm)
-write(inch)
C++
Kasus 3.4 : carilah keliling dan luas lingkaran yang telah diketahui jari-jarinya
Analisis : untuk mencari keliling dan luas lingkaran dibutuhkan rumus :
-keliling = 2*phi*r
-luas = phi*r^2
dengan ketentuan phi= 3.14 dan r adalah jari-jari lingkaran
Algoritma : Lingkaran
{mencari keliling dan luas lingkaran yang telah diketahui jari-jarinya }.
Deklarasi:
Konstanta : - phi = 3.14
- r : integer {input}
- keliling, luas : real (output)
Deskripsi :
read (r)
keliing = 2*phi*r
luas=phi*r*r
write(keliling,luas)
C++
Kasus 3.5 : program pengkonversi suhu dari Celcius menjadi Reamur,Fahrenheit dan Kelvin
Analisis : Rumus konversi dari Celcius menjadi Reamur,Fahrenheit dan Kelvin adalah :
-Reamur = 4/5.celcius
-Fahrenheit = 9/5.celcius+32
-Kelvin = celcius+273
Algoritma 3.5 :
Konversi suhu
{Membaca integer derajat Celcius(C), menghitung ekivalensi dalam derajat Reamur (R),
Fahrenheit(F), dan Kelvin (K) dan menampilkannya di layar}.
Deklarasi
C : integer {derajat Celcius}
R :real {derajat Reamur}
F :real {derajat fahrenheit}
K :real {derajat Kelvin}
Deskripsi :
read (C)
R= 4/5*C
F=9/5*C+32
K=C+273
write (R,F,K)
C++ :
Raptor:
Kasus 3.6 : Setiap bilangan bulat selalu bisa ditulis dalam bentuk : m=q.n+r
dengan n < m,q adalah kousen dan r adalah residu(sisa). Buatlah
algoritma untuk merepresentasikan m dan dalam bentuk m=q.n+r sebagai
contoh:
integer m = 73 dan n=7 dapat ditulis sebagai 73=yaitu r=3.
Analisis
Input : n dan m (n<m),
Kousen q dapat diperoleh dengan pembagian integer. Operator yang tepat
untuk itu adalah div, sedangkan r dapat diperoleh dengan operasi modulo.
output q dan r dalam bentuk m=q.n+r.
Algoritma Aljabar
{ membaca masukan nilai n dan m dengan n<m kemudian menuliskan outputnya berbentuk m= q.n+r }
Deklarasi
m,n :integer {input}
q,r: integer {output}
Deskripsi
read (m,n) (n<m)
q = m div n {mendapatkan nilai q}
r = m mod n {mendapatkan nilai r}
write (q,r)
Raptor:
Kasus 3.7: Buatlah Algoritma menghitung luas segitiga
Analisis
Input: t(tinggi) dan a(alas)
Algoritma 3.7
Algoritma Menghitung_luas_segitiga
{membaca data real berupa panjang alas segitiga(a) dan tinggi
segitiga(t) dan menghitung luasnya dengan panjang alas dan tinggi
tertentu.Luas segitiga dihiting dengan rumus L = 1/2 at
Nilai L dicetak sebagai output ke piranti keluaran
Deklarasi
a: real {panjang alas segitiga,dalam satuan cm}
t: real{tinggi segitiga dalam satuan cm}
L: real{luas segitiga dalam satuan cm kuadrat}
Deskripsi
read(t)
read(a)
L<- (a*t)/2
write(L)
C++
Raptor:
Sekian Postingan saya hari ini silahkan juga kunjungi blog partner saya
gemahariadi.blogspot.com
arfian-alpro.blogspot.com
Trimakasih Kepada teman teman juga yang membantu saya
Wassalamualaikum Wr.Wb
WORKSHOP ALGORITMA DAN CLASS
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:
Komentar
Posting Komentar