MODUL PERKULIAHAN
PRAKTIKUM ALGORITMA DAN DASAR PEMROGRAMAN
Disusun oleh : ATEP RUHIAT, S.KOM
STMIK SUMEDANG
Modul Prak. Algoritma dan Dasar Pemrograman
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; Begin writeln('NIM writeln('Nama writeln('Alamat writeln(' writeln('TTL writeln('JK writeln('Status writeln('No HP
End.
= 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 :
STMIK SUMEDANG
1
Modul Prak. Algoritma dan Dasar Pemrograman
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; Begin 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); End.
STMIK SUMEDANG
2
Modul Prak. Algoritma dan Dasar Pemrograman
D. HASIL :
STMIK SUMEDANG
3
Modul Prak. Algoritma dan Dasar Pemrograman
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; Begin write('Masukan Nilai ke 1 = '); readln(Nilai1); write('Masukan Nilai ke 2 = '); readln(Nilai2); if (Nilai1=Nilai2) then Begin writeln('Hasilnya ',Nilai1,' sama dengan ',Nilai2); End Else if (Nilai1>Nilai2) then Begin writeln('Hasilnya ',Nilai1,' lebih besar dari ',Nilai2); End Else Begin writeln('Hasilnya ',Nilai1,' lebih kecil dari ',Nilai2); End; End. C. HASIL 1: Apabila Nilai 1 sama dengan (=) Nilai 2
STMIK SUMEDANG
4
Modul Prak. Algoritma dan Dasar Pemrograman
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; Begin write('Masukan Lampu Lalu Lintas = ');readln(warna_lampu); if warna_lampu='Merah' then begin write('Anda harus berhenti..'); end else if warna_lampu='Kuning' then begin write('Anda harus bersiap-siap..');
STMIK SUMEDANG
5
Modul Prak. Algoritma dan Dasar Pemrograman
end else if warna_lampu='Hijau' then begin write('Anda dipersilahkan jalan kembali..'); end else begin write('Maaf warna yang anda masukan tidak dikenali..'); end; End. C. HASIL 2 : o Ketika Lampu Merah
o Ketika Lampu Kuning
o Ketika Lampu Hijau
STMIK SUMEDANG
6
Modul Prak. Algoritma dan Dasar Pemrograman
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; Begin Clrscr; write('Masukan Nama Pegawai : ');readln(Nama); write('Masukan Gaji Pokok : ');readln(Gapok); write('Masukan Status : ');readln(Status); if Status=1 then begin write('Masukan Jumlah Anak : ');readln(Ja); Ti:=0.1*gapok; Ta:=0.05*ja*gapok; STMIK SUMEDANG
7
Modul Prak. Algoritma dan Dasar Pemrograman
end else if status=2 then begin Ti:=0; Ta:=0; end else if status=3 then begin 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; End. C. HASIL :
STMIK SUMEDANG
8
Modul Prak. Algoritma dan Dasar Pemrograman
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
STMIK SUMEDANG
9
Modul Prak. Algoritma dan Dasar Pemrograman
Program Pembagian
ALGORITMA PEMROGRAMAN : Program Penjumlahan Program Penjumlahan; Uses wincrt; Var angka_pertama : real; angka_kedua : real; hasil : real; Begin write('Masukan Angka Pertama = '); readln(angka_pertama); write('Masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama+angka_kedua; write('Hasilnya ',hasil:1:2); End. Program Pengurangan Program Pengurangan; Uses wincrt; Var angka_pertama : real; angka_kedua : real; hasil : real; Begin write('Masukan Angka Pertama = '); readln(angka_pertama); write('Masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama-angka_kedua; write('Hasilnya ',hasil:1:2); End. Program Perkalian Program Perkalian; Uses wincrt; Var angka_pertama : real; angka_kedua : real;
STMIK SUMEDANG
10
Modul Prak. Algoritma dan Dasar Pemrograman
hasil : real; Begin write('Masukan Angka Pertama = '); readln(angka_pertama); write('Masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama*angka_kedua; write('Hasilnya ',hasil:1:2); End. Program Pembagian Program Pembagian; Uses wincrt; Var angka_pertama : real; angka_kedua : real; hasil : real; Begin write('Masukan Angka Pertama = '); readln(angka_pertama); write('Masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama/angka_kedua; write('Hasilnya ',hasil:1:2); End.
STMIK SUMEDANG
11
Modul Prak. Algoritma dan Dasar Pemrograman
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 (*)
STMIK SUMEDANG
12
Modul Prak. Algoritma dan Dasar Pemrograman
Jika Operasi Pembagian (/)
Jika Bukan Termasuk Operasi
ALGORITMA PEMROGRAMAN : Uses wincrt; Var operasi : string; angka_pertama : real; angka_kedua : real; hasil : real; Begin write('Masukan Operasi (+,-,*,/) = ');readln(operasi); if operasi ='+' then begin 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 begin write('Masukan Angka Pertama = '); readln(angka_pertama); write('Masukan Angka Kedua = '); readln(angka_kedua); hasil := angka_pertama-angka_kedua; write('Hasilnya = ',hasil:10:2); STMIK SUMEDANG
13
Modul Prak. Algoritma dan Dasar Pemrograman
end else if operasi ='*' then begin 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 begin 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 begin writeln('Maaf operator yang anda masukan salah!!'); end; End.
STMIK SUMEDANG
14
Modul Prak. Algoritma dan Dasar Pemrograman
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; Begin write('Masukan hari ke : ');readln(Hari); Case (Hari) Of 1 : write ('Hari ke ',Hari,' adalah Senin'); 2 : write ('Hari ke ',Hari,' adalah Selasa'); STMIK SUMEDANG
15
Modul Prak. Algoritma dan Dasar Pemrograman
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; End.
STMIK SUMEDANG
16
Modul Prak. Algoritma dan Dasar Pemrograman
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 :
STMIK SUMEDANG
17
Modul Prak. Algoritma dan Dasar Pemrograman
C. ALGORITMA PEMROGRAMAN : Uses wincrt; Var Nama:string; Golongan:char; Status,Ja:integer; Ti,Ta,Gapok,Gaber:real; Begin 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 : begin write('Masukan Jumlah Anak : ');readln(Ja); Ti:=0.1*Gapok; Ta:=0.05*Ja*Gapok; end; 2 : begin Ti:=0; Ta:=0; end; 3 : begin STMIK SUMEDANG
18
Modul Prak. Algoritma dan Dasar Pemrograman
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); End.
STMIK SUMEDANG
19
Modul Prak. Algoritma dan Dasar Pemrograman
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 ; Begin For X:=1 to 10 do Begin writeln('Aku bodoh tapi selalu ingin belajar'); End; End. 2. While – Do Uses wincrt; Var X : integer; Begin X:=1; while ( X <= 10 ) do STMIK SUMEDANG
20
Modul Prak. Algoritma dan Dasar Pemrograman
Begin writeln('Aku bodoh tapi selalu ingin belajar'); X:=X+1; End; End. 3. Repeat – Until Uses wincrt; Var X : integer; Begin X:=0; Repeat writeln('Aku bodoh tapi selalu ingin belajar'); X:=X+1; Until X=10; End. 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)
STMIK SUMEDANG
21
Modul Prak. Algoritma dan Dasar Pemrograman
3. Dengan menggunakan Struktur Pengulangan Repeat-Until, tampilkanlah angka kelipatan 5 sampai 100. (dimulai dengan angka 0)
STMIK SUMEDANG
22
Modul Prak. Algoritma dan Dasar Pemrograman
HASIL ALGORITMA PEMROGRAMAN :: Penggunaan For-to-Do :: Uses wincrt ; Var X : integer ; Begin For X:=1 to 10 do Begin writeln('Hasil Kelipatan 1 = ',X); End; End. :: Penggunaan While-Do :: Uses wincrt; Var X : integer; Begin X:=0; while ( X <= 50 ) do Begin writeln('Hasil Kelipatan 3 = ',X); X:=X+3; End; End. STMIK SUMEDANG
23
Modul Prak. Algoritma dan Dasar Pemrograman
:: Penggunaan Repeat-Until ::
Uses wincrt; Var X:integer; Begin X:=0; Repeat writeln('Hasil Kelipatan 5 = ',X); X:=X+5; Until X>100; End.
STMIK SUMEDANG
24
Modul Prak. Algoritma dan Dasar Pemrograman
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; Begin 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);
STMIK SUMEDANG
25
Modul Prak. Algoritma dan Dasar Pemrograman
End; Begin Input; End. 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; Begin 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; Begin Hitung; End.
STMIK SUMEDANG
26
Modul Prak. Algoritma dan Dasar Pemrograman
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; begin clrscr; write('Masukan jumlah data karakter : '); readln(maks); for i:=1 to maks do begin write('Masukan karakter ke ',i,' : '); readln(abjad[i]); end; writeln('Karakter yang dinput : '); for i:=1 to maks do begin writeln(abjad[i]); end; readln;
STMIK SUMEDANG
27
Modul Prak. Algoritma dan Dasar Pemrograman
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; begin clrscr; write('Masukan Jumlah Mahasiswa : '); readln(maks); for i:=1 to maks do begin 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 begin writeln(i,'. Nama Mahasiswa :',mhs[i]); writeln(' Nilainya :',nilai[i]); end; end. STMIK SUMEDANG
28