DAFTAR ISI - PEMROGRAMAN DELPHI

DAFTAR ISI KATA PENGANTAR

  i

  Curriculum Vitae Penulis

  ii

  Ucapan Terima Kasih

  iii

  iv

DAFTAR ISI

BAB 1 PENGANTAR DELPHI

  02

  5.2. TIPE DATABASE DELPHI

  58 BAB 4 LATIHAN PEMROGRAMAN DELPHI

  4.1. LATIHAN 01 : APLIKASI SEDERHANA

  60

  4.2. LATIHAN 02 : MENGGUNAKAN KONDISIONAL

  62

  4.3. LATIHAN 03 : MENGGUNAKAN ITERASI

  64 BAB 5 DATABASE DELPHI

  5.1. TIPE DATABASE MANAGEMENT SYSTEM

  69

  73

  58

  5.3. MEKANISME DATA AKSES

  74

  5.4. ARSITEKTUR DATABASE DELPHI

  75 BAB 6 DATABASE LOKAL

  6.1. APLIKASI MYBASE

  74

  6.2. MENGAKTIFKAN DATASET

  76

  01

  1.1. MENGENAL DELPHI

  3.5. CLASS REFERENCE

  3.4. DEBUGGING DAN EXCEPTION

  1.3. KEBUTUHAN INSTALASI DELPHI

  08

  03 BAB 2 LINGKUNGAN KERJA DELPHI

  2.1. MENGENAL IDE DELPHI

  04

  2.2. MENU DAN TOOLBAR

  05

  2.3. COMPONENT PALETTE, FORM DESIGNER, DAN OBJECT INSPECTOR

  05

  2.4. OBJECT TREEVIEW

  08

  2.5. CODE EDITOR

  2.6. OBJECT REPOSITORY

  55

  10

  2.7. DELPHI HELP

  11

  2.8. FILE‐ FILE SOURCE PENTING DELPHI

  12 BAB 3 DASAR PEMROGRAMAN DELPHI

  3.1. DELPHI PASCAL

  1.2. PRODUK DARI DELPHI

  3.2. DELPHI OBJECT PASCAL

  45

  3.3. EXCEPTION

  13

  6.3. MENGAKSES FIELD DATASET

  77

  6.4. NAVIGASI DATASET

  77

  6.5. MEMBUAT FILE DATA PACKET

  79

  6.6. DATA CONTROL

  81

  6.7. FIELD

  84

  6.8. MODIFIKASI DATA

  86

  6.9. VALIDASI DATA

  91

  6.10. INDEKS

  91

  6.11. FILTER DAN RANGE

  93

  6.12. PENCARIAN DATA

  96

  6.13. AGGREGATE

  98 BAB 7 DATABASE RELASIONAL

  7.1. APLIKASI DATABASE 100

  7.2. AKSESORIS UMUM APLIKASI DATABASE 110

  BAB 8 RAVE REPORT

  8.1. MENGGUNAKAN RAVE REPORT 115

  BAB 9 SQL

  9.1. SEKILAS MENGENAI SQL 129

  9.2. METODE SQL 129

  9.3. IMPLEMENTASI SQL DALAM BAHASA PEMROGRAMAN DELPHI 131

DAFTAR PUSTAKA

  136 Teknologi informasi pada zaman modern ini berkembang sangat pesat. Tidak hanya pada satu bidang, tetapi juga semua bidang. Merambah dunia usaha, industri, hingga instansi pemerintah. Teknologi informasi terkait erat dengan istilah perangkat lunak (software). Perangkat lunak (software) merupakan jembatan penghubung antara user dengan perangkat keras (hardware) komputer. Tanpa perangkat lunak (software), perangkat keras (hardware) dari suatu komputer tak lebih dari suatu benda mati yang tidak dapat dimanfaatkan oleh user.

  Ada banyak perangkat lunak (software) yang digunakan dalam kehidupan sehari‐ hari, seperti Microsoft Word, Adobe Reader, Corel DRAW, dan lain‐ lain. Perangkat lunak (software) tersebut merupakan beberapa contoh dari perangkat lunak aplikasi (application software). Perangkat lunak aplikasi (application software) adalah perangkat lunak (software) yang secara khusus digunakan untuk kebutuhan pengolahan data tertentu sehingga peran dari penggunanya adalah murni sebagai seorang user. Ada pula perangkat lunak (software) yang dapat digunakan sebagai sarana untuk membuat perangkat lunak (software) lainnya atau aplikasi. Perangkat lunak (software) seperti ini dinamakan perangkat lunak bahasa pemrograman (programming language software). Dengan perangkat lunak bahasa pemrograman (programming language software) ini, Software Engineer dapat membuat, merancang, dan mengatur sendiri interface beserta fasilitas perangkat lunak (software) yang akan dibuat. Perangkat lunak (software) yang dapat ditangani oleh perangkat lunak bahasa pemrograman (programming language

  

software) meliputi banyak bidang misalnya aplikasi perkantoran, aplikasi perbankan, aplikasi desain

  grafis, aplikasi desktop, dan lain‐ lain. Dalam buku ini, perangkat lunak bahasa pemrograman (programming language software) yang dikupas adalah bahasa pemrograman Delphi.

1.1. Mengenal Delphi

  Salah satu perangkat lunak bahasa pemrograman (programming language software) yang menduduki peringkat 50 (lima puluh) besar dunia adalah Borland Delphi. Borland Delphi menggunakan bahasa pemrograman Pascal. Bahasa pemrograman ini dipakai pertama kali pada perangkat lunak bahasa pemrograman (programming language software) yang bernama Turbo Pascal. Pascal juga merupakan salah satu produk legendaries dari Borland. Sekitar tahun 90‐ an, Pascal pernah menjadi perangkat lunak bahasa pemrograman (programming language software) popular yang menjadi pilihan dari Software

  Engineer. Hal ini karena bahasa Pascal mudah dipelajari.

  Banyak jenis aplikasi yang dapat dibuat oleh bahasa Pascal. Seiring dengan perkembangan dunia Teknologi Informasi, bahasa pemrograman juga turut berkembang. Yang semula masih menggunakan

text mode kemudian berkembang menjadi bahasa pemrograman dengan GUI yang sangat menarik.

  Perkembangan tersebut tidak lepas dari pengaruh perkembangan sistem operasi (operating system). Dahulu Turbo Pascal digunakan untuk sistem operasi (operating system) yang masih menggunakan DOS (Disk Operating System). Karena Microsoft mulai banyak mengeluarkan varian sistem operasi yang mendukung GUI, seperti Windows 95, Windows 98, sampai dengan Windows Vista, mau tidak mau Borland pun harus menyesuaikan dengan perkembangan tersebut. Pada akhirnya muncullah perangkat lunak bahasa pemrograman (programming language software) yang bernama Borland Delphi hingga Turbo Delphi. Versi terbaru adalah Delphi 2009. Meski ada banyak versi Delphi, teknikal pemrograman yang dibahas dalam buku ini adalah Delphi 7. Versi ini dipilih karena mempunyai fitur dan fasilitas yang mencukupi, kinerja yang bagus pada spesifikasi perangkat keras (hardware) minimum, di samping itu cukup popular dan banyak digunakan oleh Software Engineer.

  Sekilas mungkin terlintas pertanyaan di benak Anda. Mengapa Borland Delphi menjadi bahasa pemrograman yang begitu popular ? Jawabannya adalah, Borland Delphi mempunyai banyak fasilitas dan bahasa pemrograman ini relative mudah dipelajari dan digunakan. Delphi mendukung berbagai fasilitas yang tidak dimiliki oleh bahasa pemrograman lain, misalnya fasilitas source completion, tool database

  

desktop, xml converter, Microsoft Office Component Connector, Corba, BDE, dan masih banyak lagi.

  Delphi adalah salah satu aplikasi pemrograman yang menarik. Delphi bukan hanya digunakan untuk perancangan aplikasi desktop ataupun console, tetapi juga web development. Oleh karena fungsinya sangat beragam, Borland Delphi dikenal sebagai bahasa pemrograman Rapid Application Development (RAD).

  Salah satu fasilitas bahasa pemrograman Delphi yang paling banyak digunakan dan paling banyak membantu dalam proses pembuatan program adalah fasilitas source completion. Source completion adalah fasilitas yang disediakan oleh Delphi yang mampu digunakan untuk melengkapi kode yang dituliskan pada kode editor secara otomatis. Dengan fasilitas ini penulisan listing program akan menjadi lebih cepat. Tentu saja hal ini akan semakin menghemat waktu, biaya, dan tenaga. Anda membutuhkan database? Delphi juga dapat menangani kebutuhan database Anda secara langsung, dengan dukungan database desktop. Pembuatan report juga dapat ditangani secara langsung oleh Delphi. Dalam hal pembuatan report, Delphi telah menyediakan aplikasi tambahan yang dinamakan Quick Report dan Rave Report. Quick Report dan Rave Report adalah tool yang dirancang khusus untuk menangani

  

report. Tool ini sudah ada dalam paket Delphi. Jadi, Delphi merupakan paket bahasa pemrograman yang

lengkap dan patut dijadikan pilihan oleh Anda.

1.2. Produk dari Delphi

  Sebagai bahasa pemrograman yang bersifat Rapid Application Development (RAD), Delphi telah menghasilkan beberapa aplikasi sebagai berikut ini :

  Accounting : Intuit Lacerte, Spryka Desktop Budget .

   Business : Atlantis Word Processor, SME:Service Management Enterprise Service management

   software.

  

CodeGear Products : CodeGear Delphi, CodeGear C++ Builder, Borland JBuilder versions 1 and 2.

   Communication : Globestar Systems Connexall (Event Notification and Presence Management

   Platform).

  Database Management/Development : MySQL Tools (Administrator, Query Browser), TOAD, SQL

   Maestro

  Email Marketing : Spryka Epostmailer

   Engineering Software : Altium Designer/Protel (electronics design), OrcaFlex (offshore structural

   analysis).

  

Image Viewers : FastStone Image Viewer, FuturixImager, Photofiltre, BioniX Wallpaper Changer.

   Internet Messaging : Skype (VoIP and IM), QIP (IM), The Bat! (e‐ mail client), PopTray (e‐ mail checker),

   FeedDemon (feed viewer), XanaNews, Xnews (newsgroup reader).

  Music Production : FL Studio.

   Point of Sale and Retail Management : Infinity RMS by Triquestra International .

   Software Development : Dev‐ C++ (IDE), DUnit (unit testing), Help & Manual (help system authoring),

   Inno Setup (installer engine), Game Maker .

  Web Authoring : Macromedia HomeSite (HTML editor), TopStyle Pro (CSS editor), Macromedia

   Captivate (screencast) .

  Web Browsers (MSIE shells) : Avant Browser, Netcaptor.

  

  Utilities : Spybot ‐ Search & Destroy, Ad‐ Aware (anti‐ spyware), jv16 PowerTools, Total Commander

   (file manager), Copernic Desktop Search, PowerArchiver, Beyond Compare(file comparison), WordWeb (dictionary/thesaurus).

1.3. Kebutuhan Instalasi Delphi

  Untuk melakukan instalasi dari Delphi, sistem operasi Window Anda harus telah didukung beberapa aplikasi eksternal Window. Beberapa syarat aplikasi eksternal yang harus dipenuhi sebagai berikut : Microsoft .NET Framework 2.0.

   Microsoft Direct Access Object 2.8.

   Microsoft Internet Explorer v6.0 SP1.

   Microsoft XML Core Services (MSXML) v4.0 SP2.

   Microsoft Visual J# .NET v2.0 Redistributable.

   Jika pada sistem operasi Windows yang Anda gunakan ternyata belum memenuhi syarat aplikasi yang disebutkan, maka installer Delphi akan meng‐ instalasi‐ nya secara otomatis. Selain itu, instalasi Delphi juga membutuhkan spesifikasi tertentu pada komputer yang Anda gunakan, sesuai dengan kebutuhan minimum Delphi. Ketentuan sistem minimum komputer yang harus dipenuhi adalah sebagai berikut : Intel Pentium atau kompatibel, kecepatan prosesor minimal 1.4 GHz (disarankan 2 GHz).

   1 GB RAM (direkomendasikan 2 GB).

   3 GB ruang kosong pada hard disk untuk Delphi.

   750 MB ruang kosong pada hard disk untuk persyaratan.

   DVD‐ RW/ROM Drive.

   Monitor 1024 x 768 piksel atau monitor dengan resolusi lebih tinggi.

   Berikut ini adalah daftar jenis sistem operasi Windows yang mendukung Delphi : Microsoft Windows 2000 (SP4 atau yang lebih tinggi).

   Microsoft Windows XP Home atau Professional (SP3 atau yang lebih tinggi).

   Microsoft Windows Vista SP1 (memerlukan administrator policy).

   Microsoft Windows Server 2003 (SP1).

   Microsoft Windows Server 2008.

   Setelah memahami dan memenuhi kebutuhan perangkat lunak (software) dan perangkat keras (hardware) untuk meng‐ instal Delphi, Anda dapat melanjutkannya dengan melakukan instalasi Delphi di komputer.

  

Integrated Development Environment atau IDE adalah sebuah lingkungan terintegrasi yang digunakan

  pada proses pengembangan perangkat lunak (software). Delphi menyediakan IDE untuk digunakan oleh Software Engineer dalam proses pengembangan dari aplikasi secara cepat dan mudah.

2.1. Mengenal IDE Delphi

  IDE adalah bagian dari Delphi yang digunakan untuk menciptakan aplikasi. Dengan IDE secara visual, para

  

Software Engineer dapat merancang tampilan untuk para user interface (antarmuka pengguna) dan

melakukan penulisan skrip program (kode program).

  Gambar 2‐ 1.IDE Delphi Pada saat pertama kali dipanggil, akan muncul beberapa tools utama dalam Delphi IDE, yaitu Menu,

  

Toolbar, Component Palette, Object Inspector, Object Treeview, Code Editor, Project Manager, dan

  beberapa tools lain. Semua fasilitas dan fitur tersebut mempunyai tujuan untuk membuat para pengembang aplikasi dapat mengembangkan aplikasi secara mudah dan cepat.

  2.2. Menu dan Toolbar

Window utama Delphi terdiri atas menu, toolbar, dan Component Palette. Menu yang ada dalam Delphi

  berisi sejumlah besar perintah yang sebagian diantaranya mempunyai shortcut key yang dapat dipergunakan untuk akses cepat menggunakan keyboard.

  Gambar 2‐ 2. Menu dan Toolbar

  

Toolbar yang ada dalam bahasa pemrograman Delphi berupa sekumpulan tombol untuk fungsi‐ fungsi

  yang sering dipergunakan oleh Software Engineer. Toolbar tersebut dikelompokkan dalam beberapa kelompok, yaitu Standard Toolbar, View Toolbar, Desktop Toolbar, Debug Toolbar, serta Internet Toolbar. Di bawah ini daftar shortcut yang sering digunakan dalam bahasa pemrograman Delphi.

  Shortcut Keterangan

  F1 Bila Anda membutuhkan bantuan dalam membuat aplikasi, tombol ini akan menghubungkan Anda dengan Help Delphi. F12 Shortcut ini berguna untuk pindah dari form ke editor kode dengan cepat. Shift + F12

  Shortcut ini berguna untuk menampilkan form yang sedang Anda kerjakan dalam aplikasi.

  Ctrl + F12 Menampilkan semua unit yang ada pada suatu proyek. F11 Berguna untuk mengaktifkan Object Inspector. Ctrl + F11 Membuka file proyek dengan cepat. Shift + Ctrl + F11 Menampilkan Window Project Option. F9 Mengeksekusi program yang sedang Anda kerjakan.

  2.3. Component Palette, Form Designer, dan Object Inspector

Component Palette, Form Designer, dan Object Inspector secara bersama‐ sama digunakan untuk

membuat tampilan program.

2.3.1. Component Palette

  

Component palette berisi komponen‐ komponen Delphi (Visual/Non Visual VCL dan CLX) yang dapat

  digunakan untuk mendesain tampilan program dalam suatu Form. Komponen yang ada dalam komponen

  

palette disusun dan dikelompokkan dalam page sesuai fungsinya. Misalnya tab standard hanya berisi

komponen standar yang biasa digunakan dalam pemrograman.

  Contoh dari tab standard adalah komponen Button, Edit, Label, RadioButton, dan masih banyak lagi.

  Gambar 2‐ 3. Component Palette

2.3.2. Form Designer

  Bahasa pemrograman Delphi adalah sebuah IDE yang bertujuan untuk pembuatan aplikasi visual. Aplikasi visual adalah aplikasi yang memerlukan interaksi dari user melalui penglihatan visual mereka. Bayangkan apa yang terjadi apabila bentuk form yang dirancang terkesan acak‐ acakan. Oleh sebab itu, bahasa pemrograman Delphi menyediakan fasilitas yang berfungsi untuk memudahkan Software Engineer dalam merancang form secara user‐ friendly dan tentu saja harus mudah dimengerti oleh user. Adapun fasilitas yang disediakan oleh Delphi dikenal dengan istilah Form Designer.

  

Form designer adalah form tempat untuk mengatur komponen sesuai dengan kebutuhan tampilan

  program yang akan dibuat. Cara meletakkan komponen ke dalam form ada beberapa macam, yaitu : Click komponen pada component palette, kemudian click atau drag pada Form.

   Double click komponen pada component palette, maka komponen tersebut akan terletak pada

   tengah form.

  Shift click pada component palette, kemudian click pada form beberapa kali untuk meletakkan

   beberapa komponen. Untuk menormalkan kembali status click, tekan tombol panah pada bagian kiri component palette.

  Gambar 2‐ 4. Form Designer Objek yang sudah ada dalam form dapat diatur posisinya sesuai dengan kebutuhan cukup dengan cara

  

click and drag pada objek tersebut. Objek yang terseleksi akan ditandai dengan delapan kotak kecil di

  bagian tepi dan sudutnya. Beberapa objek dapat diseleksi secara bersamaan. Caranya dengan menekan tombol Shift sambil click pada objek lain, atau dengan menekan tombol Ctrl sambil melakukan drag. Beberapa objek yang terseleksi dapat dipermudah dengan pengaturan posisinya dengan melakukan

  

align . Pilih menu Edit – Align. Fungsi align ini sangat bermanfaat karena dapat memudahkan Software

Engineer dalam menyusun tampilan yang rapi.

2.3.3. Object Inspector

  

Object Inspector dipergunakan untuk mengubah nilai property dari objek yang terseleksi yang ada dalam

Form Designer. Object Inspector terdiri atas 2 (dua) page. Page pertama adalah Properties, berguna untuk mengatur property komponen yang sedang aktif.

  Gambar 2‐ 5. Object Inspector page Properties Dan page kedua adalah Events yang berfungsi sebagai trigger/pemicu komponen yang bersangkutan untuk menjalankan perintah tertentu.

  Gambar 2‐ 6. Object Inspector page Events

  2.4. Object Treeview

Object Treeview secara default berada di sisi kiri desktop. Object Treeview menampilkan hubungan

parent‐ child antar komponen dalam bentuk hirarki. Object Treeview, Form Designer, dan Object Inspector

  saling tersinkronisasi, sehingga bila fokus kita ubah dalam Form Designer maka fokus dalam Object Treeview dan Object Inspector juga akan berpindah.

  Gambar 2‐ 7. Object Treeview

  2.5. Code Editor

  Ketika kita menyusun komponen dalam suatu form, Delphi akan membangkitkan kode program dalam bahasa Object Pascal. Kita dapat meng‐ edit kode program dengan menggunakan code editor yang merupakan suatu editor teks yang mempunyai banyak fitur.

  Gambar 2‐ 8. Code Editor Salah satu fungsi yang sangat membantu kita dalam menyusun program adalah adanya syntax

  

highlighting yaitu adanya perbedaan style dan warna font untuk kata kunci, identifier, konstanta, dan

  lain‐ lain. Pada bagian kiri terdapat Code Explorer, yang berisi daftar variabel, procedure, uses list, dan lain‐ lain yang ditampilkan dalam bentuk tree. Pada bagian kanan adalah Code Editor. Dengan code editor, kita dapat membuka lebih dari satu file text, yang masing‐ masing dapat di pilih dengan page selector. Pada bagian bawah code editor terdapat status bar yang berisi informasi tentang posisi kursor (baris dan kolom), status modifikasi file, serta status Insert/Overwrite dari code editor. Di sebelah kanannya terdapat code/diagram selector yang dapat digunakan untuk mengganti tampilan kode menjadi diagram dan sebaliknya.

  Fitur‐ fitur lain yang tersedia dalam code editor sebagai berikut ini.

  2.5.1. Code Insight

Code Insight tool digunakan untuk menampilkan window popup sesuai konteks. Fitur‐ fitur dalam code

editor yang masuk kelompok ini sebagai berikut :

  Code Completion, digunakan untuk mempermudah Software Engineer dalam menentukan property,

   method, ataupun event dari objek tertentu yang telah diketikkan.

  Code Parameter, digunakan untuk mengetahui parameter apa saja yang dipunyai oleh suatu

   procedure/function tertentu.

  Tooltip Expression Evaluation. Pada saat program sedang berhenti ketika terjadi proses debugging,

   gerakkan mouse pointer ke suatu ekspresi tertentu, diamkan beberapa lama, maka akan muncul nilai dari ekspresi tersebut.

  Tooltip Symbol Insight. Pada saat kita sedang mengetikkan kode program, gerakkan mouse di atas

   suatu identifier tertentu, maka akan muncul deklarasi dari identifier tersebut.

  2.5.2. Code Template

Code Template adalah kerangka struktur program yang mempersingkat Software Engineer dalam

  mengetikkan kode program. Tekan Ctrl‐ J untuk menampilkan daftar Code Template. Kita dapat mendefinisikan beberapa template lain melalui Editor Options.

  2.5.3. Class Completion

Class Completion digunakan untuk melengkapi kelas tertentu dan untuk meng‐ generate suatu kerangka

  kode di bagian implementasi. Untuk melakukannya ketikkan tombol Ctrl‐ Shift‐ C. Sebagai contoh, jika kita mendefinisikan property test : Integer, maka setelah Ctrl‐ Shift‐ C ditekan maka akan di‐ generate write dan

  

read spicifier pada bagian private, serta kerangka kode pada bagian implementasi. Fungsi ini sangat

membantu bila kita banyak bekerja dengan Object Oriented Programming.

  2.5.4. Code Browsing

Code Browsing digunakan untuk memindahkan kursor ke tempat deklarasi suatu identifier tertentu. Bila

mouse pointer digerakkan di atas suatu identifier tertentu, maka akan muncul deklarasi identifier

  tersebut. Tetapi bila kita tahan tombol Ctrl sambil Anda gerakkan mouse pointer ke identifier tersebut maka identifier tersebut ditampilkan dalam warna biru dengan garis bawah. Click identifier tersebut maka kursor akan menuju deklarasi identifier tersebut. Untuk kembali ke posisi semula dapat menggunakan tombol browse back dan browse forward. Prinsip kerja dari code browsing mirip dengan aplikasi web

  

browser dalam internet di mana pada saat kita tahan tombol control maka identifier yang ada di bawah

mouse pointer seperti web link, sedangkan tombol browse back dan browse forward mirip tombol back

  dan forward dalam web browser. Untuk memindahkan kursor dari deklarasi procedure/function menuju implementasi procedure/function tersebut, gunakan Ctrl‐ Up dan Ctrl‐ Down.

2.5.5. Code Explorer Dalam code explorer, daftar isi code editor ditampilkan dalam bentuk diagram pohon (tree diagram).

  Dengan code explorer navigasi terhadap kode program akan menjadi sangat mudah. Double click item dalam code explorer, maka kita akan langsung menuju tempat item tersebut dalam code editor.

2.6. Object Repository

  

Object Repository dalam Delphi berisi kumpulan objek (Form, Dialog, Wizzard, Template, dll) yang dapat

  memudahkan dalam hal development. Dengan Object Repository, modul‐ modul program ataupun proyek yang pernah dibuat dapat dipergunakan kembali (reusable).

  Gambar 2‐ 9. Object Repository Untuk memasukkan proyek kita ke dalam object repository, kita gunakan menu Project ‐ Add to

  

Repository. Bila yang ingin kita tambahkan adalah form atau data module, kita dapat menambahkannya

  ke object repository dengan click kanan dan pilih menu Add to Repository. Untuk mengakses item dalam

  

object repository, kita gunakan menu File – New – Other. Di layar monitor akan muncul objek‐ objek yang

dapat dipergunakan kembali.

  Kita dapat mempergunakan objek‐ objek tersebut dalam 3 (tiga) cara, yaitu :

  2.6.1. Copy Pilih copy, bila menginginkan proses copy terhadap suatu objek untuk ditempatkan dalam projek.

  Perubahan apa pun terhadap object repository tidak berpengaruh pada objek dalam proyek, demikian juga sebaliknya, perubahan objek tersebut dalam proyek tidak akan berpengaruh terhadap objek dalam

  object repository.

  2.6.2. Inherit Pilih inherit, bila menginginkan proses pembuatan turunan dari objek yang ada dalam object repository.

  Bila terjadi proses compile, perubahan yang terjadi dalam object repository akan berpengaruh terhadap objek dalam proyek. Tetapi perubahan objek dalam proyek tidak akan terpengaruh pada object

  repository.

  2.6.3. Use

  Pilih use, bila menginginkan objek dalam object repository menjadi bagian dalam aplikasi. Perubahan terhadap objek dalam proyek akan berpengaruh terhadap objek yang ada dalam object repository karena objek dalam proyek maupun dalam object repository adalah sama. Penggunaan metode ini harus dilakukan dengan terencana dan hati‐ hati.

2.7. Delphi Help

  Bahasa pemrograman Delphi menyediakan context sensitive help, yaitu help yang bekerja berdasarkan konteks. Dengan menekan tombol F1, akan diperoleh help tergantung objek/Window yang aktif.

  Gambar 2‐ 10. Help Delphi

2.8. File‐ file Source Penting Delphi

  Dalam setiap bahasa pemrograman, sangat penting untuk mengetahui dengan pasti jenis‐ jenis file sumber (source) yang dibutuhkan untuk membuat aplikasi. Untuk Delphi, ada tiga jenis file sumber utama yang tidak boleh hilang/terhapus, yaitu :

  File Project, mempunyai ekstensi *.dpr,

   File Unit, mempunyai ekstensi *.pas,

   File Form, mempunyai ekstensi *.dfm.

   Hirarki tertinggi dari sistem file Delphi terletak pada Project, karena di dalam Project‐ lah unit dan form berada. Tanpa Project, Anda tidak dapat melakukan kompilasi program, tetapi tanpa unit atau form Anda masih dapat mengompilasi program. Untuk pemrograman Delphi berbasis Window, minimal dalam sebuah Project terdapat sebuah unit dan sebuah form.

  Bahasa pemrograman yang digunakan dalam Delphi adalah suatu variant dari bahasa Pascal, yang oleh Delphi disebut sebagai Object Pascal karena variant ini meng‐ implementasi Object Oriented Programming

  

(OOP). Pada bab ini, Delphi Object Pascal akan dibahas dalam dua sub bab, yaitu sub bab dengan judul

  Delphi Pascal yang membahas elemen bahasa Delphi yang tidak terkait dengan OOP, dan Delphi Object Pascal yang mempunyai elemen terkait dengan OOP.

3.1. Delphi Pascal

  3.1.1. Komentar pada Kode

  Komentar adalah tulisan pada kode yang digunakan untuk kepentingan dokumentasi. Compiler tidak akan menerjemahkan komentar. Pada bahasa pemrograman Delphi, komentar ditandai dengan Kurung kurawal { } dan kurung biasa dan tanda bintang (* *) untuk komentar yang bisa lebih dari satu baris, serta garis miring ganda // untuk komentar yang hanya satu baris.

  { Ini adalah Komentar } { MyProg ver 1.0 Program ini dibuat untuk uji coba saja

  } (* Coba-coba *) // Trik ini adalah trik yang sederhana

  3.1.2. Identifier

Identifier adalah nama untuk meng‐ identifikasi konstanta, tipe data, variabel, procedure, function, unit,

program, dan field pada record.

  Pendefinisian identifier harus memenuhi ketentuan sebagai berikut : Panjang nama suatu identifier maksimum 63 (enam puluh tiga) karakter. Selebihnya akan diabaikan

   oleh Compiler.

  Identifier harus diawali dengan abjad, atau karakter garis bawah (_).

   Karakter berikutnya bisa abjad, karakter garis bawah, atau angka.

   Identifier tidak dapat mengandung karakter spasi ataupun symbol‐ simbol seperti $, #, &, %, dan lain‐

   lain.

  Nama identifier tidak boleh sama dengan kata kunci (reserved word).

   3.1.3. Kata Kunci (reserved word) dan Directive

  Kata kunci (reserved word) adalah kata yang memiliki peran khusus dalam bahasa Delphi Pascal. Kata yang termasuk kata kunci tidak boleh menjadi identifier. Selain itu, Delphi juga memiliki sejumlah kata yang termasuk dalam kelompok directive, yaitu kata yang punya “peran khusus” tergantung lokasinya. Ini berarti, meskipun sangat tidak dianjurkan, kita dapat mendefinisikan identifier dengan kata yang termasuk directive, misalnya private, public, dan lain‐ lain. Berikut ini daftar kata yang termasuk kata kunci (reserved word) yang ditampilkan dalam tabel dengan urutan alphabet.

  Kata Kunci Peran dalam Delphi Pascal

  and Operasi Boolean AND. array Untuk mendefinisikan array. as Untuk melakukan typecast. asm Awal dari definisi Assembly. begin Awal blok. case Pencabangan dengan banyak alternative. class Definisi kelas. const Definisi konstanta. constructor Metode khusus untuk membentuk kelas. destructor Metode khusus untuk menghancurkan kelas. dispinterface Bentuk khusus interface, yaitu Dispatch Interface (berkaitan dengan COM automation). div Pembagian bilangan bulat. do

  Awal dari statement yang akan dijalankan (untuk for, while, with, try…except). downto Untuk for dengan arah pengulangan terbalik. else

  Pilihan lainnya dalam suatu pencabangan (untuk if dan case). end Akhir dari blok. except Awal dari exception block (untuk try…except). exports Digunakan untuk meng‐ export procedure, function atau varibel (dalam DLL). file Untuk mendefinisikan variable dengan tipe file. finalization Awal dari perintah yang harus dijalankan pada saat unit ditutup (pasangan dari initialization). finally Kata kunci untuk melindungi resource (try…finally). for

  Pengulangan dengan banyaknya pengulangan yang sudah diketahui. function Pendefinisian dari function. goto Perintah untuk loncat ke label tertentu. If Pencabangan dengan 2 (dua) alternative. implementation Kata kunci yang mengawali bagian implementation. initialization Awal dari sekumpulan perintah yang harus dijalankan ketika suatu unit mulai diakses. inline Untuk meng‐ akses perintah assembly. interface Awal dari bagian interface dalam unit.

  Kata kunci untuk mendefinisikan interface. Is Untuk mengecek tipe kelas. label Label yang menandai tempat untuk perintah goto. library Kata kunci untuk menandai sebuah proyek akan menghasilkan library (DLL). mod Pembagian sisa. nil Pointer kosong. not Operator Boolean untuk negasi (NOT). object Alternative dari pendefinisian kelas. of Kata kunci yang menjadi pelengkap kata kunci lain tertentu (file, case, array, set, dll). or Operator Boolean untuk atau (OR). out

  Definisi parameter untuk procedure/function yang hanya digunakan sebagai output saja. packed Untuk mendefinisikan tipe record atau array yang tidak di‐ align menjadi word atau double‐ word. procedure Pendefinisikan procedure. program Pendefinisikan project yang merupakan program. property Atribut dari objek yang dapat memiliki metode untuk mengaksesnya (Setter dan Getter). raise Untuk membangkitkan exception. record Untuk mendefinisikan tipe record. repeat Kata kunci untuk pengulangan di mana syarat berhentinya pengulangan diperiksa di akhir blok. resourcestring Untuk mendefinisikan resource. set Untuk mendefinisikan himpunan. shl Operasi bitwise untuk shift left. shr Operasi bitwise untuk shift right. string Untuk mendefinisikan tipe string. then Untuk mendefinisikan alternative utama dalam if. threadvar Untuk mendefinisikan variabel local dari thread. to

  Untuk mendefinisikan pengulangan dengan for try Untuk melindungi resource (try…finally) atau untuk menangkan exception (try…except). type Untuk mendefinisikan tipe identifier. unit Untuk mendefinisikan unit. until

  Untuk mendefinisikan pengecekan dalam pengulangan repeat. uses Untuk mengakses unit lain. var Untuk mendefinisikan variabel. while

  Untuk mendefinisikan pengulangan di mana pengecekan berhentinya pengulangan dilakukan di awal. with

  Untuk menyingkat akses terhadap field dari record atau field, property, ataupun method dari objek. xor Operasi Boolean exclusive or (XOR). Berikut ini beberapa directive yang ditampilkan dalam urutan alphabet.

  Nama Directive Peran Directive dalam Delphi Pascal

  at Untuk mendefinisikan dalam metode mana perintah raise akan dilakukan. automated Level akses yang sama dengan public, tetapi memiliki informasi berkaitan dengan

  Automation Server.

  message Untuk mendefinisikan sebuah metode yang akan me‐ respon

  Windows Message tertentu.

  on Untuk memeriksa exception apa yang akan ditangkap. private Untuk mendefinisikan level akses private bagi metode atau property dari objek. protected Untuk mendefinisikan level akses protected bagi metode atau property dari objek. published Untuk mendefinisikan level akses published bagi metode atau property dari objek. public

  Untuk mendefinisikan level akses public atau property dari objek.

  Compiler Directive

Compiler directive adalah informasi yang diberikan kepada compiler tentang bagaimana compiler akan

  meng‐ compile program. Compiler directive berbentuk sintaks khusus pada blok komentar yang diawali dengan karakter $.

  Compiler directive dapat dikelompokkan menjadi 3 (tiga) kelompok, yaitu : Switch directive, yaitu directive yang digunakan untuk menghidupkan atau mematikan fitur khusus

   yang dimiliki oleh compiler. Untuk setiap directive yang digunakan, biasanya menggunakan tanda “+” atau “on” untuk menghidupkan fitur tersebut, dan menggunakan tanda “‐ “ atau “off” untuk mematikannya. Beberapa directive jenis ini dapat dipanggil dalam satu perintah dengan dibatasi oleh tanda koma. Contohnya sebagai berikut :

  { $O } {* $O- *} { $B+, R-, S- }

  Parameter directive, yaitu directive yang menentukan parameter tertentu yang berpengaruh

   terhadap proses compile. Contohnya adalah :

  { $I TYPES.INC } Conditional directive, adalah kompilasi berdasarkan kondisi, di mana kondisi ditentukan oleh

   keberadaan suatu konstanta tertentu. $DEFINE digunakan untuk menentukan bahwa konstanta tersebut eksis, sedangkan $UNDEF digunakan untuk menentukan bahwa konstanta tersebut tidak (lagi) eksis. Untuk menentukan conditional compilation‐ nya, gunakan $IFDEF, $IFNDEF, $IF, $ELSEIF, $ELSE, $ENDIF, serta $IFEND. Berikut ini adalah contohnya :

  { $DEFINE DEBUG} { $IFDEF DEBUG} Writeln (‘Debug is on.’) ; // baris ini di-compile { $ELSE} Writeln(‘Debug is off.’) ; // baris ini tidak di-compile { $ENDIF} { $UNDEF DEBUG} { $IFNDEF DEBUG} Writeln(‘Debug is off.’) ; // baris ini di-compile { $ENDIF}

  

Compiler directive dapat dikirimkan melalui command line parameter jika Anda menggunakan command

line parameter untuk melakukan compile, bisa juga diletakkan dalam configuration file (file dengan

  ekstension * .cfg). Semua compiler directive yang diletakkan dalam program akan meng‐ override compiler directive dari file berekstensi *. cfg maupun command line.

3.1.4. Unit

  Delphi Pascal merupakan bahasa modular sehingga memungkinkan modul program dapat di‐ compile secara terpisah‐ pisah. Modul ini disebut sebagai unit. Penggunaan unit akan membuat program menjadi terstruktur dan memungkinkan reusability kode program dalam projek yang berbeda. Kita dapat membuat sebuah unit yang berdiri sendiri dan dapat dipergunakan oleh proyek apa pun. Ketika program di‐ compile, di‐ run atau sedang dilakukan syntax checking, Delphi akan membentuk sebuah file biner dengan nama yang sama dan berakhiran dcu.

  Struktur Unit

  Sebuah unit selalu diawali dengan kata kunci unit <Nama Unit> dan diakhiri dengan end. (end dan tanda titik). Nama unit harus sama dengan nama file (tanpa extension) serta mengikuti ketentuan sebagai

  

identifier. Unit akan terbagi menjadi 2 (dua) bagian, yaitu interface dan implementation. Pada bagian

  akhir implementation, kita dapat menyisipkan blok initialization dan finalization. Blok initialization berisi kode program yang akan dijalankan sesaat setelah unit dimuat ke memory, sedangkan finalization adalah blok yang dijalankan sesaat sebelum unit dibuang dari memory.

  Definisi Unit unit Nama_Unit; interface Bagian uses Unit1, Unit2, …, Unit N; interface function Testing: Integer; implementation

  Uses List var Nilai : Integer; uses Unit A, Unit B, …, Unit Z; function Testing : Interger; begin result := 0; end;

  Bagian initialization implemen‐ Nilai := 100; tation finalization end.

  Uses

  Kata kunci uses digunakan untuk mendaftarkan unit‐ unit lain yang identifier‐ nya akan digunakan dalam unit yang bersangkutan. Uses bersifat optional dan jika dipergunakan harus berada pada bagian awal

  

interface atau bagian awal implementation. Unit yang disebut terakhir memiliki prioritas paling tinggi

  untuk digunakan. Perhatikan kode berikut :

  SysUtils, Windows; uses

  HapusFile (NamaFile: string); procedure begin

  DeleteFile(NamaFile); end;

Function DeleteFile ada di unit SysUtils dan unit Windows. Dalam contoh di atas, delete File yang akan

  dipanggil adalah delete file yang ada di unit Windows karena unit ini disebut belakangan dalam uses. Bila yang kita inginkan adalah function DeleteFile yang ada dalam SysUtils, kita dapat menambahkan nama

  unit SysUtils di depan function DeleteFile sehingga kode tersebut menjadi seperti di bawah ini. uses SysUtils, Windows; procedure HapusFile(NamaFile: string); begin

  SysUtils.DeleteFile(NamaFile); end ; Circular Reference

Circular Reference, yaitu uses yang berputar (misalnya Unit1 uses ke Unit2, Unit2 uses ke Unit3 dan Unit3

uses ke Unit1), tidak boleh dilakukan dalam bagian interface. Kadang‐ kadang kita menginginkan dua atau

  beberapa unit yang bersifat saling tergantung satu dengan lainnya. Cara yang paling sederhana adalah dengan Circular Reference pada bagian implementation. Tetapi akan jauh lebih baik jika kita menghindari

  

circular reference, misalnya dengan cara mendefinisikan procedure, function, kelas, atau variabel yang

diperlukan oleh unit‐ unit tersebut pada unit lain.

  Initialization dan Finalization

Initialization adalah bagian yang dijalankan ketika aplikasi atau library (DLL) dipanggil ke memory oleh

  Windows. Delphi menggunakan metode depth‐ first traversal untuk menjalankan kode initialization, yaitu sebelum blok initialization suatu unit dijalankan, blok initialization setiap unit yang di‐ uses akan dijalankan terlebih dahulu. Blok initialization setiap unit hanya dijalankan sekali. Bila ada unit lain yang melakukan uses terhadap unit tersebut, kode initialization tidak akan dijalankan lagi.

  

Finalization adalah bagian yang akan dijalankan ketika keluar dari aplikasi atau ketika library dibuang dari

memory. Urutan pemanggilan blok finalization adalah kebalikan dari urutan pemanggilan blok

initialization. Sebagai catatan sebuah unit harus memiliki blok initialization untuk dapat memiliki blok

finalization . Meskipun demikian bagian blok initialization bisa saja kosong.

  Berikut ini contoh yang menggambarkan initialization dan finalization. Kita memiliki 3 (tiga) buah unit dengan nama Unit1, Unit2, dan Unit3.

   Panggil menu FileNewOther.

   Pada Page New, pilih Console Application dan tekan tombol OK.

   Kemudian Pilih menu FileNewUnit sebanyak 3 (tiga) kali, sehingga kita mempunyai sebuah program utama dan 3 (tiga) buah unit. Untuk masing‐ masing unit ketikkan kode sebagai berikut ini :

  program Project2; { $APPTYPE CONSOLE} uses

  Unit1 in ‘Unit1.pas’, Unit2 in ‘Unit2.pas’, Unit3 in Unit3.pas’; begin

  Writeln(‘Main Program’); end. unit Unit1 ; interface uses Unit2, Unit3; implementation initialization

  Writeln(‘Initialization Unit1’); finalization

  Writeln(‘Finalization Unit1’); end. unit Unit2; interface uses

  Unit3; implementation

  initialization Writeln(‘Initialization Unit2’); finalization

  Writeln(Finalization Unit2’); end. unit Unit3; interface implementation initialization

  Writeln(‘Initialization Unit3’); finalization

  Writeln(‘Finalization Unit3’); end.

   Compile program tersebut (Ctrl‐ F9). Untuk menjalankannya masuk ke DOS Windows, dan jalankan

  program tersebut dari DOS Windows, sehingga tampilan program bisa terlihat seluruhnya. Cara lainnya adalah menjalankan file RunProject.bat yang ada pada direktori code untuk latihan ini. Hasilnya sebagai berikut ini.

  Initialization Unit3 Initialization Unit2 Initialization Unit1 Main Program Tekan ENTER. Finalization Unit1 Finalization Unit2 Finalization Unit3

  Perhatikan bagian uses list dari kode yang tercantum dalam Project2.dpr. Terlihat bahwa uses di mulai dari unit1, diikuti unit2, dan terakhir unit3. Karena unit1 berada di urutan pertaman useslist, maka project2 akan meminta unit1 untuk menjalankan bagian initialization‐ nya. Tetapi sebelum unit1 menjalankan initialization dirinya, unit1 tersebut akan memeriksa apakah ada uses list. Ternyata ada uses ke unit2 dan unit3 secara berurutan. Maka unit1 akan meminta unit2 untuk menjalankan initialization. Ternyata unit2 pun a

Dokumen yang terkait

Dokumen baru