Anda di halaman 1dari 148

BAHAN AJAR

INTERFACING

PENYUSUN:

ANDI WAWAN INDRAWAN, S.ST., M.Eng

SARWO PRANOTO, ST., M.Eng

PROGRAM STUDI TEKNIK LISTRIK


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
2015
LEMBAR IDENTITAS DAN PENGESAHAN

Mata Kuliah : Interfacing

Kode Mata Kuliah : EI 457432

Penyusun :

Andi Wawan Indrawan, S.ST., M.Eng (197703062002121003)


Sarwo Pranoto, ST., M.Eng (198006202005011005)

Bahan Ajar ini telah diperiksa dan disetujui untuk digunakan sebagai

Bahan kuliah bagi mahasiswa Politeknik Negeri Ujung Pandang

Makassar, 26 Oktober 2015

Menyetujui

Ketua Program Studi Teknik Listrik Penulis,

Aksan, ST.,M.T Andi Wawan Indrawan, S.ST.,M.Eng

NIP 196606011990031001 NIP 197703062002121003

i
KATA PENGANTAR

Buku bahan ajar Interfacing ini dimaksudkan untuk menjadi media pustaka
belajar bagi mahasiswa di Jurusan Teknik Elektro, khususnya untuk program studi
Teknik Listrik di Politeknik Negeri Ujung Pandang dalam mempelajari ilmu
tentang interface (antarmuka) antara komputer dan manusia serta antara komputer
dengan piranti lain diluarnya.

Materi dasar dalam bahan ajar ini akan akan muncul pada bagian-bagian
awal dari masing-masing bab dan akan dijelaskan secara seksama dan mendetil,
serta dilengkapi dengan contoh-contoh pembuatan interface komputer
menggunakan pemrograman Delphi. Bahan ajar ini juga dilengkapi dengan
beberapa gambar yang mendukung materi tiap bab agar mudah diserap oleh
mahasiswa. Pada akhir setiap bab, diberikan soal-soal latihan sebagai pemantapan
untuk menguji apakah teori yang diberikan sudah dipahami atau belum.

Para pemakai bahan ajar ini akan mendapat hasil yang lebih optimal
apabila paling sedikit telah mempunyai pengetahuan dasar tentang mata kuliah
Algoritma dan Pemrograman.

Kepada semua pihak yang telah memberikan bantuan dalam proses


penyusunan buku bahan ajar ini, penulis menyampaikan terima kasih. Semoga
bahan ajar ini dapat bermanfaat bagi mahasiswa atau siapa saja yang berminat
mempelajari interfacing komputer.

Akhirnya koreksi dan saran dari pembacanya demi perbaikan dan


penyempurnaan buku ini sangat penulis harapkan.

Makassar, Oktober 2015

Penyusun

DAFTAR ISI

ii
LEMBAR IDENTITAS DAN PENGESAHAN .................................................................... I
KATA PENGANTAR .................................................................................................... II
DAFTAR ISI ................................................................................................................ II
DAFTAR TABEL ......................................................................................................... V
DAFTAR GAMBAR .................................................................................................... VI
DAFTAR LAMPIRAN................................................................................................. VIII
GBRP/GBPP ............................................................................................................... IX
TINJAUAN MATA KULIAH ........................................................................................XII
BAB I MENGENAL DELPHI ......................................................................................... 1
1.1 PENDAHULUAN ................................................................................................ 1
1.2 PENYAJIAN ..................................................................................................... 2
1.2.1 MENGENAL INTEGRATED DEVELOPMENT ENVIRONMENT (IDE) DELPHI 7.......... 2
1.2.2 STRUKTUR PROGRAM ................................................................................ 4
1.2.3 ELEMEN PROGRAM .................................................................................... 5
1.2.4 KONSEP PENYUSUNAN PROGRAM APLIKASI .................................................. 6
1.2.5 MEMBUAT APLIKASI SEDERHANA ................................................................ 7
1.2.6 MENGELOLA PROJECT ..............................................................................14
1.2.7 PROJECT OPTIONS ....................................................................................15
1.3 PENUTUP ............................................................................................................17
BAB II TIPE DATA, VARIABEL DAN OPERATOR ........................................................19
2.1. TIPE DATA .....................................................................................................19
2.2. VARIABEL .....................................................................................................19
2.2.1. ATURAN PENAMAAN ................................................................................20
2.2.2. MENDEKLARASIKAN VARIABEL .................................................................20
2.3. OPERATOR .....................................................................................................21
2.3.1. OPERATOR PENUGASAN ............................................................................21
2.3.2. OPERATOR ARITMATIKA ...........................................................................21
2.3.3. OPERATOR BOOLEAN ................................................................................23
2.3.4. OPERATOR RELASI ...................................................................................23
2.3.5. OPERATOR STRING ...................................................................................24
2.4. PENUTUP .......................................................................................................26
BAB III KOMENTAR DAN KONTROL PROGRAM ........................................................28
3.1. PENDAHULUAN ...............................................................................................28
3.2. KOMENTAR DALAM PROGRAM ..........................................................................28
3.3. KONTROL PROGRAM .......................................................................................29
3.3.1. PERCABANGAN IF … THEN … ....................................................................29
3.3.2. PERCABANGAN IF…THEN…ELSE…............................................................30
3.3.3. PERCABANGAN CASE …OF ........................................................................31
3.3.4. PERULANGAN REPEAT…UNTIL… ...............................................................33

iii
3.3.5. PERULANGAN WHILE…DO… ....................................................................34
3.3.6. PERULANGAN FOR…TO…DO… .................................................................36
3.3.7. PERULANGAN FOR…DOWNTO…DO… ........................................................37
3.4. PENUTUP .......................................................................................................37
BAB IV MEMAKAI VISUAL COMPONENT LIBRARY ..................................................39
4.1. PENDAHULUAN ...............................................................................................39
4.2. PENYAJIAN ....................................................................................................39
4.2.1. KOMPONEN VISUAL DAN NONVISUAL..........................................................39
4.2.2. TAB STANDARD .......................................................................................39
4.2.3. MEMBACA DAN MENAMPILKAN DATA DENGAN EDIT .....................................41
4.2.4. MEMILIH DATA DENGAN RADIOBUTTON ......................................................45
4.2.5 MEMBACA DATA DENGAN SCROLLBAR .......................................................46
4.2.6. MEMAKAI CHECKBOX, MEMO, LISTBOX DAN COMBOBOX .............................49
4.3. PENUTUP .......................................................................................................53
BAB V GRAFIK ..........................................................................................................55
5.1. PENDAHULUAN ...............................................................................................55
5.2. PENYAJIAN ....................................................................................................55
5.2.1. ELEMEN GRAFIK ......................................................................................55
5.2.1.7. CHART ................................................................................................61
5.3. PENUTUP. ......................................................................................................67
BAB VI SERIAL PORT ................................................................................................68
6.1. PENDAHULUAN ...............................................................................................68
6.2. PENYAJIAN ....................................................................................................68
6.2.1. TATA CARA KOMUNIKASI SERIAL ...............................................................68
6.2.2. KARAKTERISTIK SINYAL PORT SERIAL (RS232) ............................................69
6.2.3. KONVERTER LOGIKA RS 232 .....................................................................70
6.2.4. HARDWARE.............................................................................................71
6.2.5. NULL MODEM .........................................................................................76
6.2.6. UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER (UART)......................78
6.2.7. ALASAN PENGGUNAAN PORT SERIAL ..........................................................78
6.2.8. INTERFACING DENGAN SERIAL PORT ...........................................................79
6.3. PENUTUP .......................................................................................................89
BAB VII KOMUNIKASI DATA PARALEL ....................................................................90
7.1. PENDAHULUAN ...............................................................................................90
7.2. PENYAJIAN ....................................................................................................90
7.2.1. HARDWARE.............................................................................................90
7.2.2. SINYAL PORT PARALEL .............................................................................91
7.2.3. BI-DIRECTIONAL PORT .............................................................................93
7.2.4. ENHANCED PARALLEL PORT (EPP) .............................................................94
7.2.5. EXTENDED CAPABILITY PORT (ECP) ...........................................................95

iv
7.2.6. APLIKASI PORT PARALEL ..........................................................................96
7.2.7. PENGONTROLAN DENGAN RELAI .............................................................. 102
7.3. PENUTUP ..................................................................................................... 103
BAB VIII BASIS DATA.............................................................................................. 104
8.1. PENDAHULUAN ............................................................................................. 104
8.2. PENYAJIAN .................................................................................................. 104
8.2.1. DEFENISI BASIS DATA (DATA BASE) ......................................................... 104
8.2.2. TUJUAN BASIS DATA .............................................................................. 105
8.2.3. KEGUNAAN BASIS DATA ......................................................................... 105
8.2.4. TIPE BASIS DATA ................................................................................... 106
8.2.5. KOMPONEN DASAR SISTEM BASIS DATA.................................................... 106
8.2.6. ENTITY-RELATIONSHIP DIAGRAM (ERD) ................................................... 106
8.2.7. SIMBOL ENTITY RELATIONSHIP DIAGRAM .................................................. 107
8.3. DERAJAT RELASI DAN KARDINALITAS RASIO .................................................... 110
8.3.1. DERAJAT RELASI ................................................................................... 110
8.3.2. KARDINALITAS RASIO............................................................................. 111
8.4. APLIKASI DATA BASE DENGAN DELPHI ............................................................. 112
8.5. PENUTUP ..................................................................................................... 119
DAFTAR PUSTAKA.................................................................................................. 120

DAFTAR TABEL
Tabel 1.1 Komponen Button1 ............................................................................. 10
Tabel 1.2. Komponen Label1 .............................................................................. 11

v
Tabel 2. 1 Tipe data dalam Delphi ....................................................................... 19
Tabel 2. 2 Operator Aritmatik ............................................................................. 21
Tabel 2. 3 Tabel Operator Boolean....................................................................... 23
Tabel 2. 4 Tabel hasil penggunaan operator not ...................................................... 23
Tabel 2. 5 Tabel hasil penggunaan operator and ..................................................... 23
Tabel 2. 6 Tabel operator relasi dalam Borland Delphi 7. ......................................... 24
Tabel 3.1. SKS Mata Kuliah ............................................................................... 38
Tabel 4.1 Jenis penyakit ..................................................................................... 54
Tabel 6.1 Pin out serial port ................................................................................ 71
Tabel 6.2 Alamat register port serial ..................................................................... 72
Tabel 6.3 Angka pembagi clock pada IC UART ..................................................... 73
Tabel 6.4 Rincian bit pada IER ............................................................................ 73
Tabel 6.5 Rincian bit pada Interrupt identification register ....................................... 74
Tabel 6.6 Rincian bit pada Line Control Register.................................................... 74
Tabel 6.7 Rincian bit pada Modem Control Register ............................................... 75
Tabel 6.8 Rincian bit pada LSR ........................................................................... 75
Tabel 6.9 Rincian bit pada modem status register ................................................... 76
Tabel 6.10 Alamat dan lokasi bit saluran pada register UART .................................. 78
Tabel 7.1 fungsi/sinyal port paralel ...................................................................... 91
Tabel 7.2 fungsi/sinyal port paralel ...................................................................... 92
Tabel 7.3 Sinyal EPP ......................................................................................... 94
Tabel 7.4 Sinyal ECP......................................................................................... 95
Tabel 8. 1. Simbol ERD ................................................................................... 107
Tabel 8. 2. Tabel Rancangan Antar muka ............................................................ 114
Tabel 8. 3. Tabel komponen properties yang akan digunakan dalam mendesai antar muka
..................................................................................................................... 115

DAFTAR GAMBAR

vi
Gambar 1.1 IDE Delphi ....................................................................................... 2
Gambar 1.2 Object, property, method dan event sebuah mobil ................................... 7
Gambar 1.3 Object, property, method dan event komponen Form ............................... 7
Gambar 1.4 Komponen Button dan Label pada Tab Standard ..................................... 8
Gambar 1.5 Rancangan interface menggunakan komponen Buttton dan Label .............. 9
Gambar 1.6 Caption dari sebuah form .................................................................... 9
Gambar 1.7 Field Caption pada tab Properties ........................................................ 10
Gambar 1.8 Rancangan akhir interface menggunakan Button dan Label ...................... 11
Gambar 1.9 Membuat Event Handler .................................................................... 12
Gambar 1.10 Code Editor untuk Event Handler ...................................................... 12
Gambar 1.11 Tab pada Code Editor ...................................................................... 13
Gambar 1.12 Project Manager ............................................................................. 15
Gambar 1.13 Kotak Dialog Project Options ........................................................... 15
Gambar 2. 1. Kotak dialog hasil perhitungan .......................................................... 22
Gambar 2. 2 Letak Kompoment pada Form1 .......................................................... 25
Gambar 2. 3. Properti Text pada Object Inspector Edit1 ........................................... 25
Gambar 2. 4 Tampilan Kode Editor Delphi ............................................................ 26
Gambar 2. 5 Penulisan Kode pada prosedur ........................................................... 26
Gambar 3.1. Diagram alir if…then… .................................................................... 29
Gambar 3.2. Diagram Alir if…then…else… .......................................................... 31
Gambar 3.4. Diagram Alir Case..of ....................................................................... 32
Gambar 3.5 Diagram alir repeat…until… .............................................................. 34
Gambar 3.6. Diagram Alir while…Do… ............................................................... 35
Gambar 3.7. Keterangan Nilai ............................................................................. 38
Gambar 4.1 Tab Standard.................................................................................... 40
Gambar 4.2 Rancangan form memakai komponen Edit ............................................ 42
Gambar 4.3 Mengisikan Event-Handler dari Komponen Button................................. 43
Gambar 4.4 Procedure untuk Event OnClick .......................................................... 43
Gambar 4.6 Rancangan form dengan ScrollBar....................................................... 47
Gambar 5. 1 Rancangan interface menggunakan komponen image ............................. 59
Gambar 5.2 Hasil perancangan menggunakan komponen image ................................ 61
Gambar 5.3 TeeChart Gallery .............................................................................. 61
Gambar 5.4 Tampilan interface simulasi ADC ........................................................ 62
Gambar 5.5. Interface menggunakan elemen grafik ................................................. 67
Gambar 6.1 Pengiriman huruf ‘A’ tanpa bit paritas ................................................. 69
Gambar 6.2 Level tegangan RS232 pengiriman huruf ‘A’ tanpa bit paritas .................. 70
Gambar 6.3 Pin out MAX-232 ............................................................................ 70
Gambar 6.4 Konektor DB-9 betina ...................................................................... 71
Gambar 6.5 Koneksi Null Modem ........................................................................ 77

vii
Gambar 6.6 Environment Option .......................................................................... 79
Gambar 6.7 Kotak dialog library .......................................................................... 80
Gambar 6.8 Browse source library ........................................................................ 80
Gambar 6.9 Add library ...................................................................................... 81
Gambar 6.10 Browse Cport7Lib.dpk..................................................................... 81
Gambar 6.11 Install package CportLib7.dpk........................................................... 82
Gambar 6.12 Install DsgnCPort7.dpk .................................................................... 82
Gambar 6.13 ComPort telah berhasil di install ........................................................ 82
Gambar 6.14 Virtual serial port kit ....................................................................... 83
Gambar 6.15 Form send data serial ....................................................................... 84
Gambar 6.16 Form Read/receive data.................................................................... 86
Gambar 6.17 Tampilan form send data dan read data di running bersamaan ................. 88
Gambar 6.18 Konfigurasi/setting port serial ........................................................... 88
Gambar 6.19 Hasil program setelah dijalankan ....................................................... 89
Gambar 7.1 Port paralel ...................................................................................... 91
Gambar 7.2 (a). Konektor DB25 jantan dan betina, (b). Konektor DB25 ..................... 91
Gambar 7.3 Standar paralel port dua arah .............................................................. 93
Gambar 7.4 Form interfacing kontrol port paralel .................................................... 96
Gambar 7.5 deklarasi variable.............................................................................. 96
Gambar 7.6 hasil eksekusi program kontrol lampu LED ......................................... 101
Gambar 7.7 Rangkaian uji coba untuk mengakses paralel port ................................. 101
Gambar 7.8 Rangkaian penyangga dengan penggerak relai ..................................... 102
Gambar 8. 1. Model ERD ................................................................................. 107
Gambar 8. 2. Contoh Atribut Composite .............................................................. 109
Gambar 8. 3. Contoh Atribut Derivative .............................................................. 109
Gambar 8. 4. Contoh Relasi ............................................................................... 109
Gambar 8. 5. Contoh ERD ................................................................................ 110
Gambar 8. 6. Contoh unary relationship .............................................................. 110

DAFTAR LAMPIRAN

viii
Lampiran 1. Kontrak Perkuliahan …………………………………………… 121

ix
GBRP/GBPP

Nama Mata Kuliah : Interfacing (Komputer II)


Nomor Kode/S K S : TL 449432/2
Deskripsi singkat mata kuliah : Membahas tentang pemrograman berbasis visual, mempelajari teknik user interface dan
teknik interfacing menggunakan komunikasi serial dan paralel, antara komputer dan
piranti yang berkomunikasi dengannya.

Kompetensi Utama : Setelah mengikuti mata kuliah ini, mahasiswa diharapkan dapat melakukan interfacing
peralatan menggunakan ixomputer dan dapat membuat database dan pengolahannya dan
mampu menampilkan data tersebut sehingga dapat diakses oleh user melalui ixomputer.

Pokok
No. Tujuan Intruksional Khusus Sub Pokok Bahasan Waktu Referensi
Bahasan

1 2 3 4 5 6

1. Menjelaskan tentang IDE IDE Delphi - IDE Delphi 2 x 50 menit 2,3, 4,5
Delphi - Struktur Program
- Elemen Program
- Konsep Penyusunan Program
Aplikasi
- Membuat Aplikasi Sederhana
- Mengelola Project
- Project Options

ix
1 2 3 4 5 6

2. Menjelaskan Tipe Data, Tipe data, - Tipe data 4 x 50 menit 2,3, 4, 5


Variabel dan Operator dalam Variabel dan - Variabel
Delphi Operator - Operator

3. Mengetahui dan menggunakan Komentar dan - Komentar dalam program 4 x 50 menit 2,3,4,5
komentar dan Kontrol Program Kontrol - kontrol program
dalam pemrograman Delphi Program - Percabangan if…then…
- Percabangan if…then…else…
- Percabangan Case…of
- Perulangan Repeat…until…
- Perulangan while…do…
- Perulangan for…to…do…
- Perulangan for…downto…do…
3. Menjelaskan tentang Visual Visual - Komponen visual dan non visual 4 x 50 menit 3, 4,5
Component Library (VCL) Component - Tab Standard
Library - Membaca dan menampilkan data
dengan Edit
- Memilih dengan RadioButton
- Membaca Data dengan ScrollBar
- Memakai CheckBox, Memo,
ListBox dan ComboBox
4 Menjelaskan tentang Grafik Elemen Grafik - Elemen Grafik 4 x 50 menit 4, 8,10,12,
dan Chart - Chart 13

x
1 2 3 4 5 6

5. Menjelaskan teknik interfacing Komunikasi - Hardware 4 x 50 menit 1, 3,8,9,


menggunakan komunikasi serial data serial - Null modem 10
- Komunikasi serial RS232C
- Universal Asynchronous Receiver
Transmitter (UART)
- Interfacing dengan serial port
6. Menjelaskan teknik interfacing Paralel port - Hardware 4 x 50 menit 1, 3,8,9,
menggunakan komunikasi - Sinyal port paralel 10
paralel - Bi-Directional Port
- Enhanced Parallel Port (EPP)
- Extended Capability Port (ECP)
- Kontrol lampu LED
- Kontrol motor stepper
7. Menjelaskan dan mendesain Database - Defenisi basisdata 4 x 50 menit 1, 2,3, 4,
basisdata atau database dengan - Tipe basis data 5,6,7,8,10,
Ms Access dan antarmuka - ERD 11,13,
- Kardinalitas rasio
dengan Delphi 14.15
- Derajat Relasi
- Aplikasi database dengan Delphi
Referensi :

1. Dwi Sutadi, 2002, IO Bus dan Motherboard, Yogyakarta: Andi


2. Happy Candraleka, 2003, Pemrograman Delphi 7.0, Jakarta, Elex Media Komputindo
3. Kristanto, harianto. 1994. Konsep perancangan database, andi offset
4. M. Agus dan J. Alam, 2003, Belajar Sendiri Membuat Program Aplikasi Menggunakan Delphi 6 & Delphi 7, Bandung: Elex Media
Komputindo
5. Madcoms, 2002, Pemrograman Borland Delph 7, Madiun: Andi
6. Martina, Inge, 2000, 36 Jam Belajar Komputer Delphi 5.0, Jakarta: Elek Media Komputindo
7. Rachmad Setiawan, 2008, Teknik Akuisisi Data, Surabaya: Graha Ilmu
8. Ramakrishnan, R, dan Gehrke, J., 2003, Sistem Manajemen Database (Terjemahan), Edisi ketiga, Andi Offset. Yogyakarta

xi
9. Retna Prasetia dan Catur Edi Widodo, 2004, Interfacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, Semarang: Andi
10. Ryan K. Stephens and Ronald R. Plew. 2000. Database Design, Sams Publishing.46290.USA
11. Sarwo Pranoto, Muh. Ilyas, 2012, Bahan Ajar : Interfacing, Makassar, Politeknik Negeri Ujung Pandang
12. Silberschatz, A. dkk. 2002. Database System Concepts, 4th Edition, New York :McGraw-Hill.
13. Susilo, Djoko, 2005, Grafika Komputer dengan Delphi, Yogyakarta: Graha Ilmu.
14. Wahana komputer, 2003, Pengembangan Aplikasi Client/Server dengan Borland Delphi, Jakarta: Elex Media Komputindo
15. Waljiyanto, 2003, Sistem Basis Data Analisis dan Pemodelan Data, Yogyakarta: Graha Ilmu

xii
TINJAUAN MATA KULIAH

Mata kuliah ini akan membahas topik yang dikenal sebagai interfacing komputer.
Interfacing komputer dapat dibagi menjadi dua bagian, yaitu interfacing antara
komputer dengan pemakai komputer dalam bentuk visualisasi di layar monitor
(user interface) dan interfacing antara komputer dengan piranti atau peralatan di
luar komputer yang melakukan interaksi dengannya. Kita akan memulainya
dengan topik interfacing antara komputer dengan manusia. Topik ini memberi kita
kesempatan yang sangat baik untuk mempelajari sejumlah cara untuk merancang
dan membuat tampilan interface di layar monitor menggunakan Delphi 7 sebagai
bahasa pemrogramannya. Pada bagian ini akan dipelajari tentang dasar-dasar
pemrograman menggunakan Delphi, IDE Delphi dan Visual Component Library
yang digunakan untuk memudahkan dalam pembuatan interface oleh programmer.

Tahapan selanjutnya dalam studi kita difokuskan pada interfacing antara komputer
dan piranti di luar komputer yang melakukan interaksi dengannya serta mengolah
data yang diterima menjadi sebuah basis data informasi. Jenis-jenis interaksi
dilakukan melalui komunikasi yang di lakukan secara parallel, serial, maupun
LAN.

Bahan ajar ini difokuskan untuk membangun kemampuan mahasiswa dalam


merancang suatu interface dengan menggunakan bahasa pemrograman visual dan
mampu mengaplikasikannnya dalam bentuk project yang melibatkan komunikasi
antara komputer dan piranti diluarnya. Bahan ajar ini juga akan membantu
mahasiswa bagaimana menjadi seorang yang bersifat metodis, mampu
menentukan tujuan dari suatu persoalan tertentu, mampu bekerja dengan
informasi yang diberikan untuk membangun sebuah rencana, mampu
mengimplementasikan rencana yang dibuat untuk memperoleh solusi, dan yang
terakhir, mampu memastikan bahwa solusi yang ditawarkan sudah akurat.

xii
Buku ajar ini disusun dalam beberapa bab yang akan membahas tentang :
- Bab I Mengenal Delphi
- Bab II Tipe Data, Variabel, dan Operator
- Bab III Komentar dan Kontrol Program
- Bab IV Visual Component Library
- Bab V Grafik
- Bab VI Komunikasi Serial
- Bab VII Komunikasi Paralel
- Bab VIII Basis Data

Dalam mempelajari bahan ajar ini, ikuti pertanyaan panduan pada halaman
penyekat disetiap bab. Dengan demikian, Anda akan dapat mengetahui sasaran
utama yang ingin dicapai setelah menyelesaikan bab yang bersangkutan.

Bacalah bahan ajar sebelum mengikuti kuliah sehingga jika ada masalah, dapat
ditanyakan pada pengajar pada saat kelas berlangsung setelah menyelesaikan
setiap bab, jawablah tugas / latihan yang diberikan agar Anda dapat menilai sejauh
mana pengetahuan yang telah Anda peroleh dalam mengikuti kuliah. Bila Anda
tidak dapat menjawab tugas / latihan yang diberikan, cobalah membaca kembali
bab bersangkutan.

xiii
BAB I MENGENAL DELPHI

1.1 Pendahuluan
Delphi merupakan sebuah bahasa pemrograman visual di dalam lingkungan Windows
yang menggunakan bahasa Pascal sebagai compiler. Keberadaan bahasa pemrograman
Delphi tidak dapat dipisahkan dari bahasa Turbo Pascal karena Delphi merupakan
generasi penerus dari Turbo Pascal yang diluncurkan pada tahun 1983 oleh Borland
International Incorporation. Turbo Pascal memang dirancang untuk dijalankan pada
system operasi DOS yang merupakan system yang banyak digunakan pada saat itu.

Seiring dengan perkembangan jaman, dimana system operasi mulai bergeser ke system
operasi Windows, maka Borland International Incorporation merilis Turbo Pascal for
Windows yang dijalankan dibawah system opearsi Windows 3.X.

Pada tahun 1992 muncul bahasa pemrograman baru bernama Borland Pascal versi 7
yang merupakan penggabungan dari Turbo Pascal dan Turbo Pascal for Windows.
Namun bahasa pemrograman baru tersebut ternyata masih sulit digunakan.

Trend penggunaan bahasa pemrograman visual untuk membangun sebuah aplikasi


telah mendorong Borland membuat bahasa pemrograman baru. Pada tahun 1995
diperkenalkan ke pengguna komputer sebuah bahasa pemrograman visual yang
berbasis bahasa Pascal. Bahasa pemrograman tersebut diberi namaBorland Delphi.

Borland International Incorporation berusaha menyempurnakan bahasa Delphi ini


untuk semakin mempermudah penggunaannya. Hampir setiap tahun Borland merilis
Delphi dengan versi terbaru.

Penggunaan Delphi dapat mempersingkat waktu pemrograman, karena tidak


diperlukan lagi penulisan kode program yang rumit dan panjang untuk menggambar,

1
meletakkan dan mengatur komponen. Selain itu, aplikasi dapat disusun secara lebih
interaktif. Delphi menyediakan cukup pilihan komponen interface aplikasi.

1.2 Penyajian
1.2.1 Mengenal Integrated Development Environment (IDE) Delphi
7
Delphi meyediakan fasilitas yang lengkap untuk membangun suatu program aplikasi,
diantaranya adalah IDE (Integrated Development Environment). Dengan IDE maka
programmer akan terbantu karena kebutuhan pemrograman telah disediakan dalam
satu tampilan. IDE Delphi sendiri terdiri dari Menu, Speedbar, Component Palette,
Object Inspector, Form dan Code Editor. IDE Delphi dapat dilihat pada gambar 1.1.

Gambar 1.1 IDE Delphi

IDE Delphi terdiri dari Menu, Speedbar, Component Palette, Object Treeview, Object
Inspector, Form dan Code Editor

1. Menu
Menu adalah sekumpulan perintah di dalam menu bar yang terletak di bagian atas
window utama

2
2. Speedbar
Speedbar merupakan kelompok tombol yang digunakan untuk mengakses
perintah-perintah dalam menu. Perintah-perintah tersebut akan sering digunakan
pada saat penyusunan program aplikasi. Pengelompokkan ini akan memudahkan
dan menghemat waktu pemrogram untuk mengakses suatu perintah karena tidak
diperlukan pencarian perintah-perintah tersebut dalam menu pulldown yang belum
tentu dapat langsung ditemukan.
3. Component Palette
Component Palette adalah sekumpulan tab yang didalamnya tersedia tombol-
tombol komponen yang akan dipakai sebagai elemen interface program aplikasi.
4. Object Treeview
Merupakan sebuah diagram pohon yang menggambarkan hubungan logis
menghubungkan semua komponen yang terdapat dalam suatu proyek program.
Komponen tersebut meliputi form, modul atau frame. Fungsinya digunakan untuk
menampilkan seluruh daftar komponen program dalam sebuah aplikasi program
sesuai dengan penempatan.
5. Object Inspector
Object inspector adalah sarana pengaturan obyek yang kita pasangkan pada form,
atau form itu sendiri. Bagian bagian dari Object Inspector yaitu:
A. Object Selector merupakan daftar drop down yang mencantumkan semua
komponen yang ada dalam form aktif beserta tipe obyek. Bagian ini digunakan
untuk memilih komponen yang akan ditetapkan property dan event-nya.
B. Properties berfungsi untuk menetapkan property bagi komponen yang terpilih
oleh object selector saat itu. Kolom sebelah kiri dari tab Properties menyatakan
nama propertinya, sedangkan kolom sebelah kanan merupakan isi setting atau
nilai dari property tersebut.
C. Events berfungsi untuk menetapkan kejadian/proses pelaksanaan perintah yang
terpasang pada satu komponen.
6. Form
Form merupakan sebuah jendela yang merupakan wadah bagi komponen yang
terpasang dalam suatu program aplikasi. Tampilan form dapat diatur melalui
halaman Properties dari Object Inspector pada saat proses perancangan.

3
Form akan tersimpan dalam dua buah file, yaitu:
A. File Form (.DFM), file ini adalah file binary yang berisi gambar grafis dari
form. Sebuah perubahan yang dilakukan berkaitan dengan tampilan form akan
disimpan di file ini.
B. File Unit (.PAS), file ini adalah file yang menyimpan kode sumber dari file
.DFM. File ini berisi kode-kode event handler, yang menentukan reaksi form
beserta komponen-komponenya saat aplikasi dijalankan.
7. Code Editor
Code Editor merupakan tempat yang digunakan untuk menuliskan, memodifikasi
dan mengakses kode-kode yang menjalankan aplikasi.

1.2.2 Struktur Program


Dalam pembuatan aplikasi menggunakan Delphi, program aplikasi tersimpan dalam
sebuah project yang dapat terdiri dari satu atau lebih form dan unit. Ketika sebuah
apilkasi dibangun menggunakan Delphi, beberapa file dibuat oleh Delphi.
1. File Project (.dpr)
File ini dipakai untuk menympan informs mengenai form dan unit. File ini dibuat
pada saat desain. File ini berisi inisialisasi form utama dan form-form lain lain
yang dibuat secara otomatis.
2. File unit (.pas)
File ini untuk menyimpan program. Ada tiga jenis file unit:
A. Unit Form/Data module dan frame. Unit ini dibuat secara otomatis oleh
Delphi. Ada satu unit untuk tiap-tiap form/data module atau frame yang
dibuat
B. Unit Component. Unit yang dibuat pada saat ada komponen baru
C. Unit Umum. Unit yang dibuat untuk tipe data, variable, procedure dan class
yang dapat diakses dan diaplikasi.
3. File form (.dfm)
File ini adalah file biner yang dibuat Delphi untuk menyimpan informasi
mengenai form. Setiap file form mempunyai sebuah file unit (.pas)

4
4. File resource (.res)
File biner ini berisi sebuah icon yang dipakai oleh project. File ini tidak dapat
dibuat atau diubah oleh user karena Delphi secara terus menerus meng-update atau
membuat ulang file ini.
5. File Project Options dan Desktop Settings
File project options (dengan ekstensi .dof) berisi option-option dari project. File
ini dibuat pada saat project disimpan untuk pertama kali dan disimpan ulang pada
saat project disimpan.
File desktop setting (dengan ekstensi .dsk) berisi option-option yang dimiliki oleh
setiap project.
6. File Backup (.~dp, .~df, .~pa)
File-file backup untuk project, form dan unit. File backup dibuat pada saat
penyimpanan yang kedua kalinya.
7. File-file yang Dibuat Oleh Compiler
File executable (.exe). File ini dapat berdiri sendiri dan hanya memerlukan file
library di DLL., VBX
File unit object (.dcu). File unit (.pas) versi terkompilasi dan akan di-link ke dalam
file executable akhir.
File dynamic-link-library (.dll). File ini dibuat jika dirancang DLL oleh
programmer sendiri.
8. File Windows yang Dipakai Delphi
File help (.hlp). File help standar dari Windows yang dapat diapkai di aplikasi
Delphi.
File Image atau grafik(.wmf, .bmp, .ico). File ini dipakai agar aplikasi ini lebih
menarik.

1.2.3 Elemen Program


Ada beberapa elemen yang menyusun program aplikasi yang perlu diperhatikan agar
program aplikasi sesuai dengan apa yang diharapkan

1. Identifier
Identifier adalah nama deskriptif/pengenal yang dibuat oleh programmer sebagai
bagian dari aplikasi program, yang meliputi tipe, konstanta, variable, label,

5
prosedur, unit, program dan field. Pemberian identifier ini sangat penting karena
akan mengurangi resiko kesalahan.
2. Tipe Data
Tipe dari suatu data akan menunjukkan bagaimana data tersebut akan diakses dan
disimpan, karena tiap tipe data mempunyai perbedaan dalam proses akses dan
penyimpanan.
3. Scope
Scope berarti area kerja, yang menentukan dapat atau tidaknya suatu identifier
digunakan oleh prosedur/fungsi lain.
Scope dibagi menjadi dua, yaitu:
A. Scope Lokal, dapat disebut area kerja setempat. Identifier berscope local
berarti hanya bisa digunakan dalam blok program dimana identifier tersebut
di deklarasikan, karena identifier ini hanya dikenali di blok itu saja.
B. Scope Global. Identifier dengan scope global akan dikenali dan dapat
digunakan oleh semua prosedur dan fungsi dalam unit tersebut. Biasanya
identifier dengan scope global akan dideklarasikan di bagian interface dari
suatu unit.

1.2.4 Konsep Penyusunan Program Aplikasi


Penyusunan program aplikasi dengan menggunakan Delphi terdiri dari beberapa tahap:

1. Tahap perancangan interface, meliputi proses pembuatan form dan penetapan


komponen-komponen yang akan diletakkan di dalamnya.
2. Tahap penetapan setting property dari form dan komponen-komponen di
dalamnya.
3. Tahap penulisan kode program, untuk menetapkan respon aplikasi terhadap aksi
yang dilakukan pemakai.

Sebelum menyusun program aplikasi ada beberapa hal yang perlu diketahui dalam
pemrograman berbasis obyek (OOP) yaitu istilah object, property, method dan event.

1. Object merupakan komponen dalam sebuah program


2. Property merupakan karakteristik yang dimiliki object
3. Method merupakan aksi yang dapat dilakukan oleh object
4. Event merupakan kejadian yang dapat dialami oleh object

6
Method: Object: Mobil
Property:
Maju Merk:Esemka
Mundur Type:Rajawali
Berhenti Warna: Hitam

Event:
Pintu dibuka
Ditabrak
Didorong

Gambar 1.2 Object, propert y, method dan event sebuah mobil

Method: Object: Form


Property:
Hide Color:clBtnFace
Move Height:500
Show Visible:True

Event:
OnClick
OnCreate
OnClose

Gambar 1.3 Object, propert y, method dan event komponen Form

1.2.5 Membuat Aplikasi Sederhana


Pada bagian ini akan dibuat aplikasi sederhana berupa aplikasi untuk mengubah
property suatu object. Selanjutnya aplikasi ini akan disebut aplikasi Selamat datang di

7
PNUP. Adapun beberapa hal yang perlu dilakukan sebelum membuat aplikasi di
Delphi yaitu:

1. Membuat sebuah direktori untuk menyimpan program sumber. Misalnya


C:\interfacing.
2. Membuat sebuah direktori untuk menyimpan project yang akan dibuat, misalnya
pendahuluan. Direktori yang dibuat adalah C:\interfacing\pendahuluan.

Adapun tahapan-tahapan yang perlu untuk dilakukan dalam membuat aplikasi yaitu:

1.2.5.1 Merancang Interface


Pada tahap ini akan dilakukan perancangan interface pada Delphi yang dapat
digunakan untuk berkomunikasi antara user dengan komputer. Adapun langkah-
langkah yang perlu dilakukan pada tahapan ini yaitu:

1. Masuk ke dalam Delphi. Buat project baru dengan menu File|New, pilih
Application.
2. Selanjutnya, simpan project tersebut dengan File|Save Project As. Anda akan
ditanya apakah Anda akan menyimpan nama file dengan nama unit1.pas. Simpan
file tersebut di direktori C:\interfacing\pendahuluan dengan nama selamat.pas.
3. Selanjutnya Anda akan diminta untuk menyimpan file project. Anda akan ditanya
apakah Anda akan menyimpan file dengan nama Project1.dpr. Simpan file
tersebut di direktori C:\interfacing\pendahuluan dengan nama pendahuluan.dpr.
4. Buatlah interface dengan menggunakan komponen Form, Button dan Label
dengan cara mengklik komponen tersebut dua kali. Komponen Button dan Label
ada pada tab standard di bagian Component Palette seperti yang terlihat pada
gambar 1.4. Rancangan interface terlihat seperti pada gambar 1.5.

Gambar 1.4 Komponen Button dan Label pada Tab Standard

8
Gambar 1.5 Rancangan interface menggunakan komponen Buttton dan
Label

1.2.5.2 Menetapkan Setting Properties


Langkah berikutnya adalah mengatur nilai properties dari komponen yang digunakan
dalam project. Pengubahan properties dilakukan menggunakan Object Inspector.
1. Klik komponen form. Aktifkan tab Properties dari Object Inspector, Ubahlah
caption dari komponen form dari Form1 (defaultnya), menjadi Tes.

Gambar 1.6 Caption dari sebuah form

9
Field Caption

Gambar 1.7 Field Caption pada tab Properties

2. Untuk komponen Button1 dan Label1 pengaturan dilakukan pada object inspector
seperti yang dilakukan pada pengaturan form1. Lakukanlah pengaturan property
Button1 dan Label1 sebagai berikut:

Tabel 1.1 Komponen Button1


Properties Nilai Properties

Caption Tampil

Cursor crHandPoint

Name btnTampil

10
Tabel 1.2. Komponen Label1
Properties Nilai Properties

Caption Awal

Font Color clBlue


Size 20

Name lblUcapan

Sehingga tampilan aplikasi akan berubah menjadi seperti pada gambar 1.8.

Gambar 1.8 Rancangan akhir interface menggunakan Button dan Label

1.2.5.3 Menuliskan Kode Program


Tahap berikutnya setelah membuat interface dan memberikan nilai pada properties
komponen adalah menuliskan kode program agar aplikasi dapat berjalan sesuai dengan
yang diinginkan.

Pada aplikasi yang akan dibuat, komponen btnTampil digunakan untuk menampilkan
pesan “Selamat Belajar Mata Kuliah Interfacing” apabila komponen button tersebut di
klik Pesan “Selamat Belajar Mata Kuliah Interfacing “ akan mengganti tulisan “Awal”
yang ada pada komponen lblUcapan. Klik pada sebuah tombol merupakan event, dan

11
menampilkan pesan pada Label merupakan event-handler yang perlu untuk
didefinisikan terlebih dahulu.

Ada dua cara untuk mendefinisikan event-handler:

1. Klik ganda pada komponen btnTampil.


2. Klik komponen btnTampil lalu aktifkan tab Events dari Object Inspector. Pilih
event OnClick, klik ganda kolom isiannya.

Aktifkan tab Events

Klik ganda kolom ini

Gambar 1.9 Membuat Event Handler

3. Dari kedua cara di atas, Code Editor yang merupakan tempat untuk menuliskan
program akan terbuka. Secara otomatis Delphi akan membuat procedure dengan
nama TForm1.btnTampilClick, artinya dari obyek Form1, komponen btnTampil
untuk event OnClick. Delphi juga telah membuatkan kerangka program dan Anda
dapat langsung mengisikan programnya diantara begin….end yang sudah tersedia.

Nama procedure

Gambar 1.10 Code Editor untuk Event Handler

12
Catatan: Mengisikan event-handler dengan cara pertama (klik ganda komponen dari
form) hanya dapat untuk mengisikan event-handler OnClick. Jadi untuk event-handler
lainnya, Anda harus memakai Object Inspector.

1. Isikan program berikut:


lblUcapan.Caption:='Selamat Belajar Interfacing';
2. Kita akan mencoba membuka file project untuk melihat perubahan-perubahan
yang dikerjakan Delphi secara otomatis. Pilih Project|View Source. Isinya seperti
berikut:
program pendahuluan;
uses
Forms,
tes in 'tes.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

3. Selanjutnya kita akan melihat listing dari tes.pas. Anda dapat melihatnya dengan
mengklik tab tes pada code editor.

Tab tes

Gambar 1.11 Tab pada Code Editor

Listing programnya:
unit tes;

13
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
btnTampil: TButton;
lblUcapan: TLabel;
procedure btnTampilClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnTampilClick(Sender: TObject);
begin
lblUcapan.Caption:='Selamat Belajar Interfacing';
end;
end.
4. Selanjutnya kita akan menjalankan project. Pilih Run|Run atau tekan tombol F9.

Atau dengan menekan tombol Run pada toolbar

1.2.6 Mengelola Project


Project Manager yang tersedia di Delphi dapat digunakan untuk mengelola form dan
unit yang membangun sebuah aplikasi. Untuk menampilkan Project Manager, pilih
menu View|Project Manager, dan akan ditampilkan isi project. Anda akan melihat
nama setiap unit, nama form dan path. Anda dapat memakai Project Manager untuk
menambah atau membuang file, dan Anda juga dapat membuka sebuah file dengan
mengklik ganda pada file tersebut.

14
Gambar 1.12 Project Manager

1.2.7 Project Options


Project|Option dipakai untuk menyatakan option-option dari form, aplikasi, compiler
dan linker yang dipakai project Anda, serta mengelola direktori dari project. Anda
dapat mengubah option dari project tertentu atau option default untuk project baru.

Kotak dialog Project Options dapat ditampilkan dengan menu Project|Options.

Gambar 1.13 Kotak Dialog Project Options

Tab-tab yang ada di Project Options


15
1. Forms
Tab yang diaktifkan jika Anda membuka kotak dialog Project Options. Daftar
Main Form dipakai untuk memilih form utama, defaultnya adalah form yang
pertama kali dibuat. Daftar Auto-create Forms menampilkan semua form yang
ada. Available form adalah bagian dari project Anda tetapi harus dipindahkan ke
bagian auto-create, jika akan dibuat pada saat startup. Jika sebuah form
dimasukkan ke daftar Auto-create, programnya akan ditambah dengan pernyataan
Application.CreateForm.
2. Application
Bagian ini dipakai untuk menngubah judul, icon dan file help dari aplikasi.
3. Compiler
Tab ini berisi bagian-bagian Code Generation, Runtime errors, Syntax Options,
Debugging Options dan Messages. Setiap bagian berisi sejumlah option yang
dapat diset on atau off.
4. Linker
Option-option yang ada adalah Map File, Linker Output, EXE and DLL Option,
Memory Sizes and Description. Option default dapat dipakai semua project
umum.
5. Directories/Conditionals – Output Directory
Dipakai untuk menyatakan letak penyimpanan unit yang dikompilasi dan
executable (.dcu dan .exe). Jika dikosongkan, file-file dcu dan exe disimpan di
direktori yang sama dengan file sumber. Search path menyatakan tempat mencari
file .dcu. Sama seperti path pada DOS, Anda dapat menyatakan beberapa search
path yang dipisahkan oleh titik koma (;) dan panjang maksimum 127 karakter.
Bagian Conditionals memberikan daftar drop-down untuk memilih compiler
directives dan symbol. Symbol-symbol tersebut mengontrol kompilasi program
tergantung pada suatu kondisi. Kotak Aliases dipakai untuk memasukkan alias
pada unit lain.
6. Version Info
Untuk menampilkan informasi dari versi Delphi yang dipakai.
7. Packages
Menampilkan paket-paket yang dipakai

16
Jika Anda memilih kotak cek Default (dengan tanda √, option-option yang Anda
naytakan akan disimpan sebagai option default yang dipakai untuk setiap project baru.

Ada beberapa cara untuk mengoptimalkan proses pengembangan aplikasi dengan


memakai teknik-teknik yang memberi fasilitas untuk mengorganisasi project dengan
lebih baik dan memakai ulang program.

Satu project satu direktori. Dengan membuat sebuah direktori untuk sebuah project,
file-file dari sebuah project akan terpisah dari file-file project lain. Hal ini dapat
mencegah sebuah project mengubah file dari project lain secara tidak sengaja.

Unit-unit yang dipakai bersama. Anda dapat memakai rutin-rutin yang bersifat umum
secara bersama-sama oleh beberapa aplikasi, caranya adalah tempatkan rutin-rutin
tersebut di sebuah unit yang dapat diakses oleh beberapa project. Praktisnya, buatlah
sebuah direktori utilitas di harddisk Anda untuk menyimpan unit-unit umum tersebut.
Jika Anda akan mengakses sebuah function yang ada dalam unit tersebut pada klausa
uses dari file project/unit yang memerlukannya. Anda juga harus menambahkan path
direktori utilitas ke dalam path pencarian (search/path) yang dinyatakan pada
Directories/Conditional pada kotak dialog Project Options. Hal ini akan memberi tahu
Delphi dimana harus mencari file unit utilitas.

1.3 Penutup
Delphi merupakan salah satu bahasa pemrograman visual yang dapat digunakan untuk
membuat aplikasi berbasis Graphical User Interface (GUI). Delphi menyediakan
Integrated Development Environment (IDE) yang memudahkan programmer untuk
membuat aplikasi dan mengembangkannya. Dalam merancang sebuah aplikasi yang
berbasis GUI dengan menggunakan Delphi ada beberapa langkah yang perlu dilakukan
agar proses pembuatan dan pengembangan aplikasi lebih mudah untuk dilakukan.

Soal-soal Latihan

1. .Buatlah sebuah menu untuk menentukan besarnya ukuran teks pada sebuah label.
Buatlah empat buah pilihan ukuran teks pada label. Ukurannya adalah 10, 20, 30

17
dan 40 dengan jenis font yang ada. Contoh untuk tampilan form program tersebut
pada waktu menu 30 diklik adalah seperti yang terlihat pada Gambar 1.14

Gambar 1.14 Soal Ukuran teks

2. Buatlah sebuah program untuk menggerakan sebuah label pada form. Untuk
menggerakan label gunakan control button dengan arah kanan, kiri, atas, dan
bawah. Jika tombol kiri di klik, teks akan bergerak ke kiri. Dan jika tombol bawah
di klik, teks akan bergerak ke bawah. Begitu juga dengan tombol lainnya.
Tampilan form seperti yang terlihat pada gambar 1.15

Gambar 1.15 Soal menggerakkan teks

18
BAB II TIPE DATA, VARIABEL DAN OPERATOR

2.1. Tipe Data


Delphi dikenal sebagai bahasa “strongly typed” yang mengharuskan Anda untuk
memperhatikan penggunaan tipe data dalam program. Ketika Anda mendeklarasikan
suatu variable pada program yang sedang Anda bangun, maka Anda juga harus
menyertakan tipe data dari variable tersebut dimana hal ini berguna untuk menentukan
nilai dari variabel yang dapat ditangani serta operasi yang dapat dilakukan.

Borland Delphi 7 sendiri menyediakan beragam tipe data. Sebagian diantaranya yang
umum dan sering digunakan diperlihatkan pada table berikut ini:

Tabel 2. 1 Tipe data dalam Delphi


Tipe Data Jangkauan Keterangan

Integer -2147483648..2147483647 Signed 32-bit


Cardinal 0..4294967295 Unsigned 32-bit
Shortint -128..127 Signed 8-bit
Smallint -32768..32767 Signed 16-bit
Longint -2147483648..2147483647 Signed 32-bit
Int64 -2^63.. 2^63-1 Signed 64-bit
Byte 0..255 Unsigned 8-bit
Word 0..65535 Unsigned 16-bit
Longword 0..4294967295 Unsigned 32-bit
Boolean True and False -
Single 1.5 x 10^-45 .. 3.4 x 10^38 -
Double 5.0 x 10^324 .. 1.7 x 10^308 -
String - -
Char - -

2.2. Variabel
Variable merupakan sebuah identifier atau pengenal yang nilainya dapat berubah-ubah
pada saat program dijalankan. Variabel dapat dianalogikan sebagai tempat atau wadah

19
penyimpanan data, dimana tempat atau wadah tersebut terlebih dahulu ditentukan tipe
data yang akan disimpan.

Identifier sendiri merupakan pengenal yang dibuat sendiri oleh seorang programmer
untuk menamai konstanta, variable, procedure, function, program, unit, dan elemen-
elemen dalam pemrograman lainnya

2.2.1. Aturan Penamaan


Dalam pemberian nama sebuah identifier yang berarti juga pemberian nama sebuah
variabel, haruslah mengikuti aturan-aturan sebagai berikut:

- Panjang suatu identifier dapat dibuat sesuai keinginan programmer, namun


hanya 255 karakter pertama saja yang dikenal
- Karakter pertama haruslah dimulai dengan huruf atau underscore (_)
- Karakter selanjutnya dapat berupa angka, huruf, atau underscore ()
- Tidak terdapat spasi
- Tidak menggunakan kata-kata yang telah digunakan oleh Delphi (Reserved
Words) seperti and, do, except, finally, uses, unit, begin. End, repeat,
procedure, dan lain-lain.
- Case-insensitive atau tidak ada perbedaan dalam penulisan menggunakan huruf
besar atau huruf kecil seperti “DATA”, “Data”, “DaTa”, dan “data” akan
dianggap sebagai identifier yang sama.

2.2.2. Mendeklarasikan Variabel


Pendeklarasian suatu variabel sangat diperlukan sebelum digunakan. Setiap melakukan
pendeklarasian variabel, maka harus ditentukan satu tipe data yang akan digunakan.
Sintaks untuk mendeklarasikan variabel:

Nama_identifier : tipe_data;

Berikut contoh pendekalrasian variabel dengan nama panjang, lebar dan luas dengan
tipe data bilangan bulat:

Var
Panjang, lebar, luas : integer;

20
2.3. Operator
Operator berfungsi untuk melakukan manipulasi dan pengolahan terhadap data yang
ada. Bada sub-bab ini akan dibahas operator apa saja yang digunakan dalam
pemrograman Delphi.

2.3.1. Operator Penugasan


Assignment operator atau operator penugasan dilambangkan dengan := (tanda titik dua
samadengan).

Bentuk penggunaannya dalam kode program adalah:


Variabel := ekspresi;
Dimana Variabel adalah nama dari variabel yang telah dideklarasikan sebelumnya.
Dan ekspresi adalah data yang dimasukkan ke dalam variabel tersebut.

Contoh dari sebuah pernyataan penugasan adalah:


M := 2;
Maksud dari pernyataan diatas adalah data dengan nilai 2 dimasukkan ke dalam
variabel yang bernama M. Contoh lainnya:
A := A + 2;
B := A + B +C;
Total_Harga := Harga_satuan * Jumlah_barang;

2.3.2. Operator Aritmatika


Operator aritmatika digunakan untuk melakukan operasi aritmatik pada data yang
bertipe real atau integer. Berikut adalah tabel yang berisi operator aritmatika beserta
penjelasan operasinya.

Tabel 2. 2 Operator Aritmatik


Operator Operasi
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian Real
Div Pembagian
Integer
Mod Sisa Pembagian

21
Contoh penggunaannya:
A := 7 + 2;
Contoh diatas menjelaskan operand 7 dan 2 dijumlahkan dengan menggunakan
operator penjumlahan (+) yang hasilnya disimpan dalam variabel A sehingga variabel
A akan berisi nilai 9. Agar lebih jelas buat sebuah program sederhana dengan
mengikuti petunjuk berikut:
1. Jalankan Borland Delphi 7
2. Pada Component Pallete, pilih tab standard. Pilih sebuah komponen Tbutton
dan tempatlan pada Form1.
3. Klik komponen Button 1tersebut dan ganti Caption menjadi Hitung pada
Object Inspector.
4. Pilih tab Events pada Object Inspector. Klik ganda pada event OnClick.
5. Pada jendela Code Editor, lengkapi kode program untuk procedure
TForm1.Button1Click menjadi seperti berikut:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y, hasil : integer;
begin
x:=7;
y:=2;
hasil := x+y;
showmessage (IntTostr(hasil));
end;
6. Jalankan program dengan mengklik menu Run atau dengan menekan tombol
F9. Pada keyboard.
7. Setelah program run, tekan tombol Hitung. Sehingga tampil kotak dialog
seperti berikut:

Gambar 2. 1. Kotak dialog hasil perhitungan

22
2.3.3. Operator Boolean
Operator Boolean membutuhkan operand yang bertipe Boolean dan hasil operasinya
yang bertipe sama. Berikut tabel operator Boolean dalam Delphi.

Tabel 2. 3 Tabel Operator Boolean


Operator Operasi
not Negasi
and Konjungsi
or Disjungsi
xor Eksklusif disjungsi

Operator not berfungsi menegasikan nilai suatu ekspresi. Jika ekspresi tersebut bernilai
true, maka hasilnya akan bernilai false, begitupula sebaliknya. Berikut tabel hasil dari
operator not:

Tabel 2. 4 Tabel hasil penggunaan operator not


Nilai Hasil

True False
False True

Operator and akan memberikan nilai true jika semua nilai-nilainya adalah true.
Berikut tabel operator and:

Tabel 2. 5 Tabel hasil penggunaan operator and


Nilai 1 Nilai 2 Hasil
True True True
True False False
False True False
False False false

2.3.4. Operator Relasi


Operator relasi (relational operator) fungsinya untuk membandingkan dua ekspresi
dengan menghasilkan nilai yang bertipe boolean, dengan nilai true atau false.adapun

23
syarat membandingkan ekspresi tersebut haruslah bertipe sama, kecuali untuk tipe data
integer dan real dapat dibandingkan secara bersamaan.

Tabel 2. 6 Tabel operator relasi dalam Borland Delphi 7.


Operator Operasi
= Sama dengan
<> Tidak sama dengan
< Lebih kecil dari
> Lebih besar dari
<= Lebih kecil atau sama dengan
>= Lebih besar atau sama dengan

2.3.5. Operator String


Operator string berfungsi untuk menggabungkan dua data string. Operator string
dilambangkan sama seperti operator penjumlahan yaitu ‘ +’.

Sebagai contoh penggabungan dua data string yang menghasilkan sebuat data string
juga adalah sebagai berikut:

A := ‘Tugas’;
B := ‘Belajar’;
C:= A + B;
Maka C akan berisi ‘Tugas Belajar’
Agar lebih memahami, buat sebuah program sederhana dengan Delphi 7 dengan
mengikuti langkah kerja berikut:

1. Jalankan Program Delphi 7


2. Pada Component Pallete, pilih tab Standard. Kemudian tempatkan empat
buah komponen TEdit pada bidang Form1. Tempatkan juga sebuah komponen
TButton.
3. Atur letak komponen-komponen tersebut sehingga terlihat seperti pada gambar
berikut:

24
Gambar 2. 2 Letak Kompoment pada Form1
4. Pada bidang Form1, klik komponen Edit1. Selanjutnya ke Object Inspector.
Kosongkan property Text untuk komponen Edit1.

Gambar 2. 3. Properti Text pada Object Inspector Edit1


5. Lakukan hal yang sama untuk komponen Edit2, Edit3 dan Edit4.
6. Berikutnya klik komponen Button1, kemudian pada Object Inspector, gantilah
properti Caption untuk komponen tersebut menjadi Gabungkan. Dalam hal ini
yang diganti hanya Caption untuk komponen tersebut menjadi Gabungkan,
akan tetapi nama komponen tetap Button1, karena tidak diubah.
7. Klik ganda pada komponen Button1 hingga jendela Code Editor terbuka
dengan posisi kursor berada diantara Begin dan end;.

25
Gambar 2. 4 Tampilan Kode Editor Delphi
8. Lengkapi kode pada prosedur tersebut menjadi seperti gambar berikut:

Gambar 2. 5 Penulisan Kode pada prosedur


9. Jalankan Program yang telah dibuat, kemudian ketikkan tulisan “Belajar”,
“Borland”, “Delphi 7”, pada masing-masing kotak Edit1, Edit2, Edit3.
Lanjutkan dengan menekan tombol Gabungkan. Maka akan tampil gabungan
dari ketiga string diatas pada kotak Edit4.
10. Klik tanda x dipojokkanan atas program untuk keluar dari program tersebut.

2.4. Penutup
Pada bagian ini Anda telah mempelajari tipe data, variable dan operator. Dengan
demikian kita telah mengetahui cara pendeklarasian sebuah variabel serta penggunaan
operator.

26
Soal-soal latihan
Buatlah sebuah program sederhana yang mengabungkan tiga buah kata yang bertipe
string yang diinputkan melalui tiga kotak input dengan output berupa label dengan
ukuran font 12.

27
BAB III KOMENTAR DAN KONTROL PROGRAM

3.1. Pendahuluan
Pada Bab ini akan membahas penggunaan komentar dan kontrol program yang umum
dan sering digunakan dalam pemrograman Delphi. Kontrol program digunakan untuk
mengatur jalannya program. Misalnya urutan-urutan prosesnya, penyeleksian kondisi,
proses perulangan (Looping Process). Selain itu, dalam bab ini juga disertakan contoh
penggunaan kontrol program tersebut sehingga mengetahui penerapannya.

3.2. Komentar dalam Program


Komentar berfungsi, sebagaimana namanya, untuk memberi komentar atau tulisan dari
seorang programmer pada kode program yang dibuatnya dengan tujuan untuk
memberitahukan maksud atau catatan terhadap kode program yang dibuat oleh
programmer terdahulu sehingga programmer lain dapat mengetahui atau mengerti
maksud suatu kode program atau blok kode program dengan cepat.

Perlu digarisbawahi, komentar tersebut akan diabaikan atau tidak dibaca oleh compiler
Delphi.

Terdapat beberapa cara untuk membuat komentar dalam Delphi, yaitu:

 Menggunakan dua buah garis miring, kode atau tulisan setelah garis miring
ganda akan dianggap komentar sampai akhir baris tersebut.
 Menggunakan tanda kurung buka dan tanda bintang pada awal dan diakhiri
dengan tanda bintang dan kurung tutup.
 Menggunakan kurung kurawal

Contoh penggunaannya adalah sebagai berikut:


Begin
A:=7; // masukkan nilai 7 ke variabel A
B:=2; (* masukkan nilai 2 ke variabel B *)
Hasil := A + b; { simpan penjumlahan A + B pada variabel Hasil}
ShowMessage (IntToStr(Hasil)); // tampilkan hasil
End;

28
Sebagai default, pada Code Editor, komentar akan tampak berwarna biru tua dan
bertipe italic.

3.3. Kontrol Program


Control program berfungsi untuk mengatur jalannya program yang merupakan
penggabungan beberapa pernyataan (statement) sederhana.

3.3.1. Percabangan If … Then …


If…then… digunakan untuk menyeleksi suatu kondisi dan melakukan tindakan
berdasarkan hasilnya. Berikut sintaks programnya:

If ekspresi then pernyataan

Diagram alir untuk proses ini digambarkan seperti berikut:

False
If ekspresi

True

pernyataan

Gambar 3.1. Diagram alir if…then…


Jika ekspresi terpenuhi atau bernilai benar, maka pernyataan akan dijalankan. Sebaliknya
jika tidak, pernyataan tidak dijalankan. Sebagai contoh:

If bilangan >= 10 then

ShowMessage (‘bilangan >= 10’);

Kode diatas menjelaskan jika bilangan bernilai lebih besar sama dengan 10 (sepuluh),
maka kode ShowMessage (‘bilangan >= 10’) akan dieksekusi dengan menampilkan
‘bilangan >=100;

Jika diperlukan, dapat pula dikombinasikan dengan operator-operator lainnya untuk


penyelesaian kondisi lebih jauh seperti contoh berikut:

29
If (UserID = ‘andi_wawan’) and (Password = ‘kerencoy’) then
ShowMessage (‘Anda Boleh Masuk’);
Untuk lebih jelasnya berikut contoh penggunaannya dengan Delphi.

1. Jalankan program Delphi 7.


2. Pada component pallete, pilih tab standard. Kemudian tempatlan sebuah
komponen TEdit dan TButton pada bidang Form1.
3. Klik sekali pada komponen Form1, pada Object Inspector gantilah Caption dari
komponen Form1 menjadi ‘Contoh Demo If’.
4. Lakukan hal yang sama pada komponen Button1 dengan mengganti Caption
menjadi ‘Lakukan’.
5. Untuk komponen Edit1, kosongkan property Text-nya.
6. Klik ganda pada komponen Button1. Selanjutnya pada Code Editor Delphi 7,
lengkapi dengan kode berikut:
Procedure TForm1.Button1Click(Sender:TObject);
var
bilangan : ineger;
Begin
bilangan :=StrToInt(Edit1.text);
If bilangan >= 10 then
ShowMessage (‘bilangan >=10’);
end;
7. Jalankan program yang telah dibuat dengan memilih menu Run| Run

3.3.2. Percabangan If…Then…Else…


Sama dengan percabanagn sebelumnya, sintaks dari If…Then…Else… adalah sebagai
berikut:

If ekspresi then pernyataan1 else pernyataan2

Diagram alinya sebagai berikut:

30
False
If ekspresi

True

pernyataan1 Pernyataan2

Gambar 3.2. Diagram Alir if…then…else…


Penjelasan dari diagram di atas, jika ekspresi terpenuhi atau bernilai benar, pernyataan1
akan dijalankan. Sebaliknya, jika ekspresi tidak terpenuhi atau bernilai salah maka
pernyataan2 yang akan dijalankan.sebagai contoh:

If bilangan >= 10 then


ShowMessage (‘bilangan >= 10’)
Else
ShowMessage (‘bilangan < 10’);
Dari contoh kode program di atas, jika bilangan bernilai lebih dari atau sama dengan
10, maka program akan menampilkan message box yang berisi informasi berupa pesan
‘bilangan >=10’. Sebaliknya, informasi atau pesan yang akan dimunculkan adalah
‘bilangan < 10’.

3.3.3. Percabangan Case …of


Untuk percabangan yang lebih dari tiga, dapt digunakan if…the.., akan tetapi kurang
efesien. Lebih mudahnya menggunakan Case…of. Adapun sintaksnya sebagai berikut:

Case <pemilih ekspresi> of


<pilihan ke-1> : pernyataan1;
<pilihan ke-2> : pernyataan2;

<pilihan ke-N> : pernyataanN;
end;
penjelasan dari sintaks diatas, dimana <pemilih ekspresi> adalah satu buah ekspresi yang
berfungsi sebagai pemilih yang akan menyeleksi pernyataan mana yang akan
dijalankan. Diagram alir untuk pernyataan Case…of adalah sebagai berikut:

31
Case <pemilih
ekspresi>

Pilihan 1
pernyataan1

Pilihan 2
Pernyataan2

….. …..

Pilihan N
PernyataanN

Gambar 3.4. Diagram Alir Case..of


Percabangan Case…of dapat pula digabungkan dengan else sehingga jika pilihan yang
diberikan tidak terpenuhi, akan dijalankan pernyataan yang lainny, yaitu setelah else.

Tata cara penulisan dari percabangan Case..of dengan else adalah sebagai berikut:

Case <pemilih ekspresi> of


<pilihan ke-1> : pernyataan1;
<pilihan ke-2> : pernyataan2;

<pilihan ke-N> : pernyataanN;
else
Pernyataan;
end;
Contoh penerapannya :
1. Jalankan program Delphi 7
2. Pilih tab standard pada component pallete. Kemudian tempatkan sebuah
komponen TEdit dan TButton pada Form1.
3. Klik Form1 sekali dang anti isian Caption menjadi ‘Latihan Case..of’ pada
Object Inspector.
4. Pilih TEdit dan pada Object Inspector, kosongkan isian property Text.
5. Klik komponen TButton, pada Object Inspector, ganti isian Caption menjadi
‘OK’.

32
6. Klik ganda pada komponen Button tersebut hingga muncul bidang Code
Editor. Pada bidang ini lengkapi kode program pada prosedur
TForm1.Buttonclick menjadi seperti berikut:
procedure TForm1.Button1Click(Sender: TObject);
var
bilangan :integer;
begin
bilangan:= StrToInt(edit1.Text);
case bilangan of
0..10 : ShowMessage('bilangan antara 0 - 10');
11..20 : ShowMessage('bilangan antara 11 - 20');
else
ShowMessage('bilangan > 20');
end;
end;
7. Jalankan program dengan menekan tombol F9 pada keyboard.
8. Masukkan sembarang nilai atau bilangan dan pastikan kotak dialog yang mucul
melampilkan pesan sesuai dengan kode program yang dibuat.

3.3.4. Perulangan Repeat…until…


Perulangan repeat until digunakan untuk melakukan pengulangan proses. Proses akan
terus berulang selama kondisi tidak terpenuhi dan jika terpenuhi proses berakhir. Tata
cara penulisan dari perulangan repeat..until… adalah sebagai berikut:

Repeat
Pernyataan1;

pernyataanN
Until ekspresi;
Ekspresi mengembalikan suatu nilai dengan tipe Boolean. Jika kondisi bernilai true
berdasarkan pengujian ekspresi, proses berakhir.Berikut diagram alir perulangan
repeat…until…:

33
pernyataan1

…..

PernyataanN

False

Until ekspresi

True

Gambar 3.5 Diagram alir repeat…until…


Berikut contoh kode program perulangan dengan repeat… until…

Repeat
X:= X+ 1;
Memo1,Line.Add (‘Delphi 7’);
Until x = 10;
Kode program di atas akan mengulang pernyataan X:=X+1 dan Memo1,Line.Add
(‘Delphi 7’) hingga X bernilai 10 terpenuhi. Artinya selama kondisi bernilai False atau
X tidak sama dengan 10, maka proses akan terus berulang.

3.3.5. Perulangan While…Do…


Fungsi dari perunlangan while...do… adalah sama dengan perulangan sebelumnya.
Pada perulangan repeat…until…, proses akan terus berulang selama kondisi belum
terpenuhi, sebaliknya pada perulangan while...do…, proses akan terus berulang selama
kondisi terpenuhi.tata cara penulisannya sebagai berikut:

While ekspresi do pernyataan.

34
Ekspresi mengembalikan nilai yang bertipe Boolean. Selama ekspresi bernilai true,
proses akan terus diulang dan dijalankan. Diagram alir dari perulangan while…do…
sebagai berikut:

False
While Ekspresi

True

pernyataan

Gambar 3.6. Diagram Alir while…Do…


Contoh yang kiranya dapat membantu dalam memahami perulangan while…do…
adalah sebagai berikut:

While x<= 10 do
Begin
x:=x+1;
Memo1.Lines.add (“Delphi 7’);
end;
contoh di atas menjelaskan, selama kondisi x<=10 bernilai true atau terpenuhi, maka
dua penyataan dalam blok begin and end akan dieksekusi atau dijalankan hingga
kondisi x<=10 bernilai false atau tidak terpenuhi.
Contoh penerapannya dengan Delphi:
1. Jalankan program Delphi 7.
2. Pilih tab Standard pada Component Pallete.
3. Tempatkan sebuah komponen TMemo dan sebuah komponen TButton pada
bidang Form1.
4. Klik sekali pada bidang Form1, kemudian ubah properti Caption pada Object
Inspector menjadi ‘ Latihan while…do…’
5. Ganti property Caption pada Object Inspector dari komponen TButton Code
Editor menjadi ‘Lakukan’.
6. Buka Object Inspctor dari komponen TMemo, pilih property Lines dan klik
pada tanda elipsinya (…) sehingga tampil sebuah kotak dialog String List

35
Editor. Hapus tulisan yang ada pada bidang tersebut dan tekan tombol OK
untuk kembali ke Object Inspector.
7. Masih pada komponen yang sama, carilah property height dang anti menjadi
‘200’.
8. Klik ganda pada komponen Button di Form1. Pada jendela, lengkapi kode
program menjadi seperti dibawah ini:
procedure TForm1.Button1Click(Sender: TObject);
var
bilangan :integer;
begin
bilangan :=0;
while bilangan<=10 do
begin
x:=x+1;
memo1.lines.add (inttostr(bilangan));
end;
end;
9. Jalankan program.
Penjelasan dari program di atas, selama kondisi bilangan <=10 terpenuhi, amak kode
program diantara begin dan end akan terus berulang hingga kondisi bilangan <=10
tidak terpenuhi.

3.3.6. Perulangan For…To…Do…


Perulangan For..to..do… berbeda dengan cara sebelumnya, dimana programmer harus
membuat suatu penghitung untuk menghitung dari nilai awal ke nilai akhir secara
menanjak, yaitu dari kecil ke besar. Penghitung inilah yang menentukan berapa banyak
proses perulangan dilakukan. Adapun sintaks sebagai berikut:

For <variable> := <nilai_awal> to <nilai_akhir> do <pernyataan>

Contoh berikut menjelaskan bagaimana perulangan for..to..do.. digunakan.


var
x,y : integer;
for x :=1 to 10 do
Begin
x:=x+1;
y:=12*x;
end;

36
kode program diatas menjelaskan, nilai x akan bertambah 1 dari nilai awal (x =1)
hingga nilai akhir x bernilai 10 dan y bernilai 120. Perulangan akan berhenti setelah
nilai akhir terpenuhi.

3.3.7. Perulangan For…Downto…Do…


Perulangan for…downto..do… memiliki fungsi yang sama dengan perulangan
for…to…do…. Perbedaannya terletak pada proses penghitungan dimana pada
perulangan for…downto…to… memulai penghitungan dari nilai awal besar ke nilai
akhir yang lebih kecil atau dikatakan penghitungan secara menurun. Adapun sintaks
penulisannya sebagai berikut:

For <variabel> := <nilai_awal> downto <nilai_akhir> do <pernyataan>

Contoh program yang menggunakan perulangan for…downto…do… sebagai berikut:

Var
x : integer;
Begin
For x:=10 downto 1 do
Begin
Memo1.lines.add (inttostr(x));
end;
End;
Kode program diatas mejelaskan nilai x akan ditampilkan pada memo secara menurun
dari nilai awal 10 dan akan berakhir ketika nilai akhir x=1 terpenuhi.

3.4. Penutup
Pada bagian ini Anda telah mempelajari dan mengetahui penggunaan komentar dan
control program khususnya tentang percabangan dan perulangan dalam pemrograman
Delphi. Bagian ini adalah dasar dari pemrograman yang wajib untuk diketahui dan
dipahami oleh seoarang programmer.

Soal-soal Latihan
Buat program mengitung nilai IPK dari 5 mata kuliah dengan ketentuan nilai mata
kuliah di input dari Keyboard. Jumlah SKS masing-masing mata kuliah tertera pada
tabel berikut :

37
Tabel 3.1. SKS Mata Kuliah
No Nama Mata Kuliah SKS
1 Fisika 2
2 Matematika 2
3 Rangkaian Listrik Dasar 2
4 Bahasa Ingris 2
5 Bengkel Mekanik 3

Program juga menampilkan keterangan hasil dengan ketentuan sebagai berikut:


Huruf Sebutan Mutu (keterangan) Angka
Mutu Mutu

A Sempurna 4
B+ Sangat Baik 3.5
B Baik 3.0
C+ Sedang 2.5
C Cukup 2.0
D Kurang 1
E Gagal (tidak lulus) 0
K Kosong (tidak ada Data) -
T Tunda (Nilai Tidak Lengkap) -

Gambar 3.7. Keterangan Nilai

38
BAB IV MEMAKAI VISUAL COMPONENT LIBRARY

4.1. Pendahuluan
Visual Component library (VCL) adalah hierarki dari class (object) yang ditulis
dengan Object Pascal dan tergabung dalam IDE Delphi. Dengan Component Palette
dan Object Inspector, Anda dapat menempatkan komponen VCL pada form dan
memanipulasi propertinya tanpa menuliskan program.

Anda sudah mencoba beberapa komponen dalam aplikasi. Pada modul ini kita akan
measuki VCL lebih jauh lagi, juga memakai event-handler. Komponen-komponen itu
sama dengan OCX dari Visual Basic. Tidak seperti OCX, komponen-komponen
tersebut disimpan dalam sebuah library, bukan file-file terpisah. Di Delphi, Anda juga
dapat membuat komponen sendiri yang dapat dipakai di kemudian hari.

4.2. Penyajian
4.2.1. Komponen Visual dan Nonvisual
Komponen Delphi dapat bersifat Visual maupun Nonvisual. Komponen visual dipakai
untuk membangun antarmuka dengan pemakai. Pada saat pembuatan aplikasi, kedua
komponen tersebut dapat dilihat, tetapi komponen nonvisual tidak terlihat pada saat
aplikasi dijalankan. Contoh komponen visual adalah Button, Edit dan Memo,
sedangkan komponen nonvisual adalah Timer, OpenDialog dan MainMenu.
Komponen nonvisual tidak terlihat oleh user, tetapi pada saat aplikasi dijalankan
komponen-komponen tersebut menghasilkan tampilan di layar. Komponen nonvisual
dapat mudah diidentifikasi karena tidak dapat diubah ukurannya dan terlihat sama
seperti pada saat Anda memilihnya dan meletakkannya dalam form.

4.2.2. Tab Standard


Tab Standard berisi komponen-komponen yang umum dipakai. Tab ini adalah tab
default pada saat Anda masuk ke dalam Delphi. Didalam tab ini terdapat 16
komponen.

39
Gambar 4.1 Tab Standard.

Komponen Frame adalah container untuk komponen-komponen. Frame dapat


bersarang di dalam form-form atau frame-frame lainnya.

Komponen MainMenu dipakai untuk membuat menu bar dan menu drop-down.
Kompone ini nonvisual.

Komponen PopUpMenu untuk membuat menu popup yang akan mncul jika user
mengklik tombol kanan dari mouse. Komponen ini Nonvisual.

Komponen Label dipakai untuk menempatkan teks di dalam form. Komponen ini
visual.

Komponen Edit dipakai untuk menerima satu baris teks yang merupakan
masukan dari user. Komponen ini juga dapat digunakan untuk menampilkan
teks. Komponen ini visual.

Komponen Memo dipakai untuk memasukkan atau menampilkan beberapa baris


teks. Komponen ini visual.

Komponen Button dipakai untuk membuat button yang akan dipakai untuk
memilih option di dalam aplikasi. Komponen ini visual.

Komponen CheckBox untuk memilih atau membatalkan pilihan, caranya dengan


mengklik pada checkbox. Komponen ini visual.

Komponen RadioButton dipakai untuk memberikan sekumpulan option dan


hanya satu yang dapat dipilih. Komponen ini visual.

Komponen Listbox dipakai untuk membuat sebuah daftar item dan user dapat
memilih salah satu diantaranya. Komponen ini visual.

40
ComboBox adalah komponen seperti ListBox tetapi memiliki unsur seperti
komponen Edit. Dengan ComboBox user dapat memilih option yang diberikan
atau dengan mengetikkan teks didalam kotak. Komponen ini visual.

Komponen ScrollBar sama seperti scrollbar pada Windows yang digbunakan


untuk menggulung form. Komponen ini visual.

Komponen GorupBox adalah sebuah container yang dipakai untuk


mengelompokkkan control-kontrol container (RadioButton, CheckBox dan lain-
lain) yang berhubungan. Komponen ini visual.

Komponen RadioGroup adalah kombinasi dari GroupBox dan radioButton,


didesain untuk membuat sekelompok radio button. Komponen ini visual.

Komponen Panel adalah container juga. Panel dapat digunakan untuk membuat
status bar, toolbar dan tool palette. Komponen ini visual.

Komponen ActionList adalah komponen yang berisi daftar action yang


digunakan bersama-sama dengan komponen dan control seperti item dan button.

Setelah melihat semua komponen dari tab Standard, kita akan mencobanya. Kita akan
membuat beberapa aplikasi yang memakai komponen-komponen diatas.

4.2.3. Membaca dan menampilkan Data dengan Edit


Komponen Edit dipakai untuk menerima data masukan yang berupa teks. Kita akan
mencoba membuat aplikasi yang memanfaatkan komponen ini.

1. Buat aplikasi baru dan ubah caption dari formnya menjadi “Memakai Komponen
Edit’.
2. Tambahkan 4 komponen label dan ubah setiap captionnya dengan ‘Nama
Langganan’, ‘Nama Barang’, ‘Banyak Barang’, dan ‘Bayar’. Ubah property
Namenya masing-masing menjadi lblLangganan, lblBarang, lblBanyak, dan
lblBayar.

41
3. Tambahkan sebuah komponen Edit. Ubah namanya menjadi eNama, caranya pilih
property Name dan isikan eNama. Pada kotak edit tercantum’eNama’ (sesuai
dengan nama komponen). Jika dijalankan kita ingin kotak tersebut kosong, oleh
sebab itu aktifkan property Text dan kosongkan isinya.
4. Dengan cara yang sama tambahkan tiga komponen Edit dengan nama eKode,
eBanyak dan eBayar.
5. Selanjutnya tambahkan sebuah Button dan ubah Captionnya menjadi ‘Hitung’.
Formnya menjadi seperti gambar…

Gambar 4.2 Rancangan form memakai ko mponen Edit

Sebagai tambahan, kita akan mengubah font dari komponen btnHitung supaya berbeda
dengan yang lainnya. Aktifkan property font (dengan mengklik tanda +) dan ubah
property Color menjadi clAqua dan Size menjadi 10.

Kita akan mengisikan nama pelanggan di eNama dan mengisikan banyak barang di
eBanyak. Sedangkan eKode akan diisi dengan kode barang dank ode barang yang ada
adalah 1, 2, dan 3. eBayar akan berisi jumlah yang akan dibayar yaitu hasil perkalian
dari banyak barang dan harga barang. Harga barang ditentukan berdasarkan kode
barang. Jika Anda klik tombol Hitung, harga barang akan ditentukan lalu dihitung
bayarnya dan ditampilkan di eBayar. Untuk itu kita akan mengisikan evnt handler
untuk event OnClick dari btnHitung. Ada dua cara yaitu klik ganda pada komponen
btnHitung atau aktifkan tab Events dari Object Inspector lalu klik ganda pada event
OnClick.

42
Tab Events

Event OnClick

Klik ganda btnHitung

Gambar 4.3 Mengisikan Event-Handler dari Komponen Button

Anda akan masuk ke dalam Code Editor dan sudah diberikan kerangka procedurenya.

Gambar 4.4 Procedure untuk Event OnClick

43
Lengkapi procedure tersebut sehingga menjadi seperti berikut:

procedure TForm1.btnHitungClick(Sender: TObject);


var banyak, harga, bayar : real;
begin
banyak := StrToFloat(eBanyak.Text);
case StrToInt (eKode.Text) of
1 : harga := 1000;
2 : harga := 1500;
3 : harga := 2000;
end;
bayar := banyak * harga;
ebayar.Text := FloatToStr(bayar);
end;

Penjelasan Program;

1. Dideklarasikan tiga buah variable local bertipe real yaitu banyak, harga dan bayar
2. Variabel banyak akan diisi dengan data yang akan dimasukkan ke dalam
komponen eBanyak. Ingat, data yang kita masukkan ke dalam komponen Edit
bertipe teks(string), sehingga sebelum melakukan perhitungan Anda harus
mengubahnya menjadi data numeric. Dalam hal ini menggunakan function
StrToFloat.
3. Harga setiap jenis barang ditentukan berdasarkan kodenya. Sekali lagi kita harus
mengubah data string menjadi data numeric. Sebenarnya kita dapat memakai data
string untuk mencari harganya, tetapi untuk contoh ini kita ubah menjadi data
numeric. Kita memakai StrToInt, bukan StrToFloat. Alasannya, jika kita
menggunakan case, kita harus memakai data bertipe integer untuk
perbandingannya.
4. Selanjutnya menghitung bayar.
5. Data bayar yang didapat dari perhitungan akan ditampilkan di komponen eBayar.
Sekali lagi ingat, data yang ditampilkan dalam komponen Edit harus bertipe string,
oleh sebab itu variable bayar diubah menjadi string dengan function FloatToStr
dan data string tersebut dimasukkan ke property Text dari komponen eBayar
(eBayar.Text).

Setelah mengetikkan program diatas, jalankan program dengan menu Run|Run atau
tekan tombol F9.

44
4.2.4. Memilih data dengan RadioButton
RadioButton akan memberikan pilihan yang bersifat mutually exclusive, artinya hanya
sebuah RadioButton yang dapat dipilih pada satu saat. Jika Anda memilih sebuah
RadioButton, RadioButton yang telah dipilih sebelumnya menjadi tidak dipilih.
RadioButton dapat dikelompokkan dengan menggunakan GroupBox.

Pada program aplikasi sebelumnya, kita memasukkan kode barang dengan cara
mengetikkannya (1,2,3). Dengan cara ini mungkin Anda salah mengetikkan 4,5 dan
seterusnya. Kita akan membatasi data masuan tersebut, sehingga selalu benar. Kita
akan memakai RadioButton.

Form yang kita pakai sama seperti sebelumnya, hanya kita akan mengganti eKode
(komponen edit untuk kode barang) dengan RadioButton dan GroupBox. Rancangan
form terlihat seperti gambar 4.5

Gambar 4.5 Rancangan form menggunakan komponen RadioButton

Cara menambahkan RadioButton dan GroupBox:

1. Tambahkan komponen GroupBox dan ubah property Captionnya menjadi Jenis


barang dan property Namenya menjadi gbJenisBarang.
2. Tambahkan komponen RadioButton kedalam GroupBox, lalu ubahlah Captionnya
menjadi Buku dan Namenya menjadi rbBuku. Perhhatikan Anda harus
menempatkan RadioButton di dalam GroupBox (jangan di luarnya).
45
3. Selanjutnya, tambahkan dua buah RadioButton lainnya dengan caption masing-
masing: Pensil, Penggaris dan Name masing-masing rbPensil dan rbPenggaris.

Apa keuntungannya menempatkan RadioButton dalam GroupBox? GroupBox berlaku


sebagai container, sehingga jika Anda memindahkan GroupBox, otomatis ketiga
RadioButton di dalamnya juga ikut dipindahkan.

Dari ketiga RadioButton tidak ada satupu yang dipilih. Pada saat aplikasi dijalankan,
Anda harus memilih salah satu. Anda dapat membuat pilihan default, misalnya Buku
(rbBuku dipilih secara default). Untuk itu Anda harus mengubah property Checked
dari rbBuku menjadi True. Perhatikan perubahan di form.

Langkah selanjutnya, kita akan mengisikan event handler untuk tombol Hitung
(btnHitung).

procedure TForm1.btnHitungClick(Sender: TObject);


var banyak, harga, bayar : real;
begin
banyak := StrToFloat(eBanyak.Text);
if rbBuku.Checked then harga := 1000;
if rbPensil.Checked then harga := 1500;
if rbPenggaris.Checked then harga := 2000;
bayar := banyak * harga;
ebayar.Text := FloatToStr(bayar);
end;

Di sini kita memakai If-Then. Jika rbBuku dipilih (rbBuku.Checked bernilai True)
maka harganya 1000. Begitu seterusnya.

4.2.5 Membaca Data dengan ScrollBar


Komponen ScrollBar adalah scroll bar pada Window yang dapat dipakai untuk
menggulung isi window. Event OnScroll dipakai untuk menyatakan apa yang akan
dilakukan jika posisi ScrollBar berubah.

Buatlah aplikasi dengan menu File|New Application. Ke dalam form, tambahkan 4


buah label, dengan caption yang dapat Anda lihat pada rancangan interface pada
latihan sebelumnya, tambahkan 4 buah edit yang bernama eNilai1, eNilai2, eNilai3
dan eNilaiRata. Tambahkan 3 buah ScrollBar dan 2 buah Button.

46
Gambar 4.6 Rancangan form dengan ScrollBar
Sama seperti ScrollBar pada umumnya, kita dapat memindahkan posisi ScrollBar
dengan menggerakkan (drag) kotak peluncurnya atau dengan mengklik anak panahnya.

Memindahkan kotak peluncur Klik anak panah


Gambar 4.7 Menggerakkan ScrollBar

Kita akan memakai ScrollBar untuk mengisi data ketiga nilai. Jika posisi ScrollBar
berubah, otomatis posisi tersebut menjadi nilai dan akan tercantum di kotak edit.

Pilih sebuah ScrollBar, berapa isi property Max dan Min? Isinya adalah 100 dan 0.
Anda dapat mengubahnya untuk menyatakan jangkauan yang Anda inginkan. Dalam
kasus ini nilai jangkauan tersebut sesuai.

Pilih ScrollBar1, aktifkan tab Events dari Object Inspector, lalu klik ganda pada
OnScroll. Anda akan masuk ke Code Editor dan isikan program berikut:

eNilai1.Text := FloatToStr(ScrollBar1.Position);

Artinya, setiap kali ScrollBar1 berubah posisi, posisinya dinyatakan di eNilai1.


Dengan cara yang sama buatlah untuk kedua scrollbar yang lain. Selanjutnya, kita akan
mengisikan event handler untuk OnClick dari Button1. Button2 dipakai jika kita akan
memberhentikan aplikasi (bukan dengan tombol Close). Berikut ini listing lengkapnya:

unit uscrollbar;
interface

47
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
eNilai1: TEdit;
eNilai2: TEdit;
eNilai3: TEdit;
eNilaiRata: TEdit;
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
ScrollBar3: TScrollBar;
Button1: TButton;
Button2: TButton;
procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure ScrollBar3Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;


var ScrollPos: Integer);
begin
eNilai1.Text := FloatToStr(ScrollBar1.Position);
end;

procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;


var ScrollPos: Integer);
begin
eNilai2.Text := FloatToStr(ScrollBar2.Position);
end;

48
procedure TForm1.ScrollBar3Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
eNilai3.Text := FloatToStr(ScrollBar3.Position);
end;

procedure TForm1.Button1Click(Sender: TObject);


begin
eNilaiRata.Text := FloatToStr((StrtoFloat(eNilai1.Text) + StrToFloat(eNilai2.Text) +
StrToFloat(eNilai3.Text))/3);
end;

procedure TForm1.Button2Click(Sender: TObject);


begin
Application.Terminate;
end;

end.

4.2.6. Memakai CheckBox, Memo, ListBox dan ComboBox


Kita akan membuat aplikasi menggunakan komponen CheckBox, Memo, ListBox dan
Combox sekaligus. CheckBox memberikan dua pilihan (bahkan tiga pilihan) kepada
pemakai. Pilihan tersebut dapat diperoleh dengan mengubah property dari CheckBox.
Sebagai contoh:
1. Ubah property Checked menjadi True agar CheckBox dipilih secara default.
2. Ubah AllowGrayed menjadi True agar CheckBox mempunyai tiga pilihan:
checked, unchecked dan grayed.
3. Properti State menyatakan apakah CheckBox dalam keadaan checked
(cbChecked), unchecked (cbUnchecked), atau grayed (cbGrayed).
Memo dipakai untuk memasukkan data yang lebih dari satu baris.
ListBox menampilkan daftar dan Anda dapat memilih item-itemnya
1. Property items dipakai untuk mengisi pilihan-pilihan yang mungkin.
2. ItemIndex menyatakan item yang dipilih.
3. MultiSelect menyatakan apakah dapat memilih lebih dari satu pilihan pada saat
yang bersamaan.
4. Sorted menyatakan apakah daftar terurut secara alphabetis.

49
ComboBox mengkombinasikan kotak edit dengan listbox. Dengan ListBox, Anda
hanya dapat memilih salah satu pilihan yang telah tersedia. Dengan ComboBox, selain
dari pilihan yang tersedia Anda juga dapat mengetikkan teks. Rancangan form terlihat
pada gambar 4.8

Gambar 4.8 Rancangan form aplikasi Memo

Selanjutnya, kita akan membuat aplikasi untuk mendemonstrasikan keempat


komponen yang ada pada perancangan interface gambar 4.8. Langkah-langkahnya
adalah sebagai berikut:
1. Buatlah aplikasi baru dan ubahlah nama form menjadi fMemo.
2. Tambahkan sebuah Memo. Klik ganda tanda … pada property Lines dan Anda
akan masuk ke String List Editor. Disana sudah tercantum Memo1 sesuai dengan
nama memo. Hapus teks tersebut, lalu tekan tombol enter sebanyak 5 kali. Hal ini
akan menambah buffer dari Memo. Jika Anda tidak menambah, Memo tidak dapat
dipakai. Klik OK untuk mengakhiri String List Editor.
3. Tambahkan komponen ComboBox. Terdapat teks ComboBox1, sesuai dengan
namanya. Kita akan menghapusnya. Aktifkan property Teks lalu hapus isinya.
4. Kita akan mengisikan 4 pilihan pada ComboBox. Klik ganda kolom isian dari
property Items (klik ganda tanda …). Anda akan masuk ke String List Editor dan
isikan teks-teks berikut:
Coba Delphi
Komponen Memo

50
ListBox dengan 3 item
CheckBox mempunyai 3 state

5. Tambahkan komponen ListBox dan isikan pilihan-pilihan berikut pada property


Items:
Kotak Memo Warna Putih
Kotak Memo Warna Biru
Kotak Memo Warna Kuning
6. Tambahkan sebuah GroupBox dan ubah Captionnya menjadi Font.
7. Kedalam GroupBox tambahkan 3 buah CheckBox, masing-masing dengan
caption: Teks Warna Merah, Teks Miring dan Teks Cetak Tebal.
8. Tambahkan 3 buah Button masing-masing dengan Caption: Isi Memo, Ubah Font,
Keluar.
Button Isi Memo dipakai untuk mengisi teks ke dalam Memo. Pertama-tama teks
pada memo dibersihkan. Baris pertama Memo berisi teks dari ComboBox. Teks
dari ComboBox dapat berupa teks yang Anda ketikkan atau teks yang dipilih dari
pilihan yang tersedia. Baris kedua menyatakan pilihan ke beberapa ListBox yang
dipilih. Selanjutnya warna memo diubah ssesuai dengan pilihan Anda pada
ListBox.
Button Ubah Font dipakaiuntuk mengubah font. Pilihan font menggunakan
CheckBox, sehingga Anda dapat memilih lebih dari satu pilihan (bandingkan
dengan radioButton yang hanya boleh memilih salah satu). Jika Anda memilih
CheckBox1, maka teks berwarna merah, jika tidak warna default. CheckBox2
dipakai untuk mencetak miring dan CheckBox3 untuk cetak tebal.
Button3 untuk mengakhiri aplikasi.

Berikut ini adalah listing lengkapnya.


unit umemo;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

51
type
TfMemo = class(TForm)
Memo1: TMemo;
ComboBox1: TComboBox;
ListBox1: TListBox;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fMemo: TfMemo;

implementation

{$R *.dfm}

procedure TfMemo.Button1Click(Sender: TObject);


begin
Memo1.Clear;
Memo1.Lines.Add(ComboBox1.Text);
Memo1.Lines.Add('String dari ListBox #'+IntToStr(ListBox1.ItemIndex+1));
case ListBox1.ItemIndex of
0 : Memo1.Color := clWhite;
1 : Memo1.Color := clBlue;
2 : Memo1.Color := clYellow;
end;
end;

procedure TfMemo.Button2Click(Sender: TObject);


begin
if CheckBox1.State = cbChecked
then fMemo.Font.Color := clRed
else fMemo.Font.Color := clWindowText;

fMemo.Font.Style := [];
if CheckBox2.State = cbChecked

52
then fMemo.Font.Style := [fsItalic];
if CheckBox3.State = cbChecked
then fMemo.Font.Style := fMemo.Font.Style + [fsBold];
end;

procedure TfMemo.Button3Click(Sender: TObject);


begin
Application.Terminate;
end;

end.

Hasil dari aplikasi menggunakan memo dan komponen lainnya dapat dilihat pada
gambar 4.9

Gambar 4.9 Aplikasi menggunakan memo setelah di jalankan

4.3. Penutup
Pada bagian ini Anda telah mempelajari penggunaan Visual Component Library yang
ada di Delphi. Penggunaan VCL memudahkan programmer dalam membuat aplikasi.

Soal-Soal Latihan
1. Sebuah rumah sakit dengan nama rumah sakit “Cepat Sembuh” meminta Anda
untuk membuat sebuah program untuk mendiagnosa penyakit pasien. Program ini
bertujuan untuk membantu dokter dalam mendiagnosa jenis penyakit pasien
berdasarkan gejala-gejala yang dialami pasien. Untuk jenis penyakit dan gejala-
gejalanya adalah seperti yang tedapat pada tabel berikut:

53
Tabel 4.1 Jenis penyakit
Jenis Penyakit Gejala Hasil
Malaria Demam Ya
Keringat Dingin Ya
Muntah Ya
Hidung Tersumbat Tidak
Flu Demam Ya
Keringat Dingin Tidak
Muntah Tidak
Hidung Tersumbat Ya
Tifus Demam Ya
Keringat Dingin Tidak
Muntah Ya
Hidung Tersumbat Tidak

Pada soal ini diasumsikan bahwa seseorang tidak mungkin memiliki dua penyakit
bersamaan. Untuk pengecekkan penyakit gunakan percabangan If .. Then ..Else.

54
BAB V GRAFIK

5.1. Pendahuluan
Dengan sistem operasi Windows yang berbasis grafis, maka perancangan tampilan
aplikasi menjadi sangat fleksibel. Antarmuka pengguna (user interface) dapat
dirancang dengan bebas, tidak mengikuti interface Windows. Untuk interaksi dengan
pengguna, Delphi telah menyediakan berbagai komponen visual yang telah kita bahas
sebelumnya.

Demikian juga dengan data keluaran yang akan disajikan. Data dapat disajikan dalam
bentuk grafik, gambar, animasi dan kombinasi ketiganya. Dengan tampilan grafis ini,
data keluaran yang disajikan menjadi lebih impresif dan mudah dimengerti.

5.2. Penyajian
5.2.1. Elemen Grafik

5.2.1.1. Koordinat
Setiap komponen visual mempunyai property Top dan Left. Nilai yang tersimpan di
dalam property ini menyatakan dimana kompopnen tersebut diletakkan dalam form.
Koordinat bersifat relative. Misalanya Anda berada di lantai 20 dari sebuah gedung.
Berapa ketinggian hidung Anda? Jawabannya adalah relative. Anda dapat
mengukurnya dari tanah atau dari ubin lantai 20. Koordinat dalam Delphi juga bersifat
relative. Berapa koordinat sebuah komponen? Anda akan menyatakan koordinat
komponen tersebut terhadap kontainernya. Jika sebuah container adalah form, maka
koordinat tersebut adalah relative terhadap form. Sedangkan koordinat form mengacu
pada layar.
Top menyatakan koordinat y (vertical), dalam satuan pixel, dari sebuah komponen
relative terhadap kontainernya. Sedangkan Left menyatakan koordinat x (horizontal).
Top dan Left dapat dipakai untuk mengubah posisi dari sebuah komponen.

5.2.1.2. Canvas
Penggunaan canvas dapat dibagi menjadi 3 tingkatan, yaitu tingkat tinggi, menengah
dan rendah. Tingkat tinggi digunakan untuk fungsi-fungsi dasar seperti membuat garis,
elips, menampilkan teks dan lain-lain. Berikutnya adalah tingkat menengah berupa
55
fungsi-fungsi seperti manipulasi Pen, Brush dan Font, manipulasi tingkat pixel seperti
pengkopian image, penggabungan image, perwarnaan canvas. Terakhir adalah tingkat
rendah untuk memanggil fungsi-fungsi Windows API secara langsung dan banyak
berhubungan dengan handel. Makin rendah tingkatannya makin sulit penerapannya.

Canvas juga bisa dikatakan area gambar abstrak dari object atau komponen-komponen
grafik. Canvas mempunyai property, event dan method yang dapat dipakai untuk
membuat gambar dengan cara:
1. Menyatakan tipe brush, pen dan font yang dipakai.
2. Menggambar dan mengisi berbagai bentuk dan garis.
3. Menulis teks, dan lain-lain
Bagaimana dengan tampilan grafik pada aplikasi Anda tergantung pada tipe object
yang canvasnya diberi gambar. Jika Anda langsung menggambar pada canvas dari
sebuah control, gambar akan langsung ditampilkan. Tetapi, jika Anda menggambar
pada canvas diluar layar, misalnya canvas dari BitMap, gambar akan ditampilkan
setelah dicopy ke sebuah control. Oleh sebab itu, jika menggambar bitmap dan
menghubungkannya ke sebuah control, gambar akan muncul ketika control mengakses
event OnPaint.
Jika bekerja dengan grafik ada dua istilah yang harus dibedakan, yaitu drawing
(menggambar) dan painting (mengecat).
1. Drawing adalah menciptakan sebuah elemen grafik, seperti garis atau bentuk. Di
program, Anda menggambar sebuah objek dengan menyatakan posisinya pada
canvas, dan memanggil sebuah method drawing.
2. Painting adalah membuat tampilan objek. Biasanya paintingmelibatkan drawing.
Artinya, sebagai respon dari event OnPaint, umumnya sebuah objek menggambar
beberapa grafik. Misalnya, proses painting sebuah kotak edit adalah menggambar
kotak dan menuliskan teks di dalamnya.

Tipe-tipe objek grafik:


1. Picture, diapakai untuk menyimpan grafik. Untuk menambah format grafik,
pakai method Register. Pakai Picture untuk menangani sembarang file seperti
menampilkan gambar sebuah control.

56
2. Bitmap, adalah objek grafik yang dipakai untuk membuat, memanipulasi
(memakai skala, menggulung (scroll), memutar (rotate), mengecat (paint) dan
menyimpan gambar ke dalam file. Meng-copy bitmap berlangsung cepat
karena yang dicopy adalah handle bukan gambar.
3. Clipboard, adalah container teks atau grafik hasil proses cut, copy atau paste
dari dan ke sebuah aplikasi. Dengan clipboard, Anda dapat memanggil data
dengan format tertentu.
4. Icon, menyatakan nilai yang dibaca dari sebuah file icon.
5. Metafile, berisi sebuah metafile yang mencatat operasi yang diperlukan uuntuk
membentuk sebuah gambar, bukan merupakan pixel-pixel yang sebenarnya
seperti pada bitmap. Metafile berukuran lebih kecil dengan bitmap, dengan
tetap mempertahankan detil gambar.

5.2.1.3. Pixel
Pada dasarnya, semua operasi grafik adalah mengubah warna pixel pada area gambar.
Di Delphi, Anda dapat memanipulasi pixel secara individual. Pada mulanya pixel
hanya dapat on atau off, sehingga hanya dapat warna hitam dan putih. Tetapi, sekarang
monitor mempunyai jutaan warna, sehingga tampilan gambar menjadi halus.

Untuk mengakses sebuah pixel pada form, pakailah properti Canvas dari form dan
properti Pixels dari Canvas.Canvas.Pixels[10,20] berarti warna dari pixel yang berada
10 pixel ke kanan dan 20 pixel ke bawah.

5.2.1.4. Palette dan True Color


Sama seperti palette pada printer, palette pada grafik adalah sekumpulan warna yang
dapat dipakai di layar. True Color adalah warna yang dihasilkan dari kombinasi merah,
hijau dan biru. Komputer dengan warna 24-bit dapat memiliki 16 juta warna. Setiap
warna sama dengan sebuah bilangan. Misalnya bilangan 0 menyatakan warna hitam
dan bilangan terbesarnya (16.777.216, didapat dari 256 * 256 * 256) menyatakan
warna putih. Warna warna lain adalah bilangan-bilangan diantara kedua batas warna
tersebut. Warna ini dinamakan RGB (Red Green Blue), karena merupakan kombinasi
warna merah, hijau dan biru.

57
5.2.1.5. Pen
Setiap canvas mempunyai sebuah pen (walaupun tidak tampak) yang digunakan untuk
menggambar garis atau bentuk. Bayangkan pen tersebut sama seperti pen pada
umumnya. Ada dua cara menggerakkan pen tersebut:
1. Pen menyentuh kertas dan membuat tanda, method yang dipakai adalah LineTo
2. Pen berada di atas kertas dan jika digerakkan tidak akanmeninggalkan bekas,
method yang sesuai adalah MoveTo.

Pen mempunyai empat property yang dapat diubah:


1. Color, menyatakan warna
2. Width, menyatakan lebar
3. Style, menyatakan style
4. Mode, menyatakan mode

5.2.1.6. Brush
Kadang-kadang kita ingin menggambar objek yang terisi bukan hanya garis luarnya
saja. Properti Brush dipakai untuk menentukan corak pengisian objek. Ada tiga
property dari Brush, yaitu Color, Style dan Bitmap Style. Bitmap style yang ada
adalah: bsSolid, bsCross, bsClear, bsDiagCross, bsBDiagonal, bsHorizontal,
bsFDiagonal, bsVertical.

Dengan property Color dan Style, warna dari pengisian tergantung dari isi property
Color. Properti Style mendefinisikan corak pengisian. Anda dapat memakai PolyLine
untuk menggambar kerangka objek (tidak terisi). Ada cara lain yaitu dengan
menggunakan method Polygon untuk menggambar polygon sekaligus memberi arsir.

Selanjutnya kita akan membuat aplikasi untuk menyalin sebuah image dan mengubah
beberapa properti yang ada pada komponen tersebut.
1. Buatlah aplikasi baru dan ubahlah property Name form menjadi fGambar dan
Captionnya menjadi Praktek Gambar.
2. Tambahkan 1 buah komponen image yang ada pada tab Additional. Ubah properti
Namenya menjadi iAsal. Ubah properti height 150 dan Width 150.

58
3. Tambahkan 1 buah komponen PaintBox yang ada pada tab System. Ubah property
Height dan Widthnya masing-masing 150
4. Pada iAsal property Picture diisi dengan file gambar dengan tipe bitmap (bmp)
dengan ukuran 150 x 150 pixels.
5. Tambahkan komponen Button, dan ubah Captionnya menjadi Copy dan properti
Namenya menjadi btnCopy.
6. Tambahkan dua buah label masing – masing dengan properti Caption Image Asal,
property Namenya lblAsal dan Caption Image Hasil, property Namenya lblHasil.

Gambar 5.1 menunjukkan rancangan interface aplikasi mrnggunakan komponen image


dan PaintBox yang digunakan sebagai bidang yang nantinya digunakan untuk
menggambar.

Gambar 5. 1 Rancangan interface menggunakan komponen image

Button Copy digunakan untuk mengcopy gambar asal ke Paintbox dengan


menggunakan Canvas.

Berikut ini adalah listing lengkapnya.


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

59
type
TfGambar = class(TForm)
iAsal: TImage;
lblAsal: TLabel;
lblHasil: TLabel;
btnCopy: TButton;
PaintBox1: TPaintBox;
procedure btnCopyClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fGambar: TfGambar;

implementation

{$R *.dfm}

procedure TfGambar.btnCopyClick(Sender: TObject);

var
x, y : integer ;
warna : int64 ;
begin
for y :=0 to 149 do
begin
for x := 0 to 149 do
begin
warna := iAsal.Picture.Bitmap.Canvas.Pixels[x,y] ;
PaintBox1.Canvas.Pixels[x,y] := warna ;
end ;
end ;
end;

end.

Hasil rancangan menggunakan komponen image dan PaintBox ketika di jalankan dapat
dilihat pada gambar 5.2

60
Gambar 5.2 Hasil perancangan menggunakan komponen image

5.2.1.7. Chart
Chart merupakan komponen pada Delphi yang digunakan untuk menampilkan data-
data berupa angka kedalam bentuk grafik sehingga mudah dipahami.Pada dasarnya
Delphi menyediakan 11 buah grafik standard yang dapat dipergunakan: tampilannya
dapat dilihat pada gambar 5.3.

Gambar 5.3 TeeChart Gallery

61
Sebelum kita amempelajari akuisisi data dan interfacing antara PC dan piranti diluar
PC menggunakan komunikasi parallel, serial maupun bentuk komunikasi yang lainnya,
kita akan membuat interface aplikasi dengan membuat simulasi pengambilan data dari
ADC dan menampilkannya dalam bentuk grafik menggunakan komponen Chart.

Langkah awal yang harus dilakukan adalah merancang interface, berikut ini adalah
komponen yang diperlukan untuk membuat aplikasi simulasi ADC.
1. Buatlah aplikasi baru dan ubahlah property Name form menjadi fGrafik dan
Captionnya menjadi Simulasi ADC.
2. Tambahkan 1 buah komponen Timer dan ubah property Enabled menjadi False,
property Interval diisi dengan1.
3. Tambahkan 2 buah komponen CheckBox. CheckBox1 ubah Captionnya On/Off,
property Enabled di isi dengan False. Properti Caption CheckBox2 diubah
menjadi 3D.
4. Tambahkan 1 buah komponen Chart yang ada pada Tab Additional.
5. Tambahkan 1 buah komponen SaveDialog dan 1 buah komponen OpenDialog
yang bisa dicari di Tab Dialogs.

Langkah berikutnya adalah mengklik ganda komponen Chart dan pilih Tab Series pada
Editing Chart. Klik tombol Add. Pada TeeChart Gallery pilih Line, hilangkan tanda
cek pada 3D. Klik OK. Klik tombol Tittle dan tuliskan nama Series1 pada kotak yang
tersedia dengan nama Sinyal 1. Klik kembali tombol Add dan buat series baru dengan
nama Sinyal 2. Tampilan interface simulasi ADC dapat dilihat pada gambar 5.4

Gambar 5.4 Tampilan interface simulasi ADC

62
Simpan aplikasi dengan nama unit ugrafik1 dan projectnya dengan nama pgrafik. Kita
akan membuat simulasi ADC dengan mengasumsikan data diambil dari dua buah
sinyal yang kita sebut Sinyal 1 dan Sinyal 2. Sinyal 1 adalah ssinyal sinus dengan
persamaan y = 5 sin x dan Sinyal 2 adalah sinyal kosinus dengan persamaan y = 3 cos
(2x).Selanjutnya adalah membuat procedure pada komponen-komponen berikut:
Timer1:
procedure TForm1.Timer1Timer(Sender: TObject);
var t:Longint;
y:array[1..2] of extended;
begin
y[1]:=5*sin(pi*x/180);
y[2]:=3*cos(2*pi*x/180);
x:=x+1;
{Form2.Memo1.Lines.Add(IntToStr(x)+''+FloatToStrF(y[1],ffFixed,3,2)
+''+FloatToStrF(y[2],ffFixed, 3, 2));}
timer1.Enabled:=False;
for t:=0 to Chart1.SeriesCount-1 do
With Chart1.Series[t] do Add(y[t+1],'',clTeeColor);
With Chart1.BottomAxis do
Begin
Automatic := False;
Maximum := Series1.XValues.Last;
Minimum := Maximum - 100;
End;
Timer1.Enabled:= True;
end;

CheckBox1:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
begin
Timer1.Enabled:=True;
{ Simpan1.Enabled:= False;
Buka1.Enabled:=False;}
end
else
begin
Timer1.Enabled:=False;

63
{ Simpan1.Enabled:=True;
Buka1.Enabled:=True;}
end;
end;
CheckBox2:
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked then
Chart1.View3D := True
else
Chart1.View3D := False;
end;

Perintah pada Timer1 mendefinisikan dua buah sinyal yang kita simulasikan dan
menampilkan dua buah sinyal simulasi ini ke bentuk grafik pada komponen Chart.
Perintah pada CheckBox1 akan menghentikan pengambilan data dan pada CheckBox2
akan membuat tampilan grafik menjadi 3 dimensi atau 2 dimensi. Pada bagian
deklarasi atau bagian paling atas dari unit1 cari deklarasi variable seperti berikut:
Var
Form1 :TForm1;
Lalu tambahkan variable berikut:
x: integer;
y1,y2:extended;

Jalankan program untuk melihat hasilnya. Setelah tidak ada error, selanjutnya kita akan
menyimpan data simulasi ini. Banyak cara yang bisa dilakukan dalam hal database
dengan Delphi. Pada saat ini kita hanya akan membuat penyimpanan yang sederhana
dengan Notepad.

Klik 2x pada MainMenu untuk membuka Menu Designer. Tulis “File” pada Caption.
Klik SubMenu di bawah File dan beri Caption”Data”. Klik lagi SubMenu di bawahnya
dan beri Caption “Simpan”. Lakukan 3 kali lagi langkah di atas. Kali ini beri Caption
“Buka”, “Hapus” dan “Keluar”. Tutup Menu Designer.

64
Buatlah form baru, dengan cara klik File|New|Form. Berikan pada Form2 ini sebuah
komponen Memo. Klik pada property List dan tulis “ No Sinyal 1 Sinyal 2”. Dan klik
Ok. Ganti property Font dengan Lucida Console dan SccrollBar dengan ssBoth.
Simpan unit yang baru dengan nama ugrafik2. Lihat bagian deklarasi uses pada
ugrafik1. Tambahkan ugrafik2 di unit1.Klik pada Sub-sub menu dan tuliskan perintah
berikut:
procedure TForm1.Data1Click(Sender: TObject);
begin
Form2.Show;
end;

procedure TForm1.Simpan1Click(Sender: TObject);


begin
SaveDialog1.FileName:=Form1.Caption;
if SaveDialog1.Execute then
begin
Form2.Memo1.Lines.SaveToFile(SaveDialog1.FileName + '.txt');
Form1.Caption:=SaveDialog1.FileName;
end;
end;

procedure TForm1.Buka1Click(Sender: TObject);


begin
if OpenDialog1.Execute then
begin
Form1.Caption := OpenDialog1.FileName;
Form2.Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Form2.Memo1.SelStart:=0;
end;
end;

procedure TForm1.Ke1Click(Sender: TObject);


begin
Application.Terminate;
end;

procedure TForm1.Hapus1Click(Sender: TObject);


begin
if OpenDialog1.Execute then
begin
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
Form2.Memo1.Lines.Clear;
Form2.Memo1.Lines.Add(' No Sinyal 1 Sinyal 2');
end;

65
end;

Klik 2x pada Form1 dan tuliskan perintah berikut;


procedure TForm1.FormCreate(Sender: TObject);
begin
with OpenDialog1 do
begin
Options:=Options+[ofPathMustExist,ofFileMustExist];
InitialDir:=ExtractFilePath(Application.ExeName);
Filter:='Text Files (*.txt)|*.txt';
end;
with SaveDialog1 do
begin
InitialDir:=ExtractFilePath(Application.ExeName);
Filter:= 'Text Files (*.txt)|*.txt';
end;
end;
Lihat kembali procedure Timer1. Ada perintah yang berada dalam kurung kurawal
{}. Hilangkan tanda kurung kurawal sehingga perintahnya menjadi:

Form2.Memo1.Lines.Add(IntToStr(x)+''+FloatToStrF(y[1],ffFixed,3,2)
+''+FloatToStrF(y[2],ffFixed, 3, 2));

Begitu juga pada CheckBox1, hilangkan tanda kurung kurawal dalam prosedur
tersebut sehingga menjadi:

procedure TForm1.CheckBox1Click(Sender: TObject);


begin
if CheckBox1.Checked then
begin
Timer1.Enabled:=True;
Simpan1.Enabled:= False;
Buka1.Enabled:=False;
end
else
begin
Timer1.Enabled:=False;
Simpan1.Enabled:=True;
Buka1.Enabled:=True;
end;
end;

66
5.3. Penutup.
Pada bagian ini Anda telah mempelajari penggunaan elemen grafik antara lain berupa
canvas, pixel, dan koordinat serta komponen Chart. Dengan memanfaatkan fasilitas
untuk menampilkan grafik dengan elemen-lemen tersebut, maka kita dapat
menggambar dan melukis sesuai dengan aplikasi yang dirancang.
Soal-Soal Latihan
1. Buatlah aplikasi yang digunakan untuk mengcopy gambar dan melakukan operasi
terhadap gambar berupa:
A. Pencerminan terhadap sumbu vertical
B. Pencerminan terhadap sumbu horizontal
C. Rotasi 900 CCW
D. Rotasi 900 CW

Berikut tampilan interfacenya ketika program dijalankan.

Gambar 5.5. Interface menggunakan elemen grafik

67
BAB VI SERIAL PORT

6.1. Pendahuluan
Pada umumnya peralatan output sebuah komputer terdiri dari Serial dan Paralel port.
Dari segi namanya maka komunikasi serial akan mengirimkan data secara
serial/berurutan. Serial port lebih sulit ditangani daripada paralel port karena peralatan
yang dihubungkan ke serial port harus berkomunikasi menggunakan transmisi serial,
sedangkan data pada komputer dikelola secara paralel. Karenanya data dari ( dan ke)
serial port harus dikonversikan ke (dan dari) bentuk paralel untuk bisa digunakan.
Secara hardware, hal ini bisa dilakukan oleh Universal Asynchronous Receiver
Transmitter (UART), namun pada softwarenya justru ada lebih banyak register UART
yang harus ditangani dibanding pada paralel port.

6.2. Penyajian
6.2.1. Tata Cara Komunikasi Serial
Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data serial secara
asinkron dan secara sinkron. Pada komunikasi data serial sinkron, clock dikirimkan
bersama-sama dengan data serial, sedangkan komunikasi data serial asinkron, clock
tidak dikrimkan bersama data serial, tetapi dibangkitkan secara sendiri-sendiri baik
pada sisi pengirim (transmitter) maupun pada sisi penerima (receiver). Pada IBM PC
kompitibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini
dikerjakan oleh UART.

Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi
transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi
antara transmitter dan receiver. Hal ini dilakukan oleh bit ‘Start’ dan bit ‘Stop’. Ketika
saluran transmisi dalam keadaan idle (kosong), output UART adalah dalam keadaan
logika ‘1’. Ketika transmitter ingin mengirimkan data, output UART akan diset lebih
dulu ke logika ‘0’ untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai
sinyal ,start’ yang digunakan untuk mensinkronkan fase clocknya sehingga sinkron
dengan fase clock transmitter. Selanjutnya data akan dikirimkan secara serial dari bit

68
paling rendah (bit 0) sampai bit tertinggi. Selanjutnya akan dikirim sinyal ‘Stop’
sebagai akhir dari pengiriman data serial. Cara pemberian kode data yang disalurkan
tidak ditetapkan secara pasti. Berikut ini adalah contoh pengiriman huruf ‘A, dalam
format ASCII (41 heksa / 1000001 biner) tanpa bit paritas.

Gambar 6.1 Pengiriman huruf ‘A’ tanpa bit paritas


Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate
yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400 dan 9600 bit/s. Dalam
komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur pada
kecepatan yang sama. Selanjutnya, harus ditentukan panjang data (6,7 atau 8 bit),
paritas (genap, ganjil atau tanpa paritas) dan jumlahbit ‘Stop’ (1, 1½ atau 2 bit).

6.2.2. Karakteristik Sinyal Port Serial (RS232)


Standar sinyal komunikasi data serial yang banyak digunakan adalah standar RS232
yang dikembangkan oleh Electronic Industry Association and The
Telecommunications Industry Association (EIA/TIA) yang pertma kali dipublikasikan
pada tahun 1962. Ini terjadi jauh sebelum IC TTL pupuler sehingga sinyal ini tidak ada
hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut
komunikasi data antara komputer (Data Terminal Equpment – DTE) dengan alat-alat
pelengkap komputer (Data Circuit-Terminating Equipment- DCE). Standar RS232
inilah yang biasa digunakan pada port serial IBM PC kompatible.

Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut:

1. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga -25 Volt
2. Logika ‘0’ disebut ‘space’ terletakl antara +3 Volt hingga +25 Volt.
3. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah
tegangan yang tidak memiliki level logika pasti sehingga harus dihindari.
Demikian juga dengan level tegangan lebih negatif dari -25 Volt atau lebih positif

69
dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line
driver pada saluran RS232.
Gambar dibawah ini merupakan contoh level tegangan RS232 pada pengiriman huruf
‘A’ dalam format ASCII tanpa bit paritas.

Gambar 6.2 Level tegangan RS232 pengiriman huruf ‘A’ tanpa bit
paritas

6.2.3. Konverter Logika RS 232


Jika peralatan yang kita gunakan menggunakan logika TTL maka sinyal port harus kita
konversikan dahulu ke pulsa TTL sebelum kita gunakan, dan sebaliknya sinyal dari
peralatan harus dikonversikan ke logika RS-232 sebelum diinputkan ke serial p[ort.
Konverter yang paling mudah digunakan adalah MAX-232. Didalam IC ini terdapat
Charge pump yang akan membangkitkan + 10 Volt dan -10 Volt dari sumber +5 Volt
tunggal. Dalam IC DIP (Dula in-line Package) 16 pin (8 pin x 2 baris) yang terdapat 2
buah transmitter dan 2 buah receiver.

Gambar 6.3 Pin out MAX-232


Selain IC MAX terdapat juga IC DS 1489 dan DS 1448 yang dapat digunakan sebagai
konverter RS-232. Dua IC terpisah ini harus digunakaan bersama karena DS1448

70
adalah driver RS-232 dan DS 1488 adalah penerima (receiver) RS-232. Pada setiap IC
terdapat 4 inverter driver maupun receiver. IC DS1448 membutuhkan power supply
ganda ±7,5 V dan ±15 V.

6.2.4. Hardware
Peralatan yang menggunakan media serial port untuk berkomunikasi dibagi dalam dua
kelompok yaitu: Data Communication Equipment (DCE) seperti Modem, Ploter, dll
dan Data Terminal Equipment (DTE) seperti terminal dikomputer.

Konektor port serial terdiri dari 2 jenis, yaitu konektor 25 pin (DB25 dan 9 pin (DB9)
yang berpasangan (jantan dan betina). Bentuk dari konektor DB-25 sama persis
dengan port paralel. Umumnya COM1 berada dialamat 3F8H, sedangkan COM2
dialamat 2F8H. Seperti diperlihatkan pada gambar 6.4 di bawah ini:

Gambar 6.4 Konektor DB-9 betina


Tabel 6.1 dibawah ini menunjukkan hubungan konektor serial port dengan nama
sinyalnya. Diberikan juga kesesuaian antara DB-9 dan DB-25.

Tabel 6.1 Pin out serial port


DB-25 DB-9 Singkatan Nama Arah Sinyal

2 3 TD transmit data Ke DEC


3 2 RD receive data Dari DCE
4 7 RTS request to send Ke DCE
5 8 CTS clear to send Dari DCE
6 6 DSR data set ready Dari DCE
7 5 SG signal ground -
8 1 CD carrier detect Dari DCE
20 4 DTR data terminal ready Ke DCE
22 9 RI Ring indicator Dari DCE

71
Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya. Biasanya
tersedia dua port serial pada CPU yaitu COM1 dan COM2. Base Address COM1
adalah 1016 (3F8h) dan COM2 biasanya 760 (2F8h). Setelah kita mengetahui base
addressnya, maka kita dapat menentukan alamat register-register yang digunakan
untuk komunikasi port serial ini. Berikut adalah tabel register-register tersebut beserta
alamatnya.

Tabel 6.2 Alamat register port serial


Nama register COM1 COM2

TX Buffer 3F8h 2F8h


RX Buffer 3F8h 2F8h
Baud rate divisor Latch LSB 3F8h 2F8h
Baud rate divisor Latch MSB 3F9h 2F9h
Interupt Enable Register 3F9h 2F9h
Interupt Identification Register 3Fah 2FAh
Line Control Register 3FBh 2FBh
Modem Control Register 3FCh 2FCh
Line Status Register 3FDh 2FDh
Modem Status Register 3FEh 2FEh

Keterangan mengenai fungsi register-register tersebut adalah :

1. RX Buffer, digunakan untuk menampung dan menyimpan data dari DCE


2. TX Buffer, digunakan untuk menampung dan menyimpan data yang akan dikirim
ke serial port
3. Baud rate divisor Latch LSB, digunakan untuk menampung byte bobot rendah
untuk pembagi clock pada IC UART agar didapat baud rate yang tepat
4. Baud rate divisor Latch MSB, digunakan untuk menampung byte bobot rendah
untuk pembagi clock pada IC UART sehingga total angka pembagi adalah 4 byte
yang dapat dipilih dari 0001h sampai FFFFh. Berikut adalah tabel angka pembagi
yang sering digunakan.

72
Tabel 6.3 Angka pembagi clock pada IC UART
Baud rate (bit/detik) Angka pembagi

300 0180h
600 0C00h
1200 0060h
1800 0040h
2400 0030h
4800 0018h
9600 000Ch

5. Interrupt Enable Register, digunakan untuk menset interupsi apa saja yang akan
dilayani komputer, dan dapat menampung pemrograman agar jika terjadi suatu
keadan khusus dapat melangsungkan interupsi ke CPU.

Tabel 6.4 Rincian bit pada IER


No. Bit Keterangan

0 1: Interupsi akan diaktifkan jika menerima data


1 1: Interupsi akan diaktifkan jika register Tx kosong
2 1:interupsi diakrifkan jika ada perubahan keadaan pada line
Status Register
1: diaktifkan jika ada perubahan keadaan pada modem status
3
register
Diisi 0
4,5,6,7

6. Interrupt Identification Register, digunakan untuk menentukan urutan prioritas


interupsi.

73
Tabel 6.5 Rincian bit pada Interrupt identification register
Nomor bit Keterangan
0 0: Interrupt
1: No interrput pending
1 dan 2 00: Prioritas tertinggi oleh LSR
01: Prioritas tertinggi oleh register Rx jika menerima data
10: Prioritas tertinggi oleh register Tx jika telah kosong
11: Prioritas tertinggi oleh modem status register
3,4,5,6,7 Diisi 0

7. Line Control Register, digunakan untuk menentuakan jumlah bit data, bit pariti,
jumlah bit stop dan untuk menentukan apakah baud rate divisor dapat diubah atau
tidak.

Tabel 6.6 Rincian bit pada Line Control Register


Nomor bit Keterangan
0 dan 1 Jumlah bit data
00: Jumlah bit data adalah 5
01: Jumlah bit data adalah 6
10: Jumlah bit data adalah 7
11: Jumlah bit data adalah 8
2 Bit stop
0: Jumlah bit stop adalah 1
1: Jumlah bit stop adalah 1,5 untuk 5 bit data dan 2 untuk
6 hingga 8 bit data
3 Bit pariti
0: Tanpa pariti
1: dengan pariti
4 0: Pariti ganjil
1: Pariti genap
5 1: Bit pariti ikut dikirimkan (stick parity)

74
6 0: Set break kontrol tidak diaktifkan
1: Set break kontrol diaktifkan
7 0: Baud rate divisor tidak dapat diakses
1: Baud rate divisor dapat diakses
8. Modem control register, digunakan untuk mengatur saluran pengatur modem
terutama saluran DTR dan saluran RST.

Tabel 6.7 Rincian bit pada Modem Control Register


Nomor bit Keterangan
0 Bit DTR
0: Saluran DTR diaktifkan (aktif 0)
1: Saluran DTR dibuat normal (tidak aktif)
1 Bit STR
0: Saluran RST diaktifkan (aktif 0)
Saluran RST dibuat normal (tidak aktif)
2 Bit OUT1, digunakan sebagai penghubung ke perangkat
lain, dapat dibuat logika high atau logika low. Secara normal
tidak digunakan
3 Bit OUT2, digunakan sebagai penghubung ke perangkat
lain, dapat dibuat logika high atau logika low
4 0: Loop back intenal diaktifkan
1: Loop back internal tidak diaktifkan
5,6,7 Diisi 0

9. Line status register, digunakan untuk menampung bit-bit yang menyatakan kedaan
penerimaan atau pengirimandata danstatus kesalahan operasi.

Tabel 6.8 Rincian bit pada LSR


No. Bit Keterangan

0 1: Menyatakan adanya data masuk pada buffer Rx


1 1: Data yang masuk mengalami overrun
2 1: Terjadi kesalahan pada bit pariti

75
3 1: Terjadi kesalahan framing
4 1: Terjadi Break Interrupt
5 1: Menyatakan bahwa register Tx telah kosong
6 1: Menyatakan bahwa transmitter shift register telah kosong
7 Diisi 0

10. Modem status register, digunakan untuk menampung bit-bit yang


menyatakanstatus dari saluran hubungan dengan modem.

Tabel 6.9 Rincian bit pada modem status register


No. Bit Keterangan

0 1: Menyatakan adanya perubahan keadaan di saluran CTS


1 1: Menyatakan adanya perubahan keadaan di saluran DSR
2 1: Menyatakan adanya perubahan keadaan di saluran Ring
Indicator (RI) dari low ke high

1: Menyatakan adanya perubahan keadaan di saluran


3
Receive line signal detect (DCD)

1: Menyatakan saluran Clear to Send (CTS) sudah dalam


4 keadaan hukum

1: Menyatakan saluran Data set ready (DSR) sudah dalam


keadaan aktif
5
1: Menyatakan bahwa saluran Ring Indicator (RI) sudah
dalam keadaan aktif
6
1: Menyatakan bahwa saluran Receive Line Signal Detect
(DCD) sudah dalam keadaan aktif)

6.2.5. Null Modem


Null modem digunakan untuk menguhubungkan 2 buah komputer (DTE) sekaligus.
Umumnya digunakan sebagai cara murah dalam bermain game pada jaringan, atau
juga digunakan untuk transfer file antar komputer menggunakan protokol Zmodem,

76
Xmodem, dll. Untuk membuat null modem, hubungkan 2 buah DTE seperti yang
diperlihatkan pada gambar 6.5 dibawah ini.

Gambar 6.5 Koneksi Null Modem


Pada gambar diatas, hanya diperlukan 3 kabel, yakni TD, RD dan SG. Sembarang data
yang dikirim oleh konputer 1 dihubungkan langsung ke RD komputer 2, sehingga TD
komputer 1 langsung dihubungkan ke RD komputer 2, dan sebaliknya. SG
dihubungkan untuk membentuk common graound dikedua komputer.

DTR di loop-back ke DSR dan CD di masing-masing komputer. Alasannya, jika DTR


dimunculkan dan aktif maka DSR dan CD segera aktif juga, dan kerananya komputer
seolah mempunyai virtual modem yang terhubung kepadanya dan sedang dalam
keadaan siap berkomunikasi. Dengan dihubungkannya CD seperti diatas maka
komputer akan mendeteksi juga adanya carrier dari modem lain.

Pin RTS dan CTS digunakan untuk mengontrol kesiapan serial port dalam transfer
data. Asumsikan bahwa kedua komputer berjalan dengan kecepatan yang sama
sehingga kedua sinyal ini (RTS dan CTS) tidak diperlukan dan dihubungkan langsung
untuk ”membohongi” komputer. Jika komputer akan mengirim data maka komputer
mengirimkan sinyal RTS bernilai tinggi, dan sinyal ini diperlukan oleh CTS. Dengan
menghubungkan keduanya secara langsung maka seolah komputer tujuan langsung
siap menerima data menerima data begitu ada permintaan untuk mengirim data (RTS).

77
6.2.6. Universal Asynchronous Receiver Transmitter (UART)
Seperti yang dibahasakan sebelumnya, bahwa untuk mengakses serial port secara
hardware digunakan UART. UART digunakan untuk komunikasi dalam pengiriman
dan penerimaan data adalah saluran RD dan saluran TD serta saluran-saluran untuk
kontrol yaitu saluran DCD, DSR, RTS, CTS, DTR dan RI. Saluran ini ada yang
sebagai output dan ada yang sebagai input. Kecuali saluran RD, saluran-saluran ini
dapat diakses secara langsung melalui register UART. Di bawah ini adalah tabel 4.10
yang memperlihatkan alamat dan lokasi bit saluran pada register UART.

Tabel 6.10 Alamat dan lokasi bit saluran pada register UART
No Pin
Nama Pin COM1 COM2 Bit Arah
pada DB-9

TD 3 3FBh 2FBh 6 Output

DTR 4 3FCh 2FCh 0 Output

RTS 7 3FCh 2FCh 1 Output

CTS 8 3FEh 2FEh 4 Input

DSR 6 3FEh 2FEh 5 Input

RI 9 3FEh 2FEh 6 Input

DCD 1 3FEh 2FEh 7 Input

Untuk mengaksesnya dapat dilakukan dengan cara pendefinisian alamat yang sesuai
dan diisi dengan nilai datanya.

6.2.7. Alasan penggunaan Port Serial


Dibandingkan dengan pralel port, penggunaan port serial terkesan lebih sulit dan rumit.
Berikut keuntungan dari penggunaan serial port:

1. Pada komunikasi dengan kabel yang panjang, masalah kabel loss tidak akan
menjadi masalah besar, karena port serial mentransmisikan ‘0’ pada level
tegangan +3 V sampai +25 V dan ‘1’ pada level tegangan -3 V sampai -25 V.

78
2. dibutuhkan jumlah kabel yang lebih sedikit, bisa hanya menggunakan 3 kabel,
yaitu saluran transmit data, receive data, dan saluran ground (konfigurasi null
modem)
3. Saat ini penggunaan mikrokontrolel semakin populer, kebanyakan mikrokontroler
sudah dilengkapi dengan SCI (Serial Communication Interface) yang digunakan
untuk komunikasi dengan port serial komputer.

6.2.8. Interfacing dengan Serial Port


Untuk melakukan pengaksesan ke serial port, selain menggunakan hardware (UART)
maka juga dapat menggunakan software, dalam hal ini menggunakan ComPort
menggunakan Delphi. ComPort merupakan paket terpisah dari Delphi, Anda harus
menginstallnya terlebih dahulu, berikut diberikan petunjuk instalasi ComPort.

1. Setelah anda mendapatkan package comport yang dalam hal ini nama foldernya
adalah “source”
2. Copy folder source ke C:\Program Files\Borland\Delphi7\Lib
3. Pada Delphi, buka tab Tool*Environment, seperti pada gambar 6.6:

Gambar 6.6 Environment Option


4. Pada kotak dialog pilih tab library, akan muncul kotak dialog seperti pada gambar
6.7:

79
Gambar 6.7 Kotak dialog library
5. Akan muncul kotak dialog penentuan folder yang akan dipergunakan, arahkan ke
C:\Program Files\Borland\Delphi7\Lib\Source kemudian klik OK

Gambar 6.8 Browse source library

80
6. Pada tampilan seperti gambar 6.9 dibawah ini tekan tombol Add

Gambar 6.9 Add library

7. Buka page tab Open kemudian arahkan ke C:\Program


Files\Borland\Delphi7\Lib\Source\CportLib7 kemudian klik OK seperti gambar
6.10 dibawah ini:

Gambar 6.10 Browse Cport7Lib.dpk

8. Pada gambar 6.11 dibawah ini klik Compile lalu klik Install lalu klik OK

81
Gambar 6.11 Install package CportLib7.dpk
9. Buka Open, arahkan ke C:\Program Files\Borland\Delphi7\Lib\Source\ lalu pilih
DsgnCport7.dpk seperti gambar 6.12 dibawah ini:

Gambar 6.12 Install DsgnCPort7.dpk


10. Lakukan hal sama seperti pada langkah sebelumnya diatas.
11. Jika langkah – langkahnya berhasil maka pada delphi akan muncul componen
pallete seperti pada gambar 6.13 dibawah ini:

Gambar 6.13 ComPort telah berhasil di install

82
Langkah selanjutnya adalah menginstall virtual serial port kit yang bisa Anda peroleh
di internet, berikut link yang dapat digunakan untuk mendownloadnya:
http://www.fabulatech.com/virtual-serial-port-kit-download.html, karena ini hanya
untuk belajar maka Anda cukup menginstall yang versi trial 15 hari saja.

Berikut gambar 6.14 adalah tampilan virtual serial port kit yang telah berhasil di
install.

Gambar 6.14 Virtual serial port kit

Untuk menambahkan virtual serialnya klik pada icon , disini Anda dapat
menambahkan banyak serial port sesuka Anda, pada contoh ini akan dipakai COM32
yang dikoneksikan ke COM33.

Berikut rancangan program interfacing serial port menggunakan Delphi dengan


bantuan virtual serial port kit yang telah diintall sebelumnya. Ada 2 project yang harus
kita buat yaitu project untuk send data menggunakan COM32 dan satu lagi project
untuk read atau receive data menggunakan COM33.

83
1. Program Send Data

A. Buka Program Delphi, kemudian rancanglah form seperti pada tampilan gambar
6.15 dibawah ini:

Gambar 6.15 Form send data serial


B. Component yang digunakan yaitu: GroupBox, Label, Memo, BitButton, ComPort
C. Listing programnya diperlihatkan seperti dibawah ini:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, CPort, StdCtrls, Buttons;

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
ComPort1: TComPort;

84
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Memo1: TMemo;
Label1: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
str:string;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);


begin
ComPort1.ShowSetupDialog;
end;

procedure TForm1.FormCreate(Sender: TObject);


begin
Memo1.Clear;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);


begin
ComPort1.Close;
application.Terminate;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);


begin
ComPort1.Open;
str:=Memo1.Text;
ComPort1.WriteStr(str);
end;

end.

85
2. Program Read Data

A. Buka Program Delphi, kemudian rancanglah form seperti pada tampilan gambar
6.16 dibawah ini:

Gambar 6.16 Form Read/receive data


B. Component yang digunakan yaitu: GroupBox, Memo, BitButton, ComPort
C. Listing programnya diperlihatkan seperti dibawah ini:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, CPort;

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;

86
BitBtn3: TBitBtn;
Memo1: TMemo;
ComPort1: TComPort;
procedure FormCreate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ComPort1RxChar(Sender: TObject; Count: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);


begin
Memo1.Clear;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);


begin
ComPort1.Close;
Application.Terminate;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);


begin
ComPort1.Open;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);


begin
ComPort1.ShowSetupDialog;
end;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);


Var
Str:string;
begin
ComPort1.ReadStr(Str,Count);
Memo1.Text:=memo1.Text+Str;

87
end;

end.

D. Jika program dijalankan, maka akan dihasilkan seperti pada gambar 6.17 dibawah
ini:

Gambar 6.17 Tampilan form send data dan read data di running
bersamaan
E. Klik Setup untuk kedua gambar diatas, dan aturlah port pada posisi send menjadi
COM32 dan posisi read menjadi COM33 kemudian klik OK, seperti pada gambar
6.18 dibawah ini:

Gambar 6.18 Konfigurasi/setting port serial

88
F. Sebelum Anda klik send maka pada posisi Read klik terlbih dahulu button connect
G. Ketikkan kalimat yang Anda mau kirim, sebagai contoh hasilnya ditampilkan
seperti pada gambar 5.19 dibawah ini:

Gambar 6.19 Hasil program setelah dijalankan

H. Pada langkah diatas, berarti Anda telah berhasil membuat program untuk
mengirim data menggunakan serial port, walaupun hanya sebatas virtual, tetapi
dasarnya programnya sama saj jika Anda ingin langsung mencobanya
menggunakan kabel serial tetapi tentu saja komputer Anda harus tersedia serial
portnya.

6.3. Penutup
Penyajian yang diberikan dalam bab 6 ini, diharapkan akan menambah pengetahuan
anda tentang komunikasi menggunakan serial port. Contoh pada komunikasi ini
menggunakan software Delphi 7.0. Anda dapat berkreasi lebih banyak lagi perihal
interfacing menggunakan serial port seperti untuk memonitor suhu, temperatur, kontrol
kecepatan motor, serta aplikasi lainnya sesuai dengan apa yang Anda minati.

Soal-Soal Latihan

Buatlah program untuk memonitor suhu dengan menggunakan komunikasi serial dan
hasilnya ditampilkan menggunakan grafik.

89
BAB VII KOMUNIKASI DATA PARALEL

7.1. Pendahuluan
Port paralel pada komputer digunakan untuk melakukan komunikasi dengan perangkat
luar (hardware), pernahkah anda perhatikan bagaimana komputer melakukan
pencetakan ke kertas (ngeprint)? Bagaimanakah data dikirim untuk kemudian direspon
oleh peralatan? Salah satu jenis komunikasi yang digunakan adalah dengan
menggunakan port paralel. Walaupun tidak dapat dipungkiri bahwa umumnya
peralatan sekarang telah menggunakan komunikasi serial, seperti yang telah dibahas
pada pertemuan sebelumnya....!, tetapi penggunaan port paralel masih sering kita
jumpai utamanya pada beberapa jenis pengontrolan seperti kontrol lampu LED dan
motor stepper. Satu hal yang perlu diperhatikan dalam suatu perancangan pengontrolan
yaitu harus dilakukan analisa dari alat yang akan dikontrol dengan jenis komunikasi
yang tepat digunakan, jika anda tidak mempersyaratkan jarak kabel dan kecepatan
maka komunikasi dengan paralel port dapat anda pilih sebagai solusi. Misalkan kita
memiliki televisi, Kipas Angin, DVD Player dll. Nah kita dapat membuat alat kontrol
sehingga alat-alat tersebut dapat dikontrol menggunakan komputer. Untuk alat
semacam Kipas Angin maka kontrolnya hanyalah On-Off saja. Bila kita menginginkan
kipas menyala, maka kita tinggal meng-klik pada mouse saja. Sangat simple bukan?

7.2. Penyajian
7.2.1. Hardware
Sebuah Personal Computer (PC) secara umum dilengkapi dengan port paralel (Kecuali
pada Notebook). Port paralel ini umumnya digunakan untuk menghubungkan
komputer dengan alat pencetak (printer). Namun apabila kita mengetahui sinya-sinyal
apa saja yang terkandung pada port paralel tersebut, maka kita dapat memanfaatkan
port paralel untuk kepentingan yang lain. Gambar 5.1 dibawah ini menunjukkan
sebuah port paralel.

90
Gambar 7.1 Port paralel

Port paralel terdiri dari 25 pin dan untuk menggunakannya dibutuhkan konektor,
konektor ini biasa disebut dengan konektor DB25. Gambar 7.2 memperlihatkan sebuah
konektor DB25.

(a). Konektor DB25 jantan dan betina (b). Konektor DB25

Gambar 7.2 (a). Konektor DB25 jantan dan betina, (b). Konektor DB25

7.2.2. Sinyal Port Paralel


Fungsi dari setiap pin port paralel/konektor DB25 diperlihatkan dalam Tabel 5.1
dibawah ini:

Tabel 7.1 fungsi/sinyal port paralel

91
Pin dari konekter DB25 berjumlah 25 dan pin Centronics dengan jumlah konektor 34.
DB25 ialah konektor yang umum digunakan di computer sebagai port paralel,
sedangkan konektor Centronics umum ditemukan di printer. IEEE 1284 ialah standar
yang menentukan 3 konektor berbeda yang dapat digunakan dengan port paralel, yaitu
1284 tipe A ialah konektor DB25 yang dapat ditemukan di hampir semua komputer,
1284 tipe B ialah konektor Centronics 36 pin yang umum ditemukan di printer, IEEE
1284 type C ialah konektor 36 pin seperti Centronics, tetapi ukurannya lebih kecil .

Adapun alamat untuk masing-masing register dalam port pararel diperlihatkan pada
tabel 7.2 dibawah ini:

Tabel 7.2 fungsi/sinyal port paralel


Register LPT1

Data register (baseaddresss+0) / Data Lines $378

Data register (baseaddresss+1) / Status Lines $379

Data register (baseaddresss+2) / Control Lines $37A

Port paralel ialah port data di komputer untuk mentransmisi 8 bit data dalam sekali
detak. Standar port paralel yang baru ialah IEEE 1284 yang dikeluarkan pada tahun
1994. Standar ini mendefinisikan 5 mode operasi sebagai berikut :

1. Mode kompatibilitas

2. Mode nibble

3. Mode byte

4. Mode EPP (Enhanced Parallel Port)

5. Mode ECP (Extended Capability Port)

Tujuan dari standar yang baru tersebut ialah untuk mendesain driver dan peralatan
yang baru yang kompatibel dengan peralatan lainnya serta standar paralel port
sebelumnya (SPP) yangn diluncurkan tahun 1981. Mode Compatibilitas, nibble dan
byte digunakan sebagai standar perangkat keras yang tersedia di port paralel orisinal

92
dengan EPP dan ECP membutuhkan tambahan hardware sehingga dapat berjalan
dengan kecepatan yang lebih tinggi. Mode kompatibilitas atau (“Mode Centronics”)
hanya dapat mengirimkan data pada arah maju pada kecepatan 50 KBytes per detik
hingga 150 KBytes per detik. Untuk menerima data, anda harus mengubah mode
menjadi mode nibble atau byte. Mode nibble dapat menerima 4 bit (nibble) pada arah
yang mundur, misalnya dari alat ke computer. Mode byte menggunakan fitur bi-
directional parallel untuk menerima 1 byte (8 bit) data pada arah mundur. IRQ
(Interrupt Request) pada port paralel biasanya pada IRQ5 atau IRQ7.

7.2.3. Bi-Directional Port


Ketika IBM memperkenalkan IBM PS/2, IBM menambahkan fasilitas baru pada
paralel portnya, yaitu dengan kemampuan untuk berkomunikasi dua arah.
Modifikasinya tidak banyak, hanya menambahkan satu chip 74244 dan emfungsikan
bit 5 dari register kontrol. Awalnya paralel port menggunakan IC TTL (tipe 74LS).
Skematik diagram pada gambar 7.3 adalah port data dari paralel port bi-derectional.

Paralel port yang tidak dua arah, tidak terdapat chip 74244 di dalamnya. Jadi hanya
menggunakan 74LS374 yang output enable-nya secara permanen di-set rendah
sehingga data hanya bisa ditransfer satu arah, outputnya saja. Jika kita membaca data
dari register data paralel port, maka data tersebut berasal dari `374 yang juga
dihubungkan ke pin data. Dengan mengoveride `374 seperti pada gambar 7.3, maka
kita bisa dapatkan paralel port dua arah (atau justru hanya input saja, jika kita
mengisinya dengan output latch).

Gambar 7.3 Standar paralel port dua arah

93
Paralel port dua arah menggunakan bit ke-5 dari register kontrol untuk dihubungkan
dengan Output-Enable (nOE) dari `374, sehingga jika bit 5 ini kita set tinggi (=1) maka
`374 tidak bekerja, dan data yang ada adalah berasal dari `274 yakni data dari luar
komputer. Pada saat paralel port kita set seperti ini, maka data yang kita tuliskan ke
register data paralel port tidak akan sampai ke pin DB25 karena `374 tidak
menghantarkannya.

7.2.4. Enhanced Parallel Port (EPP)


EPP sudah mengikuti standar IEEE 1284. Hal yang utama dalam EPP adalah bahwa
EP mampu mentansfer sata sebesar 500 kBps hingga mendekati 2 MBps dan juga
bahwa jalur data dapat berfungsi dua arah, input maupun output. Protokol EPP
mempunyai 4 macam siklus transfer data yang berbeda yaitu :

1. Siklus baca data (Data read)


2. Siklus baca alamat (Address Read)
3. Siklus tulis data (data write)
4. Siklus tulis alamat (address write)
Siklus data digunakan untuk mentrasfer data antara host dan peripheral. Siklus alamat
digunakan untuk mendefinisikan alamat, saluran (channel) atau informasi perintah dan
kontrol antara 2 (dua) alat.

Tabel 7.3 Sinyal EPP


Sinyal EPP Pin Aktif I/O Diskripsi
Write 1 LOW O Proses wait sedang berjalan
Data Str 14 LOW O Data read atau data write
Add Str 17 LOW O Addr read atau addr write
Init 16 LOW O Reset peralatan
Init 10 LOW I Interupsi dari alat ke PC
Wait 11 H/L I Cadangan
User defined 12 H/L I Cadangan
User defined 13 H/L I Cadangan
User defined 15 H/L I Cadangan
Adx 2-9 HIGH I/O Jalur data dan alamat 2 arah

94
7.2.5. Extended Capability Port (ECP)
Perkembangan paralel port berikutnya adalah dengan diperkenalkannya ECP, sebuah
protokol yang diajukan oleh Microsoft dan Hawlet Packard sebagai mode lanjut untuk
komunikasi dengan peripheral jenis scanner dan printer. Terdapat 2 tipe transfer data
(sebagai transfer 2 data), yaitu:

1. Siklus data, dan


2. Siklus ‘Command’

Tabel 7.4 Sinyal ECP


Sinyal ECP Pin Aktif I/O Diskripsi
HostClk 1 LOW O Dipakai oleh peripheral untuk transfer
data atau alamat secara forward LOW
bila data valid
Data siap ditransfer secara reverse
HostAck 14 HIGH O dipakai peripheral Clk untuk transfer
data secara reverse
1284 Active 17 HIGH O
HIGH bila PC dalam mode transfer 1284
Reverse Reg 16 LOW I
LOW agar kanal dalam kondisi reverse
PerphAck 11 HIGH I
Dipakai HostClk untuk transfer data atau
alamat secara forward
PerphClk 10 LOW I Dipakai HostAck untuk transfer data atau
alamat secara reverse

Ack reverse 12 LOW I LOW untuk mengetahui request mode


reverse
PerphRequest 15 LOW I
Diset LOW oleh alat luar untuk
menunjukkan bahwa saluran reverse bisa
dipakai
Data 2-9 HIGH I/O
Pertukaran data peripheral dan PC

95
7.2.6. Aplikasi Port Paralel
Berikut ini akan dibahas tentang aplikasi port paralel menggunakan smport, smport
merupakan paket package untuk Delphi yang khusus digunakan untuk dapat
mengakses paralel port komputer. Berikut akan dipaparkan langkah pembuatan
program kontrol port paralel.

1. Rancanglah tampilan seperti yang diperlihatkan pada gambar 7.4 dibawah ini:

Gambar 7.4 Form interfacing kontrol port paralel


Komponen yang digunakan: label, shape-circle, panel, dan speed button.

2. Tambahkan deklarasi variabel dengan nama data dan baru dengan tipe datanya
adalah integer seperti pada gambar 7.5 dibawah ini:

Gambar 7.5 deklarasi variable

96
3. Berikut listing program secara lengkap
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SmallPort, Buttons, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Panel1: TPanel;
Shape2: TShape;
Shape3: TShape;
Shape4: TShape;
Shape5: TShape;
Shape6: TShape;
Shape7: TShape;
Shape8: TShape;
SpeedButton1: TSpeedButton;
Shape1: TShape;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SmPort: TSmallPort;
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton17Click(Sender: TObject);
97
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton18Click(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
data_read,data_send:integer;
implementation
{$R *.dfm}
procedure TForm1.SpeedButton19Click(Sender: TObject);
begin
SmPort.Opened:=True;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 254;
SmPort.WriteByte($378,data_send);
shape1.Brush.Color := clWhite;
end;

procedure TForm1.SpeedButton5Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 253;
SmPort.WriteByte($378,data_send);
shape2.Brush.Color := clWhite;
end;

procedure TForm1.SpeedButton7Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 251;
SmPort.WriteByte($378,data_send);
shape3.Brush.Color := clWhite;
end;

98
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 247;
SmPort.WriteByte($378,data_send);
shape4.Brush.Color := clWhite;
end;

procedure TForm1.SpeedButton11Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 239;
SmPort.WriteByte($378,data_send);
shape5.Brush.Color := clWhite;
end;

procedure TForm1.SpeedButton13Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 223;
SmPort.WriteByte($378,data_send);
shape6.Brush.Color := clWhite;
end;

procedure TForm1.SpeedButton15Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 191;
SmPort.WriteByte($378,data_send);
shape7.Brush.Color := clWhite;
end;

procedure TForm1.SpeedButton17Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 127;
SmPort.WriteByte($378,data_send);
shape8.Brush.Color := clWhite;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 1;
SmPort.WriteByte($378,data_send);
shape1.Brush.Color := clRed;
end;

99
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 2;
SmPort.WriteByte($378,data_send);
shape2.Brush.Color := clRed;
end;

procedure TForm1.SpeedButton8Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 4;
SmPort.WriteByte($378,data_send);
shape3.Brush.Color := clRed;
end;

procedure TForm1.SpeedButton10Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 8;
SmPort.WriteByte($378,data_send);
shape4.Brush.Color := clRed;
end;

procedure TForm1.SpeedButton12Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 16;
SmPort.WriteByte($378,data_send);
shape5.Brush.Color := clRed;
end;

procedure TForm1.SpeedButton14Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 32;
SmPort.WriteByte($378,data_send);
shape6.Brush.Color := clRed;
end;

procedure TForm1.SpeedButton16Click(Sender: TObject);


begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 64;
SmPort.WriteByte($378,data_send);
shape7.Brush.Color := clRed;
end;

100
procedure TForm1.SpeedButton18Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 128;
SmPort.WriteByte($378,data_send);
shape8.Brush.Color := clRed;
end;

procedure TForm1.SpeedButton20Click(Sender: TObject);


begin
Close;
end;
end.

4. Jika di eksekusi, hasilnya seperti ditunjukkan pada gambar 7.6 dibawah ini:

Gambar 7.6 hasil eksekusi program kontrol lampu LED


5. Rangkaian sederhana menggunakan paralel port untuk mengontrol lampu LED.

Gambar 7.7 Rangkaian uji coba untuk mengakses paralel port

101
Nilai tahanan resistor dapat dipilih dari 220 ohm sampai 470 ohm. Sedangkan pin
yang digunakan port paralel adalah pin 2-9 (lihat tabel 5.1). untuk menyalakan lampu
LED maka anda harus memberikan output 1 (satu) dan sebaliknya untuk
memadamkannya diberikan output 0 (nol).anda harus ingat bagaimana konversi dari
data biner ke desimal maupun dari biner ke heksagonal.

7.2.7. Pengontrolan dengan Relai


Untuk mengakses peralatan dengan beban yang besar dan untuk mencegah terjadinya
pembebanan berlebihan pada port paralel, maka digunakan rangkaian
penyangga/buffer. Gambar 7.8 dibawah ini memperlihatkan rangkaian penyangga
dengan penggerak relai.

Gambar 7.8 Rangkaian penyangga dengan penggerak relai

Dari skema pada Gambar 7.8, terlihat pin 3,5,7,9,12,16 dan 18


dari 74LS224 terhubung ke masing-masing relai. Selanjutnya
sakelar pada setiap relai tersebut, bisa kita gunakan untuk

102
mengontrol peralatan yang memiliki beban besar seperti Lampu TL maupun untuk
mengontrol Motor, Kipas Angin, dll.

7.3. Penutup
Penggunaan port paralel dalam kehidupan sehari-hari sangat banyak aplikasinya
diantaranya pengendalian perlengkapan rumah tangga seperti kipas angin, lampu
ruangan, televisi tetapi tetap menggunakan prinsip yang sama yaitu dalam hal teknik
pengiriman data, dan jika membutuhkan daya yang besar maka harus menggunakan
relay dan rangkaian driver dari setiap peralatan.

Soal-Soal Latihan

Buatlah aplikasi untuk menyalakan lampu menggunakan port paralel!

103
BAB VIII BASIS DATA

8.1. Pendahuluan
Basis data (database) adalah suatu kumpulan data yang disusun dalam bentuk tabel-
tabel yang saling berkaitan maupun berdiri sendiri dan disimpan secara bersama-sama
pada suatu media. Basis data dapat digunakan oleh satu atau lebih program aplikasi
secara optimal, data disimpan tanpa mengalami ketergantungan pada program yang
akan menggunakannya. Data yang sudah diolah sesuai dengan keperluan disebut
informasi. Materi pada bab ini akan membahas tentang basis data secara luas, dan
pemodelan data dengan menggunakan Entitas Relationship Diagram (ERD), serta
mengolah dan menampilkan data tersebut dengan program aplikasi delphi.

8.2. Penyajian
8.2.1. Defenisi Basis Data (Data Base)
Menurut “Stephens dan Plew (2000), adalah mekanisme yang digunakan untuk
menyimpan informasi atau data. Informasi adalah sesuatu yang kita gunakan sehari-
hari untuk berbagai alasan. Dengan basisdata, pengguna dapat menyimpan data secara
terorganisasi. Setelah data disimpan, informasi harus mudah diambil. Kriteria dapat
digunakan untuk mengambil informasi. Cara data disimpan dalam basisdata
menentukan seberapa mudah mencari informasi berdasarkan banyak kriteria. Data pun
harus mudah ditambahkan kedalam basisdata, dimodifikasi, dan dihapus”.
Menurut “Siberschatz, dkk.; (2002) mendefinisikan basisdata sebagai kumpulan data
berisi informasi yang sesuai untuk sebuah perusahaan. System manajemen basisdata
(DBMS) adalah kumpulan data yang saling berhubungan dan kumpulan program
untuk mengakses data. Tujuan utama system manajemen basisdata adalah
menyediakan cara menyimpan dan mengambil informasi basisdata secara mudah dan
efisien”.
Menurut “Ramakrishnan dan Gehrke (2003) basis data sebagai kumpulan data,
umumnya mendeskripsikan aktivitas satu organisasi atau lebih yang berhubungan”.
Berdasarkan defenisi siatas, dapat disimpulkan bahwa Basis Data (Data Base) adalah
suatu susunan atau kumpulan data operasional lengkap dari suatu organisasi yang
diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu

104
dengan menggunakan komputer, sehingga mampu memberikan informasi yang
optimal kepada pemakainya.
Sedangkan data adalah fakta mengenai objek, benda, orang, dan lain-lain yang
dinyatakan dengan nilai dalam bentuk angka, deretan karakter maupun simbol.

8.2.2. Tujuan Basis Data


Menurut Kristanto (1994), tujuan dari sistem manajemen basis data adalah sebagai
berikut:
a. Meminimumkan jumlah redundansi pada data yang disimpan. Informasi
yang konsisten dapat disediakan untuk proses pengambilan keputusan.
b. Integritas basis data. Data yang ada dalam basis data harus lengkap dan asli.
c. Program-program aplikasi dapat dikembangkan, dipelihara dan ditingkatkan
lebih cepat dan ekonomis. Sehingga basis data harus dapat diubah untuk
mengimbangi perubahan kebutuhan. Perkembangan tidak selalu berarti
perluasan tetapi juga penyempitan.
d. Mudah mengorganisasikan kembali secara fisik dari data yang disimpan.
e. Sensibilitas kontrol dari basis data yaitu pengendalian yang terpusat.
f. Prosedur-prosedur yang lebih mudah untuk pengoperasian komputer.
g. Tersedia setiap saat. Yaitu basis data harus selalu tersedia untuk digunakan
oleh pemakai saat dibutuhkan, yang harus mampu menampung bahasa dan
model yang berbeda untuk memuaskan seluruh pemakai.
Fathansyah (1999) menyatakan tujuan utama dalam pengolahan data dalam sebuah
basis data adalah agar kita dapat memperoleh data yang kita cari dengan mudah, cepat,
akurat dan efisien, serta aman dalam penyimpanannya.

8.2.3. Kegunaan Basis Data


Kristanto (1994) mengatakan bahwa penyusunan suatu basis data digunakan untuk
mengatasi masalah pada penyusunan data, yaitu :
a. Redundansi dan inkonsistensi data.
b. Kesulitan pengaksesan data.
c. Isolasi data dan standarisasi.
d. Masalah keamanan data.
e. Masalah integrasi data.

105
f. Masalah independence data.

8.2.4. Tipe Basis Data


Kristanto (1994) juga menjelaskan bahwa informasi yang disimpan dalam sebuah basis
data dapat diorganisasikan atau dipandang dengan sejumlah cara. Dua model
organisasi yang paling populer adalah model hirarki (Hierarchy Model) dan model
relasional (Relational Model).

8.2.5. Komponen Dasar Sistem B asis Data


Menurut Kristanto (1994) terdapat empat komponen dasar sistem basis data, yaitu :
a. Data, simbol-simbol yang disepakati dalam menyatakan gagasan manusia,
keadaan dan objek lainnya. Dalam sebuah sistem basis data, data disimpan
secara terintegrasi karena basis data merupakan kumpulan dari berbagai macam
file dari aplikasi yang berbeda-beda yang disusun dengan menghilangkan
bagian yang rangkap. Di samping itu data dapat dipakai secara bersama-sama
dalam waktu yang sama untuk aplikasi yang berbeda.
b. Hardware, meliputi I/O device, storage device dan jaringan komunikasi data.
c. Software, berfungsi sebagai perantara (interface) antara pemakai dengan data
fisik pada basis data, yaitu :
1. DBMS, program pengelola dan penyimpan basis data
2. Program aplikasi
d. User, dibagi atas tiga klasifikasi:
1. DBA (Data Base Administrator), orang yang mempunyai kekuasaan sebagai
pusat pengontrolan terhadap seluruh sistem baik data maupun program yang
mengakses data.
2. Programmer, orang atau team yang bertugas membuat program aplikasi
untuk mengakses basis data dengan menggunakan bahasa pemrograman.
3. End User, orang yang mengakses basis data melalui terminal dengan
menggunakan query language atau program yang dibuatkan programmer.

8.2.6. Entity-Relationship Diagram (ERD)


Pemodelan sistem database dapat dilakukan melalui pendekatan perancangan secara
konsepsual yaitu Entity Relationship Diagram (ERD atau E-R Diagram). Diagram
menggambarkan tipe objek mengenai data itu di manajemen, serta relasi antara objek

106
tersebut. E-R Diagram digunakan oleh seorang System Analyst dalam merancang
database. E-R Diagram dibuat berdasarkan persepsi atau pengamatan dunia nyata yang
terdiri atas entitas dan relasi antar entitas-entitas tersebut. Sebuah database dapat
dimodelkan sebagai kumpulan Entity/Entitas dan relationship/Relasi diantara
entitas.

Gambar 8. 1. Model ERD

8.2.7. Simbol Entity Relationship Diagram


Ada sejumlah konvensi mengenai Notasi ERD. Notasi klasik sering digunakan untuk
model konseptual. Berbagai notasi lain juga digunakan untuk menggambarkan secara
logis dan fisik dari suatu basis data, salah satunya adalah IDEF1X

Tabel 8. 1. Simbol ERD


Simbol/Notasi Keterangan

Entity

Weak entity

Relationship

Identifying Relationship

Atribut

107
Atribut Primary Key

Atribut Composite

Penjelasan dari simbol


a. Entitas (Entity)
Entitas adalah sebuah obyek yang ada (exist) dan dapat dibedakan dengan
obyek yang lain. Entitas ada yang bersifat konkrit, seperti: orang (pegawai,
mahasiswa, dosen, dll), buku, perusahaan; dan ada yang bersifat abstrak,
seperti: kejadian, mata kuliah, pekerjaan, status dan sebagainya.
b. Atibut (Attibute)
Atribut merupakan penjelas dalam set entitas. Beberapa atribut akan
mendefinisikan set entitas. Misalnya atribut NAMA yang dapat dipetakan
nilainya (maps) dari NAMA-DEPAN, dan NAMA-BELAKANG yang
merupakan bagian dari set entitas ORANG.
Jenis-jenis atribut
 Atribut Primary Key: atribut yang digunakan untuk menentukan suatu
entity secara unik. Contoh : Nomor pokok mahasiswa (NPM), NIM dan
nomor pokok lainnya.
 Atribut Simple: atribut yang bernilai tunggal. Contoh : Alamat,
penerbit, tahun terbit, judul buku.
 Atribut Multivalue: atribut yang memiliki sekelompok nilai untuk setiap
instan untity. Contoh : dari sebuah buku, yaitu terdapat beberapa
pengarang.
 Atribut Composite: Suatu atribut yang terdiri dari beberapa atribut yang
lebih kecil yang mempunyai arti tertentu. Contoh : dari entitas nama
yaitu nama depan, nama tengah, dan nama belakang.

108
Gambar 8. 2. Contoh Atribut Composite
 Atribut Derivatif: suatu atribut yang dihasilkan dari atribut lain.Contoh
: Atribut Lama Kuliah yang dapat dihasilkan dari atribut NIM yang
memiliki kode angka tahun masuk, jurusan, dsb.

Gambar 8. 3. Contoh Atribut Derivative


c. Relasi atau Hubungan
Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal
dari himpunan entitas yang berbeda. Penghubung antara himpunan relasi
dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan
dalam bentuk garis. Sebagai contoh: Mahasiswa mendaftar kuliahn untuk
semester berikutnya mengambil KRS, relasinya adalah mengambil.

Gambar 8. 4. Contoh Relasi


d. Weak Entity
Weak Entity adalah suatu Entity dimana keberadaan dari entity tersebut
tergantung dari keberadaan entity lain. Entity yang merupakan induknya
disebut Identifying Owner dan relationshipnya disebut Identifying Relationship.

109
Weak Entity selalu mempunyai Total Participation constraint dengan
dentifying Owner.

Gambar 8. 5. Contoh ERD

8.3. Derajat Relasi dan Kardinalitas Rasio


8.3.1. Derajat Relasi
Derajad Relasi adalah jumlah entitas yang berpatisipasi dalam suatu relasi. Derajad
Relasi dapat berupa:
 Unary Relationship (Relasi Berderajad 1)
Relasi Berderajat 1 adalah relasi dimana entitas yang terlibat hanya 1. Relasi
ini sering disebut relasi rekursif (recursive relationship).

1 1 N

Berteman_
Karyawan Menikah Karyawan Memimpin Karyawan Dengan

1 N N

Gambar 8. 6. Contoh unary relationship

 Binary Relationship (Relasi Berderajad 2)


Biasa disebut sebagai relasi Biner adalah relasi yang melibatkan 2 entitas.

1 1
Pria Menikah Wanita

1 N
Fakultas Mengatur Jurusan

M N
Ruang_Kuliah Menempati Mahasiswa

Gambar 8. 7. Binary Relationship

110
 Ternary Relationship (Relasi Berderajad 3)
Relasi Berderajat 3 adalah relasi tunggal yang menghubungkan 3 entitas yang
berbeda
Harga_Per-Unit Cara_Pengiriman

M N
Supplier Menyediakan Gudang

Komponen

Gambar 8. 8. Ternary Relationship

8.3.2. Kardinalitas Rasio

Menjelaskan jumlah maksimum hubungan antara satu entitas dengan entitas lainnya
Jenis Kardinality Ratio:
 One to One (1:1)
Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas
B, begitu pula sebaliknya.

a1 b1

a2 b2

a3 b3

a4 b4

A B

Gambar 8. 9. One to One Ratio


 One to many (1:N / Many)
Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota
entitas B tetapi tidak sebaliknya.

a1 b1

b2

a2 b3

b4

a3 b5

A B

111
Gambar 8. 10. One to Many Ratio

 Many to Many (N:N)


Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B
dan demikian pula sebaliknya

a1 b1

a2

a3 b2

a4

a5 b3

A B
Gambar 8. 11. Many to Many Ratio

8.4. Aplikasi data base dengan Delphi


Dalam aplikasinya, terdapat berbagai jenis database yang dapat di olah dengan Delphi,
misalnya : Paradox, dBase, MS-Access, ODBC, SyBase, Oracle dan lain-lain. Dalam
contoh latihan kali ini akan digunakan Ms. Access sebagai basis datanya. Basis data ini
dipilih karena Anda dianggap sudah familiar dengan basis data produk Microsoft ini.
Berikut ini komponen-komponen Delphi berikut yang akan digunakan dalam aplikasi
yang akan dibuat untuk operasi basis data dengan menggunakan basis data Ms. Access.
8.4.1. Komponen Data Access dan BDE
Komponen Data Access dan BDE adalah komponen non-visual. Merupakan komponen
yang secara langsung berhubungan dengan database (file secara fisik). Komponen data
access hanya melakukan akses dengan database, seperti membuka tabel, membaca
record, mengubah record dan sebagainya tanpa memperhatikan apa yang ditampilkan
pada pengguna.

Gambar 8. 12. Komponen ADO dan BDE

112
8.4.2. Komponen Data Control

Komponen Data Control adalah komponen visual yang juga merupakan komponen
data-aware atau disebut juga visual-controls. Komponen ini melakukan interaksi antara
pengguna dengan datasource (data source adalah salah satu komponen data data access
components). Dengan komponen ini kita dapat menyusun tampilan untuk pemakai.
Misalnya menampilkan record dan menampilkan image.

Gambar 8. 13. Komponen Data Controls

8.4.3. Komponen ADO

ActiveX Data Objects (ADO) adalah komponen yang digunakan untuk membangun
koneksi atau menghubungkan Data Base agar data dapat diakses oleh komponen Data
Access dan Data control

Gambar 8. 14. Komponen ADO

Pembuatan Database
1. Pertama buka MS. ACCESS dan save atas nama LATIHANDB.mdb

Gambar 8. 15. Buka mikrosoft access

113
Gambar 8. 16. Create new database

2. Buat tabel baru dengan field-field sebagai berikut:


Tabel 8. 2. Tabel Rancangan Antar muka
No Nama Filed Data type Properties Value

1 Nama Mahasiswa Text Field Size 25

2 NIM Text Field Size 12

3 Jurusan Text Field Size 25

4 Program Studi Text Field Size 25

5 Kelas Text Field Size 2

Gambar 8. 17 Hasil Create Database


3. Membuat Antar Muka
Basis data digunakan untuk menyimpan data, untuk memanipulasi data yang
disimpan pada basis data, terlebih dahulu harus mengetahui bagaimana
mengakses basis data yang telah dibuat. Berikut contoh antar muka dengan
Delphi untuk menampilkan database yang telah dibuat (lihat gambar 8.18).

114
Tabel 8. 3. Tabel komponen properties yang akan digunakan dalam mendesai
antar muka

No Komponen Properti Properties Nilai

1 2 3 4

1 ADOConnection1 Dari Connection String Lihat Pada Catatan di bawah.*


component palete
Connected True
”ADO”
Login Prompt False

2 ADOTable1 Dari Connection ADOConnection1


component palete
Table Name LATIHANDB
”ADO”
Active True

3 DataSource1 Dari Data Set ADOTable1


component palete
”Data Access”

4 DBGrid1 Dari Data Source Data Source1


component palete
”Data Controls”

5 DBNavigator Dari Data Source DataSource1


component palete
”Data Controls”

6 Button1 Dari Name Buton1


component palete
”Standard” Caption Save

7 Button2 Dari Name Buton2


component palete
”Standard” Caption Cancel

8 Button3 Dari Name Buton3


component palete
”Standard” Caption EXIT

9 Label1 Dari component Caption Nama Mahasiswa :


palete ”Standard”

10 Labe12 Dari component Caption NIM :

115
palete ”Standard”

11 Label3 Dari component Caption Jurusan:


palete ”Standard”

1 2 3 4

12 Label4 Dari component Caption Program Studi:


palete ”Standard”

13 Label5 Dari component Caption Kelas


palete ”Standard”

14 Edit1 Dari component Text -


palete ”Standard”

15 Edit2 Dari component Text -


palete ”Standard”

16 Edit3 Dari component Text -


palete ”Standard”

17 Edit4 Dari component Text -


palete ”Standard”

18 Edit5 Dari component Text -


palete ”Standard”

*Membuat Property Connection String


 Klik properties connection string pada object Inspector, lalu klik
tombol Build hingga muncul Data Link Properties, pilih Jet 4.0 OLE
DB Provider, Lalu Klik Next

Gambar 8. 18. Membuka property connecction string

116
Gambar 8. 19. Memilih driver database
 Klik kembali tombol Build sehingga muncul kotak dialog berikut:

Gambar 8. 20. Kotak dialog untuk memilih database


 Klik tombol Open dan selanjutnya klik tombol Test Connection hingga
muncul kotak dialog yang menandakan test connection succeeded
seperti gambar berikut:

117
Gambar 8. 21. Informasi koneksi database berhasil
 Selanjutnya Klik OK untuk setiap kotak dialog data link
 Klik Tombol Save, kemudian masukkan Source code
procedure TForm1.Button1Click(Sender: TObject);
begin
AdoTable1.Open;
AdoTable1.Append;
ADOTable1.FieldByName(‘Nama Mahasiswa’).As.String :=
edit1.Text;
ADOTable1.FieldByName(‘NIM’).As.String := edit2.Text;
ADOTable1.FieldByName(‘Jurusan’).As.String := edit3.Text;
ADOTable1.FieldByName(‘Program Studi’).As.String :=
edit4.Text;
ADOTable1.FieldByName(‘Kelas).As.String := edit5.Text;
ADOTable1.Post;
end;
 Klik Tombol Cancel, kemudian masukkan Source code
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';

118
edit4.Text :='';
edit5.Text :='';
end;
 Klik Tombol Exit, kemudian masukkan Source code
procedure TForm1.Button3Click(Sender: TObject);
begin
application.Terminate;
end;
 Run Program dan isi data pada masing masing text box yang tersedia

8.5. Penutup
Penggunaan database dalam sebuah sistem yang membutuhkan informasi dari yang
telah lampau hingga terkini adalah sangat penting adanya, mengingat pentingnya
sebuah data dalam menentukan baik-buruknya sebuah sistem yang dibangun. Dalam
bab ini diharapkan mahasiswa dapat memahami konsep dasar dari database hingga
dapat mengembangkannya sesuai dengan kebutuhan dilapangan.

Soal-Soal Latihan
1. Buat suatu pemodelan basis data dengan menggunakan ER-Diagram, contoh
kasus data siswa dan buat antarmukanya dengan Delphi?
2. Buat program aplikasi dengan Delphi yang dapat menyimpan data
tegangan,arus, frekuensi dan faktor daya serta menampilkan bentuk sinyal dari
tegangan dan arus. Informasi data tegangan, arus, frekuensi dan fator
dayadidapat melalui media serial.
3. Coba Gunakan SQL atau MySQL untuk aplikasi database contoh soal 1.

119
DAFTAR PUSTAKA

Dwi Sutadi, 2002, IO Bus dan Motherboard, Yogyakarta: Andi


Kristanto, harianto. 1994. Konsep perancangan database, andi offset

M. Agus dan J. Alam, 2003, Belajar Sendiri Membuat Program Aplikasi


Menggunakan Delphi 6 & Delphi 7, Bandung: Elex Media Komputindo
Madcoms, 2002, Pemrograman Borland Delph 7, Madiun: Andi
Martina, Inge, 2000, 36 Jam Belajar Komputer Delphi 5.0, Jakarta: Elek Media
Komputindo
Rachmad Setiawan, 2008, Teknik Akuisisi Data, Surabaya: Graha Ilmu
Ramakrishnan, R, dan Gehrke, J., 2003, Sistem Manajemen Database (Terjemahan),
Edisi ketiga, Andi Offset. Yogyakarta
Retna Prasetia dan Catur Edi Widodo, 2004, Interfacing Port Paralel dan Port Serial
Komputer dengan Visual Basic 6.0, Semarang: Andi
Ryan K. Stephens and Ronald R. Plew. 2000. Database Design, Sams
Publishing.46290.USA

Sarwo Pranoto, Muh. Ilyas, 2012, Bahan Ajar : Interfacing, Makassar, Politeknik
Negeri Ujung Pandang

Silberschatz, A. dkk. 2002. Database System Concepts, 4th Edition, New York
:McGraw-Hill.

Susilo, Djoko, 2005, Grafika Komputer dengan Delphi, Yogyakarta: Graha Ilmu.
Wahana 120riteria, 2003, Pengembangan Aplikasi Client/Server dengan Borland
Delphi, Jakarta: Elex Media Komputindo
Waljiyanto, 2003, Sistem Basis Data Analisis dan Pemodelan Data, Yogyakarta:
Graha Ilmu

120
Lampiran 1

KONTRAK PERKULIAHAN

Nama Mata kuliah : Interfacing

Kode Mata kuliah/SKS : EI 457432/2

Penanggung Jawab : Andi Wawan Indrawan,S.ST., M.Eng

Sarwo Pranoto, ST., M.Eng

Semester : IV (Empat) –

Hari Pertemuan / Jam : Rabu / Kamis

Tempat Pertemuan : Lab Komputer 1 Gedung Administrasi

1. Manfaat Mata Kuliah

Komputer II merupakan mata kuliah yang diajarkan untuk mahasiswa Teknik


Listrik semester IV (empat). Pokok bahasan yang disajikan dalam mata kuliah ini yaitu
pemrograman antarmuka menggunakan Delphi. Delphi merupakan bahasa
pemrograman visual sehingga merupakan program yang user friendly dengan tampilan
yang menarik, kemudahan dalam pemakaiannya juga merupakan kelebihan tersendiri
dengan basis bahasa programnya adalah bahasa Pascal dan C yang sebelumnya sudah
diberikan pada semester III (tiga). Penekanan pada interfacing menggunakan serial
port dan paralel port menjadi bagian penting dalam buku ajar ini, sehingga diharapkan
bagi mahasiswa agar bisa lebih berkreasi lebih dalam hal teknik interfacing untuk
pengontrolan device menggunakan komputer.

121
2. Deskripsi Singkat

Mata kuliah ini merupakan mata kuliah lanjutan dari Algoritma pemrograman
(komputer I) yang secara umum membahas tentang penggunaan program delphi mulai
dari IDE Delphi, Tiep data, Variabel dan Operator,komentar dan kontrol program,
Visual Component Library (VCL), akses peralatan luar dengan komunikasi paralel dan
serial port, serta data base.

3. Tujuan Instruksional Umum

Setelah mengikuti mata kuliah ini, mahasiswa diharapkan dapat melakukan


interfacing peralatan menggunakan port pararel dan serial disertai dengan teknik
grafik animasi dan database menggunakan Delphi 7.0.

122
4. Organisasi Materi

Interfacing Peralatan dan pembuatan Database

Database Komunikasi Komentar dan Tipe data,


Paralel Port Grafik VCL Kontrol Variabel dan
Data Serial
Program Operator
Interfacing Interfacing
Via Serial Hardware via Paralel
Defenisi Hardware Chart Elemen Grafik
Port Port Aplikasi Tpe data
basisdata Demo VCL Kontrol
Program VCL Tab Standard Komentar
ERD Enhanced Program
Sinyal Port
UART RS232C Parallel Port
Paralel Variabel
(EPP) Structure
d Query ODBC
Perulangan
Konektor DB- Extended Language
Null Modem Bi-Directional Operator
9 dan DB-25 Capability (SQL
Port
Port (ECP) ADO,
Add, ADOTable
Konektor DB-
Tipe Basisdata 25 Delete,
etc

RELASI

Kardinalitas
rasio

123
5. Strategi Perkuliahan

Dalam perkuliahan ini beberapa strategi yang diterapkan antara lain:

 Membuat kontrak dengan mahasiswa perihal: kedisiplinan, prosentase


penilaian, dan bagi mahasiswa dengan jumlah kehadiran dibawah 75% maka
tidak diperkenankan untuk mengikuti final semester

 Menjelaskan teori secara singkat dan praktis yang dikuatkan dengan beberapa
contoh program

 Memberikan problem/permasalahan kepada mahasiswa yang akan dibahas


secara bersama-sama (pembimbing dan mahasiswa)

 Memberikan tugas kepada mahasiswa yang akan dikumpul pada pertemuan


berikutnya dan menjadi syarat untuk mengikuti perkuliahan berikutnya

 Memberikan tugas/kuis yang langsung diberikan penilaian di beberapa awal


pertemuan yang sifatnya dadakan

 Pada pertengahan semester akan diberikan nilai/hasil sementara yang


diperoleh mahasiswa sehingga dapat menjadi bahan intropeksi diri bagi
mahasiswa

 Memberikan tugas project di akhir perkuliahan dan dikerjakan secara


berkelompok

 Menggunakan media pendukung seperti LCD untuk menunjang proses


pembelajaran.

1
6. Materi Kepustakaan

Pustaka pokok dalam perkuliahan ini adalah :

1. Dwi Sutadi, 2002, IO Bus dan Motherboard, Yogyakarta: Andi


2. Happy Candraleka, 2003, Pemrograman Delphi 7.0, Jakarta, Elex Media Komputindo
3. Kristanto, harianto. 1994. Konsep perancangan database, andi offset
4. M. Agus dan J. Alam, 2003, Belajar Sendiri Membuat Program Aplikasi Menggunakan
Delphi 6 & Delphi 7, Bandung: Elex Media Komputindo
5. Madcoms, 2002, Pemrograman Borland Delph 7, Madiun: Andi
6. Martina, Inge, 2000, 36 Jam Belajar Komputer Delphi 5.0, Jakarta: Elek Media
Komputindo
7. Rachmad Setiawan, 2008, Teknik Akuisisi Data, Surabaya: Graha Ilmu
8. Ramakrishnan, R, dan Gehrke, J., 2003, Sistem Manajemen Database (Terjemahan), Edisi
ketiga, Andi Offset. Yogyakarta
9. Retna Prasetia dan Catur Edi Widodo, 2004, Interfacing Port Paralel dan Port Serial
Komputer dengan Visual Basic 6.0, Semarang: Andi
10. Ryan K. Stephens and Ronald R. Plew. 2000. Database Design, Sams
Publishing.46290.USA
11. Sarwo Pranoto, Muh. Ilyas, 2012, Bahan Ajar : Interfacing, Makassar, Politeknik Negeri
Ujung Pandang
12. Silberschatz, A. dkk. 2002. Database System Concepts, 4th Edition, New York :McGraw-
Hill.
13. Susilo, Djoko, 2005, Grafika Komputer dengan Delphi, Yogyakarta: Graha Ilmu.
14. Wahana komputer, 2003, Pengembangan Aplikasi Client/Server dengan Borland Delphi,
Jakarta: Elex Media Komputindo
15. Waljiyanto, 2003, Sistem Basis Data Analisis dan Pemodelan Data, Yogyakarta: Graha
Ilmu

7. T u g a s

1. Setiap bacaan perkuliahan sebagaimana disebutkan pada jadwal


perkuliahan harus sudah dibaca sebelum mengikuti kuliah.
2. Evaluasi tengah semester akan dilakukan pada pertemuan ke-7 dan
diberikan dalam bentuk praktikum membuat program dan pilihan ganda
maupun essai.
3. Menyerahkan tugas besar diakhir pertemuan beserta laporannya dalam
format karya ilmiah.
4. Tugas akan diberikan minimal 6 (enam) kali.
5. Kuis sifatnya tidak ditentukan waktunya dan akan diberikan minimal 2
(dua) kali.

2
8. Kriteria Penilaian

Penilaian akan dilakukan oleh dosen Penanggung Jawab dengan


menggunakan 3riteria sebagai berikut :

Nilai Point Range

A 4 80 – 100

B+ 3.5 75 – 79

B 3 70 - 74

C+ 2.5 65 – 69

C 2 60 - 64

D 1 50 - 59

E 0 0 - 49

Dalam menentukan nilai akhir akan digunakan pembobotan sebagai berikut :

Kedisplinan 10 %

Tugas dan Kuis 15 %

Praktek 40 %

Ujian Tengah Semestar 15 %

Ujian Akhir Semester 20 %

Kedisiplinan

Tugas & Kuis

UTS

UAS

Praktek

3
9. Jadwal Perkuliahan

Pertemuan
Pokok Bahasan / Sub Pokok Bahasan Sumber Bacaan
Ke -

1 2 3

1 Pendahuluan dan Kontrak Perkuliahan 1, 3, 4, 5, 10


IDE:
- Main window
- Object Inspector
- Object treeview
- Editor
- Membuat aplikasi sederhana
- Menyimpan, menjalankan program
2 Tipe Data, Variabel, dan Operator 1, 3, 4, 5, 10
- Tipe data
- Variabel
- Operator
3 Komentar dan Kontrol Program 2,3,4,5
- Komentar dalam program
- Percabangan if…then…
- Percabangan if…then…else…
- Percabangan Case…of
- Perulangan Repeat…until…
- Perulangan while…do…
- Perulangan for…to…do…
- Perulangan for…downto…do…
4 Visual and Component Library 3,4,5
- Komponen visual dan non visual
- Tab Standard
- Membaca dan menampilkan data dengan
Edit
- Memilih dengan RadioButton
- Membaca Data dengan ScrollBar
- Memakai CheckBox, Memo, ListBox dan
ComboBox
5 Komunikasi data serial 1, 3, 4, 5, 8, 10
- Hardware
- Null modem
- Komunikasi serial RS232C
- Universal Asynchronous Receiver
Transmitter (UART)
- Interfacing dengan serial port
-

4
1 2 3

6 Komunikasi data paralel 1, 3, 4, 5, 8, 10


- Hardware
- Sinyal port paralel
- Bi-Directional Port
- Enhanced Parallel Port (EPP)
- Extended Capability Port (ECP)
- Kontrol lampu LED
- Kontrol motor stepper
7 MID TEST
8-9 Basis Data 2, 6,7,11,12,13,14
- Defenisi basisdata
- Tipe data
- Data flow dan ERD
- Derajat relasi
- Kardinalitas rasio
10 - 11 Komunikasi data dan basis data 1,2,3, 4,5,
- Basisdata dengan MS. Acces 6,7,11,12,13,14
- Basisdata dengan SQL dan Mysql
- Aplikasi basis data dengan Delphi
Final Selain final pemeriksaan dan pengujian tugas project

Makassar, …………..2015
Pengampu Matakuliah, Ketua Kelas

Andi Wawan Indrawan,S.ST., M.Eng Ketua Kelas


NIP 197703062002121003 NIM
Mengetahui
Ketua Program Studi Teknik Listrik

Aksan, ST., MT
NIP 196606011990031001

Anda mungkin juga menyukai