INTERFACING
PENYUSUN:
Penyusun :
Bahan Ajar ini telah diperiksa dan disetujui untuk digunakan sebagai
Menyetujui
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.
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
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
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
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.
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.
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.
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.
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. 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.
Sebelum menyusun program aplikasi ada beberapa hal yang perlu diketahui dalam
pemrograman berbasis obyek (OOP) yaitu istilah object, property, method dan event.
6
Method: Object: Mobil
Property:
Maju Merk:Esemka
Mundur Type:Rajawali
Berhenti Warna: Hitam
Event:
Pintu dibuka
Ditabrak
Didorong
Event:
OnClick
OnCreate
OnClose
7
PNUP. Adapun beberapa hal yang perlu dilakukan sebelum membuat aplikasi di
Delphi yaitu:
Adapun tahapan-tahapan yang perlu untuk dilakukan dalam membuat aplikasi 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.
8
Gambar 1.5 Rancangan interface menggunakan komponen Buttton dan
Label
9
Field Caption
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:
Caption Tampil
Cursor crHandPoint
Name btnTampil
10
Tabel 1.2. Komponen Label1
Properties Nilai Properties
Caption Awal
Name lblUcapan
Sehingga tampilan aplikasi akan berubah menjadi seperti pada gambar 1.8.
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.
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
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.
3. Selanjutnya kita akan melihat listing dari tes.pas. Anda dapat melihatnya dengan
mengklik tab tes pada code editor.
Tab tes
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.
14
Gambar 1.12 Project Manager
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.
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
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
18
BAB II TIPE DATA, VARIABEL DAN OPERATOR
Borland Delphi 7 sendiri menyediakan beragam tipe data. Sebagian diantaranya yang
umum dan sering digunakan diperlihatkan pada table berikut ini:
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
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.
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:
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.
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:
True False
False True
Operator and akan memberikan nilai true jika semua nilai-nilainya adalah true.
Berikut tabel operator and:
23
syarat membandingkan ekspresi tersebut haruslah bertipe sama, kecuali untuk tipe data
integer dan real dapat dibandingkan secara bersamaan.
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:
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.
25
Gambar 2. 4 Tampilan Kode Editor Delphi
8. Lengkapi kode pada prosedur tersebut menjadi seperti gambar berikut:
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.
Perlu digarisbawahi, komentar tersebut akan diabaikan atau tidak dibaca oleh compiler
Delphi.
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
28
Sebagai default, pada Code Editor, komentar akan tampak berwarna biru tua dan
bertipe italic.
False
If ekspresi
True
pernyataan
Kode diatas menjelaskan jika bilangan bernilai lebih besar sama dengan 10 (sepuluh),
maka kode ShowMessage (‘bilangan >= 10’) akan dieksekusi dengan menampilkan
‘bilangan >=100;
29
If (UserID = ‘andi_wawan’) and (Password = ‘kerencoy’) then
ShowMessage (‘Anda Boleh Masuk’);
Untuk lebih jelasnya berikut contoh penggunaannya dengan Delphi.
30
False
If ekspresi
True
pernyataan1 Pernyataan2
31
Case <pemilih
ekspresi>
Pilihan 1
pernyataan1
Pilihan 2
Pernyataan2
….. …..
Pilihan N
PernyataanN
Tata cara penulisan dari percabangan Case..of dengan else adalah sebagai berikut:
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.
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
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.
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
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.
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.
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
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) -
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.
39
Gambar 4.1 Tab Standard.
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 Button dipakai untuk membuat button yang akan dipakai untuk
memilih option di dalam aplikasi. 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 Panel adalah container juga. Panel dapat digunakan untuk membuat
status bar, toolbar dan tool palette. Komponen ini visual.
Setelah melihat semua komponen dari tab Standard, kita akan mencobanya. Kita akan
membuat beberapa aplikasi yang memakai komponen-komponen diatas.
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…
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
Anda akan masuk ke dalam Code Editor dan sudah diberikan kerangka procedurenya.
43
Lengkapi procedure tersebut sehingga menjadi seperti berikut:
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
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).
Di sini kita memakai If-Then. Jika rbBuku dipilih (rbBuku.Checked bernilai True)
maka harganya 1000. Begitu seterusnya.
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.
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);
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}
48
procedure TForm1.ScrollBar3Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
eNilai3.Text := FloatToStr(ScrollBar3.Position);
end;
end.
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
50
ListBox dengan 3 item
CheckBox mempunyai 3 state
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}
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;
end.
Hasil dari aplikasi menggunakan memo dan komponen lainnya dapat dilihat pada
gambar 4.9
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.
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.
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.
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.
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}
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.
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
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;
65
end;
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:
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
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.
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
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:
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.
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.
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.
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.
9. Line status register, digunakan untuk menampung bit-bit yang menyatakan kedaan
penerimaan atau pengirimandata danstatus kesalahan operasi.
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
76
Xmodem, dll. Untuk membuat null modem, hubungkan 2 buah DTE seperti yang
diperlihatkan pada gambar 6.5 dibawah ini.
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
Untuk mengaksesnya dapat dilakukan dengan cara pendefinisian alamat yang sesuai
dan diisi dengan nilai datanya.
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.
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:
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
80
6. Pada tampilan seperti gambar 6.9 dibawah ini tekan tombol Add
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:
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.
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.
83
1. Program Send Data
A. Buka Program Delphi, kemudian rancanglah form seperti pada tampilan gambar
6.15 dibawah ini:
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}
end.
85
2. Program Read Data
A. Buka Program Delphi, kemudian rancanglah form seperti pada tampilan gambar
6.16 dibawah ini:
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}
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:
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:
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.
Gambar 7.2 (a). Konektor DB25 jantan dan betina, (b). Konektor DB25
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:
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
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.
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).
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.
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:
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:
2. Tambahkan deklarasi variabel dengan nama data dan baru dengan tipe datanya
adalah integer seperti pada gambar 7.5 dibawah ini:
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;
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;
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;
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;
4. Jika di eksekusi, hasilnya seperti ditunjukkan pada gambar 7.6 dibawah ini:
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.
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
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.
105
f. Masalah independence data.
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.
Entity
Weak entity
Relationship
Identifying Relationship
Atribut
107
Atribut Primary Key
Atribut Composite
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.
109
Weak Entity selalu mempunyai Total Participation constraint dengan
dentifying Owner.
1 1 N
Berteman_
Karyawan Menikah Karyawan Memimpin Karyawan Dengan
1 N N
1 1
Pria Menikah Wanita
1 N
Fakultas Mengatur Jurusan
M N
Ruang_Kuliah Menempati Mahasiswa
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
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
a1 b1
b2
a2 b3
b4
a3 b5
A B
111
Gambar 8. 10. One to Many Ratio
a1 b1
a2
a3 b2
a4
a5 b3
A B
Gambar 8. 11. Many to Many Ratio
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.
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
Pembuatan Database
1. Pertama buka MS. ACCESS dan save atas nama LATIHANDB.mdb
113
Gambar 8. 16. Create new database
114
Tabel 8. 3. Tabel komponen properties yang akan digunakan dalam mendesai
antar muka
1 2 3 4
115
palete ”Standard”
1 2 3 4
116
Gambar 8. 19. Memilih driver database
Klik kembali tombol Build sehingga muncul kotak dialog 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
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
Semester : IV (Empat) –
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.
122
4. Organisasi Materi
RELASI
Kardinalitas
rasio
123
5. Strategi Perkuliahan
Menjelaskan teori secara singkat dan praktis yang dikuatkan dengan beberapa
contoh program
1
6. Materi Kepustakaan
7. T u g a s
2
8. Kriteria Penilaian
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
Kedisplinan 10 %
Praktek 40 %
Kedisiplinan
UTS
UAS
Praktek
3
9. Jadwal Perkuliahan
Pertemuan
Pokok Bahasan / Sub Pokok Bahasan Sumber Bacaan
Ke -
1 2 3
4
1 2 3
Makassar, …………..2015
Pengampu Matakuliah, Ketua Kelas
Aksan, ST., MT
NIP 196606011990031001