PEMROGRAMAN LANJUTAN
H E K A
–
Modul Pemrograman Lanjutan
PENGANTAR BORLAND DELPHI 1.1.
Mengenal Borland Delphi 7 Borland Delphi 7 merupakan bahasa pemrograman berbasis Windows. Delphi 7 dapat
membantu untuk membuat berbagai macam aplikasi yang berjalan di sistem operasi Windows, mulai dari sebuah program sederhana sampai dengan program yang berbasiskan client/server atau jaringan. Delphi, termasuk aplikasi yang dapat digunakan untuk mengolah teks, grafik, angka,
database dan aplikasi web. Untuk mempermudah pemrogram dalam membuat program aplikasi, Delphi menyediakan fasilitas pemrograman yang sangat lengkap. Fasilitas pemrograman tersebut dibagi dalam dua kelompok, yaitu object dan bahasa pemrograman. Secara ringkas object adalah suatu komponen yang mempunyai bentuk fisik dan biasanya dapat dilihat (visual). Object biasanya dipakai untuk melakukan tugas tertentu dan mempunyai batasan-batasan tertentu. Sedangkan bahasa pemrograman secara singkat dapat disebut sebagai sekumpulan teks yang mempunyai arti tertentu dan disusun dengan aturan tertentu serta untuk menjalankan tugas tertentu. Gabungan dari object dan bahasa pemrograman ini sering disebut sebagai bahasa pemrograman berorientasi object atau
Object Oriented Programming (OOP) Bahasa pemrograman Delphi merupakan pengembangan dari bahasa Pascal. Tetapi bukan berarti untuk mempelajari bahasa pemrograman Delphi harus mempelajari Pascal terlebih dahulu, karena Borland Delphi 7 sudah dirancang sedemikian rupa sehingga memudahkan bagi seorang pemula untuk merancang aplikasi berbasis Windows dengan Borland Delphi 7.
-1-
Pengantar Borland Delphi
H E K A
–
Modul Pemrograman Lanjutan
Khusus untuk pemrograman database, Delphi menyediakan object yang sangat kuat, canggih dan lengkap, sehingga memudahkan pemrogram dalam merancang, membuat dan menyelesaikan aplikasi database yang diinginkan. Selain itu Delphi juga dapat menangani data dalam berbagai format database, misalnya format Ms-Access, SyBase, Oracle, Interbase, FoxPro, Informix, DB2 dan lain-lain. Format database yang dianggap asli dari Delphi adalah Paradox dan dBase.
Borland Delphi 7 merupakan pilihan bagi sebagian kalangan programmer untuk membuat aplikasi. Hal ini disebabkan kelebihan yang ada pada Borland Delphi 7. Berikut ini sebagian kecil dari banyak kelebihan Borland Delphi 7 : •
Berbasis Object Oriented Programming (OOP). Setiap bagian yang ada pada program dipandang sebagai suatu object yang mempunyai sifat-sifat yang dapat diubah dan diatur.
•
Satu file .exe. Setelah program dirancang dalam IDE (Intergrated Development Environment)
Delphi, Delphi akan mengkompilasinya menjadi sebuah file executable tunggal. Program yang dibuat dapat langsung didistribusikan dan dijalankan pada komputer lain tanpa perlu menyertakan file DLL dari luar. Ini merupakan sebuah kelebihan yang sangat berarti. •
Borland Delphi 7 hadir bersama Borland Kylix 3 yang berbasiskan Linux, sehingga memungkinkan programmer untuk membuat aplikasi multi-platform. Untuk dapat melakukan instalasi dan menggunakan Borland Delphi 7 dengan normal, ada
beberapa persyaratan yang harus dipenuhi, yaitu sebagai berikut : •
Prosesor Prosessor Pentium 233 MHZ atau yang lebih tinggi.
•
Sistem Operasi Microsoft Windows XP, Windows 2000, atau Windows 98.
•
Memory Membutuhkan RAM 64 MB untuk edisi Architect, Enterprise dan Professional, kecuali untuk edisi
Personal 32 MB. Disarankan 128 MB.
-2-
Pengantar Borland Delphi
H E K A
•
–
Modul Pemrograman Lanjutan
Ruang Hard Disk Untuk edisi Architect membutuhkan 124 MB, untuk instalasi compact dan 520 MB untuk instalasi penuh. Untuk edisi Enterprise membutuhkan 124 MB, untuk instalasi compact dan 450 MB untuk instalasi penuh. Untuk edisi Professional membutuhkan 110 MB, untuk instalasi compact dan 400 MB untuk instalasi penuh. Untuk edisi Personal membutuhkan 175 MB, untuk instalasi compact dan 160 MB untuk instalasi penuh.
•
CD-ROM drive
•
Monitor SVGA
•
Mouse
1.2.
Memulai Delphi 7 Langkah awal untuk menjalankan program Borland Delphi 7, adalah sebagai berikut :
1. Klik tombol Start yang terletak pada bagian Taskbar. 2. Pilih menu Programs J Borland Delphi 7, kemudian klik Delphi 7. 3. Akan tampil sebuah splash screen Borland Delphi 7. Tunggulah beberapa saat sampai program
Borland Delphi 7 tampil memenuhi layar monitor. 4. Bidang kerja Intergrated Development Environment (IDE) Delphi 7 akan tampil memenuhi layar monitor seperti diperlihatkan pada gambar 1.1 berikut ini. Pada bidang inilah programmer dapat menumpahkan kreativitasnya dalam membuat program.
-3-
Pengantar Borland Delphi
H E K A
–
Modul Pemrograman Lanjutan
Form Designer Component Pallete
Menu
Speed Bar
Object TreeView
Object Inspector
Code Editor
Gambar 1.1 Interface Borland Delphi Jendela IDE Delphi 7 mempunyai perangkat-perangkat yang dapat dipergunakan untuk memudahkan seorang programmer dalam membuat program. Secara default, Borland telah mengatur letak perangkat-perangkat sedemikian rupa, perangkat-perangkat tersebut diantaranya : •
Menu Menu pada Delphi memiliki kegunaan seperti menu pada aplikasi Windows lainnya. Dari menu ini programmer dapat memanggil, menyimpan program, menjalankan program, meremove komponen atau menambahkan komponen baru dan lain sebagainya. Singkatnya segala sesuatu yang berhubungan dengan IDE Delphi dapat Anda lakukan dari menu.
-4-
Pengantar Borland Delphi
H E K A
•
–
Modul Pemrograman Lanjutan
Speed Bar
Speed Bar atau yang sering juga disebut toolbar berisi kumpulan tombol yang tidak lain adalah pengganti beberapa item menu yang sering digunakan. Dengan kata lain, setiap tombol pada
Speed Bar menggantikan salah satu item menu. Sebagai contoh, tombol kiri atas adalah pengganti
File
New,
tombol
disebelah
kanannya
adalah
pengganti
menu
File Open, dan seterusnya. •
Component Palette
Component Palette berisi kumpulan icon yang melambangkan komponen-komponen pada VCL (Visual Component Library). VCL adalah merupakan pustaka komponen yang dengannya Anda dapat membangun sebuah aplikasi. Pada Component Palette, terdapat beberapa tab, yaitu
Standard, Additionals, Data Access, Data Controls dan lain sebagainya. •
Object TreeView
Object TreeView berisi struktur pohon yang menampilkan semua nama komponen yang telah Anda letakkan pada form designer atau biasa juga disebut dengan hirarki seperti pada
Windows Explorer. •
Object Inspector
Object Inspector digunakan untuk mengubah karakteristik dari sebuah komponen. Ada dua tab pada Object Inspector, yaitu Properties dan Events. Pada tab Properties Anda dapat mengubah nilai dari beberapa komponen yang telah diletakkan pada form, sedangkan tab Events digunakan untuk menyisipkan kode untuk menangani kejadian tertentu. Kejadian dapat dibangkitkan karena bebarapa hal, seperti pengklikan mouse, penekanan tombol keyboard, penutupan jendela dan lain sebagainya. •
Form Designer
Form Designer merupakan tempat dimana programmer dapat merancang jendela aplikasi atau tempat untuk desain interface dari aplikasi Windows. Desain form dilakukan dengan cara meletakkan komponen-komponen yang diambil dari Component Palette.
-5-
Pengantar Borland Delphi
H E K A
•
–
Modul Pemrograman Lanjutan
Code Editor
Code Editor adalah tempat dimana programmer menuliskan kode program yang pernyataanpernyataannya dalam bahasa Object Pascal. Hal utama yang perlu diperhatikan dalam Code
Editor adalah Anda tidak perlu menuliskan seluruh kode sumber karena Delphi telah menuliskan semacam kerangka sumber.
1.3.
Langkah Awal Pembuatan Project Untuk membuat sebuah aplikasi, pertama-tama programmer harus menciptakan sebuah
project, berikut ini akan disajikan contoh pembuatan sebuah project. Prosedur awal yang dapat dilakukan untuk membuat sebuah project adalah : 1. Pilih menu File New Application sehingga pada lembar kerja Delphi akan tampak sebuah form kosong. 2. Simpan
rancangan
project
aplikasi
yang
masih
kosong
tersebut
dengan
perintah
File Save All sehingga tampil kotak dialog Save Unit1 As. Pada bagian ini yang perlu diperhatikan bahwa direktori penyimpanan file harus diubah pada bagian Save in. Selanjutnya masukkan nama unit pada bagian File Name dengan catatan nama unit tidak boleh sama dengan nama Form Designer, kemudian klik Save. Kotak dialog berikutnya yang akan muncul adalah kotak dialog Save Project1 As. Kotak dialog ini digunakan untuk menentukan nama file Project yang diinginkan. Setelah file Unit dan Project disimpan, maka delphi akan membentuk file-file dengan ekstensi berikut ini : •
.dpr ¨ file Project yang berisi program utama dari aplikasi.
•
.pas ¨ file Unit yang digunakan untuk menangani kejadian (event) pada form.
•
.dfm ¨ file Form yang berisi daftar komponen berikut properti-propertinya.
•
.res
¨ file Resources yang berisi sebuh icon yang digunakan oleh project.
-6-
Pengantar Borland Delphi
H E K A
•
–
Modul Pemrograman Lanjutan
.dof ¨ file Options merupakan file yang berisi option-option dari suatu project yang dinyatakan melalui perintah Options dari menu Project.
•
.dcu ¨ file Unit Object merupakan file unit (.pas) yang telah dikompilasi oleh compiler yang akan dihubungkan dengan file eksekusi.
•
.exe ¨ file Executable yang dibentuk oleh kompiler dan merupakan file eksekusi (executable) dari program aplikasi.
3. Setelah project dan unit disimpan, jalankan program dengan cara memilih menu Run Run, atau klik tombol run
, atau tekan tombol F9. Untuk menghentikan project klik tanda silang
yang terdapat pada pojok kanan atas atau menggunakan perintah Application.Terminate pada Program.
1.4.
Komponen Borland Delphi Untuk dapat membuat program aplikasi, programmer harus meletakkan komponen-
komponen yang diambil dari component palatte serta mengatur tata letak komponen-komponen tersebut pada bagian form designer. 1. Meletakkan komponen pada form designer. Untuk meletakkan komponen pada form designer, klik sebuah komponen pada component
palette, sebagai contoh pilih komponen Edit.
Komponen Edit
Kemudian klik pada bagian form designer, yaitu pada posisi dimana komponen tersebut akan diletakkan.
-7-
Pengantar Borland Delphi
H E K A
–
Modul Pemrograman Lanjutan
Bagian lembar kerja form
Komponen Edit
Setelah semua komponen diletakkan pada form, langkah berikutnya yang harus dilakukan adalah mengganti properties dan events dari komponen-komponen yang telah diletakkan pada
form designer. 2. Mengubah Properties komponen. Properti komponen yang telah diletakkan pada bagian form designer dapat diubah dengan menggunakan tab Properties pada jendela object inspector. Bagian yang berfungsi untuk menampilkan nama object/komponen Klik tombol Builder […] untuk membuka suatu kotak dialog
Klik tombol drop down untuk mengubah nilai logika True / False Klik tombol plus untuk membuka sub-properti Klik baris properti dan ubah nilainya
3. Mengubah komponen Event.
Event dari komponen pada form designer dapat diubah dengan menggunakan tab events pada jendela object inspector guna menangani kejadian-kejadian dari suatu komponen.
-8-
Pengantar Borland Delphi
H E K A
–
Modul Pemrograman Lanjutan
4. Jenis-jenis komponen standar Delphi 7. Komponen
Fungsi
Pointer Pointer adalah komponen khusus dan terdapat disetiap tab dalam component palatte. Komponen pointer adalah komponen select yang digunakan untuk memilih komponen dalam form designer. Frames Sebuah kontainer yang digunakan untuk menampung komponen frame dapat diletakkan dalam form atau frame-frame yang lain. MainMenu Komponen yang digunakan untuk membuat menu bar dan menu drop down. Komponen ini bersifat invisible. PopUpMenu Komponen yang digunakan untuk membuat menu popup yang akan muncul jika pemakai melakukan proses klik kanan. Komponen ini bersifat invisible. Label
Komponen ini hanya digunakan untuk menambahkan teks di dalam form
Edit Komponen yang digunakan untuk menerima satu baris teks yang merupakan data input pemakai. Komponen ini juga dapat digunakan untuk menampilkan teks. Memo Komponen Memo dipakai untuk memasukkan atau menapilkan beberapa baris teks di dalam form.
Button
Komponen yang dipakai untuk membuat button yang akan dipakai untuk memilih pilihan di dalam aplikasi. Jika mengklik komponen button tersebut maka suatu perintah atau kejadian akan dijalankan.
CheckBox Komponen yang digunakan untuk memilih atau membatalkan suatu pilihan, yaitu dengan cara mengklik komponen. RadioButton
Komponen yang digunakan untuk memberikan sekelompok pilihan dan hanya ada satu pilihan yang dapat dipilih. Untuk memilih salah satu pilihan adalah dengan mengklik tombol pilihan yang diinginkan.
-9-
Pengantar Borland Delphi
H E K A
–
Modul Pemrograman Lanjutan
ListBox
Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan batang penggulung.
ComboBox
Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian memilih salah satu pilihan yang terdapat di dalam daftar dapat menggunakan mengklik tombol drop down.
ScrollBar Komponen ini mempunyai fungsi yang sama seperti batang penggulung yang terdapat dalam program-program berbasis Windows pada umumnya. GroupBox Sebuah kontainer yang dapat digunakan untuk mengelompokkan komponen-komponen lain seperti Radio Button, CheckBox dan komponen kontainer yang lain. RadioGroup Komponen ini merupakan komponen kombinasi dari GroupBox dan didesain untuk membuat sekelompok RadioButton, Panel Sebuah kontainer yang dapat digunakan untuk membuat StatusBar, ToolBar dan ToolPalette.
ActionList Komponen yang berisi daftar action yang digunakan bersama-sama dengan komponen dan kontrol seperti item menu dan button.
1.5.
Latihan
Desainlah sebuah form berikut pada Form Designer. Kemudian simpan dengan dengan nama : Unit
: UHello.pas
Project : HelloWord.dpr
FHello
edtKata
btnTampil
btnHapus
btnKeluar lblKata
btnMaroon
btnNavy
btnTeal
- 10 -
Pengantar Borland Delphi
H E K A
–
Modul Pemrograman Lanjutan
Kemudian ketiklah kode program berikut ini pada Code Editor : procedure TFHello.FormActivate(Sender: TObject); begin edtKata.Clear; lblKata.Caption := ''; edtKata.SetFocus; end; procedure TFHello.btnTampilClick(Sender: TObject); begin lblKata.Caption := edtKata.Text; end; procedure TFHello.btnHapusClick(Sender: TObject); begin edtKata.Clear; lblKata.Caption := ''; edtKata.SetFocus; end; procedure TFHello.btnMaroonClick(Sender: TObject); begin lblKata.Font.Color := clMaroon; end; procedure TFHello.btnNavyClick(Sender: TObject); begin lblKata.Font.Color := clNavy; end; procedure TFHello.btnTealClick(Sender: TObject); begin lblKata.Font.Color := clTeal; end; procedure TFHello.btnKeluarClick(Sender: TObject); begin Application.MessageBox('Terima Kasih Telah Menggunakan 'Byee.. Byee..', MB_OK + MB_ICONINFORMATION); Application.Terminate; end;
- 11 -
Program
Ini',
Pengantar Borland Delphi
H E K A
–
Modul Pemrograman Lanjutan
MENGENAL PEMROGRAMAN DELPHI 2.1.
Memulai Program Borland Delphi 7
1. Komentar Komentar Dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi oleh kompiler pada saat program aplikasi di jalankan. Untuk menuliskan sebuah komentar, programmer dapat menggunakan salah satu tanda dari tiga bentuk tanda yang disediakan, yaitu : •
Kurung Kurawal
D { Komentar Program }
•
Kurung Bintang
D (* Komentar Program *)
•
Slash Ganda
D // Komentar Program
Komentar dengan tanda kurung kurawal dan kurung bintang menggunakan tanda pembuka dan tanda penutup, sehingga teks yang dianggap sebagai komentar adalah teks yang terletak di antara tanda pembuka dan tanda penutup. Sedangkan tanda komentar slash ganda tidak menggunakan tanda penutup, sehingga semua teks yang terletak di belakan tanda slash ganda dianggap sebagai komentar. 2. Tipe Data Pemilihan tipe data yang tepat akan sangat berguna dalam penghematan memori, kecepatan proses, ketelitian penghitungan dan lain-lain. Ada beberapa hal yang perlu diperhatikan dalam menentukan tipe data :
- 12 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
a. Penggunaan Memori Masing-masing tipe data memiliki perbedaan dalam hal penggunaan memori. Dalam hal ini usahakan untuk menggunakan tipe data yang memiliki memori yang kecil. b. Ketelitian Penghitungan Walaupun unsur penghematan memori sangat penting untuk diperhatikan namun kebenaran dalam hal ketelitian penghitungan jauh lebih penting. Oleh sebab itu gunakan tipe data yang mempunyai tingkat ketelitian (presisi) paling tinggi. Borland Delphi menyediakan banyak tipe data. Jenis maupun tipe data yang dapat digunakan antara lain adalah : Tipe Integer Tipe data Integer digunakan untuk bilangan bulat atau bilangan yang tidak memiliki angka desimal. Tipe data Integer memiliki beberapa tipe yang tergantung pada rentang nilai dan ukuran penggunaan memori. Tipe
Byte Word ShortInt SmallInt Integer Cardinal LongInt
Rentang Nilai
0 .. 255 0 .. 65535 -128 .. 127 -32768 .. 32767 -2147483648 .. 2147483648 0 .. 2147483647 -2147483648 .. 2147483648
Byte
1 2 1 2 4 4 4
Semakin besar rentang nilai bilangan, semakin besar pula memori yang diperlukan. Tipe Real Tipe data Real digunakan untuk bilangan yang memiliki desimal (ditulis dalam a x 10b). Tipe data Real memiliki beberapa tipe yang tergantung pada rentang nilai dan ukuran penggunaan memori.
- 13 -
Mengenal Pemrograman Delphi
H E K A
Tipe
Real48 Single Double Real Extended Comp Currency
–
Modul Pemrograman Lanjutan
Rentang Nilai -39
38
Byte
2.9 x 10 .. 1.7 x 10 1.5 x 10-45 .. 3.4 x 1038 5.0 x 10-324 .. 1.7 x 10308 5.0 x 10-324 .. 1.7 x 10308 3.6 x 10-4951 .. 1.1 x 104932 -263+1 .. 263-1 -922337203685477.5808 .. 922337203685477.5807
1 2 1 2 4 4 4
Tipe Double ekuivalen dengan tipe Real yang umum dipakai. Tipe Real48 digunakan untuk menjaga kompabilitas dengan versi sebelumnya. Tipe Real48 menghasilkan proses yang lebih lambat. Tipe Extended menghasilkan ketelitian yang lebih baik tetapi kurang kompabilitas jika program nantinya didesain untuk sharing dengan platform lain. Tipe Comp adalah tipe asli yang digunakan CPU Intel yang sebetulnya mewakili tipe Integer 64 bit, tetapi dikelompokkan dalam tipe Real karena tidak mempunyai sifat ordinal. Comp dipakai untuk mempunyai kompabilitas dengan versi sebelumnya. Sebaiknya gunakan Int64 untuk kerja yang lebih baik Keuntungan dari penggunaan tipe data Currency adalah : Tipe data Currency mempunyai ketelitian yang lebih tinggi dalam menangani bilangan yang cukup besar. Tipe data Currency dipakai dalam CurrencyField dan komponen lain dan kompatibel dengan tipe database yang menyatakan uang. Tipe Boolean Tipe data Boolean digunakan untuk data logika yang hanya berisi True (Benar) dan False (Salah). Tipe data Boolean yang dapat digunakan antara lain : Tipe
Boolean ByteBool WordBool LongBool
Byte
1 1 2 4
- 14 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Dari beberapa tipe yang ada disarankan untuk menggunakan tipe Boolean, sedangkan untuk tipe lain hanya untuk menjaga kompabilitas dengan program lain yang menggunakan tipe yang sama. Variabel tipe data Boolean dapat menerima penggunaan operator logika AND, OR, dan NOT. Tipe Character Tipe data Character digunakan untuk menyatakan sederetan karakter satu huruf dalam bentuk tiga tipe, yaitu : Tipe
Char AnsiChar WideChar
Rentang Nilai
Byte
1 Karakter ANSI 1 Karakter ANSI 1 Karakter Unicode
1 1 2
Tipe String Tipe data string digunakan untuk menyatakan sederetan karakter, misalnya nama, alamat, kota, dan lain-lain. Adapun tipe-tipe dari data string, yaitu : Tipe
ShortString AnsiString String WideString
Rentang Nilai
2 – 4 – 255 4 –
256 2 GB – 3 GB 2 GB
Byte
256 Karakter 231 Karakter 231 Karakter 230 Karakter
Tipe ShortString berfungsi untuk menyesuaikan kompabilitas dengan versi sebelumnya, sedangkan AnsiString dan WideString dapat digunakan untuk menyimpan karakter Unicode. Variabel dengan tipe data string mampu menangani data String yang hampir tidak terbatas (3 GB) 3. Variabel Variabel adalah suatu tempat yang dialikasikan dalam memori yang diberi nama (sebagai pengenal) untuk menampung suatu data. Pendeklarasian variabel mempunyai susunan sebagai berikut :
- 15 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
var nama_variabel : tipe_variabel;
Contoh : var a : Integer; Contoh diatas mendeklarasikan variabel a dengan tipe Integer. Untuk mendeklarasikan beberapa variabel, perintah var cukup dituliskan hanya satu kali.
Contoh : var a : Integer; b : String; c : Real; Contoh diatas mendeklarasikan variabel a, b dan c yang masing-masing bertipe Integer, String dan Real. Untuk mendeklarasikan beberapa variabel dengan tipe yang sama, tipe datanya cukup dituliskan hanya satu kali.
Contoh : var a, b, c : Integer; x, y, z : String; Contoh diatas mendeklarasikan variabel a, b dan c dengan tipe Integer, dan variabel x, y dan z dengan tipe String. Aturan yang harus diikuti dalam menuliskan nama variabel : Panjang penulisan nama variabel maksimum terdiri dari 63 karakter. Jika lebih dari 63 karakter maka kompiler akan mengabaikan penulisan karakter berikutnya. Penulisan nama variabel hanya terdiri dari huruf, angka, garis bawah. Penulisan nama variabel tidak boleh diawali dengan angka. Jadi harus diawali dengan huruf atau garis bawah. Nama variabel tidak boleh merupakan kata kunci milik Delphi, seperti case, if, while, end, dan lain-lain.
- 16 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Nama variabel tidak boleh mengandung karakter yang dipakai untuk operator, seperti (, ), +, -, *, /, <, >, :, ;, dan lain-lain. Berikut ini beberapa contoh penulisan nama variabel : Nama variabel yang sah
Kode_1 _Angka Nil_Umum
Nama variabel yang tidak sah
1_Kode #Nilai Else
Ö Ö Ö
diawali dengan angka diawali dengan karakter lain kata kunci Delphi
Selain ketentuan diatas, nama variabel harus bersifat unik atau tidak boleh ada yang sama pada satu ruang lingkup yang berbeda. Secara umum suatu variabel dapat dikenali pada bagian variabel tersebut dideklarasikan, jadi ruang lingkup variabel adalah pada lingkup variabel tersebut dideklarasikan seperti pada tabel berikut ini : Tempat Deklarasi
Tempat deklarasi program, function atau procedure Bagian interface sebuah unit Bagian implementation sebuah unit, tetapi bukan di dalam blok function atau procedure
Ruang Lingkup
Mulai dari posisi deklarasi sampai akhir blok (program, function atau procedure), termasuk semua blok yang berada dalam blok (sub blok). Mulai dari posisi dideklarasikan sampai akhir unit. Juga termasik program lain atau unit lain yang menggunakan unit tersebut. Mulai dari posisi dideklarasikan sampai akhir unit. Juga termasikdalam function atau prosedur dalam unit tersebut.
Contoh : unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);
- 17 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
private { Private declarations } public { Public declarations } end; var Form1: TForm1; x : Integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin x := 12; //variabel ini bersifat global end; procedure TForm1.Button2Click(Sender: TObject); var y : Integer; begin y := 60; //variabel ini bersifat lokal end; end.
4. Operator Dalam melaksanakan proses pengolahan data, Delphi menyediakan berbagai operator dengan urutan atau derajat proses pelaksanaan yang berbeda untuk beberapa operator yang dilibatkan pada suatau proses. Berikut ini adalah derajat proses pengolahan data yang dimiliki delphi :
Apabila terdapat ekspresi A + B * C, maka operasi yang akan dikerjakan terlebih dahulu B * C, baru setelah itu hasilnya ditambahkan dengan A. Urutan proses tersebut terjadi karena proses perkalian mempunyai urutan derajat pengoperasian yang lebih tinggi dari penjumlahan. Namun jika bentuk ekspresi diubah menjadi (A + B) * C, maka operasi yang didahulukan (A + B), kemudian hasilnya dikalikan dengan C. Hal ini menunjukkan bahwa tanda kurung digunakan untuk mendahulukan proses.
- 18 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Apabila ada proses yang terdiri dari beberapa operator yang mempunyai urutan derajat yang sama, maka proses pengoperasian akan mendahulukan proses yang ditulis paling kiri. Operator Assignment (Penugasan) Assignment atau operator penugasan dituliskan dengan bentuk “:=” (titik dua sama dengan) dan berfungsi untuk memasukkan suatu nilai data ke dalam sebuah variabel, dengan bentuk penulisan : Nama_Variabel := Ekspresi; Contoh : Harga := 500; Jumlah := 20; Total := Harga * Jumlah; Operator Aritmatika Operator aritmatika digunakan untuk melakukan operasi aritmatika. Delphi mempunyai beberapa operator aritmatika, yaitu seperti tabel dibawah ini. Operator
Fungsi
Tipe yang Diproses
Perkalian Pembagian Real Penjumlahan Pengurangan Pembagian Integer Sisa Hasil Bagi
* / + div mod
Integer, Integer, Integer, Integer, Integer Integer
Real Real Real Real
Tipe Hasil Proses
Integer, Real Integer, Real Integer, Real Integer, Real Integer Integer
Contoh : Angka Angka Angka Angka Angka Angka
:= := := := := :=
15 15 15 15 15 15
* 2; / 2; + 2; - 2; div 2; mod 2;
//Hasil //Hasil //Hasil //Hasil //Hasil //Hasil
30 7.5 17 13 7 1
Untuk operasi perpangkatan, Delphi tidak menyediakan operator untuk pemangkatan. Sebagai gantinya, dapat digunakan rumus : ax = exp(b * ln(a))
- 19 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Contoh : Angka1 Angka2 Hasil1 Hasil2
:= := := :=
5; 2; exp(Angka1 * ln(Angka2)); exp(Angka2 * ln(Angka1));
//Hasil 32 //Hasil 25
Operator Relasi (Pembandingan) Operotor relasi berfungsi untuk membandingkan suatu nilai (ekspresi) dengan nilai (ekspresi) lain yang akan menghasilkan suatu nilai logika (Boolean) yaitu True atau False. Kedua data yang dibandingkan tersebut harus memiliki tipe data yang sama. Berikut ini adalah tabel operator relasi yang disediakan Delphi : Operator
= > < >= <= <>
Keterangan
Sama Dengan Lebih Besar Lebih Kecil Lebih Besar atau Sama Dengan Lebih Kecil atau Sama Dengan Tidak Sama Dengan
Contoh : x := 21 + 9 > 20; x := 21 - 9 > 20;
//menghasilkan True //menghasilkan False
Operator Logika Operator logika digunakan untuk mengekspresikan suatu satu atau lebih data atau ekspresi logika (Boolean), menghasilkan data logika (boolean) baru. Tabel operator logika dengan hierarki dari atas ke bawah adalah sebagai berikut : Operator
not and or xor
Keterangan
Tidak Dan Atau Exclusive Or
Operator Logika Not
- 20 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Operator logika Not merupakan operator yang menyatakan kondisi kebalikan dari suatu ekspresi. Contoh : x := not(21 > 9); x := not(21 < 9); x := not(21 = 9);
//Hasil False //Hasil True //Hasil True
Operator Logika And Operator logika And hanya akan menghasilkan nilai True jika lebih dari satu ekspresi yang menggunakan operator And bernilai True. Apabila ada satu ekspresi atau lebih bernilai False maka operator logika And akan menghasilkan nilai False. Contoh : x := (21 > 9) and (19 < 71); x := (21 < 9) and (19 < 71); x := (21 < 9) and (19 > 71);
//Hasil True //Hasil False //Hasil False
Operator Logika Or Operator logika Or akan menghasilkan nilai True jika salah satu atau seluruh ekspresi yang menggunakan operator Or bernilai True. Operator Or hanya akan bernilai False jika semua ekspresi yang menggunakan operator Or bernilai False. Contoh : x := (21 > 9) or (19 < 71); x := (21 < 9) or (19 < 71); x := (21 < 9) or (19 > 71);
//Hasil True //Hasil True //Hasil False
Operator Logika Xor Operator logika Xor akan menghasilkan nilai True jika ekspresi yang terletak di kiri operator Xor berbeda dengan ekspresi disebelah kanannya. Operator Xor hampir memiliki fungsi yang sama dengan operator tidak sama dengan. Contoh : x x x x
:= := := :=
(9 (9 (9 (9
< > < >
21) 21) 21) 21)
xor xor xor xor
(19 (19 (19 (19
< > > <
71); 71); 71); 71);
- 21 -
//Hasil //Hasil //Hasil //Hasil
False False True True
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Operator String Operator String fungsinya untuk menggabungkan dua data string. Operator setring dilambangkan dengan bentuk “ + ”. Penggabungan dua buah string tersebut menghasilkan data yang berjenis string juga. Contoh : x := ‘Mata Kuliah ’; y := ‘Pemrograman Lanjutan’; z := x + y; Maka z akan berisi ‘Mata Kuliah Pemrograman Lanjutan’
2.2. Alur Program 1. Pernyataan Percabangan Dengan menggunakan suatu pernyataan percabangan, alur program tidak harus dari atas ke bawah tetapi dapat melompat menuju baris program yang lain. Terdapat dua macam pernyataan percabangan bersyarat yang dapat digunakan yaitu if dan case. Percabangan If - Then - Else Pernyataan percabangan If - Then - Else digunakan untuk menjalankan suatu pernyataan atau satu blok pernyataan, tergantung pada nilai yang diuji. Syntax If - Then : if
then ;
atau
- 22 -
if then begin ; ; . . ; end;
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Syntax If – Then - Else : if then else ;
atau
if then begin ; ; . . ; end else begin ; ; . . ; end;
adalah suatu ekspresi logika atau berupa syarat percabangan. Perintah if akan menguji ekspresi logika yang ada disebelah kanannya. Jika kondisi bernilai True maka akan dikerjakan . Sebaliknya jika kondisi bernilai False maka akan dikerjakan . Contoh : if Nilai >= 60 then Keterangan := ‘Lulus’ else Keterangan := ‘Tidak Lulus’; Pada contoh diatas , pernyataan sebelum else tidak perlu diakhiri dengan tanda titik koma. Jika titik koma tersebut tetap ditambahkan maka Delphi akan menampilkan pesan kesalahan. Bila pernyataan yang dituliskan berupa blok pernyataan atau lebih dari satu baris pernyataan maka kata kunci begin dan end harus digunakan. Contoh : if Nilai >= 60 then begin Keterangan := ‘Lulus’; Grade := ‘A’; end else begin Keterangan := ‘Tidak Lulus’;
- 23 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Grade := ‘D’; end; Percabangan Case - Of Percabangan Case - Of digunakan untuk mencabangan ke pilihan tertentu berdasarkan pengujian
suatu
nilai.
Struktur
pencabangan
ini
biasa
dipakai
jika
alternatif
pencabangannya cukup banyak. Syntax : case : : . . : end;
of ; ;
;
atau case of : ; : ; . . : ; else ; end; adalah suatu ekspresi bertipe ordinal. Program akan menguji satu per sata sama atau data adalah anggota dari , pernyataan atau blok pernyataan yang ada disebelah kanannya akan dilaksanakan, untuk kemudian program melompat ke akhir dari struktur Case, tanpa melanjutkan pengujian selanjutnya. Jika tidak ada yang memenuhi syarat, maka tidak ada satu pun pernyataan
yang
akan
dilaksanakan,
mengakibatkan
kecuali
menggunakan
bentuk
Else,
yang
yang berada setelah pernyataan Else akan
dilaksanakan jika tidak ada yang memenuhi syarat.
- 24 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Percabangan Case - Of digunakan untuk menyederhanakan penggunaan If - Then - Else yang terlalu panjang. Hanya saya percabangan Case - Of ini biasanya dipakai untuk percabangan dengan lebih dari dua pilihan. Contoh : if Nilai = 0 then Hasil := ‘Nol’ else if Nilai = 1 then Hasil := ‘Satu’ else if Nilai = 2 then Hasil := ‘Dua’ else if Nilai = 3 then Hasil := ‘Tiga’ else Hasil := ‘Empat’; dapat dirubah menjadi : case Nilai of 0 : Hasil := ‘Nol’; 1 : Hasil := ‘Satu’; 2 : Hasil := ‘Dua’; 3 : Hasil := ‘Tiga’; else Hasil := ‘Empat’; end;
2. Pernyataan Pengulangan Pengulangan While .. Do Pernyataan pengulangan While .. Do bertugas mengulang satu pernyataan atau suatu blok pernyataan atau selama (while) suatu kondisi (syarat) bernilai True. Syntax : while do ;
atau
while do begin ; ; . . ; end;
Prosedur alur pengulangan diatas diatas adalah sebagai berikut : 1. Program akan menguji nilai .
- 25 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
2. Jika bernilai False maka tidak dilaksanakan dan program akan menghentikan pengulangan, kemudian menjalankan baris berikutnya. 3. Jika bernilai True, maka pernyataan akan dilaksanakan satu kali. 4. Kembali ke prosedur no. 1. 5. Program menghentikan pengulangan dan menjalankan baris berikutnya. Pada
dasarnya
pengulangan
akan
berhenti
kalau
bernilai
False.
bisa berupa satu pernyataan atau blok pernyataan yang diawali dengan begin dan diakhiri dengan end. Penulisan pernyataan harus diakhiri dengan titik koma sebagai tanda akhir dari pernyataan While. Contoh : while Jumlah >= 20 do Jumlah := Jumlah + 1; while a >= b do begin a := a + 1; b := b * a; end; Pengulangan Repeat .. Until Pengulangan ini hampir sama dengan pengulangan While .. Do dan biasanya digunakan jika
jumlah
pengulangan
belum
dapat
ditentukan
pada
saat
program
ditulis.
Perbendaannya, pernyataan Repeat .. Until dan While .. Do terletak pada letak pengecekan kondisi. Jika pada pernyataan While .. Do kondisi dicek pada awal blok pernyataan yang harus diulang, sedangkan pada pernyataan Repeat .. Until, kondisi dicek pada akhir blok pernyataan yang harus diulang. Syntax : repeat ; ; ... ; until
- 26 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Perbedaan lainnya adalah pernyataan While .. Do mengulang pernyataan selama kondisi masih terpenuhi, tetapi pernyataan Repeat .. Until
hanya akan mengulang pernyataan
selama kondisi belum terpenuhi. Perbedaan lain yang dapat ditemukan untuk pernyataan Repeat .. Until adalah : 1. Dapat melaksanakan pengulangan lebih dari satu pernyatan baik berupa kumpulan pernyataan tunggal atau kumpulan blok pernyataan. Jadi bagian yang diulang adalah segala sesuatu yang berda di antara pernyataan Repeat .. Until 2. Menjalankan perintah yang berada diantara pernyataan Repeat .. Until karena pengujian terletak di bagian bawah pernyataan, minimal satu kali. Contoh : repeat k := i mod j; i := j; j := k; until j = 0; Pengulangan For .. Do Pengulangan For .. Do merupakan perintah pengulangan yang paling sederhana diantara perintah pengulangan lain yang disediakan oleh Delphi. Pengulangan For .. Do digunakan untuk melaksanakan pengulangan satu pernyataan atau satu blok program beberapa kali yang ditentukan oleh nilai awal dan nilai akhir. Dengan kata lain, jumlah pengulangan yang akan dikerjakan sudah diketahui. Syntax : for := to do ; Atau : for := downto do ;
- 27 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
adalah variabel bertipe ordinal, yaitu variabel yang mempunyai nilai pasti jika dikurangi atau ditambah satu satuan, misalnya byte, integer, dan lain-lain. Nilai tidak boleh diubah dalam . Contoh : for i := 1 to 20 do Jumlah := Jumlah + 1; J := 20; for i := 1 to j do begin Jumlah := Jumlah + 1; j := j + 1; end;
2.3.
Latihan
Desainlah sebuah form berikut pada Form Designer. Kemudian simpan dengan dengan nama : Unit
: UHitung.pas
Project : Hitung.dpr
- 28 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
Kemudian ketiklah kode program berikut ini pada Code Editor : unit untHitung; interface ... type TForm1 = class(TForm) Label1: TLabel; ... procedure IsiData; procedure btnTambahClick(Sender: TObject); procedure btnKurangClick(Sender: TObject); procedure btnKaliClick(Sender: TObject); procedure btnBagiClick(Sender: TObject); procedure btnPangkatClick(Sender: TObject); procedure btnDivClick(Sender: TObject); procedure btnModClick(Sender: TObject); procedure btnKeluarClick(Sender: TObject); private { Private declarations } public Nilai1, Nilai2, Tanya : Integer; Hasil : Real; { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.IsiData; begin Nilai1 := StrToInt(edtNilai1.Text); Nilai2 := StrToInt(edtNilai2.Text); end; procedure TForm1.btnTambahClick(Sender: TObject); begin IsiData; Hasil := Nilai1 + Nilai2; lblHasil.Caption := FloatToStr(Hasil); end; procedure TForm1.btnKurangClick(Sender: TObject); begin IsiData; Hasil := Nilai1 - Nilai2; lblHasil.Caption := FloatToStr(Hasil); end;
- 29 -
Mengenal Pemrograman Delphi
H E K A
–
Modul Pemrograman Lanjutan
procedure TForm1.btnKaliClick(Sender: TObject); begin IsiData; Hasil := Nilai1 * Nilai2; lblHasil.Caption := FloatToStr(Hasil); end; procedure TForm1.btnBagiClick(Sender: TObject); begin IsiData; Hasil := Nilai1 / Nilai2; lblHasil.Caption := FloatToStr(Hasil); end; procedure TForm1.btnPangkatClick(Sender: TObject); begin IsiData; Hasil := Exp(Nilai2 * ln(Nilai1)); lblHasil.Caption := FloatToStr(Hasil); end; procedure TForm1.btnDivClick(Sender: TObject); begin IsiData; Hasil := Nilai1 div Nilai2; lblHasil.Caption := FloatToStr(Hasil); end; procedure TForm1.btnModClick(Sender: TObject); begin IsiData; Hasil := Nilai1 mod Nilai2; lblHasil.Caption := FloatToStr(Hasil); end; procedure TForm1.btnKeluarClick(Sender: TObject); begin Tanya := Application.MessageBox('Are You Sure To Quit From This Program?', 'Confirmation', MB_YESNO + MB_ICONQUESTION); if Tanya = 6 then begin Application.MessageBox('Thanx So Much... For Using This Program', 'Byee.. Byee..', MB_OK + MB_ICONINFORMATION); Application.Terminate; end; end; end.
- 30 -
Mengenal Pemrograman Delphi
LATIHAN PEMROGRAMAN LANJUTAN
Latihan 1 Program Konversi Suhu Tampilan Form
Listing Program procedure TForm1.BKonversiClick(Sender: TObject); begin if ECelcius.Text <> '' then begin EFahreinheit.Text := floattostr(strtofloat(ECelcius.Text)*9/5+32) + '°'; EReamur.Text := floattostr(strtofloat(ECelcius.Text)*4/5) + '°'; EKelvin.Text := floattostr(strtofloat(ECelcius.Text)+273); ECelcius.Text := ECelcius.Text + '°'; BBersih.SetFocus; end; end; procedure TForm1.ECelciusKeyPress(Sender: TObject; var Key: Char); begin if key = #13 then BKonversi.Click; end; procedure TForm1.BBersihClick(Sender: TObject); begin ECelcius.Text:=''; EFahreinheit.Text:=''; EReamur.Text:=''; EKelvin.Text:=''; ECelcius.SetFocus; end;
-1–
Latihan Pemrograman Delphi
procedure TForm1.BKeluarClick(Sender: TObject); begin if MessageDlg('Anda ingin keluar?',mtconfirmation,[mbyes]+[mbno],0)= mryes then begin Application.MessageBox('Terimakasih sudah menggunakan program ini!','Bye.. Byee..',MB_OK + MB_ICONINFORMATION); Application.Terminate; end; end;
Latihan 2 Program Konversi Waktu Tampilan Form
Listing Program Listing Program Buat Sendiri Ya.... !!!
-2–
Latihan Pemrograman Delphi
Latihan 3 Program Pengaturan Teks Tampilan Form
Listing Program procedure TForm1.RadioGroupWarnaClick(Sender: TObject); begin case RadioGroupWarna.ItemIndex of 0 : Labelteks.Font.Color := clBlack; 1 : Labelteks.Font.Color := clRed; 2 : Labelteks.Font.Color := clLime; end; end; procedure TForm1.RadioButtonSansSerifClick(Sender: TObject); begin if RadioButtonSansSerif.Checked = True then Labelteks.Font.Name := 'Ms Sans Serif'; end; procedure TForm1.RadioButtonComicSansClick(Sender: TObject); begin if RadioButtonComicSans.Checked = True then Labelteks.Font.Name := 'Comic Sans MS'; end;
-3–
Latihan Pemrograman Delphi
procedure TForm1.CheckBoxGarisBawahClick(Sender: TObject); begin with Labelteks.Font do if CheckBoxGarisBawah.Checked = true then style := style + [fsUnderline] else style := style - [fsUnderline]; end; procedure TForm1.CheckBoxMiringClick(Sender: TObject); begin with Labelteks.Font do if CheckBoxMiring.Checked = true then style := style + [fsItalic] else style := style - [fsItalic]; end; procedure TForm1.SpinEditUkuranChange(Sender: TObject); begin if SpinEditUkuran.Text <> '' then Labelteks.Font.Size := SpinEditUkuran.Value; end;
Latihan 4 Program Kalkulator Tampilan Form
Listing Program procedure TForm1.BHItungClick(Sender: TObject); var nilai1, nilai2, hasil : integer;
-4–
Latihan Pemrograman Delphi
begin nilai1 := StrToInt(ENilai1.Text); nilai2 := StrToInt(ENilai2.Text); case rgOperator.ItemIndex of 0 : begin hasil := nilai1 + nilai2; EHasil.Text:=inttostr(hasil); end; 1 : begin hasil := nilai1 - nilai2; EHasil.Text:=inttostr(hasil); end; 2 : begin hasil := nilai1 * nilai2; EHasil.Text:=inttostr(hasil); end; 3 : begin hasil := nilai1 div nilai2; EHasil.Text:=inttostr(hasil); end; 4 : begin hasil := nilai1 mod nilai2; EHasil.Text:=inttostr(hasil); end; end; end; procedure TForm1.ENilai1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then ENilai2.SetFocus; end; procedure TForm1.ENilai2Exit(Sender: TObject); begin rgOperator.ItemIndex:= 0; rgOperator.SetFocus; end; procedure TForm1.rgWarnaPilihanClick(Sender: TObject); begin case rgWarnaPilihan.ItemIndex of 0 : Form1.Color := clSkyBlue; 1 : Form1.Color := clMoneyGreen; end; end;
-5–
Latihan Pemrograman Delphi
Latihan 5 Program Perhitungan Gaji Tampilan Form
Listing Program procedure TForm1.btnProsesClick(Sender: TObject); var GajiPokok, Tunjangan, TunjKel, GajiKotor, Asuransi, Pajak, GajiBersih : Currency; begin if (cbGol.ItemIndex <> -1) and (cbStatus.ItemIndex <> -1) then begin case cbGol.ItemIndex of 0 : begin GajiPokok := 500000; Tunjangan := 100000; end; 1 : begin GajiPokok := 600000; Tunjangan := 100000; end; 2 : begin GajiPokok := 700000; Tunjangan := 100000; end; 3 : begin
-6–
Latihan Pemrograman Delphi
GajiPokok Tunjangan end; 4 : begin GajiPokok Tunjangan end; end;
:= 1000000; := 300000;
:= 2000000; := 500000;
case cbStatus.ItemIndex of 0 : TunjKel := 150000; 1 : TunjKel := 0; end; GajiKotor := GajiPokok + Tunjangan + TunjKel; Asuransi := 0.05 * GajiKotor; if GajiKotor >= 1000000 then Pajak := 0.1 * GajiKotor else Pajak := 0; GajiBersih := GajiKotor - Asuransi - Pajak; lblGajiPokok.Caption := FormatCurr('##,###,###',GajiPokok); lblTunjangan.Caption := FormatCurr('##,###,###',Tunjangan); lblTunjKel.Caption := FormatCurr('##,###,###',TunjKel); lblGajiKotor.Caption := FormatCurr('##,###,###',GajiKotor); lblAsuransi.Caption := FormatCurr('##,###,###',Asuransi); lblPajak.Caption := FormatCurr('##,###,###',Pajak); lblGajiBersih.Caption := FormatCurr('##,###,###',GajiBersih); end else begin Application.MessageBox('data pegawai belum lengkap' + chr(10) + 'isi data pegawai dengan lengkap','Pemberitahuan',Mb_ok + mB_iconError); edtNama.SetFocus; end; end; procedure TForm1.btnClearClick(Sender: TObject); begin edtNama.Clear; cbGol.ItemIndex := -1; cbStatus.ItemIndex := -1; lblGajiPokok.Caption := ''; lblTunjangan.Caption := ''; lblTunjKel.Caption := ''; lblGajiKotor.Caption := ''; lblAsuransi.Caption := ''; lblPajak.Caption := ''; lblGajiBersih.Caption := '';
-7–
Latihan Pemrograman Delphi
edtNama.SetFocus; end;
procedure TForm1.btnExitClick(Sender: TObject); begin Application.Terminate; end;
Latihan 6 Program Perhitungan Nilai Tampilan Form
Listing Program Listing Program Buat Sendiri Ya.... !!!
-8–
Latihan Pemrograman Delphi
-9–
Latihan Pemrograman Delphi
Latihan 7 Program Tampilan Data Tampilan Form
- 10 –
Latihan Pemrograman Delphi
Listing Program var FMahasiswa: TFMahasiswa; judul : string; i : integer; implementation {$R *.dfm} procedure TFMahasiswa.ENimKeyPress(Sender: TObject; var Key: Char); begin if key = #13 then ENama.SetFocus; if not (key in ['0'..'9',#13,#8]) then key := #0; end; procedure TFMahasiswa.ENamaKeyPress(Sender: TObject; var Key: Char); begin if key = #13 then ETTL.SetFocus; if not (key in ['a'..'z','A'..'Z',#13,#8,#32]) then key := #0; end; procedure TFMahasiswa.CheckBoxLainClick(Sender: TObject); begin if CheckBoxLain.Checked = true then begin ELain.Enabled := true; ELain.Visible := true; end else
- 11 –
Latihan Pemrograman Delphi
begin ELain.Enabled := false; ELain.Visible := false; end; end; procedure TFMahasiswa.BBersihClick(Sender: TObject); begin ENim.Text:=''; ENama.Text:=''; ETTL.Text:=''; ELain.Text:=''; ComboBoxAgama.Text:=''; RGJK.ItemIndex:=-1; ComboBoxPendidkan.Text:=''; ComboBoxStudi.Text:=''; CheckBoxOlahraga.Checked:=false; CheckBoxKomputer.Checked:=false; CheckBoxKesenian.Checked:=false; CheckBoxLain.Checked:=false; RGPerkawinan.ItemIndex:=-1; RGBiaya.ItemIndex:=-1; ENim.SetFocus; end; procedure TFMahasiswa.BFotoClick(Sender: TObject); var namafile : string; begin if OpenPictureDialog1.Execute = false then exit; namafile := OpenPictureDialog1.FileName; Image1.Picture.LoadFromFile(namafile); end; procedure TFMahasiswa.BProsesClick(Sender: TObject); var JumlahBaris,Indeks : integer; TglLahir : tdate; biaya,perkawinan,jk,hobby : string; begin if CheckBoxOlahraga.Checked then hobby := 'Olahraga'; if CheckBoxKomputer.Checked and (hobby <> '') then hobby := hobby+',komputer' else if CheckBoxKomputer.Checked and (hobby = '') then hobby := 'komputer'; if CheckBoxKesenian.Checked and (hobby <> '') then hobby := hobby+',kesenian' else
- 12 –
Latihan Pemrograman Delphi
if CheckBoxKesenian.Checked and (hobby = '') then hobby := 'kesenian'; if CheckBoxLain.Checked and (hobby <> '') then hobby := hobby + ','+ELain.Text else if CheckBoxLain.Checked and (hobby = '') then hobby := ELain.Text; if RGJK.ItemIndex =0 then jk := 'Laki-laki' else jk := 'Perempuan';
if RGPerkawinan.ItemIndex = 0 then perkawinan := 'Belum Menikah' else if RGPerkawinan.ItemIndex =1 then perkawinan := 'Menikah' else if RGPerkawinan.ItemIndex =2 then perkawinan := 'janda' else perkawinan := 'Duda'; if RGBiaya.ItemIndex = 0 then biaya := 'Ditanggung sendiri' else if RGBiaya.ItemIndex = 1 then biaya := 'Orangtua / keluarga' else biaya := 'Bea Siswa'; TglLahir := DPTLahir.Date; FMahasiswa.Height := 483; Panel2.Top := 20; ProgressBar1.Visible := true; JumlahBaris := 5000; ProgressBar1.Min := 0; ProgressBar1.Max := JumlahBaris; ProgressBar1.Position := 0; for Indeks := 1 to JumlahBaris do ProgressBar1.Position := Indeks; MessageDlg('DATA MAHASISWA SUDAH TERSIMPAN.' + chr(10) + ' ' + chr(10) + 'Nim : ' + ENim.Text + chr(10) + 'Nama : ' + ENama.Text + chr(10) + 'Tempat/Tanggal Lahir : ' + ETTL.Text + ' / ' + DateToStr(TglLahir) + chr(10) + 'Agama : ' + ComboBoxAgama.Text + chr(10) + 'Jenis Kelamin : ' + jk + chr(10) + 'Jenjang Pendidikan : ' + ComboBoxPendidkan.Text + chr(10) + 'Program Studi : ' + ComboBoxStudi.Text + chr(10) + 'Minat/Bakat : ' + hobby + chr(10) + 'Status Perkawinan : ' + perkawinan+chr(10) + 'Biaya Kuliah : ' + biaya,mtInformation,[mbok],0);
- 13 –
Latihan Pemrograman Delphi
Image1.Picture := nil; ProgressBar1.Position :=0; ProgressBar1.Visible :=false; Panel2.Top := 20; FMahasiswa.Height := 513; end; procedure TFMahasiswa.FormCreate(Sender: TObject); begin judul := 'Form Data Mahasiswa STMIK Pontianak'; i := 0; end; procedure TFMahasiswa.BKeluarClick(Sender: TObject); begin if MessageDlg('Anda ingin keluar ?', mtConfirmation, [mbyes,mbno],0) = mryes then begin MessageDlg('Terima kasih anda telah menggunakan program ini', mtInformation, [mbOK], 0); Application.Terminate; end; end;
- 14 –
Latihan Pemrograman Delphi
procedure TFMahasiswa.Timer1Timer(Sender: TObject); begin if i > Length(judul) then i := 0; i := i +1; FMahasiswa.Caption := copy(judul,1,i); end;
- 15 –
Latihan Pemrograman Delphi
Latihan 8 Program Games Sederhana Tampilan Form
Tampilan Form unit untGames; interface uses ... type TForm1 = class(TForm) ... procedure Selesai; procedure btnStartClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure btn1Click(Sender: TObject); procedure btn2Click(Sender: TObject); procedure btn3Click(Sender: TObject); procedure btn4Click(Sender: TObject); procedure edtNameKeyPress(Sender: TObject; var Key: Char); procedure Timer2Timer(Sender: TObject); procedure Timer3Timer(Sender: TObject); private { Private declarations } public
- 16 –
Latihan Pemrograman Delphi
Tukar, Score, Tanya : Integer; Blink : Boolean; { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Selesai; begin Timer1.Enabled := False; btn1.Enabled := False; btn2.Enabled := False; btn3.Enabled := False; btn4.Enabled := False; edtName.Enabled := True; edtName.SetFocus; lblClick.Visible := False; end; procedure TForm1.btnStartClick(Sender: TObject); begin Score := 0; Tukar := 0; lblClick.Visible := True; lblClick.Left := 16; lblBravo.Caption := ''; lblBravo.Visible := False; edtName.Enabled := False; edtName.Clear; Timer1.Enabled := True; btn1.Enabled := True; btn2.Enabled := True; btn3.Enabled := True; btn4.Enabled := True; lblScore.Caption := '0'; end; procedure TForm1.Timer1Timer(Sender: TObject); var CapTmp : String; begin CapTmp := btn1.Caption; btn1.Caption := btn2.Caption; btn2.Caption := btn3.Caption; btn3.caption := btn4.Caption;
- 17 –
Latihan Pemrograman Delphi
btn4.Caption := CapTmp; Inc(Tukar); if Tukar > 16 then Selesai; end; procedure TForm1.btn1Click(Sender: TObject); begin if btn1.Caption = 'x' then Score := Score + 10 else Score := Score - 5; lblScore.Caption := IntToStr(Score); end; procedure TForm1.btn2Click(Sender: TObject); begin if btn2.Caption = 'x' then Score := Score + 10 else Score := Score - 5; lblScore.Caption := IntToStr(Score); end; procedure TForm1.btn3Click(Sender: TObject); begin if btn3.Caption = 'x' then Score := Score + 10 else Score := Score - 5; lblScore.Caption := IntToStr(Score); end; procedure TForm1.btn4Click(Sender: TObject); begin if btn4.Caption = 'x' then Score := Score + 10 else Score := Score - 5; lblScore.Caption := IntToStr(Score); end; procedure TForm1.edtNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin lblBravo.Visible := True; if Score >= 50 then lblBravo.Caption := 'Bravooo... ' + edtName.Text
- 18 –
Latihan Pemrograman Delphi
else lblBravo.Caption := 'Not Lucky ' + edtName.Text; btnStart.SetFocus; end; end; procedure TForm1.Timer2Timer(Sender: TObject); begin Blink := not Blink; if Blink then lblBravo.Font.Color := clRed else lblBravo.Font.Color := clBlue; end; procedure TForm1.Timer3Timer(Sender: TObject); begin if lblClick.Left <= 230 then lblClick.Left := lblClick.Left + 1 else lblClick.Left := 0; end; procedure TForm1.btnExitClick(Sender: TObject); begin Tanya := Application.MessageBox('Are You Sure To Quit From This Program?', 'Confirmation', MB_YESNO + MB_ICONQUESTION); if Tanya = 6 then begin Application.MessageBox('Thanx So Much... For Using This Program', 'Byee.. Byee..', MB_OK + MB_ICONINFORMATION); Application.Terminate; end; end; end.
- 19 –
Latihan Pemrograman Delphi
Latihan 9 Multiple Form Tampilan Form Splash
unit untSplash; interface uses ... type TfrmSplash = class(TForm) procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public x : Integer; { Public declarations } end; var frmSplash: TfrmSplash; implementation uses untUtama; {$R *.dfm} procedure TfrmSplash.FormCreate(Sender: TObject); begin Timer1.Enabled := True; x := 1; end; procedure TfrmSplash.Timer1Timer(Sender: TObject); begin x := x + 1; if x = 7 then begin frmUtama.Show;
- 20 –
Latihan Pemrograman Delphi
frmSplash.Destroy; end; end; end.
Tampilan Form Utama
unit untUtama; interface uses .... type TfrmUtama = class(TForm) procedure Pilih; procedure btnForm1Click(Sender: TObject); procedure btnForm2Click(Sender: TObject); procedure btnExitClick(Sender: TObject); procedure edtKecepatanKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public Anim : Cardinal; { Public declarations } end; var frmUtama: TfrmUtama; implementation uses untForm1, untForm2;
- 21 –
Latihan Pemrograman Delphi
{$R *.dfm} procedure TfrmUtama.Pilih; begin case cboTampil.ItemIndex of 0 : Anim := AW_BLEND; 1 : Anim := AW_CENTER; 2 : Anim := AW_HOR_POSITIVE; 3 : Anim := AW_HOR_NEGATIVE; 4 : Anim := AW_VER_POSITIVE; 5 : Anim := AW_VER_NEGATIVE; end; end; procedure TfrmUtama.btnForm1Click(Sender: TObject); begin Pilih; if edtKecepatan.Text <> '' then begin frmForm1.BringToFront; frmUtama.Hide; AnimateWindow(frmForm1.Handle, StrToInt(edtKecepatan.Text), Anim); frmForm1.Show; end; end; procedure TfrmUtama.btnForm2Click(Sender: TObject); begin Pilih; if edtKecepatan.Text <> '' then begin frmForm2.BringToFront; frmUtama.Hide; AnimateWindow(frmForm2.Handle, StrToInt(edtKecepatan.Text), Anim); frmForm2.Show; end; end; procedure TfrmUtama.btnExitClick(Sender: TObject); begin Application.Terminate; end; procedure TfrmUtama.edtKecepatanKeyPress(Sender: TObject; var Key: Char); begin if not (((key >= '0') and (key <= '9')) or (key = #8)) then key := #0; end;
- 22 –
Latihan Pemrograman Delphi
end.
- 23 –
Latihan Pemrograman Delphi
Tampilan Form1
unit untForm1; interface uses ... type TfrmForm1 = class(TForm) procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure lblBackMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure lblForm2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure lblBackClick(Sender: TObject); procedure lblForm2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmForm1: TfrmForm1; implementation uses untUtama, untForm2; {$R *.dfm} procedure TfrmForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin lblBack.Font.Color := clNavy; lblBack.Font.Style := lblBack.Font.Style + [fsBold];
- 24 –
Latihan Pemrograman Delphi
lblForm2.Font.Color := clNavy; lblForm2.Font.Style := lblForm2.Font.Style + [fsBold]; end;
procedure TfrmForm1.lblBackMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin lblBack.Font.Color := clRed; lblBack.Font.Style := lblBack.Font.Style - [fsBold]; end; procedure TfrmForm1.lblForm2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin lblForm2.Font.Color := clRed; lblForm2.Font.Style := lblForm2.Font.Style - [fsBold]; end; procedure TfrmForm1.lblBackClick(Sender: TObject); begin frmForm1.Hide; frmUtama.Show; end; procedure TfrmForm1.lblForm2Click(Sender: TObject); begin frmForm1.Hide; frmForm2.Show; end; end.
- 25 –
Latihan Pemrograman Delphi
Tampilan Form2
unit untForm2; interface uses ... type TfrmForm2 = class(TForm) procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure lblBackMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure lblForm1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure lblBackClick(Sender: TObject); procedure lblForm1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmForm2: TfrmForm2; implementation uses untForm1, untUtama; {$R *.dfm} procedure TfrmForm2.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
- 26 –
Latihan Pemrograman Delphi
begin lblBack.Font.Color := clNavy; lblBack.Font.Style := lblBack.Font.Style + [fsBold]; lblForm1.Font.Color := clNavy; lblForm1.Font.Style := lblForm1.Font.Style + [fsBold]; end;
- 27 –
Latihan Pemrograman Delphi
procedure TfrmForm2.lblBackMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin lblBack.Font.Color := clRed; lblBack.Font.Style := lblBack.Font.Style - [fsBold]; end; procedure TfrmForm2.lblForm1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin lblForm1.Font.Color := clRed; lblForm1.Font.Style := lblForm1.Font.Style - [fsBold]; end; procedure TfrmForm2.lblBackClick(Sender: TObject); begin frmForm2.Hide; frmUtama.Show; end; procedure TfrmForm2.lblForm1Click(Sender: TObject); begin frmForm2.Hide; frmForm1.Show; end; end.
- 28 –
Latihan Pemrograman Delphi
Delphi Tricks Code Code Edit Input Number procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (((key >= '0') and (key <= '9')) or (key = #8) or (key = #13)) then key := #0; end; -orprocedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9',#13,#8]) then key := #0; end; Code Edit Input Alphabet procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['a'..'z','A'..'Z',#13,#8,#32]) then key := #0; end;
- 29 –
Latihan Pemrograman Delphi