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