MODUL PERKULIAHAN
ALGORITMA DAN DASAR PEMROGRAMAN
Disusun oleh :
ATEP RUHIAT, S.KOM
STMIK SUMEDANG
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 1 PENGENALAN TURBO PASCAL A. MATERI SINGKAT Pascal adalah bahasa pemrograman tingkat tinggi yang diciptakan oleh Niklaus
Wirth, yang tujuan awalnya adalah untuk mengajarkan pemrograman. Program yang ditulis dalam pascal harus diterjemahkan lebih dahulu menjadi bahasa yang dikenali
mesin/komputer dengan menggunakan kompilator. Pascal adalah bahasa yang machine independent, yang berarti tidak tergantung pada mesin/komputer jenis apapun. Dalam pascal, untuk menampilkan sebuah nilai di layar di gunakan perintah write atau writeln
dan untuk membaca masukan dari keyboard digunakan perintah read atau readln. Perintah writeln tanpa parameter menyebabkan ganti baris, dan perintah readln tanpa parameter digunakan untuk menahan layar. B. TAMPILAN TURBO PASCAL
STMIK SUMEDANG
1
Modul Algoritma dan Dasar Pemrograman
C. AREA KERJA TURBO PASCAL
STMIK SUMEDANG
2
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 2 FORMAT PENULISAN PADA TURBO PASCAL A. MATERI SINGKAT Dalam Turbo Pascal terdapat format penulisan kode program untuk mempermudah penulisan kode programnya perhatikan contoh dibawah ini : Bentuk Umum :
Program Turbo_Pascal; (1) Uses Wincrt ; (2) ............. ; (3) Begin (4)
.............;(5) .............;
End. (6)
Keterangan :
(1) Program merupakan bentuk umum dari Turbo Pascal untuk memberikan judul pada program yang akan dibuat.
(2) Uses Wincrt merupakan fasilitas pada Turbo Pascal untuk memanggil file Header program.
(3) Area untuk mendeklarasi variable, record, procedure, function, dan yang lainnya. (4) Begin untuk memulai membuat program kerja
(5) Area untuk mendefinisikan kode program untuk dieksekusi (6) End untuk menutup program kerja B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Buatlah program sederhana untuk menampilkan biodata yang terdiri dari nama lengkap, umur, dan alamat.
2. ALGORITMA PEMROGRAMAN Uses wincrt; Begin
write('Nama Lengkap : Atep '); STMIK SUMEDANG
3
Modul Algoritma dan Dasar Pemrograman
writeln('Ruhiat'); writeln('Umur
writeln('Alamat End.
: 25 Tahun'); : Cisarua');
3. HASIL
C. LATIHAN PRAKTIKUM Buatlah program untuk menampilkan nama depan anda, seperti tampilan dibawah ini?
STMIK SUMEDANG
4
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 3 VARIABLE DAN DATA TYPE A. MATERI SINGKAT Variabel merupakan tempat menyimpan data sementara dengan kata lain data yang
sudah diinputkan pada program akan disimpan di variable tertentu dan ketika
program diakhiri maka variable tersebut akan kosong kembali. Sedangkan data type dapat didefinisikan dengan istilah tempat untuk menentukan pemberian nilai
sementara terhadap suatu deklarasi. Dalam pengertian lain terkait data type juga diartikan sebagai batasan terhadap fungsi tanda pengenal terhadap semua nilai yang diterima.
Logika yang dapat kita berikan adalah ketika kita menempatkan tanda pengenal stok barang hanya mengenal angka, maka ketika kita memberikan nilai berupa string misal 10 buah maka secara otomatis data tersebut akan ditolak karena nilai tersebut tidak dikenali oleh tipe data yang diberikan. 1. Tipe Data String
Tipe data string digunakan untuk menyatakan sederetan karakter, misalkan NIM, Nama, Alamat, Hobby, dan lainnya. Adapun tipe-tipe data string, yaitu : Tipe
Byte
Jumlah Maksimum
2-256
256 karakter
255-3 GB
231 karakter
ShortString AnsiString String
WideString
Bentuk umum :
4-2 GB 4-2 GB
231 karakter 230 karakter
Var Nama:string; Begin
Nama:=‘Atep Ruhiat‘;
2. Tipe Data Numeric Integer
Tipe data integer merupakan tipe data bilangan bulat atau bilangan yang tidak memmiliki angka desimal. Dimana tipe data Integer tidak mengenal pecahan.
STMIK SUMEDANG
5
Modul Algoritma dan Dasar Pemrograman
Tipe
Byte
Rentang Nilai
Byte
1
0-255
Shortint
1
Word
Smallint Integer
Longint
Cardinal
Bentuk umum :
2 2
0-65535
-128-127
-32768-32767
4
-2147483648-2147483648
4
0-2147483647
4
-2147483648-2147483648
Var Nilai:integer; Begin
Nilai:=10000;
3. Tipe Data Real
Tipe data numeric real digunakan untuk bilangan yang memiliki decimal. Tipe data ini memiliki beberapa tipe yang tergantung pada rentang nilai dan ukuran penggunaan memori. Tipe
Byte
Rentang Nilai
Real
6
± 2.9x10-39 - ± 1.7x1038
Double
8
± 5.0x10-324 - ± 1.7x10308
Single
Extended Currency
Bentuk umum :
4 10 8
± 1.5x10-45 - ± 3.4x1038
± 3.6x10-4951 - ± 1.1x104932
-922337203685477.58089223372036855477.5807
Var Nilai:real; Begin
Nilai:=80,57;
4. Tipe Data Char
STMIK SUMEDANG
6
Modul Algoritma dan Dasar Pemrograman
Secara fungsi tipe data char sama dengan tipe data string tetapi dari segi
kapasitas ruang diperoleh tipe data char jauh lebih sedikit karena hanya mengenal 1 karakter. Bentuk umum : Var Nilai:char; Begin
Nilai:=’A’; B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Cobalah buat biodata seperti latihan sebelumnya namun untuk pembuatannya menggunakan variable yang terdiri dari : NIM
Nama
Alamat TTL
Jenis Kelamin Status
No HP
2. ALGORITMA PEMROGRAMAN Program Perkenalan2; Uses Wincrt; Var
NIM,Nama,Alamat,TTL,JK,Status,NoHP Begin
write('Masukan NIM
write('Masukan Nama
: string;
= '); readln(NIM);
= '); readln(Nama);
write('Masukan Alamat = '); readln(Alamat); write('Masukan TTL write('Masukan JK
= '); readln(TTL);
= '); readln(JK);
write('Masukan Status = '); readln(Status);
write('Mauskan No HP = '); readln(NoHp);
STMIK SUMEDANG
7
Modul Algoritma dan Dasar Pemrograman
writeln('NIM
writeln('Nama
= ',NIM);
= ', Nama);
writeln('Alamat = ', Alamat); writeln('TTL writeln('JK
= ', TTL);
= ', JK);
writeln('Status = ', Status);
writeln('No HP = ', NoHp); End.
3. HASIL
C. LATIHAN PRAKTIKUM Sebuah pemilik toko barang menginginkan data barang-barangnya diinput pada program. Dengan ketentuan yang diinptkan yaitu Kode, Nama, Harga, Jumlah. Buatlah program untuk menginput data barang tersebut.
STMIK SUMEDANG
8
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 4 OPERATOR MATEMATIKA A. MATERI SINGKAT Operator aritmatika berfungsi untuk melakukan suatu proses aritmatika yang meliputi perkalian, pembagian, penjumlahan, pengurangan maupun pengurangan terhadap suatu nilai variabel yang tersimpan dalam suatu objek dengan memberikan nilai baru. Simbol +
Penjumlahan
*
Perkalian
-
Pengurangan
/
Pembagian
Div
Contoh :
Keterangan
Pembagian Integer
Mod
Sisa Pembagian
B:=15 + 2;
hasil
B=17
B:=15 * 2;
hasil
B=30
B:=15 – 2; B:=15 / 2;
B:=15 div 2;
B:=15 mod 2;
hasil hasil hasil hasil
B=13 B=7,5 B=7 B=1
B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Seorang pemilik toko menginginkan adanya sebuah program sederhana yang bisa digunakan untuk membantu dalam perhitungan penjualan yaitu harga x jumlah
pada tokonya. Coba gunakan algoritma dan buat kode program untuk membantu pemilik toko tersebut. STMIK SUMEDANG
9
Modul Algoritma dan Dasar Pemrograman
2. ALGORITMA PEMROGRAMAN Program Perhitungan_Penjualan; Uses Wincrt; Var
Harga, Jumlah, Total : Integer; Begin
write('Masukan Harga
= ');
write('Masukan Jumlah
= ');
read(Harga);
read(Jumlah);
Total:=Harga*Jumlah; write('Total bayar End.
= ',Total);
3. HASIL
C. LATIHAN PRAKTIKUM Melanjutkan contoh praktikum yang sudah dilakukan ternyata setelah program
dijalankan ada perubahan strategi marketing dimana pemilik toko memberikan diskon kepada setiap pelanggan dan bagi pelanggan yang menginginkan barangnya
diantar bisa diantarkan dengan membayar ongkos kirim. Untuk lebih jelasnya ketentuan dan tampilan seperti dibawah ini : Ketentuan :
Total = Harga x Jumlah
Diskon = 10% dari Total
Bayar = Total – Diskon + Ongkir STMIK SUMEDANG
10
Modul Algoritma dan Dasar Pemrograman
Ket : Ongkir : Ongkos Kirim
STMIK SUMEDANG
11
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 5 STRUKTUR PERCABANGAN I (IF – THEN - ELSE) A. MATERI SINGKAT Percabangan adalah merupakan operator yang digunakan untuk menentukan pilihan terhadap beberapa pilihan yang ada. If-Then-Else merupakan struktur percabangan yang digunakan untuk menentukan pilihan atas beberapa kondisi yang merupakan syarat terhadap pilihan yang sudah ditentukan. Bentuk umum : If Syarat Then Hasil 1 Else
If Syarat then Hasil2 Else
................ End;
Contoh :
If Warna =’Merah’ then
Keterangan =’Berhenti’; Else
If Warna =’Kuning’ then Keterangan =’Siap-siap’; Else
If Warna =’Hijau’ then Keterangan =’Jalan’; Else
Keterangan =’Warna tidak sesuai’ End;
B. BAHAN PRAKTIKUM 1. SOAL LATIHAN STMIK SUMEDANG
12
Modul Algoritma dan Dasar Pemrograman
Seorang guru SMK meminta bantuan kepada seorang mahasiswa untuk dibuatkan program perhitungan nilai. Guru tersebut menginginkan ketika dia
memasukan nilai antara 60-100 maka akan muncul keterangan ‘LULUS’ jika sebaliknya dari 0-59 maka siswa tersebut akan dinyatakan ‘BELUM LULUS’. Anda diminta untuk membantu mahasiswa tersebut untuk membuatkan programnya? 2. ALGORITMA PEMROGRAMAN Program Hitung_Nilai; Uses Wincrt; Var
Nilai
Keterangan Begin
:real;
:string;
write('Masukan Nilai Siswa readln(Nilai);
= ');
if nilai>=60 then
Keterangan:='LULUS'
else
Keterangan:='BELUM LULUS';
writeln('Keterangan End.
= ',Keterangan);
3. HASIL
STMIK SUMEDANG
13
Modul Algoritma dan Dasar Pemrograman
C. LATIHAN PRAKTIKUM Seorang guru SMK meminta anda untuk mengembangkan program penilaian
yang telah dibuat sebelumnya untuk membantu guru tersebut dalam proses
penilaian siswa. Anda diminta untuk membuatkan programnya dengan ketentuan dibawah ini : Ketentuan :
Nilai
Hasil
80 - 100
Grade = A
70 - 79
Grade = B
60 - 69 50 - 59 0 - 49 Lebih dari 100 dan Kurang dari 0
Keterangan = Lulus Keterangan = Lulus Grade = C
Keterangan = Lulus Grade = D
Keterangan = Belum Lulus Grade = E
Keterangan = Belum Lulus Grade = -
Keterangan = -
Ket : Grade : Nilai Hurup Gunakan If-Then-Else
STMIK SUMEDANG
14
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 6 STRUKTUR PERCABANGAN II (CASE - OF) A. MATERI SINGKAT Case of adalah merupakan metode lain dari sebuah percabangan, berfungsi sama
seperti fungsi if yaitu untuk melakukan seleksi atas beberapa pilihan dengan kondisi sebagai syarat yang harus terpenuhi. Secara fungsi case dan if tidak ada perbedaan tetapi untuk penulisan fungsi case lebih mudah diterapkn untuk pilihan atau kondisi lebih dari satu.
Bentuk Umum Fungsi Case Of : Case
Of
: hasil1; : hasil2; ...............
: hasiln; End;
Contoh :
Case Bulan Of
‘1’ : Keterangan :=’Januari’;
‘2’ : Keterangan :=’Februari’; ...... ......
‘12’ : Keterangan :=’Desember’; End; Ket :
*Case Of hanya bisa digunakan oleh variable char, boolean, dan Integer
STMIK SUMEDANG
15
Modul Algoritma dan Dasar Pemrograman
B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Seorang guru SMA meminta bantuan kepada seorang mahasiswa untuk dibuatkan program perhitungan nilai. Guru tersebut menginginkan seperti ketentuan dibawah ini : Nilai
Hasil
A
Keterangan = SANGAT BAIK
C
Keterangan = CUKUP
B
Keterangan = BAIK
D
Keterangan = BURUK
E
Keterangan = SANGAT BURUK
Anda diminta untuk membantu mahasiswa tersebut untuk membuatkan programnya?
2. ALGORITMA PEMROGRAMAN Program Hitung_Nilai; Uses Wincrt; Var
Nilai
Keterangan Begin
:char;
:string;
writeln('Silahkan masukan A,B,C,D,atau E'); write('Masukan Nilai Siswa readln(Nilai);
= ');
Case Nilai of
'A':Keterangan:='SANGAT BAIK'; 'B':Keterangan:='BAIK';
'C':Keterangan:='CUKUP';
'D':Keterangan:='BURUK'; Else
Keterangan:='SANGAT BURUK'; End;
writeln('Keterangan
STMIK SUMEDANG
= ',Keterangan);
16
Modul Algoritma dan Dasar Pemrograman
End. 3. HASIL
C. LATIHAN PRAKTIKUM Seorang guru SMA meminta anda lagi untuk mengembangkan program penilaian yang telah dibuat sebelumnya untuk membantu guru tersebut dalam proses
penilaian siswa. Anda diminta untuk membuatkan programnya dengan ketentuan seperti dibawah ini : (gunakan Case-Of) Ketentuan :
Nilai 80 - 100
Grade = A
70 - 79
Grade = B
60 - 69 50 - 59 0 - 49 Lebih dari 100
Ket :
Hasil
dan Kurang dari 0
Keterangan = Lulus Keterangan = Lulus Grade = C
Keterangan = Lulus Grade = D
Keterangan = Belum Lulus Grade = E
Keterangan = Belum Lulus Grade = -
Keterangan = -
Grade : Nilai Hurup Gunakan Case-Of
STMIK SUMEDANG
17
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 7 STUDI KASUS 1 A. BAHAN PRAKTIKUM Anda diminta oleh tetangga anda untuk membuatkan program perhitungan yang mana tetangga anda tersebut menginginkan anaknya itu bisa belajar menghitung
dengan menggunakan komputer tapi tidak ingin menggunakan kalkulator. Yang
tetangga anda inginkan programnya itu terdapat pilihan operator matematika yaitu
pertambahan (+), pengurangan (-), perkalian (x), dan pembagaian (:) sehingga anak terbuat bisa memilih operator yang dia ingin gunakan. Setelah dipilih selanjutnya
akan muncul pilihan angka kesatu dan angka kedua yang harus diinputkan, sehingga
setelah memasukan angka pertama dan kedua anak tersebut bisa tahu hasil dari
perhitungan dua angka tersebut bedasarkan operator yang dipilih. Tapi ketika anak tersebut memasukan operator yang salah maka akan muncul keterangan hasilnya nol. Coba anda buatkan algoritma pemrogramannya?
B. HASIL PRAKTIKUM
Kode Program :
Contoh Pertambahan (+)
Program Perhitungan; Uses Wincrt; Var
Operator
:char;
Angka_Pertama, Angka_Kedua,Hasil :real; Begin
writeln('Silahkan operatornya (+,-,x,:)');
STMIK SUMEDANG
18
Modul Algoritma dan Dasar Pemrograman
write('Pilih Operator = '); readln(Operator);
write('Angka Pertama = '); readln(Angka_Pertama); write('Angka Kedua
readln(Angka_Kedua);
= ');
Case Operator of
'+':Hasil:=Angka_Pertama+Angka_Kedua; '-':Hasil:=Angka_Pertama-Angka_Kedua;
'x':Hasil:=Angka_Pertama*Angka_Kedua; ':':Hasil:=Angka_Pertama/Angka_Kedua; Else
Hasil:=0; End;
writeln('Hasil End.
STMIK SUMEDANG
= ',Hasil:10:2);
19
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 8 STRUKTUR PENGULANGAN A. MATERI SINGKAT Perulangan merupakan kontrol program yang digunakan untuk suatu yang akan
berjalan terus menerus dan akan berhenti ketika proses mendapatkan kondisi yang sudah ditentukan.
Ada 4 (empat) jenis perulangan : a. Perulangan For – To – Do
Perulangan For – To – Do adalah perulangan yang digunakan untuk melakukan
suatu proses dalam sebuah blok program. Proses perulangan For – To – Do dimulai dengan nilai terkecil ke besar Bentuk umum :
For variable := nilai awal To nilai akhir pernyataan Contoh :
Uses Wincrt; Var Begin
I : integer; For I := 1 To 10 do
End.
Writeln(‘Angka ’,I);
b. Perulangan For – DownTo – Do Perulangan For – DownTo - Do adalah perulangan yang menghitung suatu proses dengan nilai awal besar dan nilai akhirnya lebih kecil, maka variable sebagai control program diperoleh adalah dari besar ke kecil. Bentuk umum :
For variable := nilai awal DownTo nilai akhir pernyataan Contoh :
Uses Wincrt; Var STMIK SUMEDANG
20
Modul Algoritma dan Dasar Pemrograman
I : integer;
Begin
For I := 10 DownTo 1 do End.
Writeln(‘Angka ’,I);
c. Perulangan While Do Perulangan While Do adalah pernyataan perulangan akan terus melakukan suatu proses selama kondisi/syarat yang ditentukan bernilai benar. Bentuk umum :
While – variable syarat – Do pernyataan Contoh :
Uses Wincrt; Var I : integer;
Begin
I :=1;
While I<=10 do Begin
Writeln(‘Angka ’,I); I:=I+1; End ; End. d. Peruangan Repeat Until Perulangan Repeat Until adalah pernyataan perulangan yang digunakan untuk mengulang suatu kondisi sampai (until) kondisi bernilai salah. Bentuk umum :
Repeat – pernyataan – Until – ungkapan logika Contoh :
Uses Wincrt; Var I : integer;
Begin STMIK SUMEDANG
21
Modul Algoritma dan Dasar Pemrograman
I :=0;
Repeat I:=I+1;
Writeln(‘Angka ‘,I); Until I=10; End. B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Seorang anak TK ingin mengetahui angka dari 1 sampai 10. Anak TK tersebut
meminta anda untuk memberitahu ada angka apa saja dari 1 sampai 10. Karena anda seorang programmer coba anda buatkan program untuk menampilkan angka 1 sampai 50 untuk memberitahu anak TK tersebut? 2. ALGORITMA PEMROGRAMAN Program Menampilkan_Angka; Uses Wincrt; Var
I : integer;
Begin
For I := 1 To 10 do End.
Writeln(‘Angka ‘,I);
3. HASIL
STMIK SUMEDANG
22
Modul Algoritma dan Dasar Pemrograman
C. LATIHAN PRAKTIKUM Menindak lanjuti soal yang diatas terkait angka pertama (1) dan angka terakhir (10). Coba anda ubah ketentuannya menjadi pada program ketika program dijalankan. Sehingga anak TK tersebut tidak hanya mengetahui angka 1 sampai angka 10 tapi bisa mengetahui angka yang lainnya.
STMIK SUMEDANG
23
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 9 PROCEDURE A. MATERI SINGKAT Prosedur adalah suatu program terpisah dan berdiri dalam suatu blok program dan
berfungsi sebagai sebuah sub program (program bagian). Penulisan progsedur diawali dengan kata Procedure pada bagian deklarasi program. Syarat penulisan nama prosedur
1. Harus diawali dengan karakter
2. Untk nama prosedur dengan menggunakan dua kata atau lebih penulisannya
tidak boleh menggunakan spasi, harus digabungkan atau dihubungkan dengan underscore ( _ )
3. Tidak mengenal tanda baca Bentuk Umum :
Procedure ;
Contoh :
Procedure Tampil;
B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Buatlah program input data mahasiswa meliputi NPM, Nama, Jurusan, Kelas, dan Semester dengan bentuk Procedure? 2. ALGORITMA PEMROGRAMAN Program Input_Mahasiswa; Uses Wincrt; Var
NIM,Nama,Jurusan,Kelas,Semester : String; Procedure Input; Begin
write('Masukan NIM STMIK SUMEDANG
= '); readln(NIM);
24
Modul Algoritma dan Dasar Pemrograman
write('Masukan Nama = '); readln(Nama);
write('Masukan Jurusan = '); readln(Jurusan); write('Masukan Kelas = '); readln(Kelas);
write('Masukan Semester= '); readln(Semester); End;
Procedure Tampil; Begin
writeln('NIM
= ',NIM);
writeln('Nama = ',Nama);
writeln('Jurusan = ',Jurusan); writeln('Kelas = ',Kelas);
writeln('Semester= ',Semester); End;
Begin Input;
Tampil;
End.
3. HASIL
C. LATIHAN PRAKTIKUM Seorang anak SMP sedang bingung menghitung luas dan keliling persegi panjang. Dia bingung tentang hasilnya apakah benar atau salah. Anak SMP tersebut meminta anda untuk memeriksa hasil perhitungan anak SMP tersebut. Karena anda seorang STMIK SUMEDANG
25
Modul Algoritma dan Dasar Pemrograman
programmer anda coba buatkan program untuk menghitung luas dan keliling persegi panjang tersebuat dengan bentuk procedure?
STMIK SUMEDANG
26
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 10 FUNCTION A. MATERI SINGKAT Function adalah suatu kumpulan perintah yang terdefinisi, baik didefinisikan oleh
Pascal (fungsi standar) ataupun didefinisikan pemakai (user define function). Fungsi dapat kita bedakan dari hasil fungsinya, yang dapat berupa string, numerik atau
boolean. Umumnya fungsi mempunyai argumen atau parameter. Parameter ditulis I dalam tanda kurung. Namun bisa saja suatu fungsi tidak memiliki prameter. Bentuk umum fungsi :
FUNCTION nama_fungsi(daftar_parameter):tipe; Bagian deklarasi;
Bagian pernyataan; B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Seorang mahasiswa setelah belajar mata kuliah Algoritma dan Pemrograman
ingin mencoba membuat program kedalam bentuk function. Untuk memulai pembelajaran mahasiswa tersebut ingin membuat program pertambahan
sederhana dalam bentuk function. Coba anda bantu mahasiswa tersebut membuat programnya.
2. ALGORITMA PEMROGRAMAN Program Perhitungan_Dengan_Function; Uses wincrt; Var
a,b:integer;
Function Tambah(a,b:integer):integer; Begin
Tambah:=a+b; End;
Begin STMIK SUMEDANG
27
Modul Algoritma dan Dasar Pemrograman
clrscr;
Writeln('Fungsi Matematika Menggunakan Function');
Writeln('======================================'); Write('Masukkan Angka Pertama = ');readln(a); Write('Masukkan Angka Kedua = ');readln(b); Writeln;
Writeln('Hasil Pertambahan End.
= ',Tambah(a,b));
3. HASIL
C. LATIHAN PRAKTIKUM Menindak lanjuti soal yang diatas, ternyata mahasiswa tersebut berhasil membuat program pertambahan dengan bentuk function. Sehingga mahasiswa tersebut
bersemangat untuk membuat program yang lainnya yaitu pengurangan, perkalian, dan pembagiannya juga. Coba anda bantu mahasiswa tersebut untuk membuat program tersebut.
STMIK SUMEDANG
28
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 11 RECORD A. MATERI SINGKAT Record atau tipe data bentukan merupakan sekumpulan tipe data dasar yang
didefinisikan sendiri oleh programmer dan digunakan hanya pada program yang sedang dibuat.
Bentuk Umum : type NamaTipe=record filed1 : DataType; filed2 : DataType; ..
filedN: DataType; end;
B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Sebuah pemilik toko barang menginginkan data barang-barangnya diinput pada program. Dengan ketentuan yang diinptkan yaitu Kode, Nama, Harga, Jumlah. Buatlah program untuk menginput data barang tersebut dalam bentuk record 2. ALGORITMA PEMROGRAMAN Program Input_Barang; Uses wincrt;
type Data=record
Kode,Nama : string; Harga : real;
Jumlah : integer;
End; Var
Barang : Data; STMIK SUMEDANG
29
Modul Algoritma dan Dasar Pemrograman
Begin write('Kode
= ');
write('Nama
= ');
readln(Barang.Kode); readln(Barang.Nama); write('Harga = ');
readln(Barang.Harga); write('Jumlah = ');
readln(Barang.Jumlah);
writeln('---------------------------'); writeln('
HASIL INPUTAN
writeln('---------------------------');
');
writeln('Kode = ', Barang.Kode);
writeln('Nama = ',Barang.Nama);
writeln('Harga = ',Barang.Harga:1:2); writeln('Jumlah = ',Barang.Jumlah); End.
3. HASIL
C. LATIHAN PRAKTIKUM Menindak lanjuti soal diatas pemilik toko barang menginginkan data barang yang
dijual terdapat kuitansinya. Coba buat contoh kuitansi sederhana seperti tampilan dibawah ini : STMIK SUMEDANG
30
Modul Algoritma dan Dasar Pemrograman
Tekan ENTER
STMIK SUMEDANG
31
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 12 ARRAY A. MATERI SINGKAT Array adalah sekumpulan data yang bertipe sama, yang anggota-anggotanya dapat diakses berdasarkan nomor indeks. Misalnya ada 26 huruf, kita sebut saja array
Abjad, adalah sekumpulan 26 buah karakter yang berisi nama-nama abjad latin. Anggota pertama adalah ‘A’, anggota kedua adalah ‘B’ dan seterusnya hingga anggota ke 26 adalah ‘Z’. B. BAHAN PRAKTIKUM 1. SOAL LATIHAN Anda diminta untuk membuat program input data siswa kelas XII di SMK GAJAH BATU. Buatlah programnya.
2. ALGORITMA PEMROGRAMAN Program Input_Siswa; Uses wincrt; Var
siswa:array [1..50] of string; i,jumlah:integer; Begin
write('Masukan Jumlah Siswa : '); readln(jumlah);
for i:=1 to jumlah do begin
write('Absen ke ',i,' : '); end;
readln(siswa[i]);
writeln('===================='); writeln('Nama Siswa : ');
writeln('--------------------');
STMIK SUMEDANG
32
Modul Algoritma dan Dasar Pemrograman
for i:=1 to jumlah do begin end;
writeln(i,'. ',siswa[i]);
end. 3. HASIL
C. LATIHAN PRAKTIKUM Anda diminta untuk mengembangkan program yang telah anda buat di SMK GAJAH
BATU yang tadinya hanya input data siswa saja menjadi input data nilai siswa. Coba buatlah programnya.
STMIK SUMEDANG
33
Modul Algoritma dan Dasar Pemrograman
STMIK SUMEDANG
34
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 13 STUDI KASUS II A. BAHAN PRAKTIKUM Sebuah perusahaan atas nama PT. 12345 ingin dibuatkan sebuah program untuk
penggajian pegawainya. Dengan ketentuan terdapat beberapa golongan dan jam kerja. Dengan ketentuan dibawah ini : Golongan
Gaji Pokok
1
1.000.000,00
3
2.000.000,00
2
1.500.000,00
Jam Kerja
Insentif
Lebih dari 200 jam
10.000/jam
Kurang dari sama dengan 200 jam
0/jam
Coba buatlah programnya sesuai dengan ketentuan diatas.
B. HASIL PRAKTIKUM
Tekan ENTER
STMIK SUMEDANG
35
Modul Algoritma dan Dasar Pemrograman
C. ALGORITMA PEMROGRAMAN Program Penggajian_Pegawai; Uses Wincrt;
Type Pegawai = record NIP : String[9];
Nama : String[30]; Golongan : Char; Jamkerja : Real; End; Var Data : Pegawai; Gapok : Real;
Insentif,Gaber : Real; Ulang : Char; Begin
Repeat Clrscr;
Writeln('Input Data Pegawai PT. 12345’);
Writeln('=========================='); Writeln;
Write('NIP
Write('Nama
: ');Readln(Data.NIP);
: ');Readln(Data.Nama);
Write('Golongan : ');Readln(Data.Golongan); Write('Jam Kerja: ');Readln(Data.Jamkerja); Writeln; Writeln;
STMIK SUMEDANG
36
Modul Algoritma dan Dasar Pemrograman
Case Data.Golongan of '1' : Gapok:=1000000;
'2' : Gapok:=1500000; '3' : Gapok:=2000000; Else
Gapok:=0; End;
If Data.Jamkerja>200 then
Insentif:=(Data.Jamkerja-200)*10000 else
Insentif:=0;
Gaber:=Gapok+Insentif; Clrscr;
Writeln('LAPORAN GAJI PEGAWAI'); Writeln('PT. 12345'); Writeln;
Writeln('========================================================== ============='); Writeln('|NIP
|Nama
|Golongan |Jam Kerja |Gaji
|');
Writeln('-----------------------------------------------------------------------');
Writeln('|',Data.NIP:10,'|',Data.Nama:20,'|',Data.Golongan:10,'|',Data .Jamkerja:10:0,'|',Gaber:12:2,'|');
Writeln('-----------------------------------------------------------------------'); Writeln;
Write('Apakah mau diulang kembali? [Y/T]: ');Readln(Ulang); Until Upcase(Ulang)<>'Y'; End.
STMIK SUMEDANG
37
Modul Algoritma dan Dasar Pemrograman
PERTEMUAN 14 STUDI KASUS III A. BAHAN PRAKTIKUM Melanjutkan kasus sebelumnya, ternyata pemilik perusahaan PT. 12345 ingin
mengetahui berapakah jumlah beban gaji dan rata-rata per pegawai yang dikeluarkan oleh perusahan untuk menggaji pegawainya. Dengan ketentuan yang sama seperti kasus sebelumnya terdapat beberapa golongan dan jam kerja. Dengan ketentuan dibawah ini :
Golongan
Gaji Pokok
1
1.000.000,00
3
2.000.000,00
2
1.500.000,00
Jam Kerja
Insentif
Lebih dari 200 jam
10.000/jam
Kurang dari sama dengan 200 jam
0/jam
Coba buatlah programnya sesuai dengan kebutuhan yang diinginkan oleh pemilik perusahaan.
B. HASIL PRAKTIKUM
Tekan ENTER
STMIK SUMEDANG
38
Modul Algoritma dan Dasar Pemrograman
Isi data sampai jumlah data Pegawai terpenuhi
C. ALGORITMA PEMROGRAMAN Program Program_Penggajian_Lanjutan; Uses Wincrt;
Type Pegawai = record NIP : String[9];
Nama : String[30]; Golongan : Char; Jamkerja : Real; End; Var Data : Array [1..100] of Pegawai; Gapok,Insentif,Gaber : Real; Total,Rata : Real; Ulang : Char; i,n : Integer; Begin
Repeat STMIK SUMEDANG
39
Modul Algoritma dan Dasar Pemrograman
Clrscr;
Write('Masukkan Jumlah Pegawai : ');Readln(n); For i := 1 to n do Begin
Clrscr;
Writeln('Input Data Pegawai PT. 12345');
Writeln('============================'); Writeln;
Writeln('Data Ke-',i); Writeln;
Write('NIP
Write('Nama
: ');Readln(Data[i].NIP);
: ');Readln(Data[i].Nama);
Write('Golongan : ');Readln(Data[i].Golongan); Write('Jam Kerja: ');Readln(Data[i].Jamkerja); Writeln; End;
Clrscr;
Writeln('Laporan Gaji Pegawai'); Writeln('PT. 12345'); Writeln;
Writeln('========================================================== ============');
Writeln('|NO.|NIP
|Nama
|Golongan |Jam Kerja|Gaji
|');
Writeln('----------------------------------------------------------------------'); Total:=0;
For i := 1 to n do Begin
Case Data[i].Golongan of '1' : Gapok:=1000000; '2' : Gapok:=1500000; '3' : Gapok:=2000000; Else
Gapok:=0;
STMIK SUMEDANG
40
Modul Algoritma dan Dasar Pemrograman
End; if Data[i].Jamkerja>200 then
Insentif:=(Data[i].Jamkerja-200)*10000 else
Insentif:=0;
Gaber:=Gapok+Insentif; Total:=Total+Gaber;
Writeln('|',i:3,'|',Data[i].NIP:10,'|',Data[i].Nama:15,'|',Data[i].Golongan:10,'|',Data[i].J amkerja:10:0,'|',Gaber:12:0,'|'); End;
Rata:=Total/n;
Writeln('----------------------------------------------------------------------'); Writeln('Total Gaji Keseluruhan : Rp.',Total:12:0); Writeln('Rata Gaji Pegawai Writeln;
: Rp.',Rata:12:0);
Write('Apakah mau diulang kembali? [Y/T]: ');Readln(Ulang); Until Upcase(Ulang)<>'Y'; End.
STMIK SUMEDANG
41