Anda di halaman 1dari 106

BAHAN AJAR

INTERFACING

PENYUSUN:
SARWO PRANOTO, ST., M.Eng
MUH. ILYAS SYARIF, S.ST., MT

PROGRAM STUDI TEKNIK LISTRIK


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI UJUNG PANDANG
2012

LEMBAR IDENTITAS DAN PENG ESAHAN

Mata Kuliah

: Interfacing

Kode Mata Kuliah : TL449432


Penyusun

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


Muh. Ilyas Syarif, S.ST., MT (198005052006041003)

Bahan Ajar ini telah diperiksa dan disetujui untuk digunakan sebagai
Bahan kuliah bagi mahasiswa Politeknik Negeri Ujung Pandang

Menyetujui :
Kepala Unit P3AI,

Ketua Jurusan Teknik Elektro

Ir. Hastami Murdiningsih, M.T.

Ibrahim Abduh, S.ST.,

M.T.
NIP 19600606 198803 2 002

NIP 19680514 199303 1 001

Mengetahui/Menyetujui :
Pembantu Direktur I,

Ir. Muas, M.T.


NIP 19670228 199303 1 004

K ATA PENG ANTAR

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 antara komputer dan manusia serta antara komputer dengan
piranti lain diluarnya.
Materi dasar dalam bahan ajar ini akan akan muncul pada bagian-bagian
awal dari masing-masing bab dan akan dijelaskan secara seksama dan mendetil,
serta

dilengkapi

dengan

contoh-contoh

pembuatan

interface

komputer

menggunakan pemrograman Delphi. Bahan ajar ini juga dilengkapi dengan


beberapa gambar yang mendukung materi tiap bab agar mudah diserap oleh
mahasiswa.Pada akhir setiap bab, diberikan soal-soal latihan sebagai pemantapan
untuk menguji apakah teori yang diberikan sudah dipahami atau belum.
Para pemakai bahan ajar ini akan mendapat hasil yang lebih optimal
apabila paling sedikit telah mempunyai pengetahuan dasar tentang mata kuliah
Algoritma dan Pemrograman.
Kepada semua pihak yang telah memberikan bantuan dalam proses
penyusunan buku bahan ajar ini, penulis menyampaikan terima kasih. Semoga
bahan ajar ini dapat bermanfaat bagi mahasiswa atau siapa saja yang berminat
mempelajari interfacing komputer.
Akhirnya koreksi dan saran dari pembacanya demi perbaikan dan
penyempurnaan buku ini sangat penulis harapkan.
Makassar, 15 Oktober 2012
Penyusun

ii

DAFTAR ISI

LEMBAR IDENTITAS DAN PENGESAHAN ...................................................................... I


KATA PENGANTAR ........................................................................................................ II
DAFTAR ISI .................................................................................................................... III
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 MEMAKAI VISUAL COMPONENT LIBRARY ..................................................... 19
2.1
PENDAHULUAN .................................................................................................. 19
2.2
PENYAJIAN ........................................................................................................ 19
2.2.1
KOMPONEN VISUAL DAN NONVISUAL ........................................................... 19
2.2.2
TAB STANDARD .......................................................................................... 19
2.2.3
MEMBACA DAN MENAMPILKAN DATA DENGAN EDIT ...................................... 21
2.2.4
MEMILIH DATA DENGAN RADIOBUTTON ........................................................ 25
2.2.5
MEMBACA DATA DENGAN SCROLLBAR ......................................................... 26
2.2.6
MEMAKAI CHECKBOX, MEMO, LISTBOX DAN COMBOBOX .............................. 29
2.3
PENUTUP ........................................................................................................... 33
BAB III GRAFIK ............................................................................................................. 35
3.1
PENDAHULUAN .................................................................................................. 35
3.2
PENYAJIAN ........................................................................................................ 35
3.2.1
ELEMEN GRAFIK ......................................................................................... 35
3.2.2
CHART ....................................................................................................... 41
3.3
PENUTUP. .......................................................................................................... 46
BAB IV SERIAL PORT .................................................................................................... 48

iii

4.1
PENDAHULUAN .................................................................................................. 48
4.2
PENYAJIAN ........................................................................................................ 48
4.2.1
TATA CARA KOMUNIKASI SERIAL ................................................................. 48
4.2.2
KARAKTERISTIK SINYAL PORT SERIAL (RS232).............................................. 49
4.2.3
KONVERTER LOGIKA RS 232 ........................................................................ 50
4.2.4
HARDWARE ................................................................................................ 51
4.2.5
NULL MODEM............................................................................................. 57
4.2.6
UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER (UART) ...................... 58
4.2.7
ALASAN PENGGUNAAN PORT SERIAL ............................................................ 58
4.2.8
INTERFACING DENGAN SERIAL PORT ............................................................. 59
4.3
PENUTUP ........................................................................................................... 69
BAB V KOMUNIKASI DATA PARALEL ......................................................................... 70
5.2.1 PENDAHULUAN .................................................................................................. 70
5.2
PENYAJIAN ........................................................................................................ 70
5.2.1
HARDWARE ................................................................................................ 70
5.2.2
SINYAL PORT PARALEL................................................................................ 71
5.2.3
BI-DIRECTIONAL PORT ................................................................................ 73
5.2.4
ENHANCED PARALLEL PORT (EPP) ............................................................... 74
5.2.5
EXTENDED CAPABILITY PORT (ECP) ............................................................. 75
5.2.6
APLIKASI PORT PARALEL ............................................................................. 76
5.2.7
PENGONTROLAN DENGAN RELAI ................................................................... 81
5.3
PENUTUP ........................................................................................................... 82
DAFTAR PUSTAKA ....................................................................................................... 83

iv

DAFTAR TABEL

Tabel 1.1 Komponen Button1


Tabel 1.2. Komponen Label1
Tabel 2.1 Jenis penyakit
Tabel 4.1 Pin out serial port
Tabel 4.2 Alamat register port serial
Tabel 4.3 Angka pembagi clock pada IC UART
Tabel 4.4 Rincian bit pada IER
Tabel 4.5 Rincian bit pada Interrupt identification register
Tabel 4.6 Rincian bit pada Line Control Register
Tabel 4.7 Rincian bit pada Modem Control Register
Tabel 4.8 Rincian bit pada LSR
Tabel 4.9 Rincian bit pada modem status register
Tabel 4.10 Alamat dan lokasi bit saluran pada register UART
Tabel 5.1 fungsi/sinyal port paralel
Tabel 5.2 fungsi/sinyal port paralel
Tabel 5.3 Sinyal EPP
Tabel 5.4 Sinyal ECP

10
11
33
51
52
53
53
54
54
55
56
56
58
71
72
74
75

DAFTAR GAMBAR

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................................................................................. 14
Gambar 1.13 Kotak Dialog Project Options .............................................................. 15
Gambar 2.1 Tab Standard. ...................................................................................... 20
Gambar 2.2 Rancangan form memakai komponen Edit .............................................. 22
Gambar 2.3 Mengisikan Event-Handler dari Komponen Button .................................. 23
Gambar 2.4 Procedure untuk Event OnClick ............................................................. 23
Gambar 2.6 Rancangan form dengan ScrollBar ......................................................... 27
Gambar 3.1 Rancangan interface menggunakan komponen image ............................... 39
Gambar 3.2 Hasil perancangan menggunakan komponen image .................................. 41
Gambar 3.3 TeeChart Gallery ................................................................................. 41
Gambar 3.4 Tampilan interface simulasi ADC .......................................................... 42
Gambar 3.5. Interface menggunakan elemen grafik ................................................... 47
Gambar 4.1 Pengiriman huruf A tanpa bit paritas ................................................... 49
Gambar 4.2 Level tegangan RS232 pengiriman huruf A tanpa bit paritas ................... 50
Gambar 4.3 Pin out MAX-232 ............................................................................... 50
Gambar 4.4 Konektor DB-9 betina ......................................................................... 51
Gambar 4.5 Koneksi Null Modem ........................................................................... 57
Gambar 4.6 Environment Option............................................................................. 59
Gambar 4.7 Kotak dialog library ............................................................................. 60
Gambar 4.8 Browse source library........................................................................... 60
Gambar 4.9 Add library ......................................................................................... 61
Gambar 4.10 Browse Cport7Lib.dpk ....................................................................... 61
Gambar 4.11 Install package CportLib7.dpk ............................................................. 62
Gambar 4.12 Install DsgnCPort7.dpk ....................................................................... 62
Gambar 4.13 ComPort telah berhasil di install .......................................................... 62
Gambar 4.14 Virtual serial port kit .......................................................................... 63

vi

Gambar 4.15 Form send data serial .......................................................................... 64


Gambar 4.16 Form Read/receive data ...................................................................... 66
Gambar 4.17 Tampilan form send data dan read data di running bersamaan.................. 68
Gambar 4.18 Konfigurasi/setting port serial .............................................................. 68
Gambar 4.19 Hasil program setelah dijalankan ......................................................... 69
Gambar 5.1 Port paralel ......................................................................................... 71
Gambar 5.2 (a). Konektor DB25 jantan dan betina, (b). Konektor DB25 ...................... 71
Gambar 5.3 Standar paralel port dua arah ................................................................. 73
Gambar 5.4 Form interfacing kontrol port paralel ...................................................... 76
Gambar 5.5 deklarasi variable ................................................................................. 76
Gambar 5.6 hasil eksekusi program kontrol lampu LED ............................................. 80
Gambar 5.7 Rangkaian uji coba untuk mengakses paralel port .................................... 81
Gambar 5.8 Rangkaian penyangga dengan penggerak relai ......................................... 82

vii

DAFTAR LAMPIRAN
Lampiran 1. Kontrak Perkuliahan 1

viii

GBRP/GBPP
Nama Mata Kuliah

Interfacing (Komputer II)

Nomor Kode/S K S

TL 449432/2

Deskripsi singkat mata kuliah

Membahas tentang pemrograman berbasis visual, mempelajari teknik user interface dan
teknik interfacing menggunakan komunikasi serial dan paralel, antara komputer dan
piranti yang berkomunikasi dengannya.

Kompetensi Utama

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

No.
1.

2.

Tujuan Intruksional Khusus

Pokok
Bahasan

Menjelaskan tentang IDE Delphi IDE Delphi

Menjelaskan tentang Visual Visual


Component Library (VCL)
Component

Sub Pokok Bahasan


-

Waktu

IDE Delphi
2 x 50 menit
Struktur Program
Elemen Program
Konsep
Penyusunan
Program
Aplikasi
Membuat Aplikasi Sederhana
Mengelola Project
Project Options
Komponen visual dan non visual
4 x 50 menit
Tab Standard
Membaca dan menampilkan data

Referensi
4,7

4,7

ix

Library
3

Menjelaskan tentang Grafik

4.

Menjelaskan teknik interfacing Komunikasi


menggunakan komunikasi serial data serial

5.

Elemen Grafik
dan Chart

Menjelaskan teknik interfacing Paralel port


menggunakan
komunikasi
paralel

dengan Edit
Memilih dengan RadioButton
Membaca Data dengan ScrollBar
Memakai
CheckBox,
Memo,
ListBox dan ComboBox
Elemen Grafik
6 x 50 menit
Chart
Hardware
6 x 50 menit
Null modem
Komunikasi serial RS232C
Universal Asynchronous Receiver
Transmitter (UART)
Interfacing dengan serial port
Hardware
2 x 50 menit
Sinyal port paralel
Bi-Directional Port
Enhanced Parallel Port (EPP)
Extended Capability Port (ECP)
Kontrol lampu LED
Kontrol motor stepper

4,7
1,2, 3, 5,
6,8,9

1,2, 3, 5,
6,8,9

Referensi :
1. Dwi Sutadi, 2002, IO Bus dan Motherboard, Yogyakarta: Andi
2. M. Agus dan J. Alam, 2003, Belajar Sendiri Membuat Program Aplikasi Menggunakan Delphi 6 & Delphi 7, Bandung:
Elex Media Komputindo
3. Madcoms, 2002, Pemrograman Borland Delph 7, Madiun: Andi
4. Martina, Inge, 2000, 36 Jam Belajar Komputer Delphi 5.0, Jakarta: Elek Media Komputindo
x

5. Rachmad Setiawan, 2008, Teknik Akuisisi Data, Surabaya: Graha Ilmu


6. Retna Prasetia dan Catur Edi Widodo, 2004, Interfacing Port Paralel dan Port Serial Komputer dengan Visual Basic
6.0, Semarang: Andi
7. Susilo, Djoko, 2005, Grafika Komputer dengan Delphi, Yogyakarta: Graha Ilmu.
8. Wahana komputer, 2003, Pengembangan Aplikasi Client/Server dengan Borland Delphi, Jakarta: Elex Media
Komputindo
9. Waljiyanto, 2003, Sistem Basis Data Analisis dan Pemodelan Data, Yogyakarta: Graha Ilmu

xi

TINJAUAN MATA K ULIAH

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. Jenis-jenis
interaksi dilakukan melalui komunikasi yang di lakukan secara parallel, serial,
maupun LAN.

Bahan ajar ini difokuskan untuk membangun kemampuan mahasiswa dalam


merancang suatu interface dengan menggunakan bahasa pemrograman visual dan
mampu mengaplikasikannnya dalam bentuk project yang melibatkan komunikasi
antara komputer dan piranti diluarnya. Bahan ajar ini juga akan membantu
mahasiswa bagaimana menjadi seorang yang bersifat

metodis, mampu

menentukan tujuan dari suatu persoalan tertentu, mampu bekerja dengan


informasi

yang

diberikan untuk

membangun

sebuah rencana,

mampu

mengimplementasikan rencana yang dibuat untuk memperoleh solusi, dan yang


terakhir, mampu memastikan bahwa solusi yang ditawarkan sudah akurat.

xii

Buku ajar ini disusun dalam beberapa bab yang akan membahas tentang :
- Bab I

Mengenal Delphi

- Bab II

Visual Component Library

- Bab III

Grafik

- Bab IV

Komunikasi Serial

- Bab V

Komunikasi Paralel

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

Pendahu luan

Delphi merupakan sebuah bahasa pemrograman visual di dalam lingkungan Windowa


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

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

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

Trend penggunaan bahasa pemrograman visual untuk membangun sebuah aplikasi


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

Borland International Incorporation berusaha menyempurnakan bahasa Delphi ini


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

Penggunaan Delphi dapat mempersingkat waktu pemrograman, karena tidak


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

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 Integrat ed Development Envi ronment (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.

G ambar 1 . 1 IDE Del ph i

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.

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 tomboltombol komponen yang akan dipakai sebagai elemen interface program aplikasi.

4.

Object Treeview
Merupakan sebuah diagram pohon yang menggambarkan hubungan logis
menghubungkan semua komponen yang terdapat dalam suatu proyek program.
Komponen tersebut meliputi form, modul atau frame. Fungsinya digunakan untuk
menampilkan seluruh daftar komponen program dalam sebuah aplikasi program
sesuai dengan penempatan.

5.

Object Inspector
Object inspector adalah sarana pengaturan obyek yang kita pasangkan pada form,
atau form itu sendiri. Bagian bagian dari Object Inspector yaitu:
A. Object Selector merupakan daftar drop down yang mencantumkan semua
komponen yang ada dalam form aktif beserta tipe obyek. Bagian ini digunakan
untuk memilih komponen yang akan ditetapkan property dan event-nya.
B. Properties berfungsi untuk menetapkan property bagi komponen yang terpilih
oleh object selector saat itu. Kolom sebelah kiri dari tab Properties menyatakan
nama propertinya, sedangkan kolom sebelah kanan merupakan isi setting atau
nilai dari property tersebut.
C. Events berfungsi untuk menetapkan kejadian/proses pelaksanaan perintah yang
terpasang pada satu komponen.

6.

Form
Form merupakan sebuah jendela yang merupakan wadah bagi komponen yang
terpasang dalam suatu program aplikasi. Tampilan form dapat diatur melalui
halaman Properties dari Object Inspector pada saat proses perancangan.
3

Form akan tersimpan dalam dua buah file, yaitu:


A. File Form (.DFM), file ini adalah file binary yang berisi gambar grafis dari
form. Sebuah perubahan yang dilakukan berkaitan dengan tampilan form akan
disimpan di file ini.
B. File Unit (.PAS), file ini adalah file yang menyimpan kode sumber dari file
.DFM. File ini berisi kode-kode event handler, yang menentukan reaksi form
beserta komponen-komponenya saat aplikasi dijalankan.
7.

Code Editor
Code Editor merupakan tempat yang digunakan untuk menuliskan, memodifikasi
dan mengakses kode-kode yang menjalankan aplikasi.

1.2.2 Stru ktu r Program


Dalam pembuatan aplikasi menggunakan Delphi, program aplikasi tersimpan dalam
sebuah project yang dapat terdiri dari satu atau lebih form dan unit. Ketika sebuah
apilkasi dibangun menggunakan Delphi, beberapa file dibuat oleh Delphi.
1.

File Project (.dpr)


File ini dipakai untuk menympan informs mengenai form dan unit. File ini dibuat
pada saat desain. File ini berisi inisialisasi form utama dan form-form lain lain
yang dibuat secara otomatis.

2.

File unit (.pas)


File ini untuk menyimpan program. Ada tiga jenis file unit:
A. Unit Form/Data module dan frame. Unit ini dibuat secara otomatis oleh
Delphi. Ada satu unit untuk tiap-tiap form/data module atau frame yang
dibuat
B. Unit Component. Unit yang dibuat pada saat ada komponen baru
C. Unit Umum. Unit yang dibuat untuk tipe data, variable, procedure dan class
yang dapat diakses dan diaplikasi.

3.

File form (.dfm)


File ini adalah file biner yang dibuat Delphi untuk menyimpan informasi
mengenai form. Setiap file form mempunyai sebuah file unit (.pas)

4.

File resource (.res)


File biner ini berisi sebuah icon yang dipakai oleh project. File ini tidak dapat
dibuat atau diubah oleh user karena Delphi secara terus menerus meng-update atau
membuat ulang file ini.

5.

File Project Options dan Desktop Settings


File project options (dengan ekstensi .dof) berisi option-option dari project. File
ini dibuat pada saat project disimpan untuk pertama kali dan disimpan ulang pada
saat project disimpan.
File desktop setting (dengan ekstensi .dsk) berisi option-option yang dimiliki oleh
setiap project.

6.

File Backup (.~dp, .~df, .~pa)


File-file backup untuk project, form dan unit. File backup dibuat pada saat
penyimpanan yang kedua kalinya.

7.

File-file yang Dibuat Oleh Compiler


File executable (.exe). File ini dapat berdiri sendiri dan hanya memerlukan file
library di DLL., VBX
File unit object (.dcu). File unit (.pas) versi terkompilasi dan akan di-link ke dalam
file executable akhir.
File dynamic-link-library (.dll). File ini dibuat jika dirancang DLL oleh
programmer sendiri.

8.

File Windows yang Dipakai Delphi


File help (.hlp). File help standar dari Windows yang dapat diapkai di aplikasi
Delphi.
File Image atau grafik(.wmf, .bmp, .ico). File ini dipakai agar aplikasi ini lebih
menarik.

1.2.3 Elemen Program


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

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

prosedur, unit, program dan field. Pemberian identifier ini sangat penting karena
akan mengurangi resiko kesalahan.
2.

Tipe Data
Tipe dari suatu data akan menunjukkan bagaimana data tersebut akan diakses dan
disimpan, karena tiap tipe data mempunyai perbedaan dalam proses akses dan
penyimpanan.

3.

Scope
Scope berarti area kerja, yang menentukan dapat atau tidaknya suatu identifier
digunakan oleh prosedur/fungsi lain.
Scope dibagi menjadi dua, yaitu:
A. Scope Lokal, dapat disebut area kerja setempat. Identifier berscope local
berarti hanya bisa digunakan dalam blok program dimana identifier tersebut
di deklarasikan, karena identifier ini hanya dikenali di blok itu saja.
B. Scope Global. Identifier dengan scope global akan dikenali dan dapat
digunakan oleh semua prosedur dan fungsi dalam unit tersebut. Biasanya
identifier dengan scope global akan dideklarasikan di bagian interface dari
suatu unit.

1.2.4

K onsep Penyusunan Program Ap li kasi

Penyusunan program aplikasi dengan menggunakan Delphi terdiri dari beberapa tahap:
1.

Tahap perancangan interface, meliputi proses pembuatan form dan penetapan


komponen-komponen yang akan diletakkan di dalamnya.

2.

Tahap penetapan setting property dari form dan komponen-komponen di


dalamnya.

3.

Tahap penulisan kode program, untuk menetapkan respon aplikasi terhadap aksi
yang dilakukan pemakai.

Sebelum menyusun program aplikasi ada beberapa hal yang perlu diketahui dalam
pemrograman berbasis obyek (OOP) yaitu istilah object, property, method dan event.
1. Object merupakan komponen dalam sebuah program
2. Property merupakan karakteristik yang dimiliki object
3. Method merupakan aksi yang dapat dilakukan oleh object
6

4. Event merupakan kejadian yang dapat dialami oleh object

Method:
Maju
Mundur
Berhenti

Object: Mobil

Property:
Merk:Esemka
Type:Rajawali
Warna: Hitam

Event:
Pintu dibuka
Ditabrak
Didorong
G ambar 1. 2 Obj ect , pr oper t y, m et h od dan even t se bua h m obi l

Object: Form

Method:
Hide
Move
Show

Property:
Color:clBtnFace
Height:500
Visible:True

Event:
OnClick
OnCreate
OnClose

G ambar 1. 3 Obj ect , pr oper t y, m et h od dan even t kom p on en For m

1.2.5

Membuat Apli kasi Sederhana

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

PNUP. Adapun beberapa hal yang perlu dilakukan sebelum membuat aplikasi di
Delphi yaitu:
1. Membuat sebuah direktori untuk menyimpan program sumber. Misalnya
C:\interfacing.
2. Membuat sebuah direktori untuk menyimpan project yang akan dibuat, misalnya
pendahuluan. Direktori yang dibuat adalah C:\interfacing\pendahuluan.
Adapun tahapan-tahapan yang perlu untuk dilakukan dalam membuat aplikasi yaitu:
1.2.5.1 Meran cang Interface
Pada tahap ini akan dilakukan perancangan interface pada Delphi yang dapat
digunakan untuk berkomunikasi antara user dengan komputer. Adapun langkahlangkah yang perlu dilakukan pada tahapan ini yaitu:
1.

Masuk ke dalam Delphi. Buat project baru dengan menu File|New, pilih
Application.

2.

Selanjutnya, simpan project tersebut dengan File|Save Project As. Anda akan
ditanya apakah Anda akan menyimpan nama file dengan nama unit1.pas. Simpan
file tersebut di direktori C:\interfacing\pendahuluan dengan nama selamat.pas.

3.

Selanjutnya Anda akan diminta untuk menyimpan file project. Anda akan ditanya
apakah Anda akan menyimpan file dengan nama Project1.dpr. Simpan file
tersebut di direktori C:\interfacing\pendahuluan dengan nama pendahuluan.dpr.

4.

Buatlah interface dengan menggunakan komponen Form, Button dan Label


dengan cara mengklik komponen tersebut dua kali. Komponen Button dan Label
ada pada tab standard di bagian Component Palette seperti yang terlihat pada
gambar 1.4. Rancangan interface terlihat seperti pada gambar 1.5.

G ambar 1. 4 Kom pon en But t on dan La bel pa da Ta b St a n dar d

G ambar 1. 5 Ra n can gan in t er fa ce m en ggun a kan kom p on en But t t on dan La bel

1.2.5.2 Menetapkan Setting Properti es


Langkah berikutnya adalah mengatur nilai properties dari komponen yang digunakan
dalam project. Pengubahan properties dilakukan menggunakan Object Inspector.
1.

Klik komponen form. Aktifkan tab Properties dari Object Inspector, Ubahlah
caption

dari

komponen

form

dari

Form1

(defaultnya),

menjadi

Tes.

G ambar 1. 6 Ca pti on da ri sebua h for m

Field Caption

G ambar 1. 7 Fi el d Ca pti on pa da t a b Pr oper t i es

2.

Untuk komponen Button1 dan Label1 pengaturan dilakukan pada object inspector
seperti yang dilakukan pada pengaturan form1. Lakukanlah pengaturan property
Button1 dan Label1 sebagai berikut:
Tabel 1.1 Komponen Button1
Properties
Nilai Properties
Caption

Tampil

Cursor

crHandPoint

Name

btnTampil

10

Properties

Tabel 1.2. Komponen Label1


Nilai Properties

Caption
Font

Awal
Color

clBlue

Size

20

Name

lblUcapan

Sehingga tampilan aplikasi akan berubah menjadi seperti pada gambar 1.8.

G ambar 1. 8 Ra n can gan a kh ir in t er fa ce m en gguna kan But t on dan La bel

1.2.5.3 Menuliskan K ode Program


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

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

11

menampilkan pesan pada Label merupakan event-handler yang perlu untuk


didefinisikan terlebih dahulu.
Ada dua cara untuk mendefinisikan event-handler:
1. Klik ganda pada komponen btnTampil.
2. Klik komponen btnTampil lalu aktifkan tab Events dari Object Inspector. Pilih
event OnClick, klik ganda kolom isiannya.

Aktifkan tab Events

Klik ganda kolom ini

G ambar 1. 9 Mem bua t E ven t Ha n dl er

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

G ambar 1. 10 Code E di t or un t uk E ven t Ha n dl er

12

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

Isikan program berikut:


lblUcapan.Caption:='Selamat Belajar Interfacing';

2.

Kita akan mencoba membuka file project untuk melihat perubahan-perubahan


yang dikerjakan Delphi secara otomatis. Pilih Project|View Source. Isinya seperti
berikut:
program pendahuluan;
uses
Forms,
tes in 'tes.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

3.

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

Tab tes

G ambar 1. 11 Ta b pa da Code E di t or

Listing programnya:
unit tes;
interface
uses

13

Windows, Messages, SysUtils, Variants, Classes,


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.

Graphics,

Selanjutnya kita akan menjalankan project. Pilih Run|Run atau tekan tombol F9.
Atau dengan menekan tombol Run

pada toolbar

1.2.6 Mengelola Project


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

G ambar 1. 12 Pr oje ct Ma na ger

14

1.2.7 Project Options


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

G ambar 1. 13 Kot a k Di a l og Pr oje ct Opt i on s

Tab-tab yang ada di Project Options


1.

Forms
Tab yang diaktifkan jika Anda membuka kotak dialog Project Options. Daftar
Main Form dipakai untuk memilih form utama, defaultnya adalah form yang
pertama kali dibuat. Daftar Auto-create Forms menampilkan semua form yang
ada. Available form adalah bagian dari project Anda tetapi harus dipindahkan ke
bagian auto-create, jika akan dibuat pada saat startup. Jika sebuah form
dimasukkan ke daftar Auto-create, programnya akan ditambah dengan pernyataan
Application.CreateForm.

2.

Application
Bagian ini dipakai untuk menngubah judul, icon dan file help dari aplikasi.
15

3.

Compiler
Tab ini berisi bagian-bagian Code Generation, Runtime errors, Syntax Options,
Debugging Options dan Messages. Setiap bagian berisi sejumlah option yang
dapat diset on atau off.

4.

Linker
Option-option yang ada adalah Map File, Linker Output, EXE and DLL Option,
Memory Sizes and Description. Option default dapat dipakai semua project
umum.

5.

Directories/Conditionals Output Directory


Dipakai untuk menyatakan letak penyimpanan unit yang dikompilasi dan
executable (.dcu dan .exe). Jika dikosongkan, file-file dcu dan exe disimpan di
direktori yang sama dengan file sumber. Search path menyatakan tempat mencari
file .dcu. Sama seperti path pada DOS, Anda dapat menyatakan beberapa search
path yang dipisahkan oleh titik koma (;) dan panjang maksimum 127 karakter.
Bagian Conditionals memberikan daftar drop-down untuk memilih compiler
directives dan symbol. Symbol-symbol tersebut mengontrol kompilasi program
tergantung pada suatu kondisi. Kotak Aliases dipakai untuk memasukkan alias
pada unit lain.

6.

Version Info
Untuk menampilkan informasi dari versi Delphi yang dipakai.

7.

Packages
Menampilkan paket-paket yang dipakai

Jika Anda memilih kotak cek Default (dengan tanda , option-option yang Anda
naytakan akan disimpan sebagai option default yang dipakai untuk setiap project baru.
Ada beberapa cara untuk mengoptimalkan proses pengembangan aplikasi dengan
memakai teknik-teknik yang memberi fasilitas untuk mengorganisasi project dengan
lebih baik dan memakai ulang program.
Satu project satu direktori. Dengan membuat sebuah direktori untuk sebuah project,
file-file dari sebuah project akan terpisah dari file-file project lain. Hal ini dapat
mencegah sebuah project mengubah file dari project lain secara tidak sengaja.

16

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
dan 40 dengan jenis font yang ada. Contoh untuk tampilan form program tersebut
pada waktu menu 30 diklik adalah seperti yang terlihat pada Gambar 1.14

Gambar 1.14 Soal Ukuran teks

17

2.

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

Gambar 1.15 Soal menggerakkan teks

18

BAB II MEMAK AI VISUAL COMPONENT LIBRARY

2.1 Pendahu luan


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.
2.2 Penyajian
2.2.1 K omponen Visual dan Nonvi sual
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.
2.2.2 Tab Standard
Tab Standard berisi komponen-komponen yang umum dipakai. Tab ini adalah tab
default pada saat Anda masuk ke dalam Delphi. Didalam tab ini terdapat 16
komponen.

19

G ambar 2. 1 Ta b St a n dar d.

Komponen Frame adalah container untuk komponen-komponen. Frame dapat


bersarang di dalam form-form atau frame-frame lainnya.
Komponen MainMenu dipakai untuk membuat menu bar dan menu drop-down.
Kompone ini nonvisual.
Komponen PopUpMenu untuk membuat menu popup yang akan mncul jika user
mengklik tombol kanan dari mouse. Komponen ini Nonvisual.
Komponen Label dipakai untuk menempatkan teks di dalam form. Komponen ini
visual.
Komponen Edit dipakai untuk menerima satu baris teks yang merupakan
masukan dari user. Komponen ini juga dapat digunakan untuk menampilkan
teks. Komponen ini visual.
Komponen Memo dipakai untuk memasukkan atau menampilkan beberapa baris
teks. Komponen ini visual.
Komponen Button dipakai untuk membuat button yang akan dipakai untuk
memilih option di dalam aplikasi. Komponen ini visual.
Komponen CheckBox untuk memilih atau membatalkan pilihan, caranya dengan
mengklik pada checkbox. Komponen ini visual.
Komponen RadioButton dipakai untuk memberikan sekumpulan option dan
hanya satu yang dapat dipilih. Komponen ini visual.
Komponen Listbox dipakai untuk membuat sebuah daftar item dan user dapat
memilih salah satu diantaranya. Komponen ini visual.

20

ComboBox adalah komponen seperti ListBox tetapi memiliki unsur seperti


komponen Edit. Dengan ComboBox user dapat memilih option yang diberikan
atau dengan mengetikkan teks didalam kotak. Komponen ini visual.
Komponen ScrollBar sama seperti scrollbar pada Windows yang digbunakan
untuk menggulung form. Komponen ini visual.
Komponen

GorupBox

adalah

sebuah

container

yang

dipakai

untuk

mengelompokkkan control-kontrol container (RadioButton, CheckBox dan lainlain) yang berhubungan. Komponen ini visual.
Komponen RadioGroup adalah kombinasi dari GroupBox dan radioButton,
didesain untuk membuat sekelompok radio button. Komponen ini visual.
Komponen Panel adalah container juga. Panel dapat digunakan untuk membuat
status bar, toolbar dan tool palette. Komponen ini visual.

Komponen ActionList adalah komponen yang berisi daftar action yang


digunakan bersama-sama dengan komponen dan control seperti item dan button.
Setelah melihat semua komponen dari tab Standard, kita akan mencobanya. Kita akan
membuat beberapa aplikasi yang memakai komponen-komponen diatas.
2.2.3 Membaca dan menampi lkan Data dengan Edit
Komponen Edit dipakai untuk menerima data masukan yang berupa teks. Kita akan
mencoba membuat aplikasi yang memanfaatkan komponen ini.
1.

Buat aplikasi baru dan ubah caption dari formnya menjadi Memakai Komponen
Edit.

2.

Tambahkan 4 komponen label dan ubah setiap captionnya dengan Nama


Langganan, Nama Barang, Banyak Barang, dan Bayar. Ubah property
Namenya masing-masing menjadi lblLangganan, lblBarang, lblBanyak, dan
lblBayar.

21

3.

Tambahkan sebuah komponen Edit. Ubah namanya menjadi eNama, caranya pilih
property Name dan isikan eNama. Pada kotak edit tercantumeNama (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

G ambar 2. 2 Ra n can gan for m m em a kai kom pon en E di t

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

22

btnHitung atau aktifkan tab Events dari Object Inspector lalu klik ganda pada event
OnClick.

Tab Events
Event OnClick

Klik ganda btnHitung

G ambar 2. 3 Men gi si kan E ven t -Ha n dl er dari Kom pon en But t on

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

G ambar 2. 4 Pr ocedur e un t uk E ven t On Cl i ck

23

Lengkapi procedure tersebut sehingga menjadi seperti berikut:


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

Penjelasan Program;
1.

Dideklarasikan tiga buah variable local bertipe real yaitu banyak, harga dan bayar

2.

Variabel banyak akan diisi dengan data yang akan dimasukkan ke dalam
komponen eBanyak. Ingat, data yang kita masukkan ke dalam komponen Edit
bertipe teks(string), sehingga sebelum melakukan perhitungan Anda harus
mengubahnya menjadi data numeric. Dalam hal ini menggunakan function
StrToFloat.

3.

Harga setiap jenis barang ditentukan berdasarkan kodenya. Sekali lagi kita harus
mengubah data string menjadi data numeric. Sebenarnya kita dapat memakai data
string untuk mencari harganya, tetapi untuk contoh ini kita ubah menjadi data
numeric. Kita memakai StrToInt, bukan StrToFloat. Alasannya, jika kita
menggunakan

case,

kita

harus

memakai

data

bertipe

integer

untuk

perbandingannya.
4.

Selanjutnya menghitung bayar.

5.

Data bayar yang didapat dari perhitungan akan ditampilkan di komponen eBayar.
Sekali lagi ingat, data yang ditampilkan dalam komponen Edit harus bertipe string,
oleh sebab itu variable bayar diubah menjadi string dengan function FloatToStr
dan data string tersebut dimasukkan ke property Text dari komponen eBayar
(eBayar.Text).

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

24

2.2.4 Memi lih 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 2.5

Gambar 2.5 Rancangan form menggunakan komponen RadioButton

Cara menambahkan RadioButton dan GroupBox:


1.

Tambahkan komponen GroupBox dan ubah property Captionnya menjadi Jenis


barang dan property Namenya menjadi gbJenisBarang.

2.

Tambahkan komponen RadioButton kedalam GroupBox, lalu ubahlah Captionnya


menjadi Buku dan Namenya menjadi rbBuku. Perhhatikan Anda harus
menempatkan RadioButton di dalam GroupBox (jangan di luarnya).
25

3.

Selanjutnya, tambahkan dua buah RadioButton lainnya dengan caption masingmasing: Pensil, Penggaris dan Name masing-masing rbPensil dan rbPenggaris.

Apa keuntungannya menempatkan RadioButton dalam GroupBox? GroupBox berlaku


sebagai container, sehingga jika Anda memindahkan GroupBox, otomatis ketiga
RadioButton di dalamnya juga ikut dipindahkan.
Dari ketiga RadioButton tidak ada satupu yang dipilih. Pada saat aplikasi dijalankan,
Anda harus memilih salah satu. Anda dapat membuat pilihan default, misalnya Buku
(rbBuku dipilih secara default). Untuk itu Anda harus mengubah property Checked
dari rbBuku menjadi True. Perhatikan perubahan di form.
Langkah selanjutnya, kita akan mengisikan event handler untuk tombol Hitung
(btnHitung).
procedure TForm1.btnHitungClick(Sender: TObject);
var banyak, harga, bayar : real;
begin
banyak := StrToFloat(eBanyak.Text);
if rbBuku.Checked then harga := 1000;
if rbPensil.Checked then harga := 1500;
if rbPenggaris.Checked then harga := 2000;
bayar := banyak * harga;
ebayar.Text := FloatToStr(bayar);
end;

Di sini kita memakai If-Then. Jika rbBuku dipilih (rbBuku.Checked bernilai True)
maka harganya 1000. Begitu seterusnya.
2.2.5 Membaca Data dengan ScrollBar
Komponen ScrollBar adalah scroll bar pada Window yang dapat dipakai untuk
menggulung isi window. Event OnScroll dipakai untuk menyatakan apa yang akan
dilakukan jika posisi ScrollBar berubah.
Buatlah aplikasi dengan menu File|New Application. Ke dalam form, tambahkan 4
buah label, dengan caption yang dapat Anda lihat pada rancangan interface pada
gambarLalu, tambahkan 4 buah edit yang bernama eNilai1, eNilai2, eNilai3 dan
eNilaiRata. Tambahkan 3 buah ScrollBar dan 2 buah Button.

26

G ambar 2. 6 Ra n can gan for m den gan Scr ol l Ba r

Sama seperti ScrollBar pada umumnya, kita dapat memindahkan posisi ScrollBar
dengan menggerakkan (drag) kotak peluncurnya atau dengan mengklik anak panahnya.
Klik anak panah

Memindahkan kotak peluncur


Gambar 2.7 Menggerakkan ScrollBar

Kita akan memakai ScrollBar untuk mengisi data ketiga nilai. Jika posisi ScrollBar
berubah, otomatis posisi tersebut menjadi nilai dan akan tercantum di kotak edit.
Pilih sebuah ScrollBar, berapa isi property Max dan Min? Isinya adalah 100 dan 0.
Anda dapat mengubahnya untuk menyatakan jangkauan yang Anda inginkan. Dalam
kasus ini nilai jangkauan tersebut sesuai.
Pilih ScrollBar1, aktifkan tab Events dari Object Inspector, lalu klik ganda pada
OnScroll. Anda akan masuk ke Code Editor dan isikan program berikut:
eNilai1.Text := FloatToStr(ScrollBar1.Position);

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


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

27

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,


Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
eNilai1: TEdit;
eNilai2: TEdit;
eNilai3: TEdit;
eNilaiRata: TEdit;
ScrollBar1: TScrollBar;
ScrollBar2: TScrollBar;
ScrollBar3: TScrollBar;
Button1: TButton;
Button2: TButton;
procedure
ScrollBar1Scroll(Sender:
TObject;
ScrollCode:
TScrollCode;
var ScrollPos: Integer);
procedure
ScrollBar2Scroll(Sender:
TObject;
ScrollCode:
TScrollCode;
var ScrollPos: Integer);
procedure
ScrollBar3Scroll(Sender:
TObject;
ScrollCode:
TScrollCode;
var ScrollPos: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.ScrollBar1Scroll(Sender:
TObject;
TScrollCode;
var ScrollPos: Integer);
begin
eNilai1.Text := FloatToStr(ScrollBar1.Position);
end;

ScrollCode:

procedure
TForm1.ScrollBar2Scroll(Sender:
TObject;
TScrollCode;
var ScrollPos: Integer);
begin
eNilai2.Text := FloatToStr(ScrollBar2.Position);
end;

ScrollCode:

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

ScrollCode:

28

end;
procedure TForm1.Button1Click(Sender: TObject);
begin
eNilaiRata.Text
:=
FloatToStr((StrtoFloat(eNilai1.Text)
StrToFloat(eNilai2.Text) +
StrToFloat(eNilai3.Text))/3);
end;

procedure TForm1.Button2Click(Sender: TObject);


begin
Application.Terminate;
end;
end.

2.2.6 Memakai CheckBox, Memo, Li stBox dan ComboBox


Kita akan membuat aplikasi menggunakan komponen CheckBox, Memo, ListBox dan
Combox sekaligus. CheckBox memberikan dua pilihan (bahkan tiga pilihan) kepada
pemakai. Pilihan tersebut dapat diperoleh dengan mengubah property dari CheckBox.
Sebagai contoh:
1.

Ubah property Checked menjadi True agar CheckBox dipilih secara default.

2.

Ubah AllowGrayed menjadi True agar CheckBox mempunyai tiga pilihan:


checked, unchecked dan grayed.

3.

Properti State

menyatakan apakah CheckBox dalam keadaan checked

(cbChecked), unchecked (cbUnchecked), atau grayed (cbGrayed).


Memo dipakai untuk memasukkan data yang lebih dari satu baris.
ListBox menampilkan daftar dan Anda dapat memilih item-itemnya
1.

Property items dipakai untuk mengisi pilihan-pilihan yang mungkin.

2.

ItemIndex menyatakan item yang dipilih.

3.

MultiSelect menyatakan apakah dapat memilih lebih dari satu pilihan pada saat
yang bersamaan.

4.

Sorted menyatakan apakah daftar terurut secara alphabetis.

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 2.8

29

Gambar 2.8 Rancangan form aplikasi Memo

Selanjutnya, kita akan membuat aplikasi untuk mendemonstrasikan keempat


komponen yang ada pada perancangan interface gambar 2.8. Langkah-langkahnya
adalah sebagai berikut:
1.

Buatlah aplikasi baru dan ubahlah nama form menjadi fMemo.

2.

Tambahkan sebuah Memo. Klik ganda tanda pada property Lines dan Anda
akan masuk ke String List Editor. Disana sudah tercantum Memo1 sesuai dengan
nama memo. Hapus teks tersebut, lalu tekan tombol enter sebanyak 5 kali. Hal ini
akan menambah buffer dari Memo. Jika Anda tidak menambah, Memo tidak dapat
dipakai. Klik OK untuk mengakhiri String List Editor.

3.

Tambahkan komponen ComboBox. Terdapat teks ComboBox1, sesuai dengan


namanya. Kita akan menghapusnya. Aktifkan property Teks lalu hapus isinya.

4.

Kita akan mengisikan 4 pilihan pada ComboBox. Klik ganda kolom isian dari
property Items (klik ganda tanda ). Anda akan masuk ke String List Editor dan
isikan teks-teks berikut:
Coba Delphi
Komponen Memo
ListBox dengan 3 item
CheckBox mempunyai 3 state

30

5.

Tambahkan komponen ListBox dan isikan pilihan-pilihan berikut pada property


Items:
Kotak Memo Warna Putih
Kotak Memo Warna Biru
Kotak Memo Warna Kuning

6.

Tambahkan sebuah GroupBox dan ubah Captionnya menjadi Font.

7.

Kedalam GroupBox tambahkan 3 buah CheckBox, masing-masing dengan


caption: Teks Warna Merah, Teks Miring dan Teks Cetak Tebal.

8.

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

Berikut ini adalah listing lengkapnya.


unit umemo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls;
type
TfMemo = class(TForm)
Memo1: TMemo;
ComboBox1: TComboBox;
ListBox1: TListBox;
GroupBox1: TGroupBox;

31

CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fMemo: TfMemo;
implementation
{$R *.dfm}
procedure TfMemo.Button1Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add(ComboBox1.Text);
Memo1.Lines.Add('String
dari
#'+IntToStr(ListBox1.ItemIndex+1));
case ListBox1.ItemIndex of
0 : Memo1.Color := clWhite;
1 : Memo1.Color := clBlue;
2 : Memo1.Color := clYellow;
end;
end;

ListBox

procedure TfMemo.Button2Click(Sender: TObject);


begin
if CheckBox1.State = cbChecked
then fMemo.Font.Color := clRed
else fMemo.Font.Color := clWindowText;
fMemo.Font.Style := [];
if CheckBox2.State = cbChecked
then fMemo.Font.Style := [fsItalic];
if CheckBox3.State = cbChecked
then fMemo.Font.Style := fMemo.Font.Style + [fsBold];
end;
procedure TfMemo.Button3Click(Sender: TObject);
begin
Application.Terminate;
end;
end.

32

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

Gambar 2.9 Aplikasi menggunakan memo setelah di jalankan

2.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 gejalagejalanya adalah seperti yang tedapat pada tabel berikut:
Tabel 2.1 Jenis penyakit
Jenis Penyakit
Gejala
Hasil
Malaria

Flu

Demam

Ya

Keringat Dingin

Ya

Muntah

Ya

Hidung Tersumbat

Tidak

Demam

Ya

Keringat Dingin

Tidak

Muntah

Tidak
33

Tifus

Hidung Tersumbat

Ya

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.

34

BAB III GRAFIK

3.1
Pendahu luan
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.
3.2

Penyajian

3.2.1

Elemen G rafi k

3.2.1.1 K oordinat
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.

35

3.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 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.

36

Tipe-tipe objek grafik:


1. Picture, diapakai untuk menyimpan grafik. Untuk menambah format grafik,
pakai method Register. Pakai Picture untuk menangani sembarang file seperti
menampilkan gambar sebuah control.
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.
3.2.1.3 Pi xel
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.
3.2.1.4 Palette dan True Color
Sama seperti palette pada printer, palette pada grafik adalah sekumpulan warna yang
dapat dipakai di layar. True Color adalah warna yang dihasilkan dari kombinasi merah,
hijau dan biru. Komputer dengan warna 24-bit dapat memiliki 16 juta warna. Setiap
warna sama dengan sebuah bilangan. Misalnya bilangan 0 menyatakan warna hitam
37

dan bilangan terbesarnya (16.777.216, didapat dari 256 * 256 * 256) menyatakan
warna putih. Warna warna lain adalah bilangan-bilangan diantara kedua batas warna
tersebut. Warna ini dinamakan RGB (Red Green Blue), karena merupakan kombinasi
warna merah, hijau dan biru.
3.2.1.5 Pen
Setiap canvas mempunyai sebuah pen (walaupun tidak tampak) yang digunakan untuk
menggambar garis atau bentuk. Bayangkan pen tersebut sama seperti pen pada
umumnya. Ada dua cara menggerakkan pen tersebut:
1.

Pen menyentuh kertas dan membuat tanda, method yang dipakai adalah LineTo

2.

Pen berada di atas kertas dan jika digerakkan tidak akanmeninggalkan bekas,
method yang sesuai adalah MoveTo.

Pen mempunyai empat property yang dapat diubah:


1.

Color, menyatakan warna

2.

Width, menyatakan lebar

3.

Style, menyatakan style

4.

Mode, menyatakan mode

3.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.

38

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.

3.

Tambahkan 1 buah komponen PaintBox yang ada pada tab System. Ubah property
Height dan Widthnya masing-masing 150

4.

Pada iAsal property Picture diisi dengan file gambar dengan tipe bitmap (bmp)
dengan ukuran 150 x 150 pixels.

5.

Tambahkan komponen Button, dan ubah Captionnya menjadi Copy dan properti
Namenya menjadi btnCopy.

6.

Tambahkan dua buah label masing masing dengan properti Caption Image Asal,
property Namenya lblAsal dan Caption Image Hasil, property Namenya lblHasil.

Gambar 3.1 menunjukkan rancangan interface aplikasi mrnggunakan komponen image


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

G ambar 3. 1 Ra n can gan in t er fa ce m en ggun a kan kom p on en im a ge

Button Copy digunakan untuk mengcopy gambar asal ke Paintbox dengan


menggunakan Canvas.

39

Berikut ini adalah listing lengkapnya.


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TfGambar = class(TForm)
iAsal: TImage;
lblAsal: TLabel;
lblHasil: TLabel;
btnCopy: TButton;
PaintBox1: TPaintBox;
procedure btnCopyClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fGambar: TfGambar;
implementation
{$R *.dfm}
procedure TfGambar.btnCopyClick(Sender: TObject);
var
x, y : integer ;
warna : int64 ;
begin
for y :=0 to 149 do
begin
for x := 0 to 149 do
begin
warna := iAsal.Picture.Bitmap.Canvas.Pixels[x,y] ;
PaintBox1.Canvas.Pixels[x,y] := warna ;
end ;
end ;
end;
end.

40

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

G ambar 3. 2 Ha si l per an can gan m en gguna kan kom pon en im a ge

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

G ambar 3 . 3 T eeCh art Ga ll er y

41

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 3.4

G ambar 3. 4 Ta m pil an in t er fa ce si m ul a si ADC

42

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;
{ Simpan1.Enabled:=True;
Buka1.Enabled:=True;}

43

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 CaptionData. 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.

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

44

2. Dan klik Ok. Ganti property Font dengan Lucida Console dan SccrollBar
dengan ssBoth.
Simpan unit yang baru dengan nama ugrafik2. Lihat bagian deklarasi uses pada
ugrafik1. Tambahkan ugrafik2 di unit1.Klik pada Sub-sub menu dan tuliskan
perintah berikut:
procedure TForm1.Data1Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.Simpan1Click(Sender: TObject);
begin
SaveDialog1.FileName:=Form1.Caption;
if SaveDialog1.Execute then
begin
Form2.Memo1.Lines.SaveToFile(SaveDialog1.FileName + '.txt');
Form1.Caption:=SaveDialog1.FileName;
end;
end;
procedure TForm1.Buka1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Form1.Caption := OpenDialog1.FileName;
Form2.Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Form2.Memo1.SelStart:=0;
end;
end;
procedure TForm1.Ke1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.Hapus1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
Form2.Memo1.Lines.Clear;
Form2.Memo1.Lines.Add(' No
Sinyal 1
Sinyal 2');
end;
end;

Klik 2x pada Form1 dan tuliskan perintah berikut;


procedure TForm1.FormCreate(Sender: TObject);
begin
with OpenDialog1 do
begin
Options:=Options+[ofPathMustExist,ofFileMustExist];
InitialDir:=ExtractFilePath(Application.ExeName);
Filter:='Text Files (*.txt)|*.txt';

45

end;
with SaveDialog1 do
begin
InitialDir:=ExtractFilePath(Application.ExeName);
Filter:= 'Text Files (*.txt)|*.txt';
end;
end;

Lihat kembali procedure Timer1. Ada perintah yang berada dalam kurung kurawal
{}. Hilangkan tanda kurung kurawal sehingga perintahnya menjadi:
Form2.Memo1.Lines.Add(IntToStr(x)+''+FloatToStrF(y[1],ffFixed,3,2)
+''+FloatToStrF(y[2],ffFixed, 3, 2));

Begitu juga pada CheckBox1, hilangkan tanda kurung kurawal dalam prosedur
tersebut sehingga menjadi:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
begin
Timer1.Enabled:=True;
Simpan1.Enabled:= False;
Buka1.Enabled:=False;
end
else
begin
Timer1.Enabled:=False;
Simpan1.Enabled:=True;
Buka1.Enabled:=True;
end;
end;

3.3
Penutup.
Pada bagian ini Anda telah mempelajari penggunaan elemen grafik antara lain berupa
canvas, pixel, dan koordinat serta komponen Chart. Dengan memanfaatkan fasilitas
untuk menampilkan grafik dengan elemen-lemen tersebut, maka kita dapat
menggambar dan melukis sesuai dengan aplikasi yang dirancang.
Soal-Soal Latihan
1.

Buatlah aplikasi yang digunakan untuk mengcopy gambar dan melakukan operasi
terhadap gambar berupa:
A. Pencerminan terhadap sumbu vertical
B. Pencerminan terhadap sumbu horizontal
C. Rotasi 900 CCW
D. Rotasi 900 CW
Berikut tampilan interfacenya ketika program dijalankan.

46

G ambar 3. 5. In t er fa ce m en ggun a kan el em en gra fi k

47

BAB IV SERIAL PORT

4.1

Pendahu luan

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. Karneanya data dari 9dan 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.
4.2

Penyajian

4.2.1 Tata Cara K omuni kasi 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
paling rendah (bit 0) sampai bit tertinggi. Selanjutnya akan dikirim sinyal Stop

48

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.

G ambar 4. 1 Pen gi ri man h ur uf A t an pa bi t par it a s

Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate
yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400 dan 9600 bit/s. Dalam
komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur pada
kecepatan yang sama. Selanjutnya, harus ditentukan panjang data (6,7 atau 8 bit),
paritas (genap, ganjil atau tanpa paritas) dan jumlahbit Stop (1, 1 atau 2 bit).
4.2.2 K arakteri sti k Sinyal Port Serial (RS232)
Standar sinyal komunikasi data serial yang banyak digunakan adalah standar RS232
yang

dikembangkan

oleh

Electronic

Industry

Association

and

The

Telecommunications Industry Association (EIA/TIA) yang pertma kali dipublikasikan


pada tahun 1962. Ini terjadi jauh sebelum IC TTL pupuler sehingga sinyal ini tidak ada
hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut
komunikasi data antara komputer (Data Terminal Equpment DTE) dengan alat-alat
pelengkap komputer (Data Circuit-Terminating Equipment- DCE). Standar RS232
inilah yang biasa digunakan pada port serial IBM PC kompatible.
Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut:
1.

Logika 1 disebut mark terletak antara -3 Volt hingga -25 Volt

2.

Logika 0 disebut space terletakl antara +3 Volt hingga +25 Volt.

3.

Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah
tegangan yang tidak memiliki level logika pasti sehingga harus dihindari.
Demikian juga dengan level tegangan lebih negatif dari -25 Volt atau lebih positif

49

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.

G ambar 4. 2 Level t ega n gan RS232 pen gir im an hur uf A t an pa bi t par it a s

4.2.3 K onverter Logi ka RS 232


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

G ambar 4. 3 Pin out MAX-232

50

Selain IC MAX terdapat juga IC DS 1489 dan DS 1448 yang dapat digunakan sebagai
konverter RS-232. Dua IC terpisah ini harus digunakaan bersama karena DS1448
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.
4.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 4.4 di bawah ini:

G ambar 4. 4 Kon ekt or DB-9 bet i n a

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

Nama

Arah Sinyal

TD

transmit data

Ke DEC

RD

receive data

Dari DCE

RTS

request to send

Ke DCE

CTS

clear to send

Dari DCE

DSR

data set ready

Dari DCE

SG

signal ground

51

CD

carrier detect

Dari DCE

20

DTR

data terminal ready

Ke DCE

22

RI

Ring indicator

Dari DCE

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

COM2

TX Buffer

3F8h

2F8h

RX Buffer

3F8h

2F8h

Baud rate divisor Latch LSB

3F8h

2F8h

Baud rate divisor Latch MSB

3F9h

2F9h

Interupt Enable Register

3F9h

2F9h

Interupt Identification Register

3Fah

2FAh

Line Control Register

3FBh

2FBh

Modem Control Register

3FCh

2FCh

Line Status Register

3FDh

2FDh

Modem Status Register

3FEh

2FEh

Keterangan mengenai fungsi register-register tersebut adalah :


1.

RX Buffer, digunakan untuk menampung dan menyimpan data dari DCE

2.

TX Buffer, digunakan untuk menampung dan menyimpan data yang akan dikirim
ke serial port

3.

Baud rate divisor Latch LSB, digunakan untuk menampung byte bobot rendah
untuk pembagi clock pada IC UART agar didapat baud rate yang tepat
52

4.

Baud rate divisor Latch MSB, digunakan untuk menampung byte bobot rendah
untuk pembagi clock pada IC UART sehingga total angka pembagi adalah 4 byte
yang dapat dipilih dari 0001h sampai FFFFh. Berikut adalah tabel angka pembagi
yang sering digunakan.
Tabel 4.3 Angka pembagi clock pada IC UART
Baud rate (bit/detik)
Angka pembagi

5.

300

0180h

600

0C00h

1200

0060h

1800

0040h

2400

0030h

4800

0018h

9600

000Ch

Interrupt Enable Register, digunakan untuk menset interupsi apa saja yang akan
dilayani komputer, dan dapat menampung pemrograman agar jika terjadi suatu
keadan khusus dapat melangsungkan interupsi ke CPU.
Tabel 4.4 Rincian bit pada IER
No. Bit
Keterangan
0

1: Interupsi akan diaktifkan jika menerima data

1: Interupsi akan diaktifkan jika register Tx kosong

1:interupsi diakrifkan jika ada perubahan keadaan pada line


Status Register

1: diaktifkan jika ada perubahan keadaan pada modem status


register
Diisi 0

4,5,6,7

53

6.

Interrupt Identification Register, digunakan untuk menentukan urutan prioritas


interupsi.
Tabel 4.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

7.

Diisi 0

Line Control Register, digunakan untuk menentuakan jumlah bit data, bit pariti,
jumlah bit stop dan untuk menentukan apakah baud rate divisor dapat diubah atau
tidak.
Tabel 4.6 Rincian bit pada Line Control Register
Nomor bit
Keterangan
0 dan 1

Jumlah bit data


00: Jumlah bit data adalah 5
01: Jumlah bit data adalah 6
10: Jumlah bit data adalah 7
11: Jumlah bit data adalah 8

Bit stop
0: Jumlah bit stop adalah 1
1: Jumlah bit stop adalah 1,5 untuk 5 bit data dan 2 untuk
6 hingga 8 bit data

Bit pariti
0: Tanpa pariti

54

1: dengan pariti
4

0: Pariti ganjil
1: Pariti genap

1: Bit pariti ikut dikirimkan (stick parity)

0: Set break kontrol tidak diaktifkan


1: Set break kontrol diaktifkan

0: Baud rate divisor tidak dapat diakses


1: Baud rate divisor dapat diakses

8.

Modem control register, digunakan untuk mengatur saluran pengatur modem


terutama saluran DTR dan saluran RST.
Tabel 4.7 Rincian bit pada Modem Control Register
Nomor bit
Keterangan
0

Bit DTR
0: Saluran DTR diaktifkan (aktif 0)
1: Saluran DTR dibuat normal (tidak aktif)

Bit STR
0: Saluran RST diaktifkan (aktif 0)
Saluran RST dibuat normal (tidak aktif)

Bit OUT1, digunakan sebagai penghubung ke perangkat


lain, dapat dibuat logika high atau logika low. Secara normal
tidak digunakan

Bit OUT2, digunakan sebagai penghubung ke perangkat


lain, dapat dibuat logika high atau logika low

0: Loop back intenal diaktifkan


1: Loop back internal tidak diaktifkan

5,6,7

9.

Diisi 0

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

Tabel 4.8 Rincian bit pada LSR


No. Bit
Keterangan
0

1: Menyatakan adanya data masuk pada buffer Rx

1: Data yang masuk mengalami overrun

1: Terjadi kesalahan pada bit pariti

1: Terjadi kesalahan framing

1: Terjadi Break Interrupt

1: Menyatakan bahwa register Tx telah kosong

1: Menyatakan bahwa transmitter shift register telah kosong

Diisi 0

10. Modem

status

register,

digunakan

untuk

menampung

bit-bit

yang

menyatakanstatus dari saluran hubungan dengan modem.


Tabel 4.9 Rincian bit pada modem status register
No. Bit
Keterangan
0

1: Menyatakan adanya perubahan keadaan di saluran CTS

1: Menyatakan adanya perubahan keadaan di saluran DSR

1: Menyatakan adanya perubahan keadaan di saluran Ring


Indicator (RI) dari low ke high

1: Menyatakan adanya perubahan keadaan di saluran


Receive line signal detect (DCD)
1: Menyatakan saluran Clear to Send (CTS) sudah dalam
keadaan hukum
1: Menyatakan saluran Data set ready (DSR) sudah dalam
keadaan aktif
1: Menyatakan bahwa saluran Ring Indicator (RI) sudah
dalam keadaan aktif

1: Menyatakan bahwa saluran Receive Line Signal Detect


(DCD) sudah dalam keadaan aktif)

56

4.2.5 Null Modem


Null modem digunakan untuk menguhubungkan 2 buah komputer (DTE) sekaligus.
Umumnya digunakan sebagai cara murah dalam bermain game pada jaringan, atau
juga digunakan untuk transfer file antar komputer menggunakan protokol Zmodem,
Xmodem, dll. Untuk membuat null modem, hubungkan 2 buah DTE seperti yang
diperlihatkan pada gambar 4.5 dibawah ini.

G ambar 4. 5 Kon eksi Nul l Modem

Pada gambar diatas, hanya diperlukan 3 kabel, yakni TD, RD dan SG. Sembarang data
yang dikirim oleh konputer 1 dihubungkan langsung ke RD komputer 2, sehingga TD
komputer 1 langsung dihubungkan ke RD komputer 2, dan sebaliknya. SG
dihubungkan untuk membentuk common graound dikedua komputer.
DTR di loop-back ke DSR dan CD di masing-masing komputer. Alasannya, jika DTR
dimunculkan dan aktif maka DSR dan CD segera aktif juga, dan kerananya komputer
seolah mempunyai virtual modem yang terhubung kepadanya dan sedang dalam
keadaan siap berkomunikasi. Dengan dihubungkannya CD seperti diatas maka
komputer akan mendeteksi juga adanya carrier dari modem lain.
Pin RTS dan CTS digunakan untuk mengontrol kesiapan serial port dalam transfer
data. Asumsikan bahwa kedua komputer berjalan dengan kecepatan yang sama
sehingga kedua sinyal ini (RTS dan CTS) tidak diperlukan dan dihubungkan langsung
untuk membohongi komputer. Jika komputer akan mengirim data maka komputer
mengirimkan sinyal RTS bernilai tinggi, dan sinyal ini diperlukan oleh CTS. Dengan
57

menghubungkan keduanya secara langsung maka seolah komputer tujuan langsung


siap menerima data menerima data begitu ada permintaan untuk mengirim data (RTS).
4.2.6 Universal Asynch ronous 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 4.10 Alamat dan lokasi bit saluran pada register UART
No Pin
Nama Pin
COM1
COM2
Bit
pada DB-9

Arah

TD

3FBh

2FBh

Output

DTR

3FCh

2FCh

Output

RTS

3FCh

2FCh

Output

CTS

3FEh

2FEh

Input

DSR

3FEh

2FEh

Input

RI

3FEh

2FEh

Input

DCD

3FEh

2FEh

Input

Untuk mengaksesnya dapat dilakukan dengan cara pendefinisian alamat yang sesuai
dan diisi dengan nilai datanya.
4.2.7 Alasan penggunaan Port Serial
Dibandingkan dengan pralel port, penggunaan port serial terkesan lebih sulit dan rumit.
Berikut keuntungan dari penggunaan serial port:

58

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.
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.
4.2.8

Interfacing dengan Serial Port

Untuk melakukan pengaksesan ke serial port, selain menggunakan hardware (UART)


maka juga dapat menggunakan software, dalam hal ini menggunakan ComPort
menggunakan Delphi. ComPort merupakan paket terpisah dari Delphi, Anda harus
menginstallnya terlebih dahulu, berikut diberikan petunjuk instalasi ComPort.
1. Setelah anda mendapatkan package comport yang dalam hal ini nama foldernya
adalah source
2. Copy folder source ke C:\Program Files\Borland\Delphi7\Lib
3. Pada Delphi, buka tab Tool*Environment, seperti pada gambar 4.6:

G ambar 4. 6 En vi r onm en t Opt i on

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

59

G ambar 4. 7 Kot a k di a l og l i brar y

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

G ambar 4. 8 Br owse s our c e l i br a r y

60

6. Pada tampilan seperti gambar 4.9 dibawah ini tekan tombol Add

G ambar 4. 9 Add li br ar y

7. Buka

page

tab

Open

kemudian

arahkan

ke

C:\Program

Files\Borland\Delphi7\Lib\Source\CportLib7 kemudian klik OK seperti gambar


4.10 dibawah ini:

G ambar 4. 10 Br owse Cp or t 7Li b. dpk

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

61

G ambar 4. 11 In st a ll pa cka ge Cpor t Li b7. dpk

9. Buka Open, arahkan ke C:\Program Files\Borland\Delphi7\Lib\Source\ lalu pilih


DsgnCport7.dpk seperti gambar 4.12 dibawah ini:

G ambar 4. 12 In st a ll Dsgn CPor t 7. dpk

10. Lakukan hal sama seperti pada langkah sebelumnya diatas.


11. Jika langkah langkahnya berhasil maka pada delphi akan muncul componen
pallete seperti pada gambar 4.13 dibawah ini:

G ambar 4. 13 Com Por t t el ah berh a si l di in sta l l

62

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 4.14 adalah tampilan virtual serial port kit yang telah berhasil di
install.

G ambar 4. 14 Vir t ual ser ia l port ki t

Untuk menambahkan virtual serialnya klik pada icon

, disini Anda dapat

menambahkan banyak serial port sesuka Anda, pada contoh ini akan dipakai COM32
yang dikoneksikan ke COM33.
Berikut rancangan program interfacing serial port menggunakan Delphi dengan
bantuan virtual serial port kit yang telah diintall sebelumnya. Ada 2 project yang harus
kita buat yaitu project untuk send data menggunakan COM32 dan satu lagi project
untuk read atau receive data menggunakan COM33.

63

1. Program Send Data


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

G ambar 4. 15 For m sen d da ta ser ia l

B. Component yang digunakan yaitu: GroupBox, Label, Memo, BitButton, ComPort


C. Listing programnya diperlihatkan seperti dibawah ini:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants,
Controls, Forms,
Dialogs, CPort, StdCtrls, Buttons;

Classes,

Graphics,

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

64

Memo1: TMemo;
Label1: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
str:string;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ComPort1.ShowSetupDialog;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
ComPort1.Close;
application.Terminate;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ComPort1.Open;
str:=Memo1.Text;
ComPort1.WriteStr(str);
end;
end.

65

2. Program Read Data


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

G ambar 4. 16 For m Rea d/ r ecei ve da t a

B. Component yang digunakan yaitu: GroupBox, Memo, BitButton, ComPort


C. Listing programnya diperlihatkan seperti dibawah ini:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants,
Controls, Forms,
Dialogs, StdCtrls, Buttons, CPort;

Classes,

Graphics,

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Memo1: TMemo;
ComPort1: TComPort;

66

procedure FormCreate(Sender: TObject);


procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ComPort1RxChar(Sender: TObject; Count: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
ComPort1.Close;
Application.Terminate;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ComPort1.Open;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ComPort1.ShowSetupDialog;
end;
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
Var
Str:string;
begin
ComPort1.ReadStr(Str,Count);
Memo1.Text:=memo1.Text+Str;
end;
end.

67

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

G ambar 4. 17 Ta m pil an for m sen d da t a dan r ea d da t a di r unn in g ber sa m a an

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
4.18 dibawah ini:

G ambar 4. 18 Kon fi gur a si / set t in g port ser ia l

F. Sebelum Anda klik send maka pada posisi Read klik terlbih dahulu button connect

68

G. Ketikkan kalimat yang Anda mau kirim, sebagai contoh hasilnya ditampilkan
seperti pada gambar 4.19 dibawah ini:

G ambar 4. 19 Ha si l pr ogra m set el a h di ja lan kan

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.
4.3 Penutup
Penyajian yang diberikan dalam bab 4 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.

69

BAB V K OMUNIK ASI DATA PARALEL

5.2.1 Pendahu luan


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?
5.2

Penyajian

5.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.

70

G ambar 5. 1 Por t para l el

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

(a). Konektor DB25 jantan dan betina

(b). Konektor DB25

G ambar 5. 2 (a ). Kon ekt or DB25 ja n t an dan bet i n a, (b). Kon ekt or DB25

5.2.2 Sinyal Port Paralel


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

71

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 5.2 dibawah ini:
Tabel 5.2 fungsi/sinyal port paralel
Register

LPT1

Data register (baseaddresss+0) / Data Lines

$378

Data register (baseaddresss+1) / Status Lines

$379

Data register (baseaddresss+2) / Control Lines

$37A

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

Mode kompatibilitas

2.

Mode nibble

3.

Mode byte

4.

Mode EPP (Enhanced Parallel Port)

5.

Mode ECP (Extended Capability Port)

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

72

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 bidirectional parallel untuk menerima 1 byte (8 bit) data pada arah mundur. IRQ
(Interrupt Request) pada port paralel biasanya pada IRQ5 atau IRQ7.
5.2.3 Bi-Directional Port
Ketika IBM memperkenalkan IBM PS/2, IBM menambahkan fasilitas baru pada
paralel portnya, yaitu dengan kemampuan untuk berkomunikasi dua arah.
Modifikasinya tidak banyak, hanya menambahkan satu chip 74244 dan emfungsikan
bit 5 dari register kontrol. Awalnya paralel port menggunakan IC TTL (tipe 74LS).
Skematik diagram pada gambar 5.3 adalah port data dari paralel port bi-derectional.
Paralel port yang tidak dua arah, tidak terdapat chip 74244 di dalamnya. Jadi hanya
menggunakan 74LS374 yang output enable-nya secara permanen di-set rendah
sehingga data hanya bisa ditransfer satu arah, outputnya saja. Jika kita membaca data
dari register data paralel port, maka data tersebut berasal dari `374 yang juga
dihubungkan ke pin data. Dengan mengoveride `374 seperti pada gambar 5.3, maka
kita bisa dapatkan paralel port dua arah (atau justru hanya input saja, jika kita
mengisinya dengan output latch).

Gambar 5.3 Standar par alel p or t dua ar ah


73

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.
5.2.4 Enhanced Parallel Port (EP P)
EPP sudah mengikuti standar IEEE 1284. Hal yang utama dalam EPP adalah bahwa
EP mampu mentansfer sata sebesar 500 kBps hingga mendekati 2 MBps dan juga
bahwa jalur data dapat berfungsi dua arah, input maupun output. Protokol

EPP

mempunyai 4 macam siklus transfer data yang berbeda yaitu :


1. Siklus baca data (Data read)
2. Siklus baca alamat (Address Read)
3. Siklus tulis data (data write)
4. Siklus tulis alamat (address write)

Siklus data digunakan untuk mentrasfer data antara host dan peripheral. Siklus alamat
digunakan untuk mendefinisikan alamat, saluran (channel) atau informasi perintah dan
kontrol antara 2 (dua) alat.
Tabel 5.3 Sinyal EPP
Sinyal EPP
Pin

Aktif

I/O

Diskripsi

Write

LOW

Proses wait sedang berjalan

Data Str

14

LOW

Data read atau data write

Add Str

17

LOW

Addr read atau addr write

Init

16

LOW

Reset peralatan

Init

10

LOW

Interupsi dari alat ke PC

Wait

11

H/L

Cadangan

User defined

12

H/L

Cadangan

User defined

13

H/L

Cadangan

74

User defined

15

H/L

Cadangan

Adx

2-9

HIGH

I/O

Jalur data dan alamat 2 arah

5.2.5 Extended Capabi lity Port (ECP)


Perkembangan paralel port berikutnya adalah dengan diperkenalkannya ECP, sebuah
protokol yang diajukan oleh Microsoft dan Hawlet Packard sebagai mode lanjut untuk
komunikasi dengan peripheral jenis scanner dan printer. Terdapat 2 tipe transfer data
(sebagai transfer 2 data), yaitu:
1. Siklus data, dan
2. Siklus Command
Tabel 5.4 Sinyal ECP
Sinyal ECP
Pin
Aktif

I/O

Diskripsi

HostClk

Dipakai oleh peripheral untuk transfer


data atau alamat secara forward LOW
bila data valid

LOW

HostAck

14

HIGH

1284 Active

17

HIGH

Reverse Reg

16

LOW

PerphAck

11

HIGH

Data siap ditransfer secara reverse


dipakai peripheral Clk untuk transfer
data secara reverse
HIGH bila PC dalam mode transfer 1284
LOW agar kanal dalam kondisi reverse
Dipakai HostClk untuk transfer data atau
alamat secara forward

PerphClk

10

LOW

Dipakai HostAck untuk transfer data atau


alamat secara reverse

Ack reverse

12

LOW

LOW untuk mengetahui request mode


reverse

PerphRequest

15

LOW

Data

2-9

HIGH

I/O

Diset LOW oleh alat luar untuk


menunjukkan bahwa saluran reverse bisa
dipakai
Pertukaran data peripheral dan PC

75

5.2.6 Apli kasi 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 5.4 dibawah ini:

G ambar 5. 4 For m in t er fa ci n g kontr ol por t para l el

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


2.

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

G ambar 5. 5 dekl ar a si var i a bl e

76

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);
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);

77

procedure SpeedButton20Click(Sender: TObject);


private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
data_read,data_send:integer;
implementation
{$R *.dfm}
procedure TForm1.SpeedButton19Click(Sender: TObject);
begin
SmPort.Opened:=True;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 254;
SmPort.WriteByte($378,data_send);
shape1.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 253;
SmPort.WriteByte($378,data_send);
shape2.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 251;
SmPort.WriteByte($378,data_send);
shape3.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 247;
SmPort.WriteByte($378,data_send);
shape4.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 239;
SmPort.WriteByte($378,data_send);
shape5.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton13Click(Sender: TObject);
begin

78

data_read := SmPort.ReadByte($378);
data_send := data_read AND 223;
SmPort.WriteByte($378,data_send);
shape6.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 191;
SmPort.WriteByte($378,data_send);
shape7.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton17Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read AND 127;
SmPort.WriteByte($378,data_send);
shape8.Brush.Color := clWhite;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 1;
SmPort.WriteByte($378,data_send);
shape1.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 2;
SmPort.WriteByte($378,data_send);
shape2.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton8Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 4;
SmPort.WriteByte($378,data_send);
shape3.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 8;
SmPort.WriteByte($378,data_send);
shape4.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton12Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 16;
SmPort.WriteByte($378,data_send);

79

shape5.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 32;
SmPort.WriteByte($378,data_send);
shape6.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton16Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 64;
SmPort.WriteByte($378,data_send);
shape7.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton18Click(Sender: TObject);
begin
data_read := SmPort.ReadByte($378);
data_send := data_read OR 128;
SmPort.WriteByte($378,data_send);
shape8.Brush.Color := clRed;
end;
procedure TForm1.SpeedButton20Click(Sender: TObject);
begin
Close;
end;
end.

4.

Jika di eksekusi, hasilnya seperti ditunjukkan pada gambar 5.6 dibawah ini:

G ambar 5. 6 h a si l eksekusi pr ogr a m kon tr ol l a mpu LE D

5.

Rangkaian sederhana menggunakan paralel port untuk mengontrol lampu LED.

80

G ambar 5. 7 Ra n gka i an uji coba un t uk m en ga kses pa ra l el por t

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.
5.2.7 Pengont rolan dengan Relai
Untuk mengakses peralatan dengan beban yang besar dan untuk mencegah terjadinya
pembebanan

berlebihan

pada

port

paralel,

maka

digunakan

rangkaian

penyangga/buffer. Gambar 5.8 dibawah ini memperlihatkan rangkaian penyangga


dengan penggerak relai.

81

G ambar 5. 8 Ra n gka i an pen ya n gga den gan pen gger a k r el a i

Dari
dari
sakelar

skema

pada

74LS224
pada

Gambar

5.8,

terhubung

ke

setiap

relai

terlihat

pin

3,5,7,9,12,16

masing-masing

tersebut,

bisa

relai.
kita

dan

18

Selanjutnya

gunakan

untuk

mengontrol peralatan yang memiliki beban besar seperti Lampu TL maupun untuk
mengontrol Motor, Kipas Angin, dll.
5.3 Penutup
Penggunaan port paralel dalam kehidupan sehari-hari sangat banyak aplikasinya
diantaranya pengendalian perlengkapan rumah tangga seperti kipas angin, lampu
ruangan, televisi tetapi tetap menggunakan prinsip yang sama yaitu dalam hal teknik
pengiriman data, dan jika membutuhkan daya yang besar maka harus menggunakan
relay dan rangkaian driver dari setiap peralatan.
Soal-Soal Latihan
Buatlah aplikasi untuk menyalakan lampu menggunakan port paralel!

82

DAFTAR PUSTAK A

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


M. Agus dan J. Alam, 2003, Belajar Sendiri Membuat Program Aplikasi
Menggunakan Delphi 6 & Delphi 7, Bandung: Elex Media Komputindo
Madcoms, 2002, Pemrograman Borland Delph 7, Madiun: Andi
Martina, Inge, 2000, 36 Jam Belajar Komputer Delphi 5.0, Jakarta: Elek Media
Komputindo
Rachmad Setiawan, 2008, Teknik Akuisisi Data, Surabaya: Graha Ilmu
Retna Prasetia dan Catur Edi Widodo, 2004, Interfacing Port Paralel dan Port Serial
Komputer dengan Visual Basic 6.0, Semarang: Andi
Susilo, Djoko, 2005, Grafika Komputer dengan Delphi, Yogyakarta: Graha Ilmu.
Wahana komputer, 2003, Pengembangan Aplikasi Client/Server dengan Borland
Delphi, Jakarta: Elex Media Komputindo
Waljiyanto, 2003, Sistem Basis Data Analisis dan Pemodelan Data, Yogyakarta:
Graha Ilmu

83

Lampiran 1
KONTRAK PERKULIAHAN

Nama Mata kuliah

Komputer II

Kode Mata kuliah/SKS

TL 449432/2

Penanggung Jawab

Sarwo Pranoto, ST., M.Eng


Muh. Ilyas Syarif, S.ST., MT

Semester

IV (Empat) -

Hari Pertemuan / Jam

Rabu / Kamis

Tempat Pertemuan

Lab Komputer 1 Gedung Administrasi

1. Manfaat Mata Kuliah


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

2. Deskripsi Singkat
Mata kuliah ini merupakan mata kuliah lanjutan dari komputer I. Membahas tentang penggunaan
program delphi menggunakan Visual Component Library (VCL), akses peralatan luar dengan komunikasi
paralel dan serial port.

84

3. Tujuan Instruksional Umum


Setelah mengikuti mata kuliah ini, mahasiswa diharapkan dapat melakukan interfacing peralatan
menggunakan komputer disertai dengan teknik grafik animasi menggunakan Delphi.

85

4. Organisasi Materi

Interfacing Peralatan
dan pembuatan
Database

Komunikasi Data Serial

Interfacing Via Serial


Port

Null Modem

Paralel Port

Hardware

UART

RS232C

Konektor DB-9 dan DB25

Hardware

Konektor DB-25

VCL

Interfacing via Paralel


Port

Tab Standard

Sinyal Port Paralel

Enhanced Parallel Port


(EPP)

Extended Capability
Port (ECP)

Bi-Directional Port

Demo VCL

ODBC

VCL

Aplikasi Program VCL

ADO, ADOTable

Structured Query
Language (SQL

Elemen Grafik

Chart

Add, Delete, etc

86

5. Strategi Perkuliahan

Dalam perkuliahan ini beberapa strategi yang diterapkan antara lain:


Membuat kontrak dengan mahasiswa perihal: kedisiplinan, prosentase penilaian, dan bagi
mahasiswa dengan jumlah kehadiran dibawah 75% maka tidak diperkenankan untuk mengikuti
final semester
Menjelaskan teori secara singkat dan praktis yang dikuatkan dengan beberapa contoh program
Memberikan problem/permasalahan kepada mahasiswa yang akan dibahas secara bersama-sama
(pembimbing dan mahasiswa)

Memberikan tugas kepada mahasiswa yang akan dikumpul pada pertemuan berikutnya dan
menjadi syarat untuk mengikuti perkuliahan berikutnya

Memberikan tugas/kuis yang langsung diberikan penilaian di beberapa awal pertemuan yang
sifatnya dadakan
Pada pertengahan semester akan diberikan nilai/hasil sementara yang diperoleh mahasiswa
sehingga dapat menjadi bahan intropeksi diri bagi mahasiswa

Memberikan tugas project di akhir perkuliahan dan dikerjakan secara berkelompok

Menggunakan media pendukung seperti LCD untuk menunjang proses pembelajaran.

6. Materi Kepustakaan

Pustaka pokok dalam perkuliahan ini adalah :


1. Dwi Sutadi, 2002, IO Bus dan Motherboard, Yogyakarta: Andi
2. M. Agus dan J. Alam, 2003, Belajar Sendiri Membuat Program Aplikasi Menggunakan Delphi 6
& Delphi 7, Bandung: Elex Media Komputindo
3. Madcoms, 2002, Pemrograman Borland Delph 7, Madiun: Andi
4. Muhammad Supriadi, 2005, Pemrograman IC PPI 8255 Menggunakan Delphi, Yogyakarta:
Andi
5. Rachmad Setiawan, 2008, Teknik Akuisisi Data, Surabaya: Graha Ilmu
6. Retna Prasetia dan Catur Edi Widodo, 2004, Interfacing Port Paralel dan Port Serial Komputer
dengan Visual Basic 6.0, Semarang: Andi
7. Wahana komputer, 2003, Pengembangan Aplikasi Client/Server dengan Borland Delphi,
Jakarta: Elex Media Komputindo

7. T u g a s
1.

Setiap bacaan perkuliahan sebagaimana disebutkan pada jadwal perkuliahan harus sudah
dibaca sebelum mengikuti kuliah.

2.

Evaluasi tengah semester akan dilakukan pada pertemuan ke-7 dan diberikan dalam bentuk
praktikum membuat program dan pilihan ganda maupun essai.

3.

Menyerahkan tugas besar diakhir pertemuan beserta laporannya dalam format karya
ilmiah.

4.

Tugas akan diberikan minimal 6 (enam) kali.

5.

Kuis sifatnya tidak ditentukan waktunya dan akan diberikan minimal 2 (dua) kali.

8. Kriteria Penilaian

Penilaian akan dilakukan oleh dosen Penanggung Jawab dengan menggunakan kriteria
sebagai berikut :
Nilai

Point

Range

80 - 100

70 - 79

60 - 69

50 - 59

0 - 49

Dalam menentukan nilai akhir akan digunakan pembobotan sebagai berikut :


Kedisplinan

10 %

Tugas dan Kuis

15 %

Praktek

40 %

Ujian Tengah Semestar

15 %

Ujian Akhir Semester

20 %

9. Jadwal Perkuliahan
Kedisiplinan
Tugas & Kuis
UTS
UAS
Praktek

Pertemuan
Ke 1

Pokok Bahasan / Sub Pokok Bahasan


Pendahuluan dan Kontrak Perkuliahan

Sumber Bacaan
3, 2

IDE:
24

Main window
Object Inspector
Object treeview
Editor
Membuat aplikasi sederhana
Menyimpan, menjalankan program

Komunikasi data serial

1,2, 3, 5, 6

Hardware
Null modem
Komunikasi serial RS232C
Universal Asynchronous Receiver Transmitter
(UART)
- Interfacing dengan serial port
Komunikasi data paralel
1,2, 3, 5, 6
-

5, 6 dan 8

- Hardware
- Sinyal port paralel
- Bi-Directional Port
- Enhanced Parallel Port (EPP)
- Extended Capability Port (ECP)
- Kontrol lampu LED
- Kontrol motor stepper
MID TEST

7, 8 dan 9

Komunikasi data serial

1,2, 3, 5, 6

10 dan 11

Hardware
Null modem
Komunikasi serial RS232C
Universal Asynchronous Receiver Transmitter
(UART)
- Interfacing dengan serial port
Komunikasi data paralel
1,2, 3, 5, 6
-

Hardware
Sinyal port paralel

Final

Bi-Directional Port
Enhanced Parallel Port (EPP)
Extended Capability Port (ECP)
Kontrol lampu LED

Selain final pemeriksaan dan pengujian tugas project

Anda mungkin juga menyukai