Top Banner
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 BAHAN AJAR
106

INTERFACING KOMPUTER.pdf

Jul 08, 2016

Download

Documents

Ahmad Amrullah
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: INTERFACING KOMPUTER.pdf

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

BAHAN AJAR

Page 2: INTERFACING KOMPUTER.pdf

i

LEMBAR IDENTITAS DAN PENGESAHAN

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

Page 3: INTERFACING KOMPUTER.pdf

ii

KATA PENGANTAR

Buku bahan ajar Interfacing ini dimaksudkan untuk menjadi media pustaka

belajar bagi mahasiswa di Jurusan Teknik Elektro, khususnya untuk program studi

Teknik Listrik di Politeknik Negeri Ujung Pandang dalam mempelajari ilmu

tentang interface 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

Page 4: INTERFACING KOMPUTER.pdf

iii

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

Page 5: INTERFACING KOMPUTER.pdf

iv

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

Page 6: INTERFACING KOMPUTER.pdf

v

DAFTAR TABEL

Tabel 1.1 Komponen Button1 10

Tabel 1.2. Komponen Label1 11

Tabel 2.1 Jenis penyakit 33

Tabel 4.1 Pin out serial port 51

Tabel 4.2 Alamat register port serial 52

Tabel 4.3 Angka pembagi clock pada IC UART 53

Tabel 4.4 Rincian bit pada IER 53

Tabel 4.5 Rincian bit pada Interrupt identification register 54

Tabel 4.6 Rincian bit pada Line Control Register 54

Tabel 4.7 Rincian bit pada Modem Control Register 55

Tabel 4.8 Rincian bit pada LSR 56

Tabel 4.9 Rincian bit pada modem status register 56

Tabel 4.10 Alamat dan lokasi bit saluran pada register UART 58

Tabel 5.1 fungsi/sinyal port paralel 71

Tabel 5.2 fungsi/sinyal port paralel 72

Tabel 5.3 Sinyal EPP 74

Tabel 5.4 Sinyal ECP 75

Page 7: INTERFACING KOMPUTER.pdf

vi

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

Page 8: INTERFACING KOMPUTER.pdf

vii

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

Page 9: INTERFACING KOMPUTER.pdf

viii

DAFTAR LAMPIRAN

Lampiran 1. Kontrak Perkuliahan ……………………………………………… 1

Page 10: INTERFACING KOMPUTER.pdf

ix

GBRP/GBPP

Nama Mata Kuliah : Interfacing (Komputer II)

Nomor Kode/S K S : TL 449432/2

Deskripsi singkat mata kuliah : Membahas tentang pemrograman berbasis visual, mempelajari teknik user interface dan

teknik interfacing menggunakan komunikasi serial dan paralel, antara komputer dan

piranti yang berkomunikasi dengannya.

Kompetensi Utama : Setelah mengikuti mata kuliah ini, mahasiswa diharapkan dapat melakukan interfacing

peralatan menggunakan komputer dan dapat membuat database dan pengolahannya dan

mampu menampilkan data tersebut sehingga dapat diakses oleh user melalui komputer.

No. Tujuan Intruksional Khusus Pokok

Bahasan Sub Pokok Bahasan Waktu Referensi

1.

Menjelaskan tentang IDE Delphi IDE Delphi

- IDE Delphi

- Struktur Program

- Elemen Program

- Konsep Penyusunan Program

Aplikasi

- Membuat Aplikasi Sederhana

- Mengelola Project

- Project Options

2 x 50 menit 4,7

2. Menjelaskan tentang Visual

Component Library (VCL)

Visual

Component

- Komponen visual dan non visual

- Tab Standard

- Membaca dan menampilkan data

4 x 50 menit 4,7

Page 11: INTERFACING KOMPUTER.pdf

x

Library

dengan Edit

- Memilih dengan RadioButton

- Membaca Data dengan ScrollBar

- Memakai CheckBox, Memo,

ListBox dan ComboBox

3 Menjelaskan tentang Grafik Elemen Grafik

dan Chart

- Elemen Grafik

- Chart

6 x 50 menit 4,7

4. Menjelaskan teknik interfacing

menggunakan komunikasi serial

Komunikasi

data serial

- Hardware

- Null modem

- Komunikasi serial RS232C

- Universal Asynchronous Receiver

Transmitter (UART)

- Interfacing dengan serial port

6 x 50 menit 1,2, 3, 5,

6,8,9

5. Menjelaskan teknik interfacing

menggunakan komunikasi

paralel

Paralel port

- Hardware

- Sinyal port paralel

- Bi-Directional Port

- Enhanced Parallel Port (EPP)

- Extended Capability Port (ECP)

- Kontrol lampu LED

- Kontrol motor stepper

2 x 50 menit

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

Page 12: INTERFACING KOMPUTER.pdf

xi

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

Page 13: INTERFACING KOMPUTER.pdf

xii

TINJAUAN MATA KULIAH

Mata kuliah ini akan membahas topik yang dikenal sebagai interfacing komputer.

Interfacing komputer dapat dibagi menjadi dua bagian, yaitu interfacing antara

komputer dengan pemakai komputer dalam bentuk visualisasi di layar monitor

(user interface) dan interfacing antara komputer dengan piranti atau peralatan di

luar komputer yang melakukan interaksi dengannya. Kita akan memulainya

dengan topik interfacing antara komputer dengan manusia. Topik ini memberi kita

kesempatan yang sangat baik untuk mempelajari sejumlah cara untuk merancang

dan membuat tampilan interface di layar monitor menggunakan Delphi 7 sebagai

bahasa pemrogramannya. Pada bagian ini akan dipelajari tentang dasar-dasar

pemrograman menggunakan Delphi, IDE Delphi dan Visual Component Library

yang digunakan untuk memudahkan dalam pembuatan interface oleh programmer.

Tahapan selanjutnya dalam studi kita difokuskan pada interfacing antara komputer

dan piranti di luar komputer yang melakukan interaksi dengannya. 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.

Page 14: INTERFACING KOMPUTER.pdf

xiii

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.

Page 15: INTERFACING KOMPUTER.pdf
Page 16: INTERFACING KOMPUTER.pdf

1

BAB I MENGENAL DELPHI

1.1 Pendahuluan

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,

Page 17: INTERFACING KOMPUTER.pdf

2

meletakkan dan mengatur komponen. Selain itu, aplikasi dapat disusun secara lebih

interaktif. Delphi menyediakan cukup pilihan komponen interface aplikasi.

1.2 Penyajian

1.2.1 Mengenal Integrated Development Environment (IDE) Delphi

7

Delphi meyediakan fasilitas yang lengkap untuk membangun suatu program aplikasi,

diantaranya adalah IDE (Integrated Development Environment). Dengan IDE maka

programmer akan terbantu karena kebutuhan pemrograman telah disediakan dalam

satu tampilan. IDE Delphi sendiri terdiri dari Menu, Speedbar, Component Palette,

Object Inspector, Form dan Code Editor. IDE Delphi dapat dilihat pada gambar 1.1.

Gambar 1 .1 IDE Delph 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

Page 18: INTERFACING KOMPUTER.pdf

3

2. Speedbar

Speedbar merupakan kelompok tombol yang digunakan untuk mengakses

perintah-perintah dalam menu. Perintah-perintah tersebut akan sering digunakan

pada saat penyusunan program aplikasi. Pengelompokkan ini akan memudahkan

dan menghemat waktu pemrogram untuk mengakses suatu perintah karena tidak

diperlukan pencarian perintah-perintah tersebut dalam menu pulldown yang belum

tentu dapat langsung ditemukan.

3. Component Palette

Component Palette adalah sekumpulan tab yang didalamnya tersedia tombol-

tombol komponen yang akan dipakai sebagai elemen interface program aplikasi.

4. Object Treeview

Merupakan sebuah diagram pohon yang menggambarkan hubungan logis

menghubungkan semua komponen yang terdapat dalam suatu proyek program.

Komponen tersebut meliputi form, modul atau frame. Fungsinya digunakan untuk

menampilkan seluruh daftar komponen program dalam sebuah aplikasi program

sesuai dengan penempatan.

5. Object Inspector

Object inspector adalah sarana pengaturan obyek yang kita pasangkan pada form,

atau form itu sendiri. Bagian bagian dari Object Inspector yaitu:

A. Object Selector merupakan daftar drop down yang mencantumkan semua

komponen yang ada dalam form aktif beserta tipe obyek. Bagian ini digunakan

untuk memilih komponen yang akan ditetapkan property dan event-nya.

B. Properties berfungsi untuk menetapkan property bagi komponen yang terpilih

oleh object selector saat itu. Kolom sebelah kiri dari tab Properties menyatakan

nama propertinya, sedangkan kolom sebelah kanan merupakan isi setting atau

nilai dari property tersebut.

C. Events berfungsi untuk menetapkan kejadian/proses pelaksanaan perintah yang

terpasang pada satu komponen.

6. Form

Form merupakan sebuah jendela yang merupakan wadah bagi komponen yang

terpasang dalam suatu program aplikasi. Tampilan form dapat diatur melalui

halaman Properties dari Object Inspector pada saat proses perancangan.

Page 19: INTERFACING KOMPUTER.pdf

4

Form akan tersimpan dalam dua buah file, yaitu:

A. File Form (.DFM), file ini adalah file binary yang berisi gambar grafis dari

form. Sebuah perubahan yang dilakukan berkaitan dengan tampilan form akan

disimpan di file ini.

B. File Unit (.PAS), file ini adalah file yang menyimpan kode sumber dari file

.DFM. File ini berisi kode-kode event handler, yang menentukan reaksi form

beserta komponen-komponenya saat aplikasi dijalankan.

7. Code Editor

Code Editor merupakan tempat yang digunakan untuk menuliskan, memodifikasi

dan mengakses kode-kode yang menjalankan aplikasi.

1.2.2 Struktur Program

Dalam pembuatan aplikasi menggunakan Delphi, program aplikasi tersimpan dalam

sebuah project yang dapat terdiri dari satu atau lebih form dan unit. Ketika sebuah

apilkasi dibangun menggunakan Delphi, beberapa file dibuat oleh Delphi.

1. File Project (.dpr)

File ini dipakai untuk menympan informs mengenai form dan unit. File ini dibuat

pada saat desain. File ini berisi inisialisasi form utama dan form-form lain lain

yang dibuat secara otomatis.

2. File unit (.pas)

File ini untuk menyimpan program. Ada tiga jenis file unit:

A. Unit Form/Data module dan frame. Unit ini dibuat secara otomatis oleh

Delphi. Ada satu unit untuk tiap-tiap form/data module atau frame yang

dibuat

B. Unit Component. Unit yang dibuat pada saat ada komponen baru

C. Unit Umum. Unit yang dibuat untuk tipe data, variable, procedure dan class

yang dapat diakses dan diaplikasi.

3. File form (.dfm)

File ini adalah file biner yang dibuat Delphi untuk menyimpan informasi

mengenai form. Setiap file form mempunyai sebuah file unit (.pas)

Page 20: INTERFACING KOMPUTER.pdf

5

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,

Page 21: INTERFACING KOMPUTER.pdf

6

prosedur, unit, program dan field. Pemberian identifier ini sangat penting karena

akan mengurangi resiko kesalahan.

2. Tipe Data

Tipe dari suatu data akan menunjukkan bagaimana data tersebut akan diakses dan

disimpan, karena tiap tipe data mempunyai perbedaan dalam proses akses dan

penyimpanan.

3. Scope

Scope berarti area kerja, yang menentukan dapat atau tidaknya suatu identifier

digunakan oleh prosedur/fungsi lain.

Scope dibagi menjadi dua, yaitu:

A. Scope Lokal, dapat disebut area kerja setempat. Identifier berscope local

berarti hanya bisa digunakan dalam blok program dimana identifier tersebut

di deklarasikan, karena identifier ini hanya dikenali di blok itu saja.

B. Scope Global. Identifier dengan scope global akan dikenali dan dapat

digunakan oleh semua prosedur dan fungsi dalam unit tersebut. Biasanya

identifier dengan scope global akan dideklarasikan di bagian interface dari

suatu unit.

1.2.4 Konsep Penyusunan Program Aplikasi

Penyusunan program aplikasi dengan menggunakan Delphi terdiri dari beberapa tahap:

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

komponen-komponen yang akan diletakkan di dalamnya.

2. Tahap penetapan setting property dari form dan komponen-komponen di

dalamnya.

3. Tahap penulisan kode program, untuk menetapkan respon aplikasi terhadap aksi

yang dilakukan pemakai.

Sebelum menyusun program aplikasi ada beberapa hal yang perlu diketahui dalam

pemrograman berbasis obyek (OOP) yaitu istilah object, property, method dan event.

1. Object merupakan komponen dalam sebuah program

2. Property merupakan karakteristik yang dimiliki object

3. Method merupakan aksi yang dapat dilakukan oleh object

Page 22: INTERFACING KOMPUTER.pdf

7

4. Event merupakan kejadian yang dapat dialami oleh object

Gambar 1.2 Object , proper t y, method dan even t sebuah mobi l

Gambar 1.3 Object , proper t y, method dan even t komponen Form

1.2.5 Membuat Aplikasi Sederhana

Pada bagian ini akan dibuat aplikasi sederhana berupa aplikasi untuk mengubah

property suatu object. Selanjutnya aplikasi ini akan disebut aplikasi Selamat datang di

Method:

Hide

Move

Show

Object: Form

Property:

Color:clBtnFace

Height:500

Visible:True

Event:

OnClick

OnCreate

OnClose

Method:

Maju

Mundur

Berhenti

Object: Mobil

Property:

Merk:Esemka

Type:Rajawali

Warna: Hitam

Event:

Pintu dibuka

Ditabrak

Didorong

Page 23: INTERFACING KOMPUTER.pdf

8

PNUP. Adapun beberapa hal yang perlu dilakukan sebelum membuat aplikasi di

Delphi yaitu:

1. Membuat sebuah direktori untuk menyimpan program sumber. Misalnya

C:\interfacing.

2. Membuat sebuah direktori untuk menyimpan project yang akan dibuat, misalnya

pendahuluan. Direktori yang dibuat adalah C:\interfacing\pendahuluan.

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

1.2.5.1 Merancang Interface

Pada tahap ini akan dilakukan perancangan interface pada Delphi yang dapat

digunakan untuk berkomunikasi antara user dengan komputer. Adapun langkah-

langkah yang perlu dilakukan pada tahapan ini yaitu:

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

Application.

2. Selanjutnya, simpan project tersebut dengan File|Save Project As. Anda akan

ditanya apakah Anda akan menyimpan nama file dengan nama unit1.pas. Simpan

file tersebut di direktori C:\interfacing\pendahuluan dengan nama selamat.pas.

3. Selanjutnya Anda akan diminta untuk menyimpan file project. Anda akan ditanya

apakah Anda akan menyimpan file dengan nama Project1.dpr. Simpan file

tersebut di direktori C:\interfacing\pendahuluan dengan nama pendahuluan.dpr.

4. Buatlah interface dengan menggunakan komponen Form, Button dan Label

dengan cara mengklik komponen tersebut dua kali. Komponen Button dan Label

ada pada tab standard di bagian Component Palette seperti yang terlihat pada

gambar 1.4. Rancangan interface terlihat seperti pada gambar 1.5.

Gambar 1.4 Komponen But ton dan Label pada Tab Standard

Page 24: INTERFACING KOMPUTER.pdf

9

Gambar 1.5 Rancangan in ter face menggunakan komponen But t ton dan Label

1.2.5.2 Menetapkan Setting Properties

Langkah berikutnya adalah mengatur nilai properties dari komponen yang digunakan

dalam project. Pengubahan properties dilakukan menggunakan Object Inspector.

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

caption dari komponen form dari Form1 (defaultnya), menjadi Tes.

Gambar 1.6 Caption dari sebuah form

Page 25: INTERFACING KOMPUTER.pdf

10

Gambar 1.7 Field Caption pada tab Proper t ies

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

Field Caption

Page 26: INTERFACING KOMPUTER.pdf

11

Tabel 1.2. Komponen Label1

Properties Nilai Properties

Caption Awal

Font Color

Size

clBlue

20

Name lblUcapan

Sehingga tampilan aplikasi akan berubah menjadi seperti pada gambar 1.8.

Gambar 1.8 Rancangan akh ir in ter face menggunakan But ton dan Label

1.2.5.3 Menuliskan Kode Program

Tahap berikutnya setelah membuat interface dan memberikan nilai pada properties

komponen adalah menuliskan kode program agar aplikasi dapat berjalan sesuai dengan

yang diinginkan.

Pada aplikasi yang akan dibuat, komponen btnTampil digunakan untuk menampilkan

pesan “Selamat Belajar Mata Kuliah Interfacing” apabila komponen button tersebut di

klik Pesan “Selamat Belajar Mata Kuliah Interfacing “ akan mengganti tulisan “Awal”

yang ada pada komponen lblUcapan. Klik pada sebuah tombol merupakan event, dan

Page 27: INTERFACING KOMPUTER.pdf

12

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.

Gambar 1.9 Membuat Even t Handler

3. Dari kedua cara di atas, Code Editor yang merupakan tempat untuk menuliskan

program akan terbuka. Secara otomatis Delphi akan membuat procedure dengan

nama TForm1.btnTampilClick, artinya dari obyek Form1, komponen btnTampil

untuk event OnClick. Delphi juga telah membuatkan kerangka program dan Anda

dapat langsung mengisikan programnya diantara begin….end yang sudah tersedia.

Gambar 1.10 Code Edi tor un tuk Even t Handler

Aktifkan tab Events

Klik ganda kolom ini

Nama procedure

Page 28: INTERFACING KOMPUTER.pdf

13

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.

Gambar 1.11 Tab pada Code Edi tor

Listing programnya:

unit tes;

interface

uses

Tab tes

Page 29: INTERFACING KOMPUTER.pdf

14

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

Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

btnTampil: TButton;

lblUcapan: TLabel;

procedure btnTampilClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnTampilClick(Sender: TObject);

begin

lblUcapan.Caption:='Selamat Belajar Interfacing';

end;

end.

4. Selanjutnya kita akan menjalankan project. Pilih Run|Run atau tekan tombol F9.

Atau dengan menekan tombol Run pada toolbar

1.2.6 Mengelola Project

Project Manager yang tersedia di Delphi dapat digunakan untuk mengelola form dan

unit yang membangun sebuah aplikasi. Untuk menampilkan Project Manager, pilih

menu View|Project Manager, dan akan ditampilkan isi project. Anda akan melihat

nama setiap unit, nama form dan path. Anda dapat memakai Project Manager untuk

menambah atau membuang file, dan Anda juga dapat membuka sebuah file dengan

mengklik ganda pada file tersebut.

Gambar 1.12 Project Manager

Page 30: INTERFACING KOMPUTER.pdf

15

1.2.7 Project Options

Project|Option dipakai untuk menyatakan option-option dari form, aplikasi, compiler

dan linker yang dipakai project Anda, serta mengelola direktori dari project. Anda

dapat mengubah option dari project tertentu atau option default untuk project baru.

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

Gambar 1.13 Kotak Dialog Project Opt ions

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.

Page 31: INTERFACING KOMPUTER.pdf

16

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.

Page 32: INTERFACING KOMPUTER.pdf

17

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

Page 33: INTERFACING KOMPUTER.pdf

18

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

Page 34: INTERFACING KOMPUTER.pdf

19

BAB II MEMAKAI VISUAL COMPONENT LIBRARY

2.1 Pendahuluan

Visual Component library (VCL) adalah hierarki dari class (object) yang ditulis

dengan Object Pascal dan tergabung dalam IDE Delphi. Dengan Component Palette

dan Object Inspector, Anda dapat menempatkan komponen VCL pada form dan

memanipulasi propertinya tanpa menuliskan program.

Anda sudah mencoba beberapa komponen dalam aplikasi. Pada modul ini kita akan

measuki VCL lebih jauh lagi, juga memakai event-handler. Komponen-komponen itu

sama dengan OCX dari Visual Basic. Tidak seperti OCX, komponen-komponen

tersebut disimpan dalam sebuah library, bukan file-file terpisah. Di Delphi, Anda juga

dapat membuat komponen sendiri yang dapat dipakai di kemudian hari.

2.2 Penyajian

2.2.1 Komponen Visual dan Nonvisual

Komponen Delphi dapat bersifat Visual maupun Nonvisual. Komponen visual dipakai

untuk membangun antarmuka dengan pemakai. Pada saat pembuatan aplikasi, kedua

komponen tersebut dapat dilihat, tetapi komponen nonvisual tidak terlihat pada saat

aplikasi dijalankan. Contoh komponen visual adalah Button, Edit dan Memo,

sedangkan komponen nonvisual adalah Timer, OpenDialog dan MainMenu.

Komponen nonvisual tidak terlihat oleh user, tetapi pada saat aplikasi dijalankan

komponen-komponen tersebut menghasilkan tampilan di layar. Komponen nonvisual

dapat mudah diidentifikasi karena tidak dapat diubah ukurannya dan terlihat sama

seperti pada saat Anda memilihnya dan meletakkannya dalam form.

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.

Page 35: INTERFACING KOMPUTER.pdf

20

Gambar 2.1 Tab Standard.

Komponen Frame adalah container untuk komponen-komponen. Frame dapat

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

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

Kompone ini nonvisual.

Komponen PopUpMenu untuk membuat menu popup yang akan mncul jika user

mengklik tombol kanan dari mouse. Komponen ini Nonvisual.

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

visual.

Komponen Edit dipakai untuk menerima satu baris teks yang merupakan

masukan dari user. Komponen ini juga dapat digunakan untuk menampilkan

teks. Komponen ini visual.

Komponen Memo dipakai untuk memasukkan atau menampilkan beberapa baris

teks. Komponen ini visual.

Komponen Button dipakai untuk membuat button yang akan dipakai untuk

memilih option di dalam aplikasi. Komponen ini visual.

Komponen CheckBox untuk memilih atau membatalkan pilihan, caranya dengan

mengklik pada checkbox. Komponen ini visual.

Komponen RadioButton dipakai untuk memberikan sekumpulan option dan

hanya satu yang dapat dipilih. Komponen ini visual.

Komponen Listbox dipakai untuk membuat sebuah daftar item dan user dapat

memilih salah satu diantaranya. Komponen ini visual.

Page 36: INTERFACING KOMPUTER.pdf

21

ComboBox adalah komponen seperti ListBox tetapi memiliki unsur seperti

komponen Edit. Dengan ComboBox user dapat memilih option yang diberikan

atau dengan mengetikkan teks didalam kotak. Komponen ini visual.

Komponen ScrollBar sama seperti scrollbar pada Windows yang digbunakan

untuk menggulung form. Komponen ini visual.

Komponen GorupBox adalah sebuah container yang dipakai untuk

mengelompokkkan control-kontrol container (RadioButton, CheckBox dan lain-

lain) yang berhubungan. Komponen ini visual.

Komponen RadioGroup adalah kombinasi dari GroupBox dan radioButton,

didesain untuk membuat sekelompok radio button. Komponen ini visual.

Komponen Panel adalah container juga. Panel dapat digunakan untuk membuat

status bar, toolbar dan tool palette. Komponen ini visual.

Komponen ActionList adalah komponen yang berisi daftar action yang

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

Setelah melihat semua komponen dari tab Standard, kita akan mencobanya. Kita akan

membuat beberapa aplikasi yang memakai komponen-komponen diatas.

2.2.3 Membaca dan menampilkan Data dengan Edit

Komponen Edit dipakai untuk menerima data masukan yang berupa teks. Kita akan

mencoba membuat aplikasi yang memanfaatkan komponen ini.

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

Edit’.

2. Tambahkan 4 komponen label dan ubah setiap captionnya dengan ‘Nama

Langganan’, ‘Nama Barang’, ‘Banyak Barang’, dan ‘Bayar’. Ubah property

Namenya masing-masing menjadi lblLangganan, lblBarang, lblBanyak, dan

lblBayar.

Page 37: INTERFACING KOMPUTER.pdf

22

3. Tambahkan sebuah komponen Edit. Ubah namanya menjadi eNama, caranya pilih

property Name dan isikan eNama. Pada kotak edit tercantum’eNama’ (sesuai

dengan nama komponen). Jika dijalankan kita ingin kotak tersebut kosong, oleh

sebab itu aktifkan property Text dan kosongkan isinya.

4. Dengan cara yang sama tambahkan tiga komponen Edit dengan nama eKode,

eBanyak dan eBayar.

5. Selanjutnya tambahkan sebuah Button dan ubah Captionnya menjadi ‘Hitung’.

Formnya menjadi seperti gambar…

Gambar 2.2 Rancangan form memakai komponen Edi 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

Page 38: INTERFACING KOMPUTER.pdf

23

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

OnClick.

Gambar 2.3 Mengisikan Even t -Handler dari Komponen But ton

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

Gambar 2.4 Procedure un tuk Even t OnClick

Tab Events

Event OnClick

Klik ganda btnHitung

Page 39: INTERFACING KOMPUTER.pdf

24

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.

Page 40: INTERFACING KOMPUTER.pdf

25

2.2.4 Memilih data dengan RadioButton

RadioButton akan memberikan pilihan yang bersifat mutually exclusive, artinya hanya

sebuah RadioButton yang dapat dipilih pada satu saat. Jika Anda memilih sebuah

RadioButton, RadioButton yang telah dipilih sebelumnya menjadi tidak dipilih.

RadioButton dapat dikelompokkan dengan menggunakan GroupBox.

Pada program aplikasi sebelumnya, kita memasukkan kode barang dengan cara

mengetikkannya (1,2,3). Dengan cara ini mungkin Anda salah mengetikkan 4,5 dan

seterusnya. Kita akan membatasi data masuan tersebut, sehingga selalu benar. Kita

akan memakai RadioButton.

Form yang kita pakai sama seperti sebelumnya, hanya kita akan mengganti eKode

(komponen edit untuk kode barang) dengan RadioButton dan GroupBox. Rancangan

form terlihat seperti gambar 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).

Page 41: INTERFACING KOMPUTER.pdf

26

3. Selanjutnya, tambahkan dua buah RadioButton lainnya dengan caption masing-

masing: Pensil, Penggaris dan Name masing-masing rbPensil dan rbPenggaris.

Apa keuntungannya menempatkan RadioButton dalam GroupBox? GroupBox berlaku

sebagai container, sehingga jika Anda memindahkan GroupBox, otomatis ketiga

RadioButton di dalamnya juga ikut dipindahkan.

Dari ketiga RadioButton tidak ada satupu yang dipilih. Pada saat aplikasi dijalankan,

Anda harus memilih salah satu. Anda dapat membuat pilihan default, misalnya Buku

(rbBuku dipilih secara default). Untuk itu Anda harus mengubah property Checked

dari rbBuku menjadi True. Perhatikan perubahan di form.

Langkah selanjutnya, kita akan mengisikan event handler untuk tombol Hitung

(btnHitung).

procedure TForm1.btnHitungClick(Sender: TObject);

var banyak, harga, bayar : real;

begin

banyak := StrToFloat(eBanyak.Text);

if rbBuku.Checked then harga := 1000;

if rbPensil.Checked then harga := 1500;

if rbPenggaris.Checked then harga := 2000;

bayar := banyak * harga;

ebayar.Text := FloatToStr(bayar);

end;

Di sini kita memakai If-Then. Jika rbBuku dipilih (rbBuku.Checked bernilai True)

maka harganya 1000. Begitu seterusnya.

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

gambar…Lalu, tambahkan 4 buah edit yang bernama eNilai1, eNilai2, eNilai3 dan

eNilaiRata. Tambahkan 3 buah ScrollBar dan 2 buah Button.

Page 42: INTERFACING KOMPUTER.pdf

27

Gambar 2.6 Rancangan form dengan Scrol lBar

Sama seperti ScrollBar pada umumnya, kita dapat memindahkan posisi ScrollBar

dengan menggerakkan (drag) kotak peluncurnya atau dengan mengklik anak panahnya.

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

Klik anak panah Memindahkan kotak peluncur

Page 43: INTERFACING KOMPUTER.pdf

28

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

Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

eNilai1: TEdit;

eNilai2: TEdit;

eNilai3: TEdit;

eNilaiRata: TEdit;

ScrollBar1: TScrollBar;

ScrollBar2: TScrollBar;

ScrollBar3: TScrollBar;

Button1: TButton;

Button2: TButton;

procedure ScrollBar1Scroll(Sender: TObject; ScrollCode:

TScrollCode;

var ScrollPos: Integer);

procedure ScrollBar2Scroll(Sender: TObject; ScrollCode:

TScrollCode;

var ScrollPos: Integer);

procedure ScrollBar3Scroll(Sender: TObject; ScrollCode:

TScrollCode;

var ScrollPos: Integer);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode:

TScrollCode;

var ScrollPos: Integer);

begin

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

end;

procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode:

TScrollCode;

var ScrollPos: Integer);

begin

eNilai2.Text := FloatToStr(ScrollBar2.Position);

end;

procedure TForm1.ScrollBar3Scroll(Sender: TObject; ScrollCode:

TScrollCode;

var ScrollPos: Integer);

begin

eNilai3.Text := FloatToStr(ScrollBar3.Position);

Page 44: INTERFACING KOMPUTER.pdf

29

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, ListBox dan ComboBox

Kita akan membuat aplikasi menggunakan komponen CheckBox, Memo, ListBox dan

Combox sekaligus. CheckBox memberikan dua pilihan (bahkan tiga pilihan) kepada

pemakai. Pilihan tersebut dapat diperoleh dengan mengubah property dari CheckBox.

Sebagai contoh:

1. Ubah property Checked menjadi True agar CheckBox dipilih secara default.

2. Ubah AllowGrayed menjadi True agar CheckBox mempunyai tiga pilihan:

checked, unchecked dan grayed.

3. Properti State menyatakan apakah CheckBox dalam keadaan checked

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

Memo dipakai untuk memasukkan data yang lebih dari satu baris.

ListBox menampilkan daftar dan Anda dapat memilih item-itemnya

1. Property items dipakai untuk mengisi pilihan-pilihan yang mungkin.

2. ItemIndex menyatakan item yang dipilih.

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

yang bersamaan.

4. Sorted menyatakan apakah daftar terurut secara alphabetis.

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

Page 45: INTERFACING KOMPUTER.pdf

30

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

Page 46: INTERFACING KOMPUTER.pdf

31

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;

Page 47: INTERFACING KOMPUTER.pdf

32

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

fMemo: TfMemo;

implementation

{$R *.dfm}

procedure TfMemo.Button1Click(Sender: TObject);

begin

Memo1.Clear;

Memo1.Lines.Add(ComboBox1.Text);

Memo1.Lines.Add('String dari ListBox

#'+IntToStr(ListBox1.ItemIndex+1));

case ListBox1.ItemIndex of

0 : Memo1.Color := clWhite;

1 : Memo1.Color := clBlue;

2 : Memo1.Color := clYellow;

end;

end;

procedure TfMemo.Button2Click(Sender: TObject);

begin

if CheckBox1.State = cbChecked

then fMemo.Font.Color := clRed

else fMemo.Font.Color := clWindowText;

fMemo.Font.Style := [];

if CheckBox2.State = cbChecked

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.

Page 48: INTERFACING KOMPUTER.pdf

33

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 gejala-

gejalanya adalah seperti yang tedapat pada tabel berikut:

Tabel 2.1 Jenis penyakit

Jenis Penyakit Gejala Hasil

Malaria Demam Ya

Keringat Dingin Ya

Muntah Ya

Hidung Tersumbat Tidak

Flu Demam Ya

Keringat Dingin Tidak

Muntah Tidak

Page 49: INTERFACING KOMPUTER.pdf

34

Hidung Tersumbat Ya

Tifus Demam Ya

Keringat Dingin Tidak

Muntah Ya

Hidung Tersumbat Tidak

Pada soal ini diasumsikan bahwa seseorang tidak mungkin memiliki dua penyakit

bersamaan. Untuk pengecekkan penyakit gunakan percabangan If .. Then ..Else.

Page 50: INTERFACING KOMPUTER.pdf

35

BAB III GRAFIK

3.1 Pendahuluan

Dengan sistem operasi Windows yang berbasis grafis, maka perancangan tampilan

aplikasi menjadi sangat fleksibel. Antarmuka pengguna (user interface) dapat

dirancang dengan bebas, tidak mengikuti interface Windows. Untuk interaksi dengan

pengguna, Delphi telah menyediakan berbagai komponen visual yang telah kita bahas

sebelumnya.

Demikian juga dengan data keluaran yang akan disajikan. Data dapat disajikan dalam

bentuk grafik, gambar, animasi dan kombinasi ketiganya. Dengan tampilan grafis ini,

data keluaran yang disajikan menjadi lebih impresif dan mudah dimengerti.

3.2 Penyajian

3.2.1 Elemen Grafik

3.2.1.1 Koordinat

Setiap komponen visual mempunyai property Top dan Left. Nilai yang tersimpan di

dalam property ini menyatakan dimana kompopnen tersebut diletakkan dalam form.

Koordinat bersifat relative. Misalanya Anda berada di lantai 20 dari sebuah gedung.

Berapa ketinggian hidung Anda? Jawabannya adalah relative. Anda dapat

mengukurnya dari tanah atau dari ubin lantai 20. Koordinat dalam Delphi juga bersifat

relative. Berapa koordinat sebuah komponen? Anda akan menyatakan koordinat

komponen tersebut terhadap kontainernya. Jika sebuah container adalah form, maka

koordinat tersebut adalah relative terhadap form. Sedangkan koordinat form mengacu

pada layar.

Top menyatakan koordinat y (vertical), dalam satuan pixel, dari sebuah komponen

relative terhadap kontainernya. Sedangkan Left menyatakan koordinat x (horizontal).

Top dan Left dapat dipakai untuk mengubah posisi dari sebuah komponen.

Page 51: INTERFACING KOMPUTER.pdf

36

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.

Page 52: INTERFACING KOMPUTER.pdf

37

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 Pixel

Pada dasarnya, semua operasi grafik adalah mengubah warna pixel pada area gambar.

Di Delphi, Anda dapat memanipulasi pixel secara individual. Pada mulanya pixel

hanya dapat on atau off, sehingga hanya dapat warna hitam dan putih. Tetapi, sekarang

monitor mempunyai jutaan warna, sehingga tampilan gambar menjadi halus.

Untuk mengakses sebuah pixel pada form, pakailah properti Canvas dari form dan

properti Pixels dari Canvas.Canvas.Pixels[10,20] berarti warna dari pixel yang berada

10 pixel ke kanan dan 20 pixel ke bawah.

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

Page 53: INTERFACING KOMPUTER.pdf

38

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.

Page 54: INTERFACING KOMPUTER.pdf

39

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.

Gambar 3.1 Rancangan in ter face menggunakan komponen image

Button Copy digunakan untuk mengcopy gambar asal ke Paintbox dengan

menggunakan Canvas.

Page 55: INTERFACING KOMPUTER.pdf

40

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.

Page 56: INTERFACING KOMPUTER.pdf

41

Hasil rancangan menggunakan komponen image dan PaintBox ketika di jalankan dapat

dilihat pada gambar 3.2

Gambar 3.2 Hasi l perancangan menggunakan komponen image

3.2.2 Chart

Chart merupakan komponen pada Delphi yang digunakan untuk menampilkan data-

data berupa angka kedalam bentuk grafik sehingga mudah dipahami.Pada dasarnya

Delphi menyediakan 11 buah grafik standard yang dapat dipergunakan: tampilannya

dapat dilihat pada gambar 3.3.

Gambar 3 .3 TeeChart Gallery

Page 57: INTERFACING KOMPUTER.pdf

42

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

Gambar 3.4 Tampilan in ter face simulasi ADC

Page 58: INTERFACING KOMPUTER.pdf

43

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

Page 59: INTERFACING KOMPUTER.pdf

44

end;

end;

CheckBox2:

procedure TForm1.CheckBox2Click(Sender: TObject);

begin

if CheckBox2.Checked then

Chart1.View3D := True

else

Chart1.View3D := False;

end;

Perintah pada Timer1 mendefinisikan dua buah sinyal yang kita simulasikan dan

menampilkan dua buah sinyal simulasi ini ke bentuk grafik pada komponen Chart.

Perintah pada CheckBox1 akan menghentikan pengambilan data dan pada

CheckBox2 akan membuat tampilan grafik menjadi 3 dimensi atau 2 dimensi.

Pada bagian deklarasi atau bagian paling atas dari unit1 cari deklarasi variable

seperti berikut:

Var

Form1 :TForm1;

Lalu tambahkan variable berikut:

x: integer;

y1,y2:extended;

Jalankan program untuk melihat hasilnya. Setelah tidak ada error, selanjutnya kita

akan menyimpan data simulasi ini. Banyak cara yang bisa dilakukan dalam hal

database dengan Delphi. Pada saat ini kita hanya akan membuat penyimpanan

yang sederhana dengan Notepad.

Klik 2x pada MainMenu untuk membuka Menu Designer. Tulis “File” pada

Caption. Klik SubMenu di bawah File dan beri Caption”Data”. Klik lagi SubMenu

di bawahnya dan beri Caption “Simpan”. Lakukan 3 kali lagi langkah di atas. Kali

ini beri Caption “Buka”, “Hapus” dan “Keluar”. Tutup Menu Designer.

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

Page 60: INTERFACING KOMPUTER.pdf

45

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

Page 61: INTERFACING KOMPUTER.pdf

46

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.

Page 62: INTERFACING KOMPUTER.pdf

47

Gambar 3.5. In ter face menggunakan elemen grafik

Page 63: INTERFACING KOMPUTER.pdf

48

BAB IV SERIAL PORT

4.1 Pendahuluan

Pada umumnya peralatan output sebuah komputer terdiri dari Serial dan Paralel port.

Dari segi namanya maka komunikasi serial akan mengirimkan data secara

serial/berurutan. Serial port lebih sulit ditangani daripada paralel port karena peralatan

yang dihubungkan ke serial port harus berkomunikasi menggunakan transmisi serial,

sedangkan data pada komputer dikelola secara paralel. 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 Komunikasi Serial

Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data serial secara

asinkron dan secara sinkron. Pada komunikasi data serial sinkron, clock dikirimkan

bersama-sama dengan data serial, sedangkan komunikasi data serial asinkron, clock

tidak dikrimkan bersama data serial, tetapi dibangkitkan secara sendiri-sendiri baik

pada sisi pengirim (transmitter) maupun pada sisi penerima (receiver). Pada IBM PC

kompitibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini

dikerjakan oleh UART.

Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi

transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi

antara transmitter dan receiver. Hal ini dilakukan oleh bit ‘Start’ dan bit ‘Stop’. Ketika

saluran transmisi dalam keadaan idle (kosong), output UART adalah dalam keadaan

logika ‘1’. Ketika transmitter ingin mengirimkan data, output UART akan diset lebih

dulu ke logika ‘0’ untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai

sinyal ,start’ yang digunakan untuk mensinkronkan fase clocknya sehingga sinkron

dengan fase clock transmitter. Selanjutnya data akan dikirimkan secara serial dari bit

paling rendah (bit 0) sampai bit tertinggi. Selanjutnya akan dikirim sinyal ‘Stop’

Page 64: INTERFACING KOMPUTER.pdf

49

sebagai akhir dari pengiriman data serial. Cara pemberian kode data yang disalurkan

tidak ditetapkan secara pasti. Berikut ini adalah contoh pengiriman huruf ‘A, dalam

format ASCII (41 heksa / 1000001 biner) tanpa bit paritas.

Gambar 4.1 Pengiriman huruf ‘A’ tanpa bi t par itas

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 Karakteristik Sinyal Port Serial (RS232)

Standar sinyal komunikasi data serial yang banyak digunakan adalah standar RS232

yang dikembangkan oleh Electronic Industry Association and The

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

pada tahun 1962. Ini terjadi jauh sebelum IC TTL pupuler sehingga sinyal ini tidak ada

hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut

komunikasi data antara komputer (Data Terminal Equpment – DTE) dengan alat-alat

pelengkap komputer (Data Circuit-Terminating Equipment- DCE). Standar RS232

inilah yang biasa digunakan pada port serial IBM PC kompatible.

Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut:

1. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga -25 Volt

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

3. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah

tegangan yang tidak memiliki level logika pasti sehingga harus dihindari.

Demikian juga dengan level tegangan lebih negatif dari -25 Volt atau lebih positif

Page 65: INTERFACING KOMPUTER.pdf

50

dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line

driver pada saluran RS232.

Gambar dibawah ini merupakan contoh level tegangan RS232 pada pengiriman huruf

‘A’ dalam format ASCII tanpa bit paritas.

Gambar 4.2 Level tegangan RS232 pengir iman huruf ‘A’ tanpa bi t par itas

4.2.3 Konverter Logika RS 232

Jika peralatan yang kita gunakan menggunakan logika TTL maka sinyal port harus kita

konversikan dahulu ke pulsa TTL sebelum kita gunakan, dan sebaliknya sinyal dari

peralatan harus dikonversikan ke logika RS-232 sebelum diinputkan ke serial p[ort.

Konverter yang paling mudah digunakan adalah MAX-232. Didalam IC ini terdapat

Charge pump yang akan membangkitkan + 10 Volt dan -10 Volt dari sumber +5 Volt

tunggal. Dalam IC DIP (Dula in-line Package) 16 pin (8 pin x 2 baris) yang terdapat 2

buah transmitter dan 2 buah receiver.

Gambar 4.3 Pin out MAX-232

Page 66: INTERFACING KOMPUTER.pdf

51

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:

Gambar 4.4 Konektor DB-9 bet ina

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

2

3

4

5

6

7

3

2

7

8

6

5

TD

RD

RTS

CTS

DSR

SG

transmit data

receive data

request to send

clear to send

data set ready

signal ground

Ke DEC

Dari DCE

Ke DCE

Dari DCE

Dari DCE

-

Page 67: INTERFACING KOMPUTER.pdf

52

8

20

22

1

4

9

CD

DTR

RI

carrier detect

data terminal ready

Ring indicator

Dari DCE

Ke DCE

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

Page 68: INTERFACING KOMPUTER.pdf

53

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

300

600

1200

1800

2400

4800

9600

0180h

0C00h

0060h

0040h

0030h

0018h

000Ch

5. Interrupt Enable Register, digunakan untuk menset interupsi apa saja yang akan

dilayani komputer, dan dapat menampung pemrograman agar jika terjadi suatu

keadan khusus dapat melangsungkan interupsi ke CPU.

Tabel 4.4 Rincian bit pada IER

No. Bit Keterangan

0

1

2

3

4,5,6,7

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

Page 69: INTERFACING KOMPUTER.pdf

54

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 Diisi 0

7. Line Control Register, digunakan untuk menentuakan jumlah bit data, bit pariti,

jumlah bit stop dan untuk menentukan apakah baud rate divisor dapat diubah atau

tidak.

Tabel 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

2 Bit stop

0: Jumlah bit stop adalah 1

1: Jumlah bit stop adalah 1,5 untuk 5 bit data dan 2 untuk

6 hingga 8 bit data

3 Bit pariti

0: Tanpa pariti

Page 70: INTERFACING KOMPUTER.pdf

55

1: dengan pariti

4 0: Pariti ganjil

1: Pariti genap

5 1: Bit pariti ikut dikirimkan (stick parity)

6 0: Set break kontrol tidak diaktifkan

1: Set break kontrol diaktifkan

7 0: Baud rate divisor tidak dapat diakses

1: Baud rate divisor dapat diakses

8. Modem control register, digunakan untuk mengatur saluran pengatur modem

terutama saluran DTR dan saluran RST.

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

1 Bit STR

0: Saluran RST diaktifkan (aktif 0)

Saluran RST dibuat normal (tidak aktif)

2 Bit OUT1, digunakan sebagai penghubung ke perangkat

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

tidak digunakan

3 Bit OUT2, digunakan sebagai penghubung ke perangkat

lain, dapat dibuat logika high atau logika low

4 0: Loop back intenal diaktifkan

1: Loop back internal tidak diaktifkan

5,6,7 Diisi 0

9. Line status register, digunakan untuk menampung bit-bit yang menyatakan kedaan

penerimaan atau pengirimandata danstatus kesalahan operasi.

Page 71: INTERFACING KOMPUTER.pdf

56

Tabel 4.8 Rincian bit pada LSR

No. Bit Keterangan

0

1

2

3

4

5

6

7

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

2

3

4

5

6

7

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)

Page 72: INTERFACING KOMPUTER.pdf

57

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.

Gambar 4.5 Koneksi 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

Page 73: INTERFACING KOMPUTER.pdf

58

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 Asynchronous Receiver Transmitter (UART)

Seperti yang dibahasakan sebelumnya, bahwa untuk mengakses serial port secara

hardware digunakan UART. UART digunakan untuk komunikasi dalam pengiriman

dan penerimaan data adalah saluran RD dan saluran TD serta saluran-saluran untuk

kontrol yaitu saluran DCD, DSR, RTS, CTS, DTR dan RI. Saluran ini ada yang

sebagai output dan ada yang sebagai input. Kecuali saluran RD, saluran-saluran ini

dapat diakses secara langsung melalui register UART. Di bawah ini adalah tabel 4.10

yang memperlihatkan alamat dan lokasi bit saluran pada register UART.

Tabel 4.10 Alamat dan lokasi bit saluran pada register UART

Nama Pin No Pin

pada DB-9 COM1 COM2 Bit Arah

TD

DTR

RTS

CTS

DSR

RI

DCD

3

4

7

8

6

9

1

3FBh

3FCh

3FCh

3FEh

3FEh

3FEh

3FEh

2FBh

2FCh

2FCh

2FEh

2FEh

2FEh

2FEh

6

0

1

4

5

6

7

Output

Output

Output

Input

Input

Input

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:

Page 74: INTERFACING KOMPUTER.pdf

59

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:

Gambar 4.6 Environment Opt ion

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

4.7:

Page 75: INTERFACING KOMPUTER.pdf

60

Gambar 4.7 Kotak dia log l ibrary

5. Akan muncul kotak dialog penentuan folder yang akan dipergunakan, arahkan ke

C:\Program Files\Borland\Delphi7\Lib\Source kemudian klik OK

Gambar 4.8 Browse source l ibrary

Page 76: INTERFACING KOMPUTER.pdf

61

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

Gambar 4.9 Add library

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:

Gambar 4.10 Browse Cpor t7Lib.dpk

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

Page 77: INTERFACING KOMPUTER.pdf

62

Gambar 4.11 In sta ll package Cpor tLib7.dpk

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

DsgnCport7.dpk seperti gambar 4.12 dibawah ini:

Gambar 4.12 In sta ll DsgnCPor t7.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:

Gambar 4.13 ComPor t telah berhasi l di in sta l l

Page 78: INTERFACING KOMPUTER.pdf

63

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.

Gambar 4.14 Vir tual 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.

Page 79: INTERFACING KOMPUTER.pdf

64

1. Program Send Data

A. Buka Program Delphi, kemudian rancanglah form seperti pada tampilan gambar

4.15 dibawah ini:

Gambar 4.15 Form send data 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, Classes, Graphics,

Controls, Forms,

Dialogs, CPort, StdCtrls, Buttons;

type

TForm1 = class(TForm)

GroupBox1: TGroupBox;

BitBtn1: TBitBtn;

ComPort1: TComPort;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Page 80: INTERFACING KOMPUTER.pdf

65

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.

Page 81: INTERFACING KOMPUTER.pdf

66

2. Program Read Data

A. Buka Program Delphi, kemudian rancanglah form seperti pada tampilan gambar

4.16 dibawah ini:

Gambar 4.16 Form Read/receive data

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

C. Listing programnya diperlihatkan seperti dibawah ini:

unit Unit1;

interface

uses

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

Controls, Forms,

Dialogs, StdCtrls, Buttons, CPort;

type

TForm1 = class(TForm)

GroupBox1: TGroupBox;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Memo1: TMemo;

ComPort1: TComPort;

Page 82: INTERFACING KOMPUTER.pdf

67

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.

Page 83: INTERFACING KOMPUTER.pdf

68

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

ini:

Gambar 4.17 Tampilan form send data dan read data di runn ing ber samaan

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:

Gambar 4.18 Konfigurasi /set t ing port ser ia l

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

Page 84: INTERFACING KOMPUTER.pdf

69

G. Ketikkan kalimat yang Anda mau kirim, sebagai contoh hasilnya ditampilkan

seperti pada gambar 4.19 dibawah ini:

Gambar 4.19 Hasi l program setelah di ja lankan

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.

Page 85: INTERFACING KOMPUTER.pdf

70

BAB V KOMUNIKASI DATA PARALEL

5.2.1 Pendahuluan

Port paralel pada komputer digunakan untuk melakukan komunikasi dengan perangkat

luar (hardware), pernahkah anda perhatikan bagaimana komputer melakukan

pencetakan ke kertas (ngeprint)? Bagaimanakah data dikirim untuk kemudian direspon

oleh peralatan? Salah satu jenis komunikasi yang digunakan adalah dengan

menggunakan port paralel. Walaupun tidak dapat dipungkiri bahwa umumnya

peralatan sekarang telah menggunakan komunikasi serial, seperti yang telah dibahas

pada pertemuan sebelumnya....!, tetapi penggunaan port paralel masih sering kita

jumpai utamanya pada beberapa jenis pengontrolan seperti kontrol lampu LED dan

motor stepper. Satu hal yang perlu diperhatikan dalam suatu perancangan pengontrolan

yaitu harus dilakukan analisa dari alat yang akan dikontrol dengan jenis komunikasi

yang tepat digunakan, jika anda tidak mempersyaratkan jarak kabel dan kecepatan

maka komunikasi dengan paralel port dapat anda pilih sebagai solusi. Misalkan kita

memiliki televisi, Kipas Angin, DVD Player dll. Nah kita dapat membuat alat kontrol

sehingga alat-alat tersebut dapat dikontrol menggunakan komputer. Untuk alat

semacam Kipas Angin maka kontrolnya hanyalah On-Off saja. Bila kita menginginkan

kipas menyala, maka kita tinggal meng-klik pada mouse saja. Sangat simple bukan?

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.

Page 86: INTERFACING KOMPUTER.pdf

71

Gambar 5.1 Por t paralel

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.

Gambar 5.2 (a). Konektor DB25 jan tan dan bet ina, (b) . Konektor 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

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

Page 87: INTERFACING KOMPUTER.pdf

72

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

Page 88: INTERFACING KOMPUTER.pdf

73

dengan EPP dan ECP membutuhkan tambahan hardware sehingga dapat berjalan

dengan kecepatan yang lebih tinggi. Mode kompatibilitas atau (“Mode Centronics”)

hanya dapat mengirimkan data pada arah maju pada kecepatan 50 KBytes per detik

hingga 150 KBytes per detik. Untuk menerima data, anda harus mengubah mode

menjadi mode nibble atau byte. Mode nibble dapat menerima 4 bit (nibble) pada arah

yang mundur, misalnya dari alat ke computer. Mode byte menggunakan fitur bi-

directional parallel untuk menerima 1 byte (8 bit) data pada arah mundur. IRQ

(Interrupt Request) pada port paralel biasanya pada IRQ5 atau IRQ7.

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 paralel por t dua arah

Page 89: INTERFACING KOMPUTER.pdf

74

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 (EPP)

EPP sudah mengikuti standar IEEE 1284. Hal yang utama dalam EPP adalah bahwa

EP mampu mentansfer sata sebesar 500 kBps hingga mendekati 2 MBps dan juga

bahwa jalur data dapat berfungsi dua arah, input maupun output. Protokol EPP

mempunyai 4 macam siklus transfer data yang berbeda yaitu :

1. Siklus baca data (Data read)

2. Siklus baca alamat (Address Read)

3. Siklus tulis data (data write)

4. Siklus tulis alamat (address write)

Siklus data digunakan untuk mentrasfer data antara host dan peripheral. Siklus alamat

digunakan untuk mendefinisikan alamat, saluran (channel) atau informasi perintah dan

kontrol antara 2 (dua) alat.

Tabel 5.3 Sinyal EPP

Sinyal EPP Pin Aktif I/O Diskripsi

Write

Data Str

Add Str

Init

Init

Wait

User defined

User defined

1

14

17

16

10

11

12

13

LOW

LOW

LOW

LOW

LOW

H/L

H/L

H/L

O

O

O

O

I

I

I

I

Proses wait sedang berjalan

Data read atau data write

Addr read atau addr write

Reset peralatan

Interupsi dari alat ke PC

Cadangan

Cadangan

Cadangan

Page 90: INTERFACING KOMPUTER.pdf

75

User defined

Adx

15

2-9

H/L

HIGH

I

I/O

Cadangan

Jalur data dan alamat 2 arah

5.2.5 Extended Capability Port (ECP)

Perkembangan paralel port berikutnya adalah dengan diperkenalkannya ECP, sebuah

protokol yang diajukan oleh Microsoft dan Hawlet Packard sebagai mode lanjut untuk

komunikasi dengan peripheral jenis scanner dan printer. Terdapat 2 tipe transfer data

(sebagai transfer 2 data), yaitu:

1. Siklus data, dan

2. Siklus ‘Command’

Tabel 5.4 Sinyal ECP

Sinyal ECP Pin Aktif I/O Diskripsi

HostClk

HostAck

1284 Active

Reverse Reg

PerphAck

PerphClk

Ack reverse

PerphRequest

Data

1

14

17

16

11

10

12

15

2-9

LOW

HIGH

HIGH

LOW

HIGH

LOW

LOW

LOW

HIGH

O

O

O

I

I

I

I

I

I/O

Dipakai oleh peripheral untuk transfer

data atau alamat secara forward LOW

bila data valid

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

Dipakai HostAck untuk transfer data atau

alamat secara reverse

LOW untuk mengetahui request mode

reverse

Diset LOW oleh alat luar untuk

menunjukkan bahwa saluran reverse bisa

dipakai

Pertukaran data peripheral dan PC

Page 91: INTERFACING KOMPUTER.pdf

76

5.2.6 Aplikasi Port Paralel

Berikut ini akan dibahas tentang aplikasi port paralel menggunakan smport, smport

merupakan paket package untuk Delphi yang khusus digunakan untuk dapat

mengakses paralel port komputer. Berikut akan dipaparkan langkah pembuatan

program kontrol port paralel.

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

Gambar 5.4 Form in ter facing kontrol por t paralel

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

2. Tambahkan deklarasi variabel dengan nama data dan baru dengan tipe datanya

adalah integer seperti pada gambar 5.5 dibawah ini:

Gambar 5.5 deklarasi var iable

Page 92: INTERFACING KOMPUTER.pdf

77

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

Page 93: INTERFACING KOMPUTER.pdf

78

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

Page 94: INTERFACING KOMPUTER.pdf

79

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

Page 95: INTERFACING KOMPUTER.pdf

80

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:

Gambar 5.6 hasi l eksekusi program kon trol lampu LED

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

Page 96: INTERFACING KOMPUTER.pdf

81

Gambar 5.7 Rangkaian uji coba un tuk mengakses paralel 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 Pengontrolan dengan Relai

Untuk mengakses peralatan dengan beban yang besar dan untuk mencegah terjadinya

pembebanan berlebihan pada port paralel, maka digunakan rangkaian

penyangga/buffer. Gambar 5.8 dibawah ini memperlihatkan rangkaian penyangga

dengan penggerak relai.

Page 97: INTERFACING KOMPUTER.pdf

82

Gambar 5.8 Rangkaian penyangga dengan penggerak rela i

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

dari 74LS224 terhubung ke masing-masing relai. Selanjutnya

sakelar pada setiap relai tersebut, bisa kita gunakan untuk

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!

Page 98: INTERFACING KOMPUTER.pdf

83

DAFTAR PUSTAKA

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

Page 99: INTERFACING KOMPUTER.pdf

84

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

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.

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.

1. Manfaat Mata Kuliah

2. Deskripsi Singkat

Page 100: INTERFACING KOMPUTER.pdf

85

Setelah mengikuti mata kuliah ini, mahasiswa diharapkan dapat melakukan interfacing peralatan

menggunakan komputer disertai dengan teknik grafik animasi menggunakan Delphi.

3. Tujuan Instruksional Umum

Page 101: INTERFACING KOMPUTER.pdf

86

Interfacing Peralatan dan pembuatan

Database

Komunikasi Data Serial

Interfacing Via Serial Port

Null Modem UART

Hardware

RS232C Konektor DB-9 dan DB-

25

Paralel Port

Hardware

Konektor DB-25

Interfacing via Paralel Port

Sinyal Port Paralel Enhanced Parallel Port

(EPP)

Extended Capability Port (ECP)

Bi-Directional Port

VCL

Tab Standard Demo VCL

ODBC ADO, ADOTable

Aplikasi Program VCL

Structured Query Language (SQL

Add, Delete, etc

VCL

Elemen Grafik Chart

4. Organisasi Materi

Page 102: INTERFACING KOMPUTER.pdf

1

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.

5. Strategi Perkuliahan

Page 103: INTERFACING KOMPUTER.pdf

2

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

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.

6. Materi Kepustakaan

7. T u g a s

Page 104: INTERFACING KOMPUTER.pdf

3

Penilaian akan dilakukan oleh dosen Penanggung Jawab dengan menggunakan kriteria

sebagai berikut :

Nilai Point Range

A 4 80 - 100

B 3 70 - 79

C 2 60 - 69

D 1 50 - 59

E 0 0 - 49

Dalam menentukan nilai akhir akan digunakan pembobotan sebagai berikut :

Kedisiplinan

Tugas & Kuis

UTS

UAS

Praktek

Kedisplinan 10 %

Tugas dan Kuis 15 %

Praktek 40 %

Ujian Tengah Semestar 15 %

Ujian Akhir Semester 20 %

8. Kriteria Penilaian

9. Jadwal Perkuliahan

Page 105: INTERFACING KOMPUTER.pdf

4

Pertemuan

Ke - Pokok Bahasan / Sub Pokok Bahasan Sumber Bacaan

1 Pendahuluan dan Kontrak Perkuliahan

IDE:

- Main window

- Object Inspector

- Object treeview

- Editor

- Membuat aplikasi sederhana

- Menyimpan, menjalankan program

3, 2

2 – 4 Komunikasi data serial

- Hardware

- Null modem

- Komunikasi serial RS232C

- Universal Asynchronous Receiver Transmitter (UART)

- Interfacing dengan serial port

1,2, 3, 5, 6

5, 6 dan 8 Komunikasi data paralel

- Hardware

- Sinyal port paralel

- Bi-Directional Port

- Enhanced Parallel Port (EPP)

- Extended Capability Port (ECP)

- Kontrol lampu LED

- Kontrol motor stepper

1,2, 3, 5, 6

7 MID TEST

7, 8 dan 9 Komunikasi data serial

- Hardware

- Null modem

- Komunikasi serial RS232C

- Universal Asynchronous Receiver Transmitter (UART)

- Interfacing dengan serial port

1,2, 3, 5, 6

10 dan 11 Komunikasi data paralel

- Hardware

- Sinyal port paralel

1,2, 3, 5, 6

Page 106: INTERFACING KOMPUTER.pdf

5

- Bi-Directional Port

- Enhanced Parallel Port (EPP)

- Extended Capability Port (ECP)

- Kontrol lampu LED

Final Selain final pemeriksaan dan pengujian tugas project