The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Surya Prangga, 2020-11-23 10:54:07

Modul Ajar Kuliah

Buku Ajar Kuliah

Buku Ajar Kuliah
Pemrograman Visual

disusun oleh:

Surya Prangga

Program Studi Statistika

Fakutas Matematika dan Ilmu Pengetahuan Alam
Universitas Mulawarman
2020

I

Daftar Isi ii
1
Daftar Isi 12
Pemrograman Dasar 17
Pemrograman Terstruktur 24
Graphical User Interface (GUI) Komponen Standar I 32
Graphical User Interface (GUI) Komponen Standar II 37
Komponen Dialog 43
Komponen Chart 45
Materi Tambahan 52
Database 63
Structured Query Language (SQL) 65
Komponen DBGrid dan StringGrid 68
Komponen DBNavigator dan DBEdit 69
Manipulasi Database dengan Query 75
LazReport
Daftar Pustaka

II

Modul 1
Pemrograman Dasar

Capaian Pembelajaran
Setelah mengikuti materi pada modul satu diharapkan Mahasiswa mengetahui

dan memahami pengenalan pemrograman dasar yang berkaitan dengan:
a. Pengenalan Open-source Software Lazarus
b. Pendefinisian Variabel
c. Penggunaan Kondisi Cabang
d. Penggunaan Perulangan
e. Penggunaan Array
f. Penggunaan Record

a. Pengenalan Open-Source Software Lazarus
Lazarus merupakan aplikasi software berbasis visual yang menyediakan fasilitas

komprehensif untuk mengembangkan aplikasi dengan menggunakan bahasa pascal.
Penggunaan software Lazarus hampir mirip dengan Delphi yang dapat digunakan
pada berbagai macam platform seperti Windows, Mac OS, BSD dan Linux. Lazarus
juga merupakan open-source software sehingga dengan mudah kita dapatkan hanya
dengan mengunduh secara gratis melalui laman https://www.lazarus-ide.org/.
Tampilan dari software Lazarus dapat dilihat pada gambar 1.1.

Gambar 1.1 Tampilan Software Lazarus

1

Pada tampilan IDE tersebut dapat dilihat bahwa Lazarus terdiri dari beberapa
komponen bagian yang perlu diketahui, bagian pertama merupakan jendela Menu
Utama seperti yang ditunjukkan oleh gambar 1.2.

Gambar 1.2 Jendela Menu Utama
Pada bagian ini terdapat beberapa menu utama dan terdiri dari tab-tab yang berisikan
komponen-komponen dari software lazarus yang digunakan untuk membuat aplikasi.
Kemudian bagian kedua yaitu jendela Source Editor seperti yang ditunjukkan pada
Gambar 1.3.

Gambar 1.3 Jendela Source Editor
Pada jendela ini digunakan untuk menuliskan setiap perintah-perintah berupa
sintaks/kode program yang dibutuhkan. Jendela ketiga merupakan jendela Form
seperti yang ditunjukkan oleh Gambar 1.4.

2

Gambar 1.4 Jendela Form
Pada jendela inilah setiap komponen yang dibutuhkan untuk membuat aplikasi
diletakkan. Jendela selanjutnya merupakan jendela Messages seperti yang ditampilkan
pada Gambar 1.5.

Gambar 1.5 Jendela Pesan (Messages)
Pada jendela Messages inilah nantinya akan berisi semua pesan kesalahan (error),
peringatan (warning) maupun pesan sukses dalam proses eksekusi dari program yang
dijalankan. Kemudian jendela yang terakhir adalah jendela Object Inspector seperti
yang ditampilkan pada Gambar 1.6.

Gambar 1.6 Jendela Object Inspector

3

Pada jendela inilah pengaturan komponen-komponen yang digunakan seperti tampilan,
penamaan diatur pada tab properties sedangkan yang berkaitan dengan aksi/perlakuan
yang ingin diterapkan pada komponen tersebut diatur pada tab event.

b. Pendefinisian Variabel
Variabel merupakan wadah dari suatu data atau nilai. Sebagai contoh ketika kita

mengatakan X = 5 , itu berarti bahwa X merupakan sebuah variabel yang memuat
nilai 5.
Object Pascal merupakan bahasa pemrograman yang mengharuskan kita sebagai
pengguna untuk mendeklarasikan jenis atau tipe variabel sebelum memberikan nilai di
dalamnya. Jika kita mendeklarasikan X sebagai suatu variabel yang bersifat integer,
maka kita harus memasukkan nilai yang hanya bertipe integer ke dalam variabel X
pada program tersebut. Contoh dalam mendeklarasikan dan menggunakan variabel:

program Variabel;
{$mode objfpc}{$H+}
uses

{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };

var
x: Integer;

begin
x:= 5;
Writeln(x * 2);
Writeln('Tekan Enter untuk menutup');
Readln;

end.

Maka kita akan memperoleh nilai 10 pada luaran aplikasi. Ingat bahwa kita
menggunakan kata var untuk mendeklarasikan variabel pada baris berikutnya. Pada
pernyataan ini:

x: Integer;
Menunjukkan dua hal:

1. Nama variabel adalah X dan
2. Tipe variabelnya adalah integer, hanya dapat memuat nilai integer tanpa

pecahan. Dapat berupa nilai negatif maupun positif.
Pada pernyataan:

x:= 5;

4

Berarti bahwa kita meletakkan nilai 5 di dalam varaibel X.
Selain penggunaan tipe variabel yang dapat berupa Integer, Single , Double

dan Char terdapat beberapa sub tipe untuk variabel. Sebagai contoh, angka Integer
(bilangan bulat) berbeda pada rentang niai dan jumlah byte yang dibutuhkan untuk
menyimpan nilai dalam memori. Tabel 1.1 berikut menampilkan berbagai macam tipe
integer, rentang nilai, dan ukuran byte di dalam kapasitas memori:

Tabel 1.1 Tipe Integer

Tipe Nilai Minimum Nilai Maksimum Ukuran dalam byte

Byte 0 255 1

ShortInt -128 127 1

SmallInt -32768 32767 2

Word 0 65535 2

Integer -2147483648 2147483647 4

LongInt -2147483648 2147483647 4

Cardinal 0 4294967295 4

Int64 -9223372036854780000 9223372036854775807 8

c. Penggunaan Kondisi Cabang
Salah satu sifat yang paling penting dari perangkat yang canggih seperti komputer,

smartphone yaitu mereka mampu beroperasi pada berbagai kondisi. Hal ini
dikarenakan adanya penggunaan kondisi percabangan. Sebagai contoh, beberapa
mobil dapat mengunci pintunya secara otomatis ketika mencapai kecepatan 40
Km/Jam atau lebih. Kondisi dari kasus ini dapat berupa:

Jika kecepatan >= 40 dan pintu belum terkunci, maka pintu terkunci otomatis.

1. Kondisi If-then
Penggunaan kondisi if di dalam bahasa Pascal sangat mudah dan jelas. Berikut

akan diberikan contoh kasus untuk menentukan apakah air-conditioner (AC)
akan menyala atau mati menurut suhu ruangan.

5

var
Suhu: Single;

begin
Write(‘Masukkan suhu ruangan :’);
Readln(Suhu);
if Suhu > 22 then
Writeln(‘AC dinyalakan’)
else
Writeln(‘AC dimatikan’);

Write(‘Tekan Enter untuk keluar’);
Readln;
end.

Kita juga dapat membuat kondisinya menjadi lebih kompleks agar lebih

berguna:

var
Suhu: Single;
StatusAC: Byte;

begin
Write(‘Masukkan suhu ruangan :’);
Readln(Suhu);
Write(‘Apakah AC menyala? Jika menyala masukkan angka 1,’,’jika
mati masukkan angka 0:’);
Readln(StatusAC);

if (StatusAC = 1) and (Suhu > 22) then
Writeln(‘Biarkan tetap menyala’)

else
if (StatusAC = 1) and (Suhu < 18) then

Writeln(‘Matikan AC’)
else
if (StatusAC = 0) and (Suhu < 18) then

Writeln(‘Biarkan AC mati’)
else
if (StatusAC = 0) and (Suhu > 22) then

Writeln(‘Nyalakan AC’)
else

Writeln(‘Nilai yang dimasukkan salah’);

Write(‘Tekan Enter untuk keluar’);
Readln;
end.

2. Kondisi case-of

Terdapat metode yang lain untuk kondisi percabangan yang dinamakan

pernyataan Case-of. Percabangan ini melakukan eksekusi sesuai dengan nilai

ordinal dari kasus. Program restauran berikut akan memberikan ilustrasi

penggunaan kondisi case-of.

6

var
Makanan: Byte;

Begin

Writeln('Selamat Datang di RM Lazarus, silahkan pilih menu');

Writeln('1 - Ayam (10$)');

Writeln('2 - Ikan (7$)');

Writeln('3 - Daging (8$)');

Writeln('4 – Salad (2$)');

Writeln('5 - Jus Jeruk (1$)');

Writeln('6 - Susu (1$)');

Writeln;

Write('Masukkan pilihan anda: ');

Readln(Makanan);

case Makanan of
1: Writeln('Anda memesan Ayam, tunggu 15 menit');
2: Writeln('Anda memesan Ikan, tunggu 12 menit');
3: Writeln('Anda memesan Daging, tunggu 18 menit');
4: Writeln('Anda memesan Salad, tunggu 5 menit');
5: Writeln('Anda memesan jus jeruk, tunggu 2 menit');
6: Writeln('Anda memesan susu, tunggu 1 menit');

else
Writeln('Salah entri');

end;
Write('Tekan <enter> untuk keluar');
Readln;
end.

Dari program tersebut dapat dilihat bahwa untuk memilih jenis makanan
yang diinginkan maka harus dengan memasukkan angka yang sesuai dengan
pilihan tersebut. Penggunaan percabangan case-of menjadi pilihan terbaik ketika
diterapkan pada kasus-kasus yang memiliki banyak kondisi/alternatif.

d. Penggunaan Perulangan

Perulangan digunakan untuk mengeksekusi bagian tertentu dari kode dengan

jumlah perulangan yang telah ditentukan atau sampai kondisi yang diinginkan

terpenuhi.

1. Perulangan for

Kita dapat melakukan perulangan for sampai sejumlah angka tertentu

menggunakan hitugan seperti contoh berikut:

var
i: Integer;
hitung: Integer;

Begin
Write('Berapa kali? ');
Readln(hitung);
for i:= 1 to hitung do
Writeln('Halo!');

Write('Tekan enter untuk keluar');
Readln;
end.

7

Penggunaan variabel perulangan seperti contoh di atas maka tipe data yang
harus digunakan berupa Integer, Byte dan Char. Variabel ini disebut sebagai
variabel perulangan atau penghitung perulangan. Nilai dari variabel perulangan
dapat diinisialisasikan dengan nilai berapapun, dan dapat juga ditentukan nilai
akhir dari perulangannya. Sebagai contoh, jika kita memerukan hitungan dari 5
sampai 10, maka dapat dituliskan seperti:

for i:= 5 to 10 do

Kita juga dapat membuat iterasi perulangan for dengan hitungan mundur
menggunakan perintah downto sebagai ganti dari to yang dapat dituliskan
seperti:

for i:= 12 downto 1 do

2. Perulangan repeat - until
Tidak seperti perulangan for yang pengulangannya sesuai jumlah yang

ditentukan, perulangan repeat tidak memiliki hitungan. Perulangannya sampai
kondisi tertentu terjadi/terpenuhi (Return True), kemudian dilanjutkan kepada
statement selanjutnya setelah proses perulangan dilakukan. Contoh:

var
angka : Integer;

begin
repeat
Write('Silahkan masukkan angka: ');
Readln(angka);
until angka <= 0;
Writeln('Berakhir, Tekan enter untuk keluar');
Readln;

end.

Pada contoh tersebut, program memasuki perulangan kemudian meminta
pengguna untuk memasukkan sebuah angka. Jika angka tersebut kurang dari atau
sama dengan nol, maka prosesnya akan keluar dari perulangan. Jika
memasukkan angka yang ebih dari nol maka perulangan akan berlanjut.

3. Perulangan while
Perulangan while mirip dengan perulangan repeat, tetapi berbeda dari

beberapa aspek diantarnya:
a. Pada while, kondisi/syarat diperiksa di awal sebelum memasuki proses
perulangan, tetapi pada repeat memasuki perulangan di awal kemudian

8

memeriksa kondisi/syarat. Hal ini berarti bahwa repeat selalu melakukan
eksekusi minimal sekali, tetapi while dapat terhalang memasuki proses
awal jika kondisi pengembalian bernilai False dari awal.
b. Perulangan while memerlukan begin end jika terdapat banyak pernyataan
(statement) yang perlu dieksekusi di dalam perulangan, tetapi repeat
tidak memerlukan begin end, Ia memblok (pernyataan yang diulang)
mulai dari kata repeat sampai pada kata until.
Contoh:

var
Fak, Angka, i: Integer;

begin
Write('Masukkan angka berapapun: ');
Readln(angka);
Fak:= 1;
i:= Angka;
while i > 1 do
begin
Fak:= Fak * i;
i:= i - 1;
end;
Writeln('Faktorial dari', Angka ,' adalah ', Fak);
Writeln('Tekan enter untuk keluar');
Readln;

end.

Perulangan while tidak memiliki hitungan, dan dengan alasan itulah harus
menggunakan variabel i untuk berperan sebagai hitungan perulangannya. Nilai
hitungan perulangannya diinisialisasikan dengan angka yang kita butuhkan hasil
faktorialnya sehingga dilakukan pengurangan secara manual pada tiap proses
pengulangan. Ketika i mencapai nilai 1 maka perulangan akan berhenti.

e. Penggunaan Array
Array merupakan suatu rangkaian variabel yang memiliki tipe data yang sama.

Jika ingin mendeklarasikan sebuah array dari 10 variabel yang bertipe integer, kita
dapat menyusunnya seperti berikut:

Numbers: array [1..10] of Integer;

Kita dapat mengakses masing-masing variabel hanya degan menggunakan
indeksnya. Sebagai contoh, untuk memberikan nilai ke dalam variabe pertama dalam
array kita dapat menuliskannya sebagai:

Numbers[1]:= 30;

Begitu pula dengan variabel-variabel lainnya. Pada contoh selanjutnya, kita akan
meminta pengguna untuk memasukkan 10 NIM mahasiswa yang telah ditandai dan

9

memasukkannya ke dalam sebuah array. Pada akhirnya kita akan memeriksa hasil
mereka apakah lulus ujian atau gagal.

var
Tanda: array [1 .. 10] of Integer;
i: Integer;

begin
for i:= 1 to 10 do
begin
Write('Masukkan NIM mahasiswa ', i, ' tanda: ');
Readln(Tanda[i]);
end;

for i:= 1 to 10 do
begin

Write('Mahasiswa dengan NIM ', i, ' dengan tanda : ', Tanda[i]);
if Tanda[i] >= 40 then

Writeln(' Lulus')
else

Writeln(' Gagal');
end;

Writeln('Tekan enter untuk keluar');
Readln;
end.

f. Penggunaan Record
Ketika array dapat diisi oleh banyak variabel dengan tipe yang sama, sebaliknya

record dapat diisi dengan variabel-variabel dari tipe yang berbeda, dan kumpulan
variabel ini dinamakan dengan ‘Fields’. Kumpulan dari variabel/fields dapat
diperlakukan sebagai suatu unit atau variabel. Kita dapat menggunakan record untuk
menyimpan informasi yang termasuk pada objek yang sama, sebagai contoh yaitu
informasi mobil:

1. Tipe Mobil: variabel String
2. Ukuran Mesin: variabel real
3. Tahun Produksi: nilai integer
Kita dapat mengumpulkan tipe-tipe yang berbeda ini ke dalam sebuah record yang
mewakili sebuah mobil seperti yang ditunjukkan pada contoh berikut.

program Mobil;

{$mode objfpc}{$H+}

uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };

10

type
TMobil = record
NamaModel: string;
Mesin: Single;
Tahun: Integer;
end;

var

Mobil: TMobil;

begin

Write('Masukkan nama mobil: ');

Readln(Mobil.NamaModel);

Write('Masukkan ukuran mobil: ');

Readln(Mobil.Mesin);

Write('Masukkan Tahun: ');

Readln(Mobil.Tahun);

Writeln;

Writeln('Informasi Mobil: ');

Writeln('Nama model : ', Mobil.NamaModel);

Writeln('Ukuran mesin : ', Mobil.Mesin);

Writeln('Tahun model : ', Mobil.Tahun);

Write('Tekan enter untuk keluar');

Readln;

end.

Pada contoh tersebut kita telah menetapkan tipe baru (record) menggunakan kata
type:

type
TMobil = record
NamaModel: string;
Mesin: Single;
Tahun: Integer;
end;

Kita telah menambahkan huruf (T) pada kata mobil (TMobil) untuk
mengindikasikan bahwa ini adalah sebuah tipe (type) dan bukan suatu variabel. Nama
variabel dapat berupa Mobil, Rumah, UserName, tetapi nama tipe harus berupa:
TMobil, TRumah, dan TUserName. Hal ini merupakan aturan standar di dalam bahasa
Pascal.

Ketika kita ingin menggunakan tipe baru ini, maka kita harus mendeklarasikan
sebuah variabel dari tipe tersebut, sebagai contoh:

var
Mobil: TMobil;

Jika ingin menyimpan salah satu nilai dari variabel/fields tersebut, kita dapat
mengaksesnya dengan cara:

Car.ModelName

11

Modul 2
Pemrograman Terstruktur

Capaian Pembelajaran
Setelah mengikuti materi pada modul dua diharapkan Mahasiswa mengetahui dan
dapat membuat pemrograman terstruktur yang berkaitan dengan:
a. Penggunaan Procedure
b. Penggunaan Function
c. Penggunaan Unit

Pemrograman Terstruktur muncul setelah adanya pengembangan program.
Program aplikasi yang besar menjadi tidak terbaca (dipahami) dan tidak dapat
dipertahankan ketika dibentuk menggunakan kode yang tidak terstruktur dalam satu
kesatuan file. Pada pemrograman terstruktur, kita dapat memisahkan kumpulan kode
dari sebuah aplikasi menjadi bagian-bagian yang lebih kecil yang dinamakan
procedure(prosedur) dan function(fungsi). Kita juga dapat menggabungkan prosedur
dan fungsi yang berkaitan dengan suatu subjek menjadi sebuah file kode terpisah yang
dinamakan dengan sebuah unit.

Keuntungan menggunakan pemrograman terstruktur:
1. Pembagian kode aplikasi menjadi modul-modul dan prosedur yang dapat

dibaca (dipahami)
2. Kode bersifat re-usability: prosedur dan fungsi dapat dipanggil atau

dieksekusi dari bagian manapun pada kode berulang kali tanpa perlu untuk
menuliskan kembali dan menggandakan kode tersebut.
3. Pemrogram dapat berbagi dan ikut serta ke dalam suatu proyek di waktu yang
sama. Tiap pemrogram dapat menuliskan prosedur dan fungsinya sendiri ke
dalam unit terpisah, kemudian mereka dapat menyatukan unit-unit tersebut ke
dalam proyek.
4. Peningkatakan dan pemeliharan aplikasi menjadi mudah; kita dapat
menemukan bugs dengan mudah di dalam prosedur, mudah juga untuk
memperbaiki prosedur dan fungsi dengan cara membuat baru, menambhakan
unit yang baru, dan sebagainya.

12

5. Mengenalkan modul-modul dan lapisan-lapisan (layer): kita dapat membagi
suatu aplikasi ke dalam lapisan-lapisan dan modul-modul yang berbeda:
sebagai contoh kita dapat membuat sebuah unit yang memuat prosedur untuk
membaca, menuliskan data dari/ke dalam file, dan unit lainnya.

a. Penggunaan Procedure
Kita telah menggunakan beberapa prosedur pada bagian sebelumnya seperti

Writeln, Readln, Reset, dan sebagainya. Akantetapi kali ini kita ingin membuat
prosedur-prosedur sesuai kebutuhan dari aplikasi yang kita miliki. Pada contoh
berikut kita telah menuliskan dua prosedur: Ucapan Halo dan Ucapan
SelamatTinggal.

program terstruktur;
{$mode objfpc}{$H+}

uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };

procedure UcapanHalo;
begin

Writeln('Halo semuanya');
end;

procedure UcapanSelamatTinggal;
begin

Writeln('Selamat Tinggal');
end;

begin // Ini bagian utama aplikasi
Writeln('Di sini bagian utama aplikasi dimulai');
UcapanHalo;
Writeln('Ini adalah aplikasi terstruktur');
UcapanSelamatTinggal;
Write('Tekan enter untuk keluar');
Readln;

end.

Kita melihat bahwa prosedur seperti suatu program kecil yang memiliki
begin...end tersendiri dan dapat dipanggil dari kode aplikasi utama.

b. Penggunaan Function
Fungsi mirip seperti prosedur tetapi memiliki sebuah fitur tambahan yaitu

mengembalikan nilai (return value). Kita juga telah menggunakan fungsi - fungsi

13

sebelumnya yaitu seperti UpperCase yang fungsinya untuk mengubah teks menjadi
huruf kapital, ada juga Abs yaitu untuk memberikan nilai absolut dari suatu angka.

Sebagai contoh, kita telah membuat fungsi GetSumm untuk mendapatkan dua
nilai integer dan mengembalikan hasil penjumlahannya.

function GetSumm(x, y: Integer): Integer;
begin

Result:= x + y;
end;

var
Sum: Integer;

begin
Sum:= GetSumm(2, 7);
Writeln('Summation of 2 + 7 = ', Sum);
Write('Press enter key to close');
Readln;

end.

c. Penggunaan Unit
Unit di dalam Pascal merupakan sebuah library yang memuat prosedur-prosedur,

fungsi-fungsi, nilai-nilai konstanta, dan tipe-tipe data yang dapat digunakan di dalam
banyak aplikasi.

Unit digunakan untuk tujuan:
1. Akumulasi prosedur dan fungsi yang sering digunakan pada aplikasi di dalam

unit eksternal. Ini bagian dari kode re-usability di dalam pengembangan
software.
2. Menggabungkan prosedur dan fungsi yang digunakan untuk melakukan
pekerjaan tertentu pada satu entitas. Daripada mengumpulkan kode utama
aplikasi dengan prosedur-prosedur yang tidak memiliki keterkaitan, lebih baik
membagi aplikasi menjadi modul-modul yang logik menggunakan unit.
Untuk membuat unit yang baru, kita dapat menuju menu File/New Unit pada menu
Lazarus, lalu Lazarus membuat template sebagai berikut:

unit Unit1;
{$mode objfpc}{$H+}

Interface

uses
Classes, SysUtils;

Implementation

end.

14

Setelah membuat sebuah unit yang baru, kita harus menyimpannya menggunakan
nama yang spesifik seperti test. File ini akan disimpan dengan nama test.pas, tetapi
nama unit akan tetap bernama test pada aplikasi. Kemudian kita dapat memulai
menulis prosedur, fungsi dan berbagai kode:

unit Unit1;
{$mode objfpc}{$H+}

Interface

uses
Classes, SysUtils;

const
GallonPrice = 6.5;

function GetKilometers(Payment, Consumption: Integer): Single;

Implementation

function GetKilometers(Payment, Consumption: Integer): Single;
begin

Result:= (Payment / GallonPrice) * Consumption;
end;

end.

Kita telah menuliskan konstanta GallonPrice dan fungsi GetKilometers yang dapat
dipanggil dari program manapun. Begitu juga dengan meletakkan header fungsi di
bagian antarmuka unit dengan tujuan agar dapat diakses dari luar unit. Aplikasi hanya
dapat mengakses bagian antarmuka dari unit. Untuk menggunakan unit ini, kita harus
membuat sebuah program baru di dalam directory yang sama sebagai unit (test.pas),
dan kemudian kita harus menambahkan unit tersebut ke dalam klausa uses:

program PetrolConsumption;
{$mode objfpc}{$H+}

uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes, SysUtils
{ you can add units after this }, Test;

var
Payment: Integer;
Consumption: Integer;
Kilos: Single;

begin
Write('How much did you pay for your car''s petrol: ');
Readln(Payment);
Write('What is the consumption of your car (Kilos per one Gallon) ');
Readln(Consumption);

Kilos:= GetKilometers(Payment , Consumption);

15

Writeln('This petrol will keep your car running for: ',
Format('%0.1f', [Kilos]), ' Kilometers');

Write('Press enter');
Readln;
end.

Jika kita ingin menuju kode fungsi GetKilometers, kita dapat menekan tombol
Ctrl kemudian klik nama tersebut dengan mouse untuk menampilkan kode program
dari fungsi GetKilometers. Lazarus/Delphi akan segera membuka unit test dan
menampilkan fungsi tersebut. Kita juga dapat membuka unit test di dalam editor
dengan menggerakkan kursor kepada nama unit (test), dan kemudian menekan Alt +
Enter.

Kita dapat mengakses unit dari program pada kondisi-kondisi berikut:
1. File unit terdapat pada directory yang sama sebagai aplikasinya.
2. Menambahkan unit pada projek, dengan membuka unit di dalam Lazarus

kemudian pilih Project/Add Editor File to Project.
3. Menambahkan path unit ke dalam Project/Project Options/Compiler

Options/Paths/Other Unit Files.

16

Modul 3
Graphical User Interface (GUI) Komponen Standar I

Capaian Pembelajaran
Setelah mengikuti materi pada modul tiga diharapkan Mahasiswa mengetahui proses
Graphical User Interface (GUI) pada komponen standar I :
a. TButton
b. TEdit
c. Tlabel
d. TListBox
e. TMemo

Graphical User Interface (GUI) merupakan suatu alternatif baru bagi antarmuka
konsol. Padanya memuat forms, tombol, kotak pesan, menu, kotak centang dan
komponen-komponen grafis. GUI lebih mudah bagi pengguna untuk membuat
aplikasi berbasis GUI daripada aplikasi berbasis konsol. GUI digunakan untuk
aplikasi bisnis, aplikasi bagi sistem operasi, permainan, dan alat pengembangan
aplikasi seperti Lazarus, dan banyak aplikasi-aplikasi lainnya.

Beberapa komponen standar pada Lazarus yang sering digunakan untuk membuat
suatu aplikasi seperti:

a. TButton
Komponen button merupakan sebuah komponen yang memberikan kontrol

berupa tombol tekan. Komponen ini merupakan salah satu komponen kontrol yang
paling dasar pada sebuah form. Penanganan aksi pada komponen button terlihat
seperti berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin
end;

Contoh penggunaan:
Pembuatan aplikasi untuk memunculkan pesan singkat.

17

Komponen: Forms dan TButton,
Object Inspector:

Button “Klik!”
Caption Klik tanda [...]/Klik dua kali
Event: OnClick

Tambahkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin

ShowMessage('Selamat Datang di Aplikasi Lazarus');
end;

Atur komponen seperti pada gambar 3.1:

Gambar 3.1 Form Button
Lalu eksekusi program dengan menekan tombol Run (F9).

b. TEdit
Komponen TEdit adalah sebuah kontrol teks yang dapat diedit dengan aturan
single line. Sebagai contoh kita dapat mengubah teks yang ditampilkan di Edit1
dengan menggunakan Edit1.Text := myString;.
Contoh penggunaan:
Pembuatan formulir input password
Komponen: Forms, TEdit dan TButton

TEdit “Masukkan Password”
Text “*”
Property: PasswordChar
TButton “Tampilkan
Caption Klik tanda [...]/Klik dua kali
Event: OnClick

18

Tambahkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin

ShowMessage(Edit1.Text);
end;

Atur komponen seperti pada gambar 3.2:

Gambar 3.2 Form TEdit
Lalu tekan F9 untuk melihat hasilnya.

c. TLabel
Komponen TLabel merupakan sebuah komponen untuk membuat teks item

dengan aturan satu atau lebih baris pada komponen lainnya. Sebagian besar
label-label digunakan untuk menandai komponen lainnya, seperti Edit Fields, Memo,
StringGrid dan sebagainya.
Contoh Penggunaan:
Komponen: Form1, 2 Label, EditBox, dan Button.

Form1 fmMain
Name Aplikasi isian formulir
Caption “Masukkan nama anda”
Label1 Namamu
Caption ednama
Label2
Name “Klik”
Edit1 [Masukkan kode dibawah]
Name
Text
Button1
Caption
Event: OnClick

19

Masukkan kode berikut:

procedure TfmMain.Button1Click(Sender: TObject);
begin

Namamu.Caption:= 'Halo '+ ednama.Text;
end;

Atur komponen seperti pada gambar 3.3:

Gambar 3.3 Aplikasi isian formulir

Lalu tekan F9 untuk menjalankan program.

d. TListBox
Komponen TlistBox merupakan sebuah komponen yang memperlihatkan

(scrollable) daftar dari string dimana pengguna diminta untuk memilih satu diantara
beberapa daftar pilihan. Di dalam ListBox, menyimpan kumpulan string yang
disimpan pada item properti dengan tipe TStrings. Penyimpanan string pada ListBox
dapat dilakukan dengan dua cara yaitu melalui String Editor dan kedua menggunakan
komponen button click.
Contoh Penggunaan:
Komponen: Form1, 4 Buttons, EditBox dan ListBox

Form1 Aplikasi List Box
Caption
Button1 “Tambah”
Caption bttambah
Name
Button2 btclear
Name “Kosongkan”
Caption

20

Button3 bthapus
Name “Hapus”
Caption
Button4 btkeluar
Name “Keluar”
Caption

Atur komponen seperti pada gambar 3.4:

Gambar 3.4 Aplikasi List Box

Masukkan kode berikut:

procedure TForm1.bttambahClick(Sender: TObject);
begin

ListBox1.Items.Add(Edit1.Text);
end;

procedure TForm1.btclearClick(Sender: TObject);
begin

ListBox1.Clear;
end;

procedure TForm1.bthapusClick(Sender: TObject);
var

Index: Integer;
begin

Index:= ListBox1.ItemIndex;
if Index <> -1 then
ListBox1.Items.Delete(Index);
end;

procedure TForm1.btkeluarClick(Sender: TObject);
Begin

Close;
end;

Lalu tekan tombol F9 untuk menjalankan program.

21

e. TMemo
Komponen TMemo adalah sebuah kontrol teks yang dapat diedit dengan format

multiple lines (banyak baris).
Contoh Penggunaan:
Pembuatan aplikasi memo
Komponen: Forms, 2 Buttons, EditBox dan Memo

Button1 “Tambah Judul”
Caption
Button2 “Simpan”
Caption Left = False, Right = True
Anchor
Edit1 ssBoth (horizontal dan vertikal)
Text True
Memo1 Top=True, Left = True, Right =
ScrollBars True, Buttom = True
ReadOnly
Anchors Aplikasi Berita

Forms1
Caption

Atur komponen seperti pada gambar 3.5:

Gambar 3.5 Aplikasi Berita (memo)

22

Masukkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin

Memo1.Lines.Insert(0,
FormatDateTime('yyyy-mm-dd hh:nn', Now) + ': ' + Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin

Memo1.Lines.SaveToFile('news.txt');
end;

procedure TForm1.FormClose(Sender: TObject; //Form’s event OnClose
var
CloseAction: TCloseAction);
begin

Memo1.Lines.SaveToFile('news.txt');
end;

procedure TForm1.FormCreate(Sender: TObject); //Form’s event OnCreate
begin

if FileExists('news.txt') then
Memo1.Lines.LoadFromFile('news.txt');
end;

Jalankan program dengan menekan tombol F9.

23

Modul 4
Graphical User Interface (GUI) Komponen Standar II

Capaian Pembelajaran
Setelah mengikuti materi pada modul empat diharapkan Mahasiswa mengetahui
proses Graphical User Interface (GUI) pada komponen standar II :
a. TCheckBox
b. TGroupBox
c. TComboBox
d. TRadioButton
e. TToggleBox

a. TCheckBox
Kompone CheckBox merupakan sebuah komponen yang menyediakan sebuah

label yang diberi kotak dimana dapat memuat tanda centang. Ketika CheckBox diberi
centang, maka item yang diberi centang tersebut bernilai True sedangkan lainnya
False.

Contoh penggunaan: Membuat aplikasi pilihan menu rumah makan
Komponen: Forms, 2 GroupBox, 1 Button, 9 CheckBox, 6 EditBox, 1 Label

Form1 “Aplikasi Menu”
Caption “Selamat Datang di RM. Lazarus”
Label Pilih Paket
Caption Pilih Minuman
GroupBox1 Berdua (45K)
Caption
GroupBox2
Caption
CheckBox1
Caption

24

CheckBox2

Caption Bertiga (60K)

CheckBox3

Caption Berempat (70)

CheckBox4

Caption Cappucino @15K

CheckBox5

Caption Lime Tea @10K

CheckBox6

Caption Orange Juice @ 9K

CheckBox7

Caption Es Cendol @4K

CheckBox8

Caption Es Milo @3K

CheckBox9

Caption Air Mineral @3K

Edit1, Edit2, Edit3, Edit4, Edit5, Edit6

Text 0

Button1

Caption Tagihan

Atur komponen seperti pada gambar 4.1:

Gambar 4.1 Aplikasi Menu

25

Masukkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
var

biayapaket, biayaminum:Real;
minum1, minum2, minum3, minum4, minum5, minum6:Real;
begin
biayapaket:=0;
if CheckBox1.Checked then biayapaket:=45;
if CheckBox2.Checked then biayapaket:=60;
if CheckBox3.Checked then biayapaket:=70;

if (CheckBox1.Checked and CheckBox2.Checked) then
biayapaket:=45+60;

if (CheckBox1.Checked and CheckBox3.Checked) then
biayapaket:=45+70;

if (CheckBox2.Checked and CheckBox3.Checked) then
biayapaket:=60+70;

if (CheckBox1.Checked and CheckBox2.Checked and CheckBox3.Checked)
then biayapaket:=45+60+70;

if CheckBox4.Checked = true then
minum1:=15*strtofloat(Edit1.Text)
else
minum1:=0;

if CheckBox5.Checked = true then
minum2:=10*strtofloat(Edit2.Text)
else
minum2:=0;

if CheckBox6.Checked = true then
minum3:=9*strtofloat(Edit3.Text)
else
minum3:=0;

if CheckBox7.Checked = true then
minum4:=4*strtofloat(Edit4.Text)
else
minum4:=0;

if CheckBox8.Checked = true then
minum5:=3*strtofloat(Edit5.Text)
else
minum5:=0;

if CheckBox9.Checked = true then
minum6:=3*strtofloat(Edit6.Text)
else
minum6:=0;

biayaminum:=minum1+minum2+minum3+minum4+minum5+minum6;

ShowMessage('Total biaya yang harus dibayar adalah Rp '
+ floattostr((biayapaket+biayaminum)*1000));

end;

Jalankan program dengan menekan tombol F9.

26

b. TGroupBox
Komponen TGroupBox adalah sebuah wadah yang memungkinkan sejumlah

objek untuk dikelompokkan secara fisik dan konseptual pada form.
Contoh penggunaan: Aplikasi Login Admin/User
Komponen: Form, 2 Button, 2 RadioButton, 2 GroupBox

Form1 “Aplikasi Admin/User”
Caption
Button1 “Login”
Caption
Button2 “Login”
Caption
RadioButton1 “User”
Caption
RadioButton2 “Admin”
Caption True
Checked Select “RadioButton1Change”
Event: OnChange

Atur komponen seperti pada gambar 4.2:

Gambar 4.2. Aplikasi Admin/User

27

Masukkan kode berikut:

procedure TForm1.RadioButton1Change(Sender: TObject);
begin

GroupBox2.Visible:=Radiobutton2.Checked;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

ShowMessage('User dan Admin dapat mengeklik tombol ini');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin

ShowMessage('hanya Admin dapat mengeklik tombol ini')
end;

Lalu jalankan program dengan menekan tombol F9.

c. TComboBox
Komponen ComboBox merupakan kombinasi dari EditBox dan dropdown list

yang memungkinkan salah satu dari beberapa opsi dapat dipilih. Kegunaannya
sebagai wadah untuk menyimpan data string di dalam item properti, sehingga kita
dapat menambah dan menghapus string di dalam ComboBox.

Contoh Penggunaan: Mengubah warna background pada form.
Komponen: Forms dan ComboBox

Form1 “Aplikasi ubah warna background”
Caption Klik tanda [...] masukkan kode
Event: OnCreate
ComboBox1 Klik tanda [...] masukkan kode
Event: OnChange
Text

Atur komponen seperti pada gambar 4.3:

Gambar 4.3 Aplikasi ubah warna background

28

Masukkan kode berikut:

procedure TForm1.FormCreate(Sender: TObject);

begin

ComboBox1.Items.Clear; //hapus seluruh item

ComboBox1.Items.Add('Red'); //menambahkan item pilihan

ComboBox1.Items.Add('Green');

ComboBox1.Items.Add('Blue');

ComboBox1.Items.Add('Random Color');

end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin

case ComboBox1.ItemIndex of //nilai yang dimasukkan akan menjadi pilihan
0: Color:=clRed;
1: Color:=clGreen;
2: Color:=clBlue;
3: Color:=Random($1000000);

end;
end;

Lalu jalankan program dengan menekan tombol F9.

d. TRadioButton
Komponen RadioButton merupakan komponen yang menampilkan sebuah

tombol pilihan yang bekerja dengan tombol radio yang lain secara mutually exclusive
artinya jika tombol yang satu dipilih, maka tombol lainnya tidak dapat dipilih. Kita
dapat mengatur status dari tombol radio menjadi aktif atau nonaktif dengan query
Status:= <RadioButton>.Checked;.

Contoh penggunaan: Mengubah warna background
Komponen:Forms dan 3 RadioButton, Button

Form1 “Mengubah warna background”
Caption
RadioButton1 Merah
Caption rbmerah
Name
RadioButton2 Hijau
Caption rbhijau
Name
RadioButton3 Biru
Caption rbbiru
Name

29

Button1 Ubah
Caption

Atur komponen seperti pada gambar 4.4:

Gambar 4.4 Mengubah warna background

Masukkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin

if rbmerah.Checked then Color:=clRed;
if rbhijau.Checked then Color:=clLime;
if rbbiru.Checked then Color:=clBlue;
end;

Lalu jalankan program dengan menekan tombol F9.

e. TToggleBox
Komponen ToggleBox adalah sebuah tombol berlabel yang memiliki dua keadaan

yaitu menunjukkan keadaan aktif dan nonaktif dengan sekali klik.
Contoh penggunaan: Mengubah gambar pada latar.
Komponen:Forms, 3 ToggleBox, Button.

Form1 “Mengubah warna latar”
Caption
ToggleBox1 Merah
Caption tbmerah
Name
ToggleBox2 Hijau
Caption tbhijau
Name
ToggleBox3 Biru
Caption

30

Name tbbiru
Button1 Ubah
Caption

Atur komponen seperti pada gambar 4.5:

Gambar 4.5. Ubah Latar

Masukkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);

var

aColor: TColor;

begin

aColor:=0; //warna latar menurut isian tooglebox

if tbmerah.Checked then aColor:=aColor + $0000FF;

if tbhijau.Checked then aColor:=aColor + $00FF00;

if tbbiru.Checked then aColor:=aColor + $FF0000;

Color := aColor;

end;

Lalu tekan F9 untuk menjalankan program.

31

Modul 5
Graphical User Interface (GUI) Komponen Dialog

Capaian Pembelajaran
Setelah mengikuti materi pada modul lima diharapkan Mahasiswa mengetahui proses
Graphical User Interface (GUI) pada komponen Dialog:
a. TOpenDialog dan TSaveDialog
b. TColor Dialog
c. TFontDialog
d. TCalender

a. TOpenDialog dan TSaveDialog
Komponen TOpenDialog adalah sebuah dialog yang digunakan untuk membantu
membuka suatu file. Sedangkan TSaveDialog adalah dialog yang digunakan untuk
membantu menyimpan file.
Contoh penggunaan: membuat aplikasi teks editor.
Komponen: Forms, TOpenDialog, TSaveDialog, TMainMenu, TMemo

Form1 “Teks Editor”
Caption
TMemo alClient
Align ssBoth
ScrollBars
TMainMenu Buat Menu File ( SubMenu: Open
File, Save File, Close)
Klik komponen Open
Save
Name (Open File) Close
Name (Save File)
Name (Close)

32

Atur Komponen seperti pada Gambar 5.1:

Gambar 5.1 Forms Teks Editor
Double klik pada komponen MainMenu1 lalu tambahkan Menu File dengan submenu
Open File, Save File dan Close sehingga tampak seperti Gambar 5.2a dan 5.2b.

Gambar 5.2a. SubMenu Gambar 5.2b. Form Akhir

Masukkan kode berikut:

procedure TForm1.OpenClick(Sender: TObject);
begin

if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

procedure TForm1.SaveClick(Sender: TObject);
begin

if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(SaveDialog1.FileName +'.txt');
end;

procedure TForm1.CloseClick(Sender: TObject);
begin

Close;
end;

Jalankan program dengan menekan tombol F9.

33

b. TColorDialog
Komponen TClolorDialog adalah dialog yang membantu memilih warna pada

palet. Contoh sederhana dalam menggunakan TColorDialog untuk mengubah warna
latar.

Komponen: Form, Button dan ColorDialog.

Form1 “Penggunaan Color Dialog”
Caption Ubah Warna
Button1
Caption

Atur komponen seperti pada Gambar 5.3:

Gambar 5.3 Form Color Dialog

Masukkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin

if colordialog1.Execute then
form1.Color:=(colordialog1.Color);
end;

Tekan F9 untuk menjalankan aplikasi.

c. TFontDialog
Komponen FontDialog merupakan komponen dialog yang membantu dalam

memilih jenis huruf. Contoh penggunaan FontDialog untuk mengubah huruf pada
memo.

Komponen: Forms, FontDialog, Button.

Form1 “Penggunaan Font Dialog”
Caption

34

Button1 Font
Caption

Atur komponen seperti pada Gambar 5.4:

Gambar 5.4 Penggunaan Font Dialog

Masukkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin

if fontdialog1.Execute then
memo1.Font:=fontdialog1.Font;
end;

Tekan F9 untuk menjalankan program.

d. TCalenderDialog
Komponen Calender Dialog merupakan dialog yang membantu dalam memilih suatu
tanggal dari kalender. Contoh penggunaan Calender Dialog pada formulir isian
biodata.
Komponen: Forms, 4 Label, 2 Button, 1 CalenderDialog, EditBox, StaticText.

Form1 “Form Isian Biodata”
Caption Nama
Label1 Tanggal Lahir
Caption Label3
Label2
Caption
Label3
Caption

35

OptimalFill True
Static Text [kosong]
Caption Kalender
Button1 OK
Caption
Button2
Caption

Atur Komponen seperti pada Gambar 5.5:

Gambar 5.5. Form Isian Biodata

Masukkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);
begin

if calendardialog1.Execute then
statictext1.Caption:=datetostr(calendardialog1.Date);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
label3.Caption:='Namamu '+edit1.Text+' dan tanggal lahir anda
'+statictext1.Caption;
end;

Jalankan program dengan menekan tombol F9.

36

Modul 6
Graphical User Interface (GUI) Komponen Chart

Capaian Pembelajaran
Setelah mengikuti materi pada modul enam diharapkan Mahasiswa mengetahui proses
Graphical User Interface (GUI) pada komponen Chart:
a. TChart
b. TListChartSource dan TRandomChartSource

a. TChart
Komponen TChart digunakan untuk menggambar berbagai macam grafik dan

diagram pada layar. Terdapat dua hal penting yang perlu diketahui pada komponen
TChart yaitu Series dan Chart. Chart menunjukkan pergerakan nilai atau harga.
Sedangkan series merupakan setiap fungsi yang ditampilkan sebagai kurva. Contoh
penggunaan Chart yaitu pada pembuatan series dari fungsi sinus dan cosinus.

Komponen: Forms dan Chart

Form1 “Chart”
Caption Masukkan kode (Tambah data)
Event: OnCreate
Chart Add 3 line Series
Double Klik alClient
Align “My First Chart”
Title>Text [...] True
Visible
Series SinSeries, CosSeries, SinCosSeries
Name (Series) y=sin(x), y=cos(x), y=sin(x)*cos(x)
Title (Series) Merah, Biru, Hitam
SeriesColor (Series)
Property: Legend IaBottomCenter
Alignment 3
ColumnCount

37

Visible True

Property: Chart Axis

LeftAxis>Title>Caption “Sumbu y”

Visible True

BottomAxis>Title>Caption “Sumbu x”

Visible True

Atur komponen seperti pada Gambar 6.1:

Gambar 6.1 Chart

Masukkan kode berikut:

procedure TForm1.FormCreate(Sender: TObject);
const

N = 100;
MIN = -10;
MAX = 10;
var
i: Integer;
x: Double;
begin
for i:=0 to N-1 do
begin

x := MIN + (MAX - MIN) * i /(N - 1);
SinSeries.AddXY(x, sin(x));
CosSeries.AddXY(x, cos(x));
SinCosSeries.AddXY(x, sin(x)*cos(x));
end;
end;

Jalankan program dengan menekan tombol F9.

b. TListChartSource dan TRandomChartSource
Ada banyak cara agar data dapat dimasukkan ke dalam grafik. Kita dapat

menggunakan ListChartSource. Biasanya data dimuat ke dalam wadah ini secara
dinamis pada saat proses eksekusi, misalnya setelah membaca file. Namun, pada

38

kasus ini kita dapat memasukkan data tersebut pada saat pembuatan mengunakan
editor data dari ListChartSource. Keuntungannya yaitu semua perubahan yang
dilakukan pada grafik akan segera ditampilkan, tidak perlu melakukan kompilasi atau
eksekusi.

Dalam tutorial ini akan membahas ide dasar tentang cara membuat grafik dengan
beberapa bar series yang disusun secara berdampingan. Selain bar series tutorial ini
juga akan mengenal TRandomChartSource yang merupakan alat bantu untuk
membuat grafik tanpa perlu mengompilasi aplikasi.
Contoh penggunaan: Membuat grafik diagram batang dengan ChartSource.
Komponen: Forms, Chart, ChartSource, RandomChartSource.

Form1

Caption “Bar Series”

3 RandomChartSource

Name (ChartSource) RedChartSource,

BlueChartSource,

YellowChartSource

PointNumber (ChartSource) 4

XMin (ChartSource) 1

XMax (ChartSource) 4

YMin (ChartSource) 0

YMax (ChartSource) 100

TChart

Double Klik Add 3 bar series

Chart1BarSeries: Source RedChartSource

Chart1BarSeries: SeriesColor clRed

Chart1BarSeries: Name RedBarSeries

Chart1BarSeries: Title red

Chart2BarSeries: Source BlueChartSource

Chart2BarSeries: SeriesColor clBlue

Chart2BarSeries: Name BlueBarSeries

Chart2BarSeries: Title blue

Chart3BarSeries: Source YellowChartSource

Chart3BarSeries: SeriesColor clYellow

39

Chart3BarSeries: Name YellowBarSeries
Chart3BarSeries: Title yellow
Visible True
Property: Chart Legend
Alignment IaTopRight
ColumnCount 1
Visible True
TBarSeries
RedBarSeries: -25
-BarOffsetPercent 25
-BarWidthPercent
BlueBarSeries: 0
-BarOffsetPercent 25
-BarWidthPercent
YellowBarSeries: 25
-BarOffsetPercent 25
-BarWidthPercent

Atur komponen seperti pada gambar 6.2:

Gambar 6.2 Bar Series
Kemudian menambahkan komponen TListChartSource pada Form.

TListChartSource LabelsChartSource
Name Klik [...] > data point editor
Property: DataPoint

40

Kemudian memasukkan data seperti pada Gambar 6.3. Untuk menambahkan baris
data dengan klik kanan lalu insert row atau dengan menekan tombol ke bawah pada
keyboard. Dalam kolom X, menyatakan nilai-nilai koordinat x dari setiap bar group
(dalam hal ini, kolom Y dapat diabaikan). Kolom “Text” menyatakan teks yang akan
muncul untuk setiap bar group. Dalam hal ini diasumsikan bahwa data-data series
menyatakan nilai-nilai musiman kuartal (Q1, Q2, Q3, Q4).

Gambar 6.3 Data Point Editor
Atur kembali beberapa properti dari ListChartSource sebagai berikut:

TChart
BottomAxis>Marks>Source LabelsChartSource
BottomAxis>Marks>Style smsLabel
Sehingga tampilan dari form menjadi seperti pada Gambar 6.4:

Gambar 6.4 Bar Series (vertikal)
Untuk menjadikan bar series menjadi horizontal, dapat merubah properti berikut.

Property: 3 RandomChartSource

AxisIndexX Left

AxisIndexY Bottom

41

TChart LabelsChartSource
LeftAxis>Marks>Source smsLabel
LeftAxis>Marks>Style

Atur komponen seperti pada Gambar 6.5:

Gambar 6.5 Bar Series (horizontal)

42

Modul 7
Materi Tambahan

Capaian Pembelajaran
Setelah mengikuti materi pada modul tujuh diharapkan Mahasiswa mengetahui materi
tambahan meliputi:
a. Mengganti font Label dengan ComboBox
b. Penggunaan Multi Form
c. Mengurangi ukuran file eksekusi

a. Mengganti font Label dengan ComboBox
Komponen yang dibutuhkan adalah Form, Label, ComboBox. Atur beberapa

properti dari komponen seperti berikut.

ComboBox Aktifkan
ReadOnly “Terserah saja”
Label1
Caption

Lalu masukkan kode berikut dan atur komponen seperti pada Gambar 7.1:

procedure TForm1.FormCreate(Sender: TObject);
begin

ComboBox1.Items.AddStrings(Screen.Fonts);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin

Label1.Font.Name :=
ComboBox1.Items.Strings[(ComboBox1.Items.IndexOf(ComboBox1.Text))];
end;

Gambar 7.1 Ubah label font

43

b. Penggunaan Multi Form
Pada aplikasi-aplikasi sebelumya kita hanya menggunakan satu form, tetapi

dalam realitasnya terkadang kita membutuhkan banyak form. Untuk membuat aplikasi
dengan multi form dapat melakukan tahapan berikut:

1. Membuat aplikasi baru dan simpan ke dalam folder baru dengan nama
formdua.

2. Simpan unit utama sebagai main.pas, dan ubah nama form sebagai fmMain.
Simpan proyek sebagai formdua.lpi.

3. Tambahkan form baru dengan klik File/New Form. Simpan unit baru ini
sebagai kedua.pas dan ubah nama komponen dengan fmKedua.

4. Tambahkan sebuah label ke dalam form kedua tadi dan ganti Caption menjadi
“Form Kedua”. anda dapat memperbesar ukuran font pada property:
Font.Size.

5. Kembali menuju form utama lalu letakkan sebuah tombol pada form.
6. Tambahkan perintah berikut pada form utama setelah bagian implementation:

uses kedua;

7. Pada event: OnClick dari tombol, tuliskan kode berikut:

fmKedua.Show;

8. Lalu eksekusi aplikasi tersebut dan klik tombol untuk menampilkan form
kedua.

c. Mengurangi ukuran file eksekusi
Ketika komputer memiliki kapasitas memori yang sedikit maka proses eksekusi

program menjadi tidak efisien dikarenakan ukuran file yang besar. Maka jika ingin
mengurangi ukuran file eksekusi dengan Klik Project/Project Options/Debugging,
lalu disable pilihan “Generate Debugging info for GDB”. Selanjutnya re-build project.
GNU debugger merupakan debugger standar untuk program Lazarus.

44

Modul 8
Aplikasi Basis Data (Database)

Capaian Pembelajaran
Setelah mengikuti materi pada modul delapan diharapkan Mahasiswa mengetahui
aplikasi-aplikasi basis data:
a. Basis data
b. Basis data pada Ms. Access

a. Basis data
Basis data merupakan kumpulan data yang terorganisir, yang umumnya disimpan

dan diakses secara elektronik dari suatu sistem komputer. Istilah "basis data" berawal
dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal
di luar bidang elektronika. Catatan yang mirip dengan basis data sebenarnya sudah
ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan
data yang berhubungan dengan bisnis.

Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan
dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta
yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan
objek yang diwakili suatu basis data, dan hubungan di antara objek tersebut. Ada
banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini
dikenal sebagai model basis data atau model data. Model yang umum digunakan
sekarang adalah model relasional, yang menurut istilah layman mewakili semua
informasi dalam bentuk tabel-tabel yang saling berhubungan di mana setiap tabel
terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi
matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan
nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model
jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.

45

b. Basis data pada Ms. Access
Pada bagian ini kita akan mempelajari cara mendesain tabel database yang

selanjutnya akan diisi dengan data yang dimiliki. Contohnya kita akan membuat
database relasional dengan bentuk relasi yang ditunjukkan pada Gambar 8.1.

Gambar 8.1 Contoh database relasional

Skema relasi tersebut dapat dijelaskan seperti berikut:
 Pembeli melakukan memesan barang (transaksi) kepada penjual, dimana setiap

pembeli dapat membeli sejumlah produk dari penjual.
 Barang atau produk diperoleh pembeli dari suplier (distributor, industri rumahan,

industri besar, dll), dimana suplier dapat memasok berbagai macam produk pada
penjual.

Berdasarkan Gambar 8.1 kita dapat membuat 5 buah tabel yang terdiri dari 3 tabel
entitias (Pembeli, Barang, dan Supplier) dan 2 tabel relasi (Pesanan dan Pembelian).
Komponen koom masing-masing tabel ditampikan pada Gambar 8.2.

Gambar 8.2 Komponen tabel database

46

Terdapat sejumlah informasi yang dapat diambil dari skema tersebut, antara lain:
 Setiap tabel memiliki sebuah kolom primary id (diberi lambang kunci) yang

berfungsi untuk membedakan satu observasi dengan observasi lainnya.
 Dalam sebuah relasi, primary id dari satu tabel akan dipasangkan dengan primary

id tabel lainnya. Pada tabel baru tersebut nilai unik dari tabel lainnya disebut
sebagai foreign key. Contoh: tabel Pembelian memiliki dua foreign key
(id_pembelian dan id_barang).
 Terdapat garis kardinalitas relasi yang dilambangkan dengan angka 1 dan ∞ yang
menunjukkan sebuah observasi pada sebuah tabel dapat dipasangkan dengan
beberapa observasi pada tabel lainnya. Contoh: Tabel Barang dan Tabel
pembelian memiliki nilai kardinalitas (1, ∞) yang menunjukkan bahwa sebuah
observasi (primary key) dapat dipasangkan dengan beberapa observasi (primary
key) dari tabel Suplier pada Tabel Pembelian.

1. Membuat Tabel
Untuk membuat tabel pada Ms Access ikuti langkah-langkah berikut:
1) Klik dua kali pada ikon Ms Access
2) Pada jendela baru yang muncul, klik Blank database
3) Pada jendela Blank database, klik ikon folder untuk memilih lokasi
penyimpanan database
4) Arahkan pada lokasi file database akan disimpan dan ubah nama file
database sesuai dengan keinginan pembaca. Klik OK
5) Klik Create
6) Pada awal proses pembuatan database, secara default sistem akan
memberikan kita sebuah tabel kosong. Untuk melakukan edit
(menambahkan kolom, format data, dll), klik ikon Design view atau klik
kanan pada nama tabel di Access Object dan klik Design view.
7) Pada jendela Save as yang muncul, beri nama yang sesuai pada tabel yang
akan dibuat. Klik OK
8) Isikan nama kolom pada kolom Field Name, jenis data masing-masing kolom
pada kolom Data Type, dan deskripsi kolom (opsional) pada kolom
Description. Secara default primary key akan di set pada kolom pertama
(lihat logo kunci pada sebelah kanan nama kolom). Untuk mencegah adanya
duplikat data, set Yes (No Duplicates) pada baris indexed pada kolom

47

primary key. Tekan ctrl+s (Windows) atau command+s (MacOSX) untuk
menyimpan hasil pengaturan.
9) Untuk melihat tabel yang telah terbentuk, klik logo View atau klik kanan
pada objek tabel pada Access Object dan klik Open.
10) Untuk membuat tabel lainnya, pada tab Create, klik Table Design.
11) Simpan tabel tersebut sesuai dengan poin 7 dan beri nama tabel yang sesuai.
12) Ulangi langkah 8-10 untuk mengatur komponen kolom tabel yang akan
ditambahkan.

Alur secara visual dapat anda lihat pada Gambar 8.3.

Gambar 8.3 Alur pembuatan tabel Ms. Access

48


Click to View FlipBook Version