MODUL PERKULIAHAN PRAKTIKUM ALGORITMA DAN DASAR PEMROGRAMAN Disusun oleh : ATEP RUHIAT, S.KOM
PRAKTIKUM 1, 2 Pembahasan Software Yang Digunakan Tujuan : Format Penulisan Pada Turbo Pascal : Turbo Pascal : Mahasiswa dapat mengetahui dasar-dasar penulisan yang digunakan dalam program Turbo Pascal A. SOAL LATIHAN : Cobalah buat biodata pribadi masing-masing yang terdiri dari : NIM Nama Alamat TTL Jenis Kelamin Status No HP B. ALGORITMA PEMROGRAMAN : Program Perkenalan1; Uses Wincrt; writeln('nim writeln('nama writeln('alamat writeln(' writeln('ttl writeln('jk writeln('status writeln('no HP = A3.1110015'); = Atep Ruhiat'); = Dsn.Cigagak, Rt01/02, Ds.Cipandanwangi,'); Kec.Cisarua, Kab. Sumedang'); = Sumedang, 27 April 1988'); = Laki-laki'); = Blm Menikah'); = 085722112771'); C. HASIL : 1
PRAKTIKUM 3 VARIABLE DAN DATA TYPE A. MATERI SINGKAT Tipe dasar adalah tipe yang sudah ada dan dapat langsung di pakai. Yang termasuk tipe dasar adalah bilangan lojik, bilangan bulat, karakter, bilangan ril, dan string. Contoh Tipe data dalam PASCAL: integer (contoh: -1, -2, 0, 83, 123) real (contoh: -1.242, 39.0, 1.87) char (contoh: a, b, c ) boolean (contoh: true, false) string (contoh: Asep Kurnia, nama_saya ) B. SOAL LATIHAN : Cobalah buat biodata seperti latihan sebelumnya yang terdiri dari : NIM Nama Alamat TTL Jenis Kelamin Status No HP C. ALGORITMA PEMROGRAMAN : Program Perkenalan2; Uses Wincrt; Var NIM,Nama,Alamat,TTL,JK,Status,NoHP : string; write('masukan NIM = '); readln(nim); write('masukan Nama = '); readln(nama); write('masukan Alamat = '); readln(alamat); write('masukan TTL = '); readln(ttl); write('masukan JK = '); readln(jk); write('masukan Status = '); readln(status); write('mauskan No HP = '); readln(nohp); 2
D. HASIL : 3
PRAKTIKUM 4 Pembahasan Software Yang Digunakan Tujuan : Operator Matematika : Turbo Pascal : Mahasiswa dapat menggunakan operator matematika pada studi kasus yang diberikan A. SOAL LATIHAN 1 : Cobalah buat program perbandingan antara dua nilai yaitu Nilai 1 dengan Nilai 2, berdasarkan ketentuan apabila : Nilai 1 sama dengan Nilai 2 Nilai 1 lebih besar dari Nilai 2 Nilai 1 lebih kecil dari Nilai 2 * Gunakan struktur umum If Then - Else B. ALGORITMA PEMROGRAMAN 1: Program PerbandinganNilai; Uses Wincrt; Var Nilai1,Nilai2 : integer; write('masukan Nilai ke 1 = '); readln(nilai1); write('masukan Nilai ke 2 = '); readln(nilai2); if (Nilai1=Nilai2) then writeln('hasilnya ',Nilai1,' sama dengan ',Nilai2); End Else if (Nilai1>Nilai2) then writeln('hasilnya ',Nilai1,' lebih besar dari ',Nilai2); End Else writeln('hasilnya ',Nilai1,' lebih kecil dari ',Nilai2); End; C. HASIL 1: Apabila Nilai 1 sama dengan (=) Nilai 2 4
Apabila Nilai 1 lebih besar dari (>) Nilai 2 Apabila Nilai 1 lebih kecil dari (<) Nilai 2 A. SOAL LATIHAN 2 : Buat sebuah Program Lampu Lalu Lintas dengan ketentuan apabila : Merah Berhenti Kuning Siap-siap Hijau Jalan B. ALGORITMA PEMROGRAMAN 2 : Proram LampuLaluLintas ; Uses Wincrt ; Var warna_lampu:string; write('masukan Lampu Lalu Lintas = ');readln(warna_lampu); if warna_lampu='merah' then write('anda harus berhenti..'); end else if warna_lampu='kuning' then write('anda harus bersiap-siap..'); 5
end else if warna_lampu='hijau' then write('anda dipersilahkan jalan kembali..'); end else write('maaf warna yang anda masukan tidak dikenali..'); end; C. HASIL 2 : o Ketika Lampu Merah o Ketika Lampu Kuning o Ketika Lampu Hijau 6
PRAKTIKUM 5 Pembahasan Software Yang Digunakan Tujuan : Membuat Program Perhitungan Gaji Pegawai : Turbo Pascal : Mahasiswa dapat menggunakan struktur logika yaitu if-then-else pada studi kasus yang lebih komplek A. SOAL LATIHAN : Buat sebuah Program Perhitungan Gaji Pegawai Input : nama, gajipokok, status, jumlah_anak Proses : gajibersih = gajipokok + tunjangan_istri + tunjangan_anak tunjangan_istri = 10% * gajipokok tunjangan_anak = jumlah_anak * 5% * gajipokok Output : gajipokok, tunjangan_istri, tunjangan_anak, gajibersih Ketentuan : Status hanya menerima 3 buah input, Bila status = 1 (menikah) maka perlu dilakukan proses perhitungan tunjangan istri dan anak (bila ada) Bila status = 2 (belum menikah) proses perhitungan tunjangan istri dan anak diabaikan, Bila status = 3 (cerai) maka proses perhitungan tunjangan istri diabaikan dan lakukan proses perhitungan tunjangan anak (bila ada). B. ALGORITMA PEMROGRAMAN : Program PerhitunganGaji; Uses Wincrt; Var Nama:string; Status,Ja:integer; Ti,Ta,Gapok,Gaber:real; Clrscr; write('masukan Nama Pegawai : ');readln(nama); write('masukan Gaji Pokok : ');readln(gapok); write('masukan Status : ');readln(status); if Status=1 then write('masukan Jumlah Anak : ');readln(ja); Ti:=0.1*gapok; Ta:=0.05*ja*gapok; 7
end else if status=2 then Ti:=0; Ta:=0; end else if status=3 then write('masukan Jumlah Anak : ');readln(ja); Ti:=0; Ta:=0.05*Ja*Gapok; end; Gaber := Gapok+Ti+Ta; writeln('rincian gaji bersih ); writeln('gaji Pokok : ',Gapok:10:2); writeln('jml Tunjangan Istri : ',Ti:10:2); writeln('jml Tunjangan Anak : ',Ta:10:2); writeln('total Gaji : ',Gaber:10:2); readln; C. HASIL : 8
PRAKTIKUM 6 Pembahasan : Latihan Pembuatan Program Aritmatika Software Yang Digunakan : Turbo Pascal Tujuan : Mahasiswa dapat menggunakan struktur operasi aritmatika pada studi kasus yang diberikan SOAL DAN HASIL LATIHAN : Program Penjumlahan Program Pengurangan Program Perkalian 9
Program Pembagian ALGORITMA PEMROGRAMAN : Program Penjumlahan Program Penjumlahan; Uses wincrt; Var angka_pertama : real; angka_kedua : real; hasil : real; write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama+angka_kedua; write('hasilnya ',hasil:1:2); Program Pengurangan Program Pengurangan; Uses wincrt; Var angka_pertama : real; angka_kedua : real; hasil : real; write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama-angka_kedua; write('hasilnya ',hasil:1:2); Program Perkalian Program Perkalian; Uses wincrt; Var angka_pertama : real; angka_kedua : real; 10
hasil : real; write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama*angka_kedua; write('hasilnya ',hasil:1:2); Program Pembagian Program Pembagian; Uses wincrt; Var angka_pertama : real; angka_kedua : real; hasil : real; write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama/angka_kedua; write('hasilnya ',hasil:1:2); 11
PRAKTIKUM 7 Pembahasan : Latihan Pembuatan Program Aritmatika Software Yang Digunakan : Turbo Pascal Tujuan : Mahasiswa dapat menggunakan struktur operasi aritmatika (+,-,*,/) dengan menggunakan struktur logika if-then-else SOAL DAN HASIL LATIHAN : Jika Operasi Penjumlahan (+) Jika Operasi Pengurangan (-) Jika Operasi Perkalian (*) 12
Jika Operasi Pembagian (/) Jika Bukan Termasuk Operasi ALGORITMA PEMROGRAMAN : Uses wincrt; Var operasi : string; angka_pertama : real; angka_kedua : real; hasil : real; write('masukan Operasi (+,-,*,/) = ');readln(operasi); if operasi ='+' then write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama+angka_kedua; write('hasilnya = ',hasil:10:2); end else if operasi ='-' then write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama-angka_kedua; write('hasilnya = ',hasil:10:2); 13
end else if operasi ='*' then write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama*angka_kedua; write('hasilnya = ',hasil:10:2); end else if operasi ='/' then write('masukan Angka Pertama = '); readln(angka_pertama); write('masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama/angka_kedua; write('hasilnya = ',hasil:10:2); end else writeln('maaf operator yang anda masukan salah!!'); end; 14
PRAKTIKUM 9 Pembahasan : Membuat Program Penentuan Hari Software Yang Digunakan : Turbo Pascal Tujuan : Mahasiswa dapat menggunakan struktur logika lainnya yaitu Case-of pada studi kasus diatas A. SOAL LATIHAN : Buatlah program penentuan hari berdasarkan angka dengan ketentuan : 1 adalah hari Senin 2 adalah hari Selasa 3 adalah hari Rabu 4 adalah hari Kamis 5 adalah hari Jumat 6 adalah hari Sabtu 7 adalah hari Minggu * Gunakan struktur umum Case - Of B. HASIL : C. ALGORITMA PEMROGRAMAN : Uses Wincrt ; Var Hari : integer; write('masukan hari ke : ');readln(hari); Case (Hari) Of 1 : write ('Hari ke ',Hari,' adalah Senin'); 2 : write ('Hari ke ',Hari,' adalah Selasa'); 15
3 : write ('Hari ke ',Hari,' adalah Rabu'); 4 : write ('Hari ke ',Hari,' adalah Kamis'); 5 : write ('Hari ke ',Hari,' adalah Jumat'); 6 : write ('Hari ke ',Hari,' adalah Sabtu'); 7 : write ('Hari ke ',Hari,' adalah Minggu') else write('salah ketik tuh!!!'); end; 16
PRAKTIKUM 10 Pembahasan : Membuat Program Perhitungan Gaji Pegawai Software Yang Digunakan : Turbo Pascal Tujuan : Mahasiswa dapat menggunakan struktur logika lainnya yaitu Case-of pada studi kasus yang lebih komplek A. SOAL LATIHAN : Buat sebuah program Perhitungan Gaji Pegawai Input : nama, golongan, status, jumlah_anak Proses : gajibersih=gajipokok+tunjangan tunjangan=tunjangan_istri + tunjangan_anak tunjangan_istri=10%*gajipokok tunjangan_anak=jumlah_anak*5%*gajipokok Output : nama, dan gajibersih Ketentuan : Golongan hanya menerima 4 buah input, bila golongan= A maka gajipokok=4000000, bila golongan= B maka gajipokok=3000000, bila golongan= C maka gajipokok=2000000, bila golongan= D maka gajipokok=1000000. Status hanya menerima 3 buah input, bila status = 1 (menikah) maka perlu dilakukan proses perhitungan tunjangan istri dan anak(bila ada) bila status =2 (belum menikah) proses perhitungan tunjangan istri dan anak diabaikan, bila status=3 (cerai) maka proses perhitungan tunjangan istri diabaikan dan lakukan proses perhitungan tunjangan anak(bila ada). B. HASIL : 17
C. ALGORITMA PEMROGRAMAN : Uses wincrt; Var Nama:string; Golongan:char; Status,Ja:integer; Ti,Ta,Gapok,Gaber:real; write('masukan Nama Pegawai: ');readln(nama); write('masukan Golongan : ');readln(golongan); Case Golongan Of 'A' : Gapok:=4000000; 'B' : Gapok:=3000000; 'C' : Gapok:=2000000; 'D' : Gapok:=1000000; Else Exit; End; write('masukan Status : ');readln(status); Case Status Of 1 : write('masukan Jumlah Anak : ');readln(ja); Ti:=0.1*Gapok; Ta:=0.05*Ja*Gapok; end; 2 : Ti:=0; Ta:=0; end; 3 : 18
write('masukan Jumlah Anak : ');readln(ja); Ti:=0; Ta:=0.05*Ja*Gapok; end Else Exit; End; Gaber:=Gapok+Ti+Ta; writeln('rincian gaji bersih anda :'); writeln('gaji Pokok : ',Gapok:10:2); writeln('jml Tunjangan Istri : ',Ti:10:2); writeln('jml Tunjangan Anak : ',Ta:10:2); writeln('total Gaji Bersih : ',Gaber:10:2); 19
PRAKTIKUM 11 Pembahasan : Membuat Program Pengulangan Software Yang Digunakan : Turbo Pascal Tujuan : Mahasiswa dapat menggunakan struktur umum pengulangan dengan kasus diatas A. CONTOH SOAL LATIHAN : Dengan menggunakan struktur pengulangan tampilkan 10 baris kalimat yang anda sukai. Contoh : Aku bodoh tapi selalu ingin belajar Gunakan struktur : 1. For - Do To 2. While Do 3. Repeat - Until B. HASIL : C. ALGORITMA PEMROGRAMAN : 1. For - Do To Uses wincrt ; Var X : integer ; For X:=1 to 10 do writeln('aku bodoh tapi selalu ingin belajar'); End; 2. While Do Uses wincrt; Var X : integer; X:=1; while ( X <= 10 ) do 20
writeln('aku bodoh tapi selalu ingin belajar'); X:=X+1; End; 3. Repeat Until Uses wincrt; Var X : integer; X:=0; Repeat writeln('aku bodoh tapi selalu ingin belajar'); X:=X+1; Until X=10; D. LATIHAN SOAL 1. Dengan menggunakan Struktur Pengulangan For to do, tampilkanlah angka kelipatan 1 sampai 10. (dimulai dengan angka 1) 2. Dengan menggunakan Struktur Pengulangan While-do, tampilkanlah angka kelipatan 3 sampai 50. (dimulai dengan angka 0) 21
3. Dengan menggunakan Struktur Pengulangan Repeat-Until, tampilkanlah angka kelipatan 5 sampai 100. (dimulai dengan angka 0) 22
HASIL ALGORITMA PEMROGRAMAN :: Penggunaan For-to-Do :: Uses wincrt ; Var X : integer ; For X:=1 to 10 do writeln('hasil Kelipatan 1 = ',X); End; :: Penggunaan While-Do :: Uses wincrt; Var X : integer; X:=0; while ( X <= 50 ) do writeln('hasil Kelipatan 3 = ',X); X:=X+3; End; 23
:: Penggunaan Repeat-Until :: Uses wincrt; Var X:integer; X:=0; Repeat writeln('hasil Kelipatan 5 = ',X); X:=X+5; Until X>100; 24
PRAKTIKUM 12 Pembahasan : Penggunaan Procedur Software Yang Digunakan : Turbo Pascal Tujuan : Mahasiswa dapat mengetahui fungsi penggunaan Procedur dengan mengimplementasikannya. A. SOAL LATIHAN : Cobalah buat biodata pribadi masing-masing, yang terdiri dari : NIM Nama Alamat TTL Jenis Kelamin Status No HP *Gunakan penggunaan Prosedur B. HASIL : C. ALGORITMA PEMROGRAMAN : Program PenggunaanProsedur; Uses Wincrt; Var NIM,Nama,Alamat,TTL,JK,Status,NoHP : char; Procedure Input; write('masukan NIM = '); readln(nim); write('masukan Nama = '); readln(nama); write('masukan Alamat = '); readln(alamat); write('masukan TTL = '); readln(ttl); write('masukan JK = '); readln(jk); write('masukan Status = '); readln(status); write('mauskan No HP = '); readln(nohp); 25
End; Input; LATIHAN SOAL : Buatlah program perhitungan luas Segitiga dengan menggunakan penggunaan Prosedur. Hasilnya seperti dibawah ini. ALGORITMA PEMROGRAMAN : Program PerhitunganLuasSegitiga; Uses Wincrt; Var Alas : real ; Tinggi : real ; hasil : real; Procedure Hitung; writeln('rumus Luas Segitiga : 1/2 * Alas * Tinggi'); write('masukan Alas Segitiga = '); readln(alas); write('masukan Tinggi Segitiga = '); readln(tinggi); hasil := 0.5*alas*tinggi; write('hasilnya = ',hasil:10:2); End; Hitung; 26
PRAKTIKUM 13 Pembahasan Software Yang Digunakan Tujuan : Penggunaan Array : Turbo Pascal : Mahasiswa dapat mengetahui fungsi penggunaan Array dan dapat mengimplementasikannya. A. LATIHAN PENGGUNAAN ARRAY : Buatlah program penampilan karakter berdasarkan jumlah karakter yang telah ditentukan dan telah diinputkan untuk bisa ditampilkan ulang. Seperti tampilan dibawah ini. B. ALGORITMA PEMROGRAMAN : Program PenggunaanArray; Uses wincrt; Var abjad:array [1..50] of char; i,maks:integer; clrscr; write('masukan jumlah data karakter : '); readln(maks); for i:=1 to maks do write('masukan karakter ke ',i,' : '); readln(abjad[i]); end; writeln('karakter yang dinput : '); for i:=1 to maks do writeln(abjad[i]); end; readln; 27
end. LATIHAN SOAL : Buatlah program penampilan nama dan nilai mahasiswa berdasarkan jumlah mahasiswa yang telah ditentukan dan telah diinputkan untuk bisa ditampilkan ulang. Seperti tampilan dibawah ini. ALGORITMA PEMROGRAMAN : Uses wincrt; Var mhs:array [1..50] of string; nilai:array [1..50] of string; i,maks:integer; clrscr; write('masukan Jumlah Mahasiswa : '); readln(maks); for i:=1 to maks do write(i,'. Masukan Nama Mahasiswa : '); readln(mhs[i]); write(' Masukan Nilai Mahasiswa : '); readln(nilai[i]); end; writeln('daftar Nilai Mahasiswa : '); for i:=1 to maks do writeln(i,'. Nama Mahasiswa :',mhs[i]); writeln(' Nilainya :',nilai[i]); end; end. 28