Tugas Final Algoritma Dan Pemrograman [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Soal



2 B



uat algoritma untuk menghitung luas bangun geometri (lingkaran, bujursangkar, segitiga dan trapesium). Data masukan dibaca dari piranti masukan dan luas bangun ditampilkan sebagai keluaran. KALIMAT DESKRIPTIF 1. Masukkan jenis bangun 2. Apabila jenis bangun :  lingkaran maka : Masukkan jari-jari kemudian hitung luas yaitu jari-jari x jari-jari x phi (3.14)  bujursangkar maka: Masukkan panjang sisi kemudian hitung luas yaitu sisi x sisi  segitiga maka: Masukkan alas dan tinggi kemudian hitung luas yaitu alas x tinggi dibagi 2  trapesium maka: Masukkan 2 sisi sejajar kemudian hitung luas yaitu jumlah 2 sisi sejajar dikali tinggi dibagi 2 3. Tampilkan luas PSEUDOCODE Program LuasBangun {Algoritma menghitung luas bangun lingkaran, segitiga, bujur sangkar dan trapesium} Deklarasi Jarijari, luas, tinggi, alas, sisi, sisi1, sisi2 : integer Bangun : integer Const phi = 3.14 Algoritma Program LuasBangun Read (bangun) If (bangun=1) then read(jarijari) luasjarijari*jarijari*phi write(Luas) Else if (bangun=2) then read (tinggi, alas) luas(alas*tinggi)/2 write(Luas) Else if (bangun=3)then read(sisi) luas(sisi*sisi) write(Luas) Else if (bangun=4)then read(sisi1, sisi2, tinggi) luas(sisi1+sisi2)*tinggi/2 write(Luas) Else write ('Salah input jenis bangun') Endif Endif Endif Endif Page | 1



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



FLOWCHART



Start Jarijari,luas,tinggi,alas, sisi,sisi1, sisi2,Bangun, Const phi=3.14 Input bangun



If bangun = 1



Input jarijari



Y



Luas  Jarijari*jarijari*phi



N If bangun = 2



Write (luas)



Input alas, tinggi Y Luas alas*tinggi/2



N



Write (luas)



Y If bangun = 3



Input sisi Luas sisi*sisi



Write (luas)



N Y



Input sisi1, sisi2, tinggi



If bangun = 4



N



Luas  (sisi1+sisi2)*tinggi/2



Write (luas)



Write (‘Salah Input’)



Stop



Page | 2



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



PASCAL program LuasBangun; {Tugas No.2 Program menghitung luas bangun lingkaran, segitiga, bujur sangkar dan trapesium Kelompok 11: Imaduddin, Nilam Cahya, Muh. Jasim} uses wincrt; var jarijari,luas,tinggi,alas,sisi,sisi1,sisi2 : real; bangun:integer; const phi=3.14; begin writeln ('masukkan angka 1, 2, 3 atau 4 untuk memilih jenis bangun'); writeln ('1: menghitung luas lingkaran'); writeln ('2: menghitung luas segitiga'); writeln ('3: menghitung luas bujursangkar'); writeln ('4: menghitung luas trapesium'); write ('Jenis Bangun = '); read(bangun); if(bangun=1) then begin write('Masukkan jari-jari : ');readln(jarijari); luas:=jarijari*jarijari*phi; writeln('Luas Lingkaran = ',luas:0:2); end else if(bangun=2) then begin write ('Masukkan tinggi : ');readln(tinggi); write ('Masukkan alas : ');readln (alas); luas:=(alas*tinggi)/2; writeln ('Luas Segitiga = ',luas:0:2); end else if(bangun=3)then begin write ('masukkan sisi : ');readln(sisi); luas:=(sisi*sisi); write ('Luas Bujursangkar = ',luas:0:2); end else if(bangun=4)then begin write ('masukkan sisi sejajar pertama : ');readln(sisi1); write ('masukkan sisi sejajar kedua : ');readln(sisi2); write ('masukkan tinggi : ');readln (tinggi); luas:=(sisi1+sisi2)*tinggi/2; writeln ('Luas Trapesium = ',luas:0:2); end else writeln ('Salah input jenis bangun'); end.



Page | 3



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



LAYOUT PROGRAM



Page | 4



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Soal



5 D



ibaca dua buah tanggal (dd:mm:yy), tulislah algoritma untuk menghitung berapa hari jarak kedua tanggal tersebut. Asumsikan 1 tahun=365 hari, 1 bulan=30hari. Keluaran (tahun, bulan, hari) ditampilkan ke piranti keluaran. DESKRIPTIF 1. 2. 3. 4. 5. 6. 7. 8. 9.



Masukkan tanggal pertama Jumlah hari untuk tanggal pertama yaitu hari + (bulan x 30) + (tahun x 365) Masukkan tanggal kedua Jumlah hari untuk tanggal kedua yaitu hari + (bulan x 30) + (tahun x 365) Selisih hari kedua tanggal adalah jumlah hari kedua dikurang jumlah hari pertama Nilai tahun adalah selisih hari dibagi 365 Nilai bulan adalah sisa pembagian tahun dibagi 30 Nilai hari adalah sisa pembagian bulan Tampilkan nilai tahun, nilai bulan dan nilai hari



FLOWCHART



Start Tahun, bulan, hari, hari1, hari2 Input hari, bulan, tahun hari1  hari + bulan*30 + tahun*365 Input hari, bulan, tahun hari2  hari + bulan*30 + tahun*365 hari  hari2 – hari1 tahun  hari div 365 bulan  (hari mod 365) div 30 hari  (hari mod 365) mod 30 Write (tahun, bulan, hari) Stop



Page | 5



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Page | 6



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



PSEUDOCODE Program SelisihTanggal {Algoritma menghitung jarak antara dua tanggal yang diinput} Deklarasi tahun, bulan, hari1, hari2, hari : integer Algoritma Read (hari, bulan, tahun) hari1  hari + bulan*30 + tahun*365 Read (hari, bulan, tahun) hari2  hari + bulan*30 + tahun*365 hari  hari2-hari1 tahun  hari div 365 bulan  (hari mod 365) div 30 hari  (hari mod 365) mod 30 Write (tahun, bulan, hari) PASCAL program SelisihTanggal; {Tugas No.5 Program menghitung selisih dua tanggal Kelompok 11: Imaduddin, Nilam Cahya, Muh. Jasim} uses wincrt; var tahun,bulan:integer; hari1,hari2,hari:longint; begin writeln ('masukkan tanggal (dd mm yyyy) '); read (hari,bulan,tahun); hari1:=hari+bulan*30+tahun*365; writeln ('masukkan tanggal selanjutnya (dd mm yyyy) '); read (hari,bulan,tahun); hari2:=hari+bulan*30+tahun*365; hari:=hari2-hari1; tahun:=hari div 365; bulan:=(hari mod 365) div 30; hari:=(hari mod 365) mod 30; writeln ('Jarak antara kedua tanggal adalah : ',abs(tahun),' tahun ',abs(bulan),' bulan ',abs(hari),' hari '); end.



Page | 7



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



LAYOUT PROGRAM



Page | 8



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Soal



6 D



ibaca tiga buah bilangan bulat x,y dan z. Tulislah algoritma untuk mempertukarkan tripel (x,y,z) menjadi (y,z,x).



DESKRIPTIF 1. 2. 3. 4. 5. 6.



Masukkan bilangan x, y dan z Simpan nilai x ke dalam a Simpan nilai y ke dalam x Simpan nilai z ke dalam y Simpan nilai a ke dalam z Tampilkan nilai x, y dan z



FLOWCHART Start a, x, y, z Input x, y, z a x x y yz za Write (x, y, z) Stop



PSEUDOCODE Program TukarBilangan {Algoritma menukar 3 buah bilangan} Deklarasi a, x, y, z : integer Algoritma Read (x, y, z) ax xy yz za write (x, y, z)



Page | 9



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



PASCAL program TukarBilangan; uses wincrt; var a, x,y,z:integer; begin; writeln ('masukkan tiga buah bilangan bulat, x y z : '); read (x,y,z); a:=x; x:=y; y:=z; z:=a; write (x,' ', y,' ', z); end. LAYOUT PROGRAM



Page | 10



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Soal



7 B



uat algoritma yang membaca nilai uang (rp) dalam kelipatan 25, lalu menentukan berapa nilai tukaran pecahan. Pecahan yang tersedia adalah Rp.1000, Rp.5000, Rp.100, Rp.50 dan Rp.25. Sebagai contoh: Rp.2775 setara dengan 2 buah pecahan 1000, ditambah 1 buah pecahan Rp.500, ditambah 2 buah pecahah 100, ditambah 1 buah pecahan Rp.50 ditambah 1 buah pecahan Rp.25. DESKRIPTIF 1. 2. 3. 4. 5. 6. 7.



Input nilai uang Jumlah pecahan 1000 adalah nilai uang dibagi 1000 Jumlah pecahan 500 adalah sisa pembagian langkah (2) dibagi 500 Jumlah pecahan 100 adalah sisa pembagian langkah (3) dibagi 100 Jumlah pecahan 50 adalah sisa pembagian langkah (4) dibagi 50 Jumlah pecahan 25 adalah sisa pembagian langkah (5) dibagi 25 Tampilkan jumlah pecahan 1000, 500, 100, 50 dan pecahan 25



FLOWCHART



Start uang, p1000, p500, p100, p50, p25 Input uang



P1000  uang div 1000 p500  (uang mod 1000) div 500 P100  (uang mod 500) div 100 P50  (uang mod 100) div 50 P25  (uang mod 50) div 25



Output (p1000, p500, p100, p50, p25) Stop



Page | 11



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



PSEUDOCODE Program PecahanUang {Algoritma menentukan nilai pecahan uang} Deklarasi Uang, p1000, p500, p100, p50, p25:integer Algoritma read (uang) p1000  uang div 1000 p500  (uang mod 1000) div 500 p100  (uang mod 500) div 100 p50  (uang mod 100) div 50 p25  (uang mod 50) div 25 Write (p1000, p500, p100, p50, p25)



PASCAL program PecahanUang; {Tugas No.7 Program menentukan nilai pecahan uang Kelompok 11: Imaduddin, Nilam Cahya, Muh. Jasim} uses wincrt; var uang:longint; p1000,p500,p100,p50,p25:integer; begin writeln ('Masukkan Nilai Uang : '); read (uang); p1000:= uang div 1000; p500:= (uang mod 1000) div 500; p100:= (uang mod 500) div 100; p50:= (uang mod 100) div 50; p25:= (uang mod 50) div 25; write ('Rp.',uang, ' setara dengan ',p1000,' buah pecahan 1000, ditambah ',p500); write (' buah pecahan 500, ditambah ',p100,' buah pecahan 100, ditambah ',p50); write (' buah pecahan 50, ditambah ',p25,' buah pecahan 25'); end.



Page | 12



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



LAYOUT PROGRAM



Page | 13



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Soal



8 S



eekor semut menempuh perjalanan sejauh x cm, tulis algoritma untuk mengkonversi jarak x ke dalam km-m-cm. Ingat bahwa 1 m=100cm, 1 km = 1000 m = 100.000 cm. Misalnya x=261341 cm, berarti semut menempuh jarak sejauh 2 km+63 m + 141 cm. DESKRIPTIF 1. Masukkan jarak dalam x cm 2. Nilai km yaitu x dibagi 1000 3. Nilai m yaitu sisa pembagian (2) dibagi 100 4. Nilai cm yaitu sisa pembagian (3) 5. Tampilkan nilai km, nilai m dan nilai cm 6. Selesai FLOWCHART Start x, km, m, cm



Input x



km = x div 100000 m = (x mod 100000) div 100 cm = (x mod 100000) mod 100



Output (x, km, m, cm)



Stop



PSEUDOCODE Program Konversi_Jarak { Algoritma mengkonversi jarak cm ke km, m, cm} Deklarasi x, km, m, cm : longint Algoritma read (x) km x div 100000 m  (x mod 100000) div 100 cm  (x mod 100000) mod 100 write (x, km, m, cm)



Page | 14



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



PASCAL program KonversiJarak; {Tugas No.8 Program mengkonversi jarak cm ke km, m, cm Kelompok 11: Imaduddin, Nilam Cahya, Muh. Jasim} uses wincrt; var x, km, m, cm: longint; begin write ('masukkan jarak x : '); read (x); km:= x div 100000; m := (x mod 100000) div 100; cm := (x mod 100000) mod 100; writeln (x,' cm = ',km,' km + ',m,' m + ',cm,' cm'); end. LAYOUT PROGRAM



Page | 15



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Soal



B



uat algoritma yang membaca sebuah bilangan bulat positif lalu menentukan apakah bilangan tersebut merupakan kelipatan 4



DESKRIPTIF 1. Masukan bilangan bulat positif 2. Apabila bilangan tersebut : - Habis dibagi 4, maka bilangan tersebut merupakan kelipatan 4 - Tidak habis dibagi 4, maka bilangan tersebut bukan kelipatan 4 3. Selesai FLOWCHART



Start Input x



Y



x mod 4 = 0



N



Output (‘bilangan bukan kelipatan 4’)



Output (‘bilangan merupakan kelipatan 4’)



Stop



PSEUDOCODE Program KelipatanEmpat {Program menentukan bilangan kelipatan 4} Deklarasi x : integer Algoritma read (x) if (x mod 4 = 0) then write (' merupakan kelipatan 4') else write (' bukan kelipatan 4'); endif



Page | 16



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



PASCAL program KelipatanEmpat; {Tugas No.11 Program menentukan bilangan kelipatan empat Kelompok 11: Imaduddin, Nilam Cahya, Muh. Jasim} uses wincrt; var x:integer; begin write ('Masukkan bilangan bulat positif : '); read (x); if (x mod 4 = 0) then write(x, ' merupakan kelipatan 4') else write(x, ' bukan kelipatan 4'); end. LAYOUT PROGRAM



Page | 17



Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN



Soal



T



ulislah algoritma yang membaca 3 buah bilangan bulat, lalu mengurutkan tiga buah bilangan tersebut dari nilai yang terkecil ke nilai yang besar. Keluaran adalah 3 buah bilangan yang terurut. DESKRIPTIF 1. Masukkan Nilai a, b dan c 2. Bandingkan ketiga nilai 3. Kondisi jika nilai a lebih kecil dari 2 nilai yang lain:  Apabila b ≤ c maka cetak a, b, c  Apabila c ≤ b maka cetak a, c, b 4. Kondisi jika nilai b lebih kecil dari 2 nilai yang lain:  Apabila a ≤ c maka cetak b, a, c  Apabila c ≤ a maka cetak b, c, a 5. Kondisi jika nilai c lebih kecil dari 2 nilai yang lain:  Apabila a ≤ b maka cetak c, a, b  Apabila b ≤ a maka cetak c, b, a 6. Selesai PSEUDOCODE Program UrutanBilangan { Algoritma mengurutkan 3 bilangan dari yang terkecil ke bilangan terbesar } Deskripsi a,b,c :integer Algoritma read (a,b,c) if (a