Anda di halaman 1dari 66

MATERI PERKULIAHAN

PRAKTIKUM ALGORITMA (DELPHI)

DISUSUN OLEH :

KRISTIAWAN NUGROHO, M.KOM

Fakultas Ekonomi dan Bisnis


Nama : Kristiawan Nugroho, S.Kom, M.Kom
Alamat : Jl. Emerald Asri III A3 No 86
Bukit Emerald Jaya Tembalang
Telepon : 087832880650
Pendidikan : S1- Sistem Informasi UDINUS (1997)
S2-Teknik Informatika UDINUS (2007)
Pekerjaan : 1. Pengajar Universitas Semarang (USM)
2. Pengajar UDINUS (FE,FKM)
3. Pengajar AMIK JTC & ALFABANK
4. Distributor Alat Peraga PAUD & TK
5. Distributor Mebel&Kerajinan Jati
Blora
Sistem Penilaian meliputi unsur :

1. Nilai Ujian Mid Semester (MID) : 35 %


2. Nilai Ujian Akhir Semester (UAS) : 45 %
3. Nilai Tugas + Keaktifan +Absensi : 20 %

Kehadiran min 75% dalam 1 semester


MATERI PERKULIAHAN
1. Pengenalan struktur dasar bahasa pascal / delphi
2. Jenis tipe data & Deklarasi variabel
3. Pemakaian operator
4. Decision & Selection (pengkondisian)
a. Perintah if..then
b. Perintah Case..of
5. Pengulangan atau Looping
6. Tipe data terstruktur (array dan record)
7. Prosedur dan Fungsi
STRUKTUR DASAR BHS PASCAL
Struktur Dasar Bahasa Pascal
Program NamaProgram :
Program Pascal:
var
Var1 : Type;
Var2 : Type;
Begin
[Instruksi];
......
End.
JENIS TIPE DATA PASCAL
 Byte adalah tipe data numeric terkecil dalam bahasa pascal yang
merupakan bilangan bulat. Data ini menempati memori komputer
sebesar 1 byte ( merupakan susunan dari 8 bit bilangan biner )
sehingga rentang bilangannya berada antara 0 hingga 255.
 Word adalah tipe data numeric yang menempati memoti computer
sebesar 2 byte sehingga rentang bilangannya antara 0 hingga 65535
 Integer adalah tipe data numeric yang menempati memoti
computer sebesar 2 byte sehingga rentang bilangannya antara -
32768 hingga 32767
 Real adalah suatu bilangan yang bertanda yang mampu
menampung bilangan desimal antara -29 X 109 hingga 1,7 X 108.
Jenis data ini menempati memori komputer sebesar 6 byte.
JENIS TIPE DATA PASCAL
Boolean adalah jenis data yang hanya memiliki du
keadaan yaitu true ( benar ) dan false ( salah ) dan
digunakan untuk penguji kondisi.
Char adalah jenis data yang terdiri dari satu hurup
dan menempati memori komputer 1 byte.
String adalah kumpulan dari karakter dan
menampung 2 milyar huruf
Longint adalah tipe data yang melebihi dari integer.
Single, double dan extanded adalah tipe data yang
melebihi real.
DEKLARASI VARIABEL PASCAL
Deklarasi Variabel Dalam Bahasa Pascal
Untuk dapat menggunakan suatu jenis data tertentu dalam
pascal, harus dilakukan pemesanan atau deklarasi jenis data
tersebut dalam sebuah nama variabel. ATURANNYA:
Tidak boleh dimulai dengan angka
Tidak boleh mengandung simbol operator aritmatika, dan
simbol – simbol lain yang dipergunakan sebagai operator
dalam pascal, seperti : koma # @ ^ ! & titik
Tidak boleh mengandung spasi atau blank
Tidak boleh sama dengan nama fungsi dan keyword bahasa
pascal.
DEKLARASI VARIABEL PASCAL
Contoh penggunaan :
Var
BilBulat : Integer;
BilReal : Real;
W1,W2,W3 : Word;
A,B : Byte;
Nama, Alamat : String
CONTOH PROGRAM PASCAL
1. Buka aplikasi Delphi anda
2. Klik File-New-Other-Console application-Ok
3. Ketik program anda dalam console :
CONTOH PROGRAM PASCAL

Ketik
program
pascal disini
CONTOH PROGRAM PASCAL

Run program
CONTOH PROGRAM PASCAL
Perintah dasar pascal :
1. Write/writeln => mencetak tulisan / text
2. Readln=>membaca inputan dari keyboard

Contoh aplikasi :
buatlah sebuah program input data mahasiswa
meliputi input nim,nama,alamat dan jurusan!
FLOWCHART PROGRAM
MULAI

Masukkan
Nim,Nama,Alamat,Jurusan

Cetak
Nim,Nama,Alamat,Jurusan

SELESAI
CONTOH PROGRAM PASCAL

Simpan dengan nama


inputmhs.pas dan jalankan
program anda!
CONTOH PROGRAM PASCAL
Latihan soal :
Buatlah program untuk menghitung luas segitiga
dengan input alas & tinggi , hitung luas segitiga dan
tampilkan hasilnya berupa alas,tinggi dan luas
segitiga,simpan dengan nama segitiga.pas
BUATLAH PROGRAM-NYA
MULAI

Masukkan
NIP,Nama,Bagian,Gajipokok

Tunjangan=10% Gajipokok
Potongan=100.000
Gajiterima=(Gajipokok+Tunjangan)-Potongan

Cetak
NIP,Nama,Bagian,Gajipokok,
Tunjangan,Potongan,Gajiterima

SELESAI
STUDI KASUS
Kasus :
Buat program dalam Bahasa Pascal untuk menginput Penerimaan mahasiswa FEB Dinus. Dengan ketentuan Nis,
Nama Siswa, Alamat Siswa, Belajar, Biaya Belajar, Cicilan Pertama, Cicilan Kedua. Tunggakan adalah Biaya
dikurang cicilan pertama ditambah cicilan kedua.

Output :
*****************************************
Penerimaan Mahasiswa FEB Dinus 2014
*****************************************
Nis: 1234567
Nama Siswa : Joko
Alamat Siswa : Jl. Diponegoro
Belajar : Pemrograman Pascal
Biaya Belajar : Rp. 150000
Cicilan Pertama : Rp. 100000
Cicilan Kedua : Rp. 50000
Tunggakan : Rp. 0
*****************************************
Simpan dengan nama mahasiswa.pas
DECESION & SELECTION
Didalam pemrograman bahasa pascal dimana ada
perintah untuk memilih membandingkan atau
memeriksa program.
Dalam sebuah program tidak selalu setiap baris dari
program dilakukan dalam eksekusi. Akan tetapi ada
statement tertentu yang dilakukan hanya jika
kondisinya memenuhi.
DECISION & SELECTION
Statement IF THEN ELSE
Bentuk dasar :
IF <Kondisi> THEN <Statements>
Contoh : If nilai >=60 then Keterangan=“Lulus”

Bentuk : IF <Kondisi> Then


Statement-Jika kondisi benar
Else
Statement-Jika kondisi benar
DECISION & SELECTION
Contoh :
If nilai >=60 then
Keterangan=“Lulus”
Else
Keterangan=“Tidak Lulus”
DECISION & SELECTION
Bentuk : IF <Kondisi> Then
Statement-1
Else
IF <Kondisi> Then
Statement-2
Else
IF <Kondisi> Then
Statement-n
Endif
Endif
Endif
CONTOH KASUS
LATIHAN SOAL KONDISI-1
Buatlah sebuah program untuk menghitung penilaian
mahasiswa jika diketahui
INPUT : Nim,Nama, Jurusan,Nilai
PROSES : - Jika nilai >=85 Nilai huruf A
- Jika nilai >=70 DAN nilai<85 Nilai huruf B
- Jika nilai >=60 DAN nilai<70 Nilai huruf C
- Jika nilai >=45 DAN nilai<60 Nilai huruf D
- jika nilai <45 nilai huruf E
OUTPUT : Cetak nilai huruf!
LATIHAN SOAL KONDISI-2
Modifikasi program latihan nilai anda sebelumnya!
INPUT :
Nim,Nama, Jurusan,NilaiTugas,NilaiMid & Nilai UAS
PROSES :
- NA=(0.2%*NilaiTugas)+(0.3%*NilaiMid)+(0.5%*NilaiUAS)
- Jika NA>=85 Nilai huruf A
- Jika NA >=70 DAN nilai<85 Nilai huruf B
- Jika NA >=60 DAN nilai<70 Nilai huruf C
- Jika NA >=45 DAN nilai<60 Nilai huruf D
- jika NA <45 nilai huruf E
OUTPUT : Cetak nilai akhir dan nilai huruf!
LATIHAN SOAL KONDISI-3
INPUT :
NIP,Nama,Jabatan(DIR,MGR,STF),Bagian(PROD,HRD,KEU),
Gajipokok
PROSES :
DIR Direktur Tunj=20% gapok Pot=500.000
MGR Manager Tunj=15% gapok Pot=300.000
STF Staff Tunj=10% gapok Pot=100.000

Gaji bersih=(Gajipokok+Tunjangan) - Potongan


OUTPUT :
NIP,Nama,Nama Jabatan, Nama Bagian,Gajipokok,
Tunjangan,Potongan, Gaji bersih!
PERINTAH CASE OF END
Alternatif lain yang digunakan untuk mengontrol
statement yang akan dieksekusi dalam program dan
hanya dapat menguji kesamaan suatu variabel
tertentu denga nilai yang disajikan, variabel yang diuji
hanyalah berupavariabel yang bertipe ( Integer,
Boolean, Char, Byte dan Word ).
PERINTAH CASE OF END
Penulisan perintah :
Case ( Nama variabel ) Of
Pilihan – 1 : Statement – 1;
Pilihan – 2 : Statement – 2;
.
.
.
Pilihan – n : Statement – n;
Else : Statement;
End;
PERINTAH CASE OF END
Keterangan : Pilihan dapat berupa barisan yang tiap –
tiap elemennya dipisahkan dengan koma ( , ). Juga dapat
memiliki range dengan menggunakan simbol dua buah
titik ( .. ), yang dapat diartikan sebagai hingga.
Case Pilih Of
‘1’ : Write (‘Pilihannya angka 1 ‘);
‘a’,’A’ : Write (Pilihannya a atau A’);
‘b’;..’z’ : Write (Pilihannya diantara b hingga z’);
else : Write (Pilihannya salah’);
end;
CONTOH PROGRAM
Var
Ukuran : Char;
Nama_Jaket :String;
Banyak : Integer;
Harga,Jumlah :Real;
Begin
Clrscr;
Writeln(‘Program Pembayaran Jaket‘);
Write(‘Nama Jaket : ‘);Readln(Nama_jaket);
Write(‘Ukuran Jaket S/ M /L : ‘);Readln(Ukuran);
CONTOH PROGRAM
Case Ukuran of
‘S’ : Harga :=25000;
‘M’ : Harga :=35000;
‘L’ : Harga :=50000;
end;
Write(‘Banyak Jaket: ‘);Readln(Banyak);
Jumlah := Harga * Banyak;
Writeln;
Writeln;
Writeln(‘Jumlah yang harus dibayar = Rp.’ , Jumlah:8:0);
Readln;
End.
TUGAS
BUATLAH PROGRAM SOAL KONDISI-3 ANDA
DENGAN MENGGUNAKAN PERINTAH CASE – OF!
PENGULANGAN(LOOPING)
Dalam melakukan looping tentunya kita harus memiliki
variabel penghitung ( pencacah ) yang dapat menentukan
berapa kali kiranya pengulangan
Tugas dari variabel ini yang diinginkan pengulangan akan
terhenti. Biasanya dalam program dituliskan sebagai :
X := X + 1; (Pencacah Naik )
X := X - 1; (Pencacah Turun)
Dimana X merupakan variabel bertipe integer, byte atau
word ( dalam pemograman biasanya dipilih tipe integer )
PENGULANGAN(LOOPING)
For ... to ... do
Begin
....
End;
Adalah suatu perintah looping yang mengunakan pencacah naik
( Increment ), Artinya setiap pengulangan dilakukan variabel
pencacah akan bertambah. Syntax penulisannya :

For [ Nama Variabel ] := [ Indeks Awal ] to [ Indeks Akhir ]


Begin
Statement;
End;
PENGULANGAN(LOOPING)
Var
I : Byte;
Kuadrat, Akar : Real;
Begin
Writeln('Tabel Kuadrat dan Akar Kuadrat');
Writeln;
Writeln('Bilangan Kuadrat Akar-Kuadrat');
Writeln;
For I := 1 to 10 do
Begin
Kuadrat := Sqr(I);
Akar:= Sqrt(I);
Writeln(I:6, Kuadrat :10:0, Akar:15:2);
End;
readln;
End.
PENGULANGAN(LOOPING)
While Do
Begin
End;
Adalah suatu langkah looping yang mengunakan eskpresi kondisi logika
untuk menjajaki apakah pengulangan masih dilakukan atau tidak, jika
kondisi benar (True) maka looping akan terus dilakukan dan sebaliknya.
Syntax pemakaiannya adalah
Nama variabel := Indeks Awal
While ( Kondisi ) do
Begin
Statement ;
Inc(Nama_variabel);
End;
PENGULANGAN(LOOPING)
Var
I :Integer;
Begin
I:=0;
Writeln('bilangan genap sampai sepuluh : ');
While (I <= 10 ) do
begin
Writeln(I);
I:=I+2;
end;
Readln;
End.
LATIHAN LOOPING
1. Buatlah flowchart dan program untuk konversi
harga BBM premium,pertalite & pertamax!
(for/while)
2. Buatlah flowchart & program dalam pascal untuk
mencetak bilangan ganjil dari 1 sampai 30 (for do)
3. Buatlah flowchart & program dalam pascal untuk
mencetak bilangan dari 12 sampai ke 0 dengan
kelipatan 3(while do)
ARRAY
Array
Adalah kumpulan dari beberapa nilai semuanya
memiliki tipe data yang sama. Syntax penulisannya :
Var
Nama Variabel : array[indeks Awal ... Indeks
Akhir] of Tipedata;
Begin
End.
ARRAY
Dengan nama variabel adalah nama yang kita berikan
untuk mengidentifikasi data array tersebut,
sedangkan indeks awal dan indeks akhir berturut –
turut merupakan indeks array terkecil dan indeks
array terbesar, yang menentukan beberapa banyak
elemen array yang kita pesan.
ARRAY
 Contoh program :
Var
Nim : Array[1..10] of integer;
Nama : Array[1..10] of string;
I:Integer;
Begin
Write('Masukan Jumlah Data :');Readln(I);
For I :=1 to I do
Begin
Write('Masukan NIM ke : ',I:2);Readln(Nim[I]);
Write('Masukan NAMA ke : ',I:2);Readln(Nama[I]);
End;
End.
LATIHAN
Buat sebuah program dengan array untuk menghitung
nilai akhir 10 mahasiswa dengan input berupa :
Nim,Nama,Jurusan,NilaiMid,NilaiTugas,NilaiUAS
Hitung nilai akhir mahasiswa ke 10 mahasiswa
tersebut!
RECORD
Suatu jenis struktur data komplek yang
memungkinkan untuk mencampur beberapa jenis
data dalam satu struktur.
Jika elemen dari struktur data array haruslah
memiliki tipe data yang sama, maka pada struktur
record batasan ini tidak ada. Record dapat memiliki
tipe data apa saja, Syntak penulisannya :
RECORD
Type
Namarecord = Record
NamaVariabel : Tipedata
NamaVariabel : Tipedata
NamaVariabel : Tipedata
End;
Var
NamaVariabel : Tipe Data Record
CONTOH RECORD
Type
Data_Pegawai = Record
Nip : Integer;
Nama,Alamat,Jabatan : String;
Gol : Char;
Gapok,Pajak,Gaber : Real;
End;
Var
Pegawai : Array[1..2] of Data_pegawai;
I : Integer;
Begin
Writeln('************************************');
Writeln(‘Data Pegawai Swasta ');
Writeln('************************************');
CONTOH RECORD
For i := 1 to 2 do
Begin
Write(' Nip :');readln(pegawai[I].nip);
Write(' Nama Pegawai :');readln(pegawai[I].nama);
Write(' Alamat Pegawai :');readln(pegawai[I].alamat);
Write(' Jabatan Pegawai :');readln(pegawai[I].jabatan);
Write(' Golongan :');readln(pegawai[I].gol);
Write(' Gaji Pokok :');readln(pegawai[I].gapok);
Pegawai[I].Pajak := 0.05 * Pegawai[I].Gapok;
Write(' Pajak :');Readln(Pegawai[I].pajak);
Pegawai[I].Gaber := Pegawai[I].Gapok - Pegawai[I].Pajak;
Write(' Gaji Bersih :');readln(pegawai[I].gaber);
readln;
End;
Readln;
End.
LATIHAN
Buat sebuah flowchart & program dengan RECORD untuk
menghitung nilai mahasiswa dengan variabel
Nim,Nama,Jurusan(String),Nilaiuts,Nilaitugas,Nilaiuas(Int
eger) & Nilaiakhir(Real)!
LATIHAN RECORD
 Kasus
Buatlah program untuk mengunakan record untuk menghitung dua
data total gaji pegawai, dengan ketentuan Nip,Nama,Pegawai, alamat
Pegawai, Jabatan, Golongan dan jumlah anak, dg ketentuan :
Gol = 1 gapok = 200000 dan tunjangan Jabatan = 75% * Gapok
Gol = 2 gapok = 1500000 dan tunjangan Jabatan = 50 % * Gapok
Gol = 3 gapok = 1000000 dan tunjangan Jabatan = 30 % * Gapok
Gol = 4 gapok = 750000 dan tunjangan Jabatan = 20 % * Gapok
 Tunjangan anak dihitung sampai anak ke 3 = 20 % dari gapok
 Tunjangan Suami/Istri = 15 % dari Gapok.
 Untuk mencari Gator adalah gapok ditambah tunjangan Jabatan ditambah tunjangan
anak ditambah tunjangan suami / istri.
 Pajak didapat 2 % dari gaji pokok dan untuk gaber kalian cari sendiri.
LATIHAN RECORD
PROSEDUR & FUNGSI
Prosedur dan fungsi adalah suatu bagian
program( sub program ) yang memiliki tugas untuk
mengerjakan deretan perintah tertentu.
Dengan prosedur memungkinkan untuk melakukan
suatu pekerjaan yang berulang – ulang tanpa harus
menuliskan kembali instruksi – intruksi yang
dilakukan.
PROSEDUR & FUNGSI
Procedure NamaPRogram;
Begin
Statements;
End;

Begin
Pemanggilan Program;
End.
PROSEDUR & FUNGSI
Var
S : Real;
Alas,Tinggi : Integer;

Procedure Luas_Segitiga;
Begin
Writeln;
Write('Alas : ');Readln(Alas);
Write('Tinggi : ');Readln(Tinggi);
S:=alas * (Tinggi / 2);
Writeln('Luas Segitiga : ',S);
End;
PROSEDUR & FUNGSI
Begin
Luas_segitiga;
readln;
End.
PROSEDUR & FUNGSI
BUATLAH PROGRAM DENGAN PROSEDUR
UNTUK MENGHITUNG :
a. Luas segiempat (segiempat.pas)
b. Luas Persegipanjang (psegipanjang.pas)
c. Luas Lingkaran (Lingkaran.pas)
PEMROGRAMAN BERBASIS OBJECT
Buka Delphi, Pilihlah form
Object
treeview Object
pallete

Form
designer

Object
inspector
PEMROGRAMAN BERBASIS OBJECT
Bagian-Bagian PBO delphi
a. Object Treeview
Merupakan diagram pohon yang menggambarkan
hubungan logis antar komponen
b. Componen Pallete
Merupakan icons yang digunakan mengatur tampilan
dalam form
c. Object inspector
Merupakan jendela yang digunakan untuk mengatur
object yang ditempatkan dalam form
PEMROGRAMAN BERBASIS OBJECT
d. Code Editor
Merupakan tempat untu menuliskan program
PEMROGRAMAN BERBASIS OBJECT
Latihan aplikasi

hasilnya
OPERATOR,DEKLARASI & TIPE DATA
Deklarasi diperlukan apabila program membutuhkan
identifier/pengenal
Contoh penggunaan operator,deklarasi & tipe data
OPERATOR,DEKLARASI & TIPE DATA
Contoh aplikasi,desainlah form sbb :

Buatlah Kode programnya!


STATEMENT IF-PBO
Buatlah form sbb:
STATEMENT IF-PBO
Kode Program
STATEMENT IF-PBO
Kode program
STATEMENT IF-PBO
Kode Program
RESPONSI ALGORITMA - SENIN
 Buatlah program untuk menghitung tagihan biaya rawat inap rumah sakit ketentuan
N0nota, tanggal, Namapasien, Alamat, Kodekamar, Kodedokter,Ada Asuransi(Y/T),
biayaobat diinput , dg ketentuan :
 Kodekmr = 1 harga = 500.000/hr, Kodekmr = 2 harga = 300.000/hr,
Kodekmr =4 harga = 200000/hr, Kodekmr = 5 harga = 150.000/hr
 Kodedok = A1 tarif 300.000, Kodedok=A2 tarif 200.000, Kodedok = A3 tarif 200.000,
Kodedok=A4 tarif 100.000
 Biayakamar=(lama inap)*Harga per jenis kamar
 Jika ikut asuransi akan mendapatkan potongan 10% Harga kamar
 Bayar=(Biaya kamar+Biaya dokter+Biayaobat) – Potongan

Buatlah program dengan teknik record dan prosedur dengan input


Sejumlah (n) pasien yang dimasukkan oleh operator!
RESPONSI ALGORITMA - RABU
 Buatlah program untuk menghitung tagihan biaya Hotel dengan ketentuan N0nota,
tanggal, Namatamu, Alamat, Kodekamar,,Ada Member (Y/T), biaya fasilitas diinput , dg
ketentuan :
 Kodekmr =“EX” harga = 500.000/hr, Kodekmr =“SP” harga = 300.000/hr,
Kodekmr =“ST” harga = 200.000/hr, Kodekmr = “BB” harga = 150.000/hr
 Biayakamar=(lama inap)*Harga per jenis kamar
 Jika ikut member akan mendapatkan potongan 10% Harga kamar
 Bayar=(Biaya kamar+Biaya fasilitas) – Potongan

Buatlah program dengan teknik record dan prosedur dengan input


Sejumlah (n) pasien yang dimasukkan oleh operator!

Anda mungkin juga menyukai