• No results found

E Book Interfacing Serial Dan Parallel Port Pada Delphi 7t

N/A
N/A
Protected

Academic year: 2021

Share "E Book Interfacing Serial Dan Parallel Port Pada Delphi 7t"

Copied!
185
0
0

Loading.... (view fulltext now)

Full text

(1)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

(2)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.2

Step by Step Interfacing Port Paralel dan Port Serial dengan Delphi 7

(3)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.3

Persembahan

Kupersembahkan buku ini untuk : Ayah dan Ibu tercinta

Kakak dan adik

(4)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.4

Kata Pengantar

Alhamdulillahi Robbil’alamin, Penulis mengucap syukur ke hadirat Allah SWT yang telah memberikan kemudahan kepada Penulis untuk menyelesaikan buku ini, pada dasarnya buku ini merupakan kumpulan pemrograman teknik interfacing port parallel dan port serial dengan Delphi yang pernah penulis peroleh baik dari bangku kuliah maupun dari pengalaman penulis di luar kuliah. Teknik interfacing yang ditulis pada buku ini adalah teknik termudah yang pernah penulis pelajari selama belajar teknik interfacing port parallel dan port serial dengan Delphi.

Buku ini ditujukan untuk programmer pemula dengan konsep tutorial step by step dengan harapan akan mempermudah proses belajar. Teori penunjang diberikan secara ringkas serta padat, diharapkan lebih mudah untuk difahami oleh pemula.

Penulis menyadari sepenuhnya bahwa pasti ada kekurangan dalam penulisan buku ini, untuk itu penulis mengharapkan kritik dan saran yang membangun dari pembaca buku ini, testimony dan

sebagainya dapat dikirim ke e-mail [email protected]

Sekian sedikit kata pengantar dari penulis semoga buku ini mampu memberikan manfaat kepada pembaca sekalian

(5)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .5 PERSIAPAN AWAL Software  Borland Delphi 7

 Bascom AVR (Include CD Bundle)  Extreem Burner (Include CD Bundle)

 Komponen SmallPort, komponen Comport (Include CD Bundle)

Hardware

Personal Computer dengan System Operasi Windows , Microsoft Windows 98, Microsoft Widows 2000 dan Windows XP(disarankan XP SP 1,2,3) + minimal Procesor Intel Pentium 3, harus ada Port Paralel /LPT/DB25 dan Port Serial/Com/DB 9

 Rangkaian driver relay untuk control peralatan listrik 220 volt

( dapat di beli di www.taufikadisanjaya.blogspot.com)

 Sistem Minimum Mikrokontroller AT Mega 16 atau AT Mega 8535 + RS 232 Converter ( dapat di beli di www.taufikadisanjaya.blogspot.com)

 Rangkaian sensor suhu ( dapat di beli di

www.taufikadisanjaya.blogspot.com)

 Downloader (disarankan USB Downloader) ( dapat di beli di www.taufikadisanjaya.blogspot.com)

(6)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .6 BAGIAN I PENGENALAN DELHI 7.0

Sekilas tentang Delphi 7.0

Borland Delphi sering disebut juga dengan Delphi. Delphi adalah sebuah perangkat lunak (software) yang digunakan untuk membuat aplikasi berbasis antarmuka grafis di lingkungan sistem operasi Microsoft Windows. Delphi dibuat oleh perusahaan Borland Software Corporation. Delphi telah ada sejak 1993 dan versi yang saya gunakan dalam pembuatan aplikasi di buku ini adalah Delphi versi 7.0 . Bahasa pemograman yang digunakan Delphi adalah bahasa Pascal.

IDE Delphi 7

Integrated Development Environment (IDE) adalah area kerja yang dipergunakan untuk membuat aplikasi mulai dari mendesain antarmuka atau tampilan, menulis source code program (coding),

menjalankan program (running), mendebug, mengkompilasi

(compile), dan menyebarluaskan aplikasi yang dibuat (deploy). Tampilan IDE Delphi adalah sebagai berikut:

(7)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.7

Gambar. IDE Delphi 7 Menu Bar dan Tool Bar

Menu bar merupakan tempat menggulung (pull-down) menu – menu perintah. Sebuah menu terdiri dari beberapa daftar perintah (menu command). Disebelah kiri masing – masing perintah terdapat sebuah ikon yang menggambarkan fungsinya.

Tool Bar adalah sekumpulan tombol yang dapat digunakan untuk melakukan suatu perintah. Fungsi Tool Bar sama dengan Menu Bar, namun keunggulannya adalah cepat diakses untuk menjalankan perintah tertentu.

(8)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.8

Gambar. Menu bar serta Tool Bar Delphi

Component Palette

Component Palette tempat kumpulan komponen Delphi Komponen Delphi dapat dibagi menjadi dua jenis, yaitu komponen visual dan komponen non visual. Komponen visual adalah kokmponen yang terlihat pada saat proses mendesain aplikasi maupun setelah aplikasi dijalankan. Sebagai contoh komponen Button dari Componet Pallete Standard. Sedangkan komponen non visual adalah komponen yang hanya terlihat pada saat proses mendesain aplikasi, namun tidak dapat terlihat pada saat aplikasi dijalankan. Sebagai contoh komponen Timer dari Componet Pallete System

(9)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.9

Form Designer

Form Designer , lebih umum disebut dengan Form adalah tempat meletakkan komponen – komponen yang diambil dari Component Palette saat men-desain antarmuka / tampilan aplikasi. Secara umum ketika anda memulai menjalankan Delphi maka akan tampil form secara otomatis seperti gambar berikut:

Gambar . Form Designer

CodeEditor

Code Editor adalah tempat untuk menuliskan Source Code

Aplikasi yang akan dibuat. Secara default Code Editor

(10)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.1

0

Gambar. Code Editor Object Inspector

Fungsi atau kegunaan Object Inspector adalah untuk

mengubah nilai properti komponen terpilih yang di dalam Form. Ada dua bagian utama pada Object Inspector, yaitu properties dan event. Pada setiap bagian tersebut terdapat dua buah kolom. Kolom disebelah kiri pada tab properties merupakan nama – nama properti dan kolom disebelah kanan adalah nilai – nilai yang diisikan pada properties. Sedangkan pada tab event, Kolom disebelah kiri merupakan nama – nama event dan kolom disebelah kanan adalah nilai – nilai yang diisikan event, umumnya event terkait dengan kondisi dimana source code harus dijalankan, semisal event Form Create berarti source code dijalankan ketika form dibuat.

(11)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.1

1

Gambar. Object Inspector (Tab Properties dan Tab Events) Object TreeView

Object TreeView berfungsi untuk menampilkan daftar komponen yang digunakan pada saat membuat aplikasi. Komponen – komponen ditampilkan dengan struktur pohon.

(12)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.1

2

Gambar. Object Tree View Komponen Delphi

Berikut ini adalah beberapa komponen yang sering digunakan saat pembuatan aplikasi dari Component Pallete Standard:

Tabel. Beberapa komponen dari Component Pallete Standard Component Pallete Standard

Ikon Nama Keterangan

Frames Membuka sebuah dialog

box yang menampilkan

daftar frames yang

(13)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.1

3

Label Menampilkan teks yang

tidak dapat diubah oleh user

Edit Menampilkan sebaris teks

yang dapat diisi oleh user

Memo

Menampilkan sebuah area

pengeditan dimana user

dapat memasukkan atau

memodifikasi beberapa

baris teks didalamnya

Button Untuk membuat tombol

tekan yang akan diisi

dengan suatu aksi tertentu

Listbox Menampilkan daftar pilihan

yang dapat digulung (scroll)

Scrollbar

Dapat digunakan untuk meluaskan area pandang di form

Radiogroup Digunakan untuk membuat

(14)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .1 4 File-file Delphi

Sebuah proyek Delphi akan terdiri dari berberapa file. Beberapa file berfungsi untuk menyimpan source code program dan ada file lain yang menyimpan kode binari, gambar dan sebagainya. Karena setiap aplikasi terdiri dari beberapa file. Sangat disarankan agar menyimpan sebuah aplikasi pada sebuah folder agar ketika akan dilakukan perubahan terhadap aplikasi tersebut di computer lain, semua file yang ada tersedia dalam satu buah folder.

Berbagai jenis file yang dibuat saat membangun aplikasi menggunakan Ddelphi adalah sebagai berikut :

Tabel.beberapa file dalam membangun aplikasi dengan Delphi

Ekstensi File Keterangan

.dpr File-file proyek

.dfm File-file form

.pas File-file unit

.dpk File-file paket

.res File-file Resource

.cfg File-file konfigurasi proyek

(15)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.1

5

.dcu File unit yang terkompilasi

.exe File yang dapat eksekusi

.dsk Pengaturan desktop

.~* File-file cadangan (backup)misal .~pas

.~dpr

Buku ini tidak membahas secara terperinci mengenai Delphi, namun lebih ke arah Tutorial step by step pembuatan Aplikasi untuk pengaksesan Port Paralel dan Serial pada Komputer (PC) dengan menggunakan Delphi. Proses pengaksesan Port Paralel dilakukan dengan komponen SmallPort, komponen ini merupakan tambahan yang harus di Install terlebih dahulu, sedangkan pengaksesan Port Paralel dilakukan dengan komponen ComPort, komponen ini juga merupakan tambahan (bukan bawaan Delphi).

(16)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .1 6 BAGIAN II

PEMROGRAMAN PORT PARALEL DENGAN DELPHI7.0

Port Paralel

Penggunaan utama Port paralel / LPT adalah untuk menghubungkan printer ke komputer dan dirancang khusus untuk tujuan ini. Sehingga sering juga disebut port printer . Konektor port paralel pada PC adalah DB25.

Port Paralel / Port LPT meskipun sudah banyak ditinggalkan penggunaanya, masih dipergunakan oleh sebagian kalangan yang ingin mempelajari transmisi data secara parallel. Kalangan akademis (pelajar dan mahasiswa) masih mempelajari komunikasi data parallel sebagai saranaemanambah ilmu pengetahuan.

Standar IEEE 1284 (1994) mendefinisikan lima mode transfer data untuk paralel port, yakni:

1) Compatibility Mode 2) Nibble Mode

3) Byte Mode 4) EPP 5) ECP

Standar pin-pin dari perangkat keras untuk konektor DB25 adalah sebagai berikut.

(17)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.1

7

Gambar. Port Paralel / DB 25

Berikut ini adalah tabel penjelasan mengenaipin-pin pada konektor parallel port DB 25.

Tabel1. Nama pin dari konektor parallel port DB 25.

No. Pin

Nama Sinyal Direction Register Komple-men

1 Strobe Out Control bit 0 Ya

2 Data 0 In/Out Data bit 0 Tidak

3 Data 1 In/Out Data bit 1 Tidak

4 Data 2 In/Out Data bit 2 Tidak

5 Data 3 In/Out Data bit 3 Tidak

6 Data 4 In/Out Data bit 4 Tidak

7 Data 5 In/Out Data bit 5 Tidak

8 Data 6 In/Out Data bit 6 Tidak

(18)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.1

8

Untuk lebih jelasnya setiap sinyal pada parallel Port dapat dijabarkan sebagai berikut :

Strobe/Stb:

Sinyal Strobe merupakan fungsi sinyal input pada printer. Saluran ini diaktifkan komputer jika ia akan meneruskan data ke printer.

Data 0 sampai data 7 :

Sinyal data merupakan sinyal input pada printer. Sinyal data disinkronkan (diserempakkan) oleh pulsa strobe.

Acknowledge/Ack :

10 Ack In Status bit 6 Tidak

11 Busy In Status bit 7 Ya

12 Paper

Out/Paper End

In Status bit 5 Tidak

13 Select In Status bit 4 Tidak

14 Auto-Linefeed Out Control bit 1 Ya

15 Error/Fault In Status bit 3 Tidak

16 Initialize Out Control bit 2 Tidak

17

Select- Printer/Select-in

Out Control bit 3 Ya

18-25

(19)

-DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.1

9

Sinyal ack merupakan sinyal output dari printer, Jika printer telah mengolah data yang diterimanya, maka dalam waktu max 30 mikrodetik ia memberikan sinyal jabat tangan (handshake) ini. Dalam bahasa Indonesia kata Acknowledge berarti “menyatakan telah diterima”.

Busy :

Sinyal busy merupakan sinyal output dari printer. Ketika printer menerima data atau mencetak sinyal ini diaktifkan. Demikian pula jika ada gangguan atau dalam status off line.

Paper End/PE :

Sinyal paper end merupakan sinyal output dari printer. Sinyal ini akan terus aktif sampai kertas baru dipasang lagi.

Select/Slt :

Sinyal select merupakan sinyal output dari printer. Dengan sinyal ini printer memberitahu bahwa ia sudah terpilih dan dalam keadaan aktif.

Auto Feed :

Jika sinyal ini diaktifkan, printer pada akhir setiap baris akan pindah ke baris selanjutnya secara otomatis.

Error

Keluaran ini aktif jika ada gangguan atau printer tidak tersambung atau tidak menyala

Reset

Dengan saluran ini printer kembali ke keadaan awal Input Select

(20)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.2

0

Pemilihan printer sebagai piranti DTE (Data Terminal Equipment) berlangsung pada saluran sinyal ini.

Alamat-alamat register pada Port Paralel

Alamat untuk masing-masing register dalam Port Paralel LPT 1 adalah sbb.

Tabel . Alamat register port paralel.

Register LPT1

data register(base address + 0) $378

status register(base address + 1) $379

control register(base address + 2) $37A

Small Port

Komponen Smallport pada Delphi 7.0 berfungsi sebagai komponen untuk menulis serta membaca data pada port parallel pada PC. Biasanya pemanfaatan pembacaan data pada port parallel adalah sebagai sarana untuk melakukan interfacing dengan peralatan diluar PC yang dikoneksikan ke PC melalui Port Paralel. Komponen ini dibuat oleh Alexander Weitzman yang bisa dihubungi melalui alamat

email [email protected].

Langkah – langkah Instalasi Komponen Small Port adalah sebagai berikut :

1. Buka Delphi

(21)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

1

Gambar. ekstraksi file smallport14.zip

3. Buka folder smallport14 (hasil ekstraksi), lalu copy file smallport.vxd dan smport.sys lanjut ke langkah 4.

(22)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

2

4. PASTIKAN : paste kan file smallport.vxd dan smport.sys ke directory C:\WINDOWS\system32\drivers

Gambar. Paste file smallport.vxd dan smport.sys

5. Buka Delphi 7, start Borland Delphi7.0 Delphi7.0 sehingga tampilan di monitor menjadi sebagai berikut:

(23)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

3

6. Menuju langkah penting dalam proses instalasi

7. PENTING : copykan folder hasil extraksi (folder smport14) ke C:\Program Files\Borland\Delphi7\Lib

Gambar . Paste folder smallport14

8. Kembali ke Delphi, open page tool environtment option klik pada page library

(24)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

4

Gambar . Menuju source path smallport14

(25)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

5

Gambar . mengarahkan browsing path

10. Setelah tombol kik di sini pada gambar di atas klik, akan muncul otak dialog directories sebagai berikut:

(26)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

6

Gambar . kotak dialog directories

11. Pada gambar diatas, lik pada tombol yang dilingkari merah,

selanjutnya arahkan ke directory C:\Program

Files\Borland\Delphi7\Lib\smport14 lalu klik OK, gambarnya sebagai berikut :

(27)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

7

Gambar . Mengarahkan directory smallport 14. 12. Buka page Component  Instal component :

Gambar. Page Component Akan muncul sebagai berikut :

(28)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

8

Gambar. Kotak dialog install component

13. Pada gambar di atas, klik tombol browse di sebelah Unit file name

Gambar 12. kotak dialog unit file name

14. Pada gambar di atas, buka folder smport 14 lalu double klik pada Smallport.pas

(29)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.2

9

Gambar. memilih smallport.pas

15. Akan muncul kotak dialog seperti di bawah ini, selanjutnya klik OK

Gambar 14. Menginstall komponen smallport 16. Akan muncul kotak dialog sebagai berikut :

(30)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.3

0

Gambar. kotak dialog konformasi instalasi komponen smallport 17. Jika komponen smallport berhasil di install, maka akan

muncul kotak informasi sebagai berikut :

Gambar. kotak informasi suksesnya proses instalasi

18. Selajutnya silakan buka component pallete System , anda akan mendapati sebuah komponen bernama Small Port telah terinstall pada komponen pallete tersebut :

Gambar. Komponen Smallport Pada Component Pallete System

Aplikasi pengubah data Biner (8bit) ke Decimal dan Hexa Decimal

Aplikasi ini berguna untuk mengubah data biner 8 bit ke dalam bentuk lain yakni decimal dan hexadecimal, Aplikasi ini dipergunakan untuk mempermudah konversi bilangan biner untuk ditulis (write) ke Port parallel yang tidak memungkinkan untuk

(31)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.3

1

menulis data dalam format tipe bit, data yang dapat di tulis ke Port Paralel adalah data bertipe Byte,Word, serta DWord.

Untuk dapat membuat Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal, masukkan komponen di dalam tabel berikut ini ke dalam Form1:

Tabel . Daftar komponen Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal

No Komponen Properti Nilai

Form1 Caption BINER TO DEC

AND HEXA

GroupBox1 Caption BINER

GroupBox1 Caption Hexa + Decimal

Label1 Caption D0 Label2 Caption D1 Label3 Caption D2 Label4 Caption D3 Label5 Caption D4 Label6 Caption D5 Label7 Caption D6 Label8 Caption D7

Label9 Caption Hexa

Label10 Caption Decimal

Edit1 Text 1

(32)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.3

2

Setelah itu susun tampilan menjadi :

Edit3 Text 1 Edit4 Text 1 Edit5 Text 1 Edit6 Text 1 Edit7 Text 1 Edit8 Text 1

Edit9 Text Kosongkan

Edit10 Text Kosongkan

Button1 Caption Low

Button2 Caption Low

Button3 Caption Low

Button4 Caption Low

Button5 Caption Low

Button6 Caption Low

Button7 Caption Low

Button8 Caption Low

Button9 Caption CONVERT HEXA

(33)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.3

3

Gambar. Desain Tampilan Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal

Setelah selesai penyusunan desain tampilan Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal, deklarasikan sebuah variable global dengan nama value dengan tipe integer sebagai mana gambar di bawah ini :

Gambar . Deklarasi variable Global.

Ketikkan Source Code sesuai dengan tabel di bawah ini: Tabel. Source Code Aplikasi Konverter bilangan Biner ke decimal dan

hexa decimal Nama

Komponen

Event SOURCE CODE

(34)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .3 4 if value = 1 then begin value:=0; button1.Caption:='High'; edit1.Text:=inttostr(value); end else if value = 0 then begin value:=1; edit1.Text:=inttostr(value); button1.Caption:='Low'; end;

Button2 OnClick value:=strtoint(edit2.Text); if value = 1 then begin value:=0; button2.Caption:='High'; edit2.Text:=inttostr(value); end else if value = 0 then begin value:=1; edit2.Text:=inttostr(value);

(35)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .3 5 button2.Caption:='Low'; end;

Button3 OnClick value:=strtoint(edit3.Text); if value = 1 then begin value:=0; button3.Caption:='High'; edit3.Text:=inttostr(value); end else if value = 0 then begin value:=1; edit3.Text:=inttostr(value); button3.Caption:='Low'; end;

Button4 OnClick value:=strtoint(edit4.Text); if value = 1 then begin value:=0; button4.Caption:='High'; edit4.Text:=inttostr(value); end else if value = 0 then

(36)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .3 6 begin value:=1; edit4.Text:=inttostr(value); button4.Caption:='Low'; end;

Button5 OnClick value:=strtoint(edit5.Text); if value = 1 then begin value:=0; button5.Caption:='High'; edit5.Text:=inttostr(value); end else if value = 0 then begin value:=1; edit5.Text:=inttostr(value); button5.Caption:='Low'; end;

Button6 OnClick value:=strtoint(edit6.Text); if value = 1 then

begin value:=0;

button6.Caption:='High'; edit6.Text:=inttostr(value);

(37)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .3 7 end else if value = 0 then begin value:=1; edit6.Text:=inttostr(value); button6.Caption:='Low'; end;

Button7 OnClick value:=strtoint(edit7.Text); if value = 1 then begin value:=0; button7.Caption:='High'; edit7.Text:=inttostr(value); end else if value = 0 then begin value:=1; edit7.Text:=inttostr(value); button7.Caption:='Low'; end;

Button8 OnClick value:=strtoint(edit8.Text); if value = 1 then

(38)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .3 8 value:=0; button8.Caption:='High'; edit8.Text:=inttostr(value); end else if value = 0 then begin value:=1; edit8.Text:=inttostr(value); button8.Caption:='Low'; end;

Button9 OnClick var

bit1,bit2,bit3,bit4,bit5,bit6,bit7,bit8,d ec1,dec2,dec3,dec4,dec5,dec6,dec7,d ec8,dec_tot:integer;

begin

bit1:= strtoint(Edit1.text);

if bit1=0 then dec1:=0 else

dec1:=1;

bit2:= strtoint(Edit2.text);

if bit2=0 then dec2:=0 else dec2:=2; bit3:= strtoint(Edit3.text);

if bit3=0 then dec3:=0 else

dec3:=4;

(39)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.3

9

if bit4=0 then dec4:=0 else

dec4:=8;

bit5:= strtoint(Edit5.text);

if bit5=0 then dec5:=0 else

dec5:=16;

bit6:= strtoint(Edit6.text);

if bit6=0 then dec6:=0 else

dec6:=32;

bit7:= strtoint(Edit7.text);

if bit7=0 then dec7:=0 else

dec7:=64;

bit8:= strtoint(Edit8.text);

if bit8=0 then dec8:=0 else

dec8:=128;

dec_tot:=dec1+dec2+dec3+dec4+dec 5+dec6+dec7+dec8;

edit10.Text:=inttostr(dec_tot); Button10 OnClick var str1,str2,hexa : string;

begin

str1 :=Edit4.Text + Edit3.Text + Edit2.Text + Edit1.Text;

if (str1 = '0000')then hexa :='0'; if (str1 = '0001')then hexa :='1';

(40)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .4 0 if (str1 = '0010')then hexa :='2'; if (str1 = '0011')then hexa :='3'; if (str1 = '0100')then hexa :='4'; if (str1 = '0101')then hexa :='5'; if (str1 = '0110')then hexa :='6'; if (str1 = '0111')then hexa :='7'; if (str1 = '1000')then hexa :='8'; if (str1 = '1001')then hexa :='9'; if (str1 = '1010')then hexa :='A'; if (str1 = '1011')then hexa :='B'; if (str1 = '1100')then hexa :='C'; if (str1 = '1101')then hexa :='D'; if (str1 = '1110')then hexa :='E'; if (str1 = '1111')then hexa :='F'; str2 := Edit8.Text + Edit7.Text + Edit6.Text + Edit5.Text ; if (str2 = '0000')then hexa :='0'+hexa; if (str2 = '0001')then hexa :='1'+hexa; if (str2 = '0010')then hexa :='2'+hexa; if (str2 = '0011')then hexa :='3'+hexa; if (str2 = '0100')then hexa

(41)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .4 1 :='4'+hexa; if (str2 = '0101')then hexa :='5'+hexa; if (str2 = '0110')then hexa :='6'+hexa; if (str2 = '0111')then hexa :='7'+hexa; if (str2 = '1000')then hexa :='8'+hexa; if (str2 = '1001')then hexa :='9'+hexa; if (str2 = '1010')then hexa :='A'+hexa; if (str2 = '1011')then hexa :='B'+hexa; if (str2 = '1100')then hexa :='C'+hexa; if (str2 = '1101')then hexa :='D'+hexa; if (str2 = '1110')then hexa :='E'+hexa; if (str2 = '1111')then hexa :='F'+hexa; Edit9.text :=hexa; end;

(42)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.4

2

Setelah itu lakukan eksekusi/run, berikut ini adalah tampilan pengujian Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal yang dibuat:

Gambar. Konversi biner ke Hexa decimal

(43)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.4

3

Membuat Aplikasi untuk mengakses Port Paralel Delphi (Pada Port Data (Pin D2-D9) / 378 )

1. Buka Delphi 7.0

2. Masukkan komponen sebagai berikut:

No Komponen Properti Nilai

1 Shape1 Name ShpLED1

Shape stCircle Height 41 Width 41 Brush Color clWhite Brush Style bsSolid

2 Shape2 Name ShpLED2

Shape stCircle Height 41 Width 41 Brush Color clWhite Brush Style bsSolid

3 Shape3 Name ShpLED3

Shape stCircle

(44)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .4 4 Width 41 Brush Color clWhite Brush Style bsSolid

4 Shape4 Name ShpLED4

Shape stCircle Height 41 Width 41 Brush Color clWhite Brush Style bsSolid

5 Shape5 Name ShpLED5

Shape stCircle Height 41 Width 41 Brush Color clWhite Brush Style bsSolid

6 Shape6 Name ShpLED6

Shape stCircle

Height 41

(45)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .4 5 Brush Color clWhite Brush Style bsSolid

7 Shape7 Name ShpLED7

Shape stCircle Height 41 Width 41 Brush Color clWhite Brush Style bsSolid

8 Shape8 Name ShpLED8

Shape stCircle Height 41 Width 41 Brush Color clWhite Brush Style bsSolid

9 EditText1 Name EdLED1

Text Kosongkan

10 EditText2 Name EdLED2

Text Kosongkan

(46)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .4 6 Text Kosongkan

12 EditText4 Name EdLED4

Text Kosongkan

13 EditText5 Name EdLED5

Text Kosongkan

14 EditText6 Name EdLED6

Text Kosongkan

15 EditText7 Name EdLED7

Text Kosongkan

16 EditText8 Name EdLED8

Text Kosongkan

17 Button1 Name BtnNyalaLED1

Caption NyalakanLED1

18 Button2 Name BtnNyalaLED2

Caption NyalakanLED2

19 Button3 Name BtnNyalaLED3

Caption NyalakanLED3

20 Button4 Name BtnNyalaLED4

Caption NyalakanLED4

21 Button5 Name BtnNyalaLED5

Caption NyalakanLED5

22 Button6 Name BtnNyalaLED6

Caption NyalakanLED6

23 Button7 Name BtnNyalaLED7

(47)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.4

7

24 Button8 Name BtnNyalaLED8

Caption NyalakanLED8

25 Button9 Name BtnMatiLED1

Caption MatikanLED1

26 Button10 Name BtnMatiLED2

Caption MatikanLED2

27 Button11 Name BtnMatiLED3

Caption MatikanLED3

28 Button12 Name BtnMatiLED4

Caption MatikanLED4

29 Button13 Name BtnMatiLED5

Caption MatikanLED5

30 Button14 Name BtnMatiLED6

Caption MatikanLED6

31 Button15 Name BtnMatiLED7

Caption MatikanLED7

32 Button16 Name BtnMatiLED8

Caption MatikanLED8

33 Button17 Name BtnOpenPort

Caption Open Port

34 Button18 Name BtnClosePort

Caption CloseProgram

35 SmallPort1 Name SmPort1

(48)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.4

8

Gambar 1. Tampilan Aplikasi yang akan dibuat

Sebelum membuat listing Aplikasi(source code) kita tentukan dahulu 2 buah variable yang akan dipergunakan yaitu data dan baru, dengan pengertian sebagai berikut:

 data adalah nilai yang akan dibaca dari port parallel berupa data 8 bit (1byte)

 baru adalah nilai yang akan ditulis ke port parallel setelah dilakukan “modifikasi” dengan logika and atau or untuk melakukan penge-set-an bit atau peng-clear-an bit data yang ditulis berupa data 8 bit (1byte) Penulisan penentuan variable ini dilakukan di bawah tulisan

(49)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.4

9

Form1: TForm1; Hasinya adalah sebagai berikut:

Gambar . Pendeklarasian variabel

NB :

Set Bit dapat dilakukan dengan mengoperasikan logika OR kepada data masuk dengan logika bernilai 1

Sebagai contoh

Data = 11111110 diperasikan dengan logika OR terhadap data 11111110 , maka

Menjadi 11111110 OR 11111111 hasilnya 1111 1111 Haslinya terjadi Set Bit terhadap data terakhir.

Clear Bit dapat dilakukan dengan mengoperasikan logika AND kepada data masuk dengan logika bernilai 0

Sebagai contoh

Data = 11111111 diperasikan dengan logika AND , terhadap data 1111 1110 maka

(50)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.5

0

Haslinya terjadi Clear Bit terhadap data terakhir

Pada pembahasan di atas, setiap data masih ditampilkan dalam bentuk biner (0 dan 1), pada penulisan Source Code, nantinya data harus di konversi terlebih dahulu ke dalam Format Hexadecimal,atau desimal jika anda belum memahami cara konversi data biner ke data decimal, silakan buka aplikasi yang ada pada CD bundle pada Folder Konversi Data Biner ke Hexa

Selanjutnya Proses membuat source code program secara menyeluruh agar Aplikasi dapat digunakan.:

Ketikkan Source code di bawah ini sesuai dengan masing – masing komponen yang dimaksud:

Tabel . Source Code Aplikasi Akses Port Paralel NO. NAMA

KOMPONEN

SOURCE CODE

1 BtnMatiLED1 data := SmPort1.ReadByte($378);

baru := data AND 254;

SmPort1.WriteByte($378,baru); ShpLED1.Brush.Color := clBlack; EdLED1.Text:='OFF';

2 BtnMatiLED2 data := SmPort1.ReadByte($378);

baru := data AND 253;

SmPort1.WriteByte($378,baru); ShpLED2.Brush.Color := clBlack; EdLED2.Text:='OFF';

(51)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.5

1

baru := data AND 251; smport1.WriteByte($378,baru); ShpLED3.Brush.Color := clBlack; EdLED3.Text:='OFF';

4 BtnMatiLED4 data := SmPort1.ReadByte($378);

baru := data AND 247 ; SmPort1.WriteByte($378,baru); ShpLED4.Brush.Color := clBlack; EdLED4.Text:='OFF';

5 BtnMatiLED5 data := SmPort1.ReadByte($378);

baru := data AND 239;

SmPort1.WriteByte($378,baru); ShpLED5.Brush.Color := clBlack; EdLED5.Text:='OFF';

6 BtnMatiLED6 data := SmPort1.ReadByte($378);

baru := data AND 223 ; SmPort1.WriteByte($378,baru); ShpLED6.Brush.Color := clBlack; EdLED6.Text:='OFF';

7 BtnMatiLED7 data := SmPort1.ReadByte($378);

baru := data AND 191;

SmPort1.WriteByte($378,baru); ShpLED7.Brush.Color := clBlack; EdLED7.Text:='OFF';

(52)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.5

2

baru := data AND 127;

SmPort1.WriteByte($378,baru); ShpLED8.Brush.Color := clBlack; EdLED8.Text:='OFF';

9 BtnNyalaLED1 data := SmPort1.ReadByte($378);

baru := data or 1;

SmPort1.WriteByte($378,baru); ShpLED1.Brush.Color := clRED; edLED1.Text:='ON';

10 BtnNyalaLED2 data := SmPort1.ReadByte($378);

baru := data or 2;

SmPort1.WriteByte($378,baru); ShpLED2.Brush.Color := clRED; edLED2.Text:='ON';

11 BtnNyalaLED3 data := SmPort1.ReadByte($378);

baru := data or 4;

SmPort1.WriteByte($378,baru); ShpLED3.Brush.Color := clRED; edLED3.Text:='ON';

12 BtnNyalaLED4 data := SmPort1.ReadByte($378);

baru := data or 8;

SmPort1.WriteByte($378,baru); ShpLED4.Brush.Color := clRED; edLED4.Text:='ON';

(53)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .5 3 baru := data or 16; SmPort1.WriteByte($378,baru); ShpLED5.Brush.Color := clRED; edLED5.Text:='ON'

14 BtnNyalaLED6 data := SmPort1.ReadByte($378);

baru := data or 32;

SmPort1.WriteByte($378,baru); ShpLED6.Brush.Color := clRED; edLED6.Text:='ON';

15 BtnNyalaLED7 data := SmPort1.ReadByte($378);

baru := data or 64;

SmPort1.WriteByte($378,baru); ShpLED7.Brush.Color := clRED; edLED7.Text:='ON';

16 BtnNyalaLED8 data := SmPort1.ReadByte($378);

baru := data or 128; SmPort1.WriteByte($378,baru); ShpLED8.Brush.Color := clRED; edLED8.Text:='ON'; 17 BtnOpenPort SmPort1.Opened:=true; 18 BtnCloseProgram Close;

(54)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.5

4

Gambar 3. Hasil eksekusi Aplikasi

Prototype Traffic Light pada Pertigaan Jalan dengan Delphi 7 Prototype ini adalah contoh pemrograman Delphi untuk mengendalikan Traffic light pada perempatan jalan, contoh program pada awalnya tidak di interface kan ke Paralel Port atau pun, hanya internal Delphi tanpa menggunakan hardware apapun. Pada pengembangan selanjutnya Program yang dibuat dapat di interface kan ke miniatur Traffic Light dengan Light Emiting Dioda (LED), baik melalui port parallel PC. Program dibuat sederhana dengan 1 buah Form, Timer, serta 9 buah buah Shape, dilengkapi dengan sebuah tombol Start untuk Memulai menjalankan Aplikasi, berikut ini adalah tampilan Programnya:

(55)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.5

5

Untuk dapat membuat aplikasi tersebut, masukkan komponen-komponen sebagai mana tabel di bawah ini :

Tabel. Komponen dalam pembuatan Prototype Traffic Light pada Pertigaan Jalan

No Komponen Properti Nilai

1 Shape1 Name Red1

Shape stCircle

2 Shape2 Name Yellow1

Shape stCircle

3 Shape3 Name Green1

Shape stCircle

4 Shape4 Name Red2

Shape stCircle

5 Shape5 Name Yellow2

Shape stCircle

6 Shape6 Name Green2

Shape stCircle

7 Shape7 Name Red3

Shape stCircle

8 Shape8 Name Yellow3

Shape stCircle

9 Shape9 Name Green3

(56)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .5 6 10 Label1 Name R1 Caption R1 11 Label2 Name Y1 Caption Y1 12 Label3 Name G1 Caption G1 13 Label4 Name R2 Caption R2 14 Label5 Name Y2 Caption Y2 15 Label6 Name G2 Caption G2 16 Label7 Name R3 Caption R3 17 Label8 Name Y3 Caption Y3 18 Label9 Name G3 Caption G3

19 Button1 Caption START

(57)

-DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.5

7

Susunlah komponen yang ada pada tabel di atas sehingga menjadi sebagai berikut :

Gambar1.Desain Tampilan Program Traffic Light Prototype pada pertigaan jalan dengan Delphi

(58)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.5

8

Berikut ini adalah table logika nyala LED pada Prototype Traffic Light dengan Delphi (pertigaan jalan ) yang dibuat:

Tabel. Logika nyala LED pada Prototype Traffic Light pertigaan jalan

No. R1 R2 R3 Y1 Y2 Y3 G1 G2 G3 TIME 1 1 0 1 0 0 0 0 1 0 5s 2 1 0 1 0 1 1 0 0 0 2s 3 1 1 0 0 0 0 0 0 1 5s 4 1 1 0 1 0 1 0 0 0 2s 5 0 1 1 0 0 0 1 0 1 5s 6 0 1 1 1 1 0 0 0 0 2s Ket: R1: Red1 R2: Red2 R3: Red3 Y1:Yellow1 Y2:Yellow2 Y3:Yellow3 G1:Green1 G2:Green2 G3:Green3 0 = OFF 1 = ON

Dari tabel di atas dapat dibuat listing source code program untuk membuat tampilan ProgramTraffic Light Prototype pada pertigaan jalan dengan Delphi, namun sebelum penulisan program diperlukan sebuah variable global untuk mengatur berjalannya waktu pada timer, variable ini diberi nama secon dengan type data berupa data integer, tuliskan pendeklarasian variable tersebut di bawah var, di atas implementation pada unit1.pas sehingga menjadi seperti gambar di bawah ini:

(59)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.5

9

Source code-nya dapat dilihat pada tabel di bawah ini Tabel. Source code Prototype Traffic Light pada Pertigaan Jalan

No Komponen Event SOURCE CODE

1 Button1 OnClik secon:=0;

timer1.Enabled:=true; timer1.Interval:=1000;

2 Timer1 OnTimer secon:=secon+1;

if second<=5 then begin Red1.Brush.Color:=clRed; Red2.Brush.Color:=clBlack; Red3.Brush.Color:=clRed; Yellow1.Brush.Color:=clBlack; Yellow2.Brush.Color:=clBlack; Yellow3.Brush.Color:=clBlack; Green1.Brush.Color:=clBlack; Green2.Brush.Color:=clLime; Green3.Brush.Color:=clBlack;

(60)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .6 0 End; if secon>5 then begin Red1.Brush.Color:=clRed; Red2.Brush.Color:=clBlack; Red3.Brush.Color:=clRed; Yellow1.Brush.Color:=clBlack; Yellow2.Brush.Color:=clYellow; Yellow3.Brush.Color:=clYellow; Green1.Brush.Color:=clBlack; Green2.Brush.Color:=clBlack; Green3.Brush.Color:=clBlack; end; if secon > 7 then begin Red1.Brush.Color:=clRed; Red2.Brush.Color:=clRed; Red3.Brush.Color:=clBlack; Yellow1.Brush.Color:=clBlack; Yellow2.Brush.Color:=clBlack; Yellow3.Brush.Color:=clBlack; Green1.Brush.Color:=clBlack; Green2.Brush.Color:=clBlack;

(61)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .6 1 Green3.Brush.Color:=clLime; end; if secon > 12 then begin Red1.Brush.Color:=clRed; Red2.Brush.Color:=clRed; Red3.Brush.Color:=clBlack; Yellow1.Brush.Color:=clYellow; Yellow2.Brush.Color:=clBlack; Yellow3.Brush.Color:=clYellow; Green1.Brush.Color:=clBlack; Green2.Brush.Color:=clBlack; Green3.Brush.Color:=clBlack; end; if secon > 14 then begin Red1.Brush.Color:=clBlack; Red2.Brush.Color:=clRed; Red3.Brush.Color:=clRed; Yellow1.Brush.Color:=clBlack; Yellow2.Brush.Color:=clBlack; Yellow3.Brush.Color:=clBlack; Green1.Brush.Color:=clLime;

(62)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.6

2

Langkah berikutnya adalah langkah Interfacing dengan Port Paralel terhadap LED yang dipergunakan sebagai Prototype Traffic

Green2.Brush.Color:=clBlack; Green3.Brush.Color:=clBlack; end; if secon>19 then begin Red1.Brush.Color:=clBlack; Red2.Brush.Color:=clRed; Red3.Brush.Color:=clRed; Yellow1.Brush.Color:=clYellow; Yellow2.Brush.Color:=clYellow; Yellow3.Brush.Color:=clBlack; Green1.Brush.Color:=clBlack; Green2.Brush.Color:=clBlack; Green3.Brush.Color:=clBlack; end; if secon = 21 then begin secon :=0; end;

(63)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.6

3

Light pada pertigaan, namun sebelumnya perlu dilalukan konversi data yang akan dikirim ke Port Paralel (LPT), dimana Pin nomer 2-9 mampu melayani 8 buah LED, dalam hal ini sekalian ditentukan bahwa LED R1,R2,R2,Y1,Y2,Y3,G1,G2 dilayani oleh Pin nomer 2-9 (port data). Sisanya yaitu G3 dilayani oleh Pin nomer 16 Port Parallel (pin control bit 2 pada port control). Hal ini dilakukan karena pin pada port control tersebut memiliki direction keluar / out dan logika yang tidak komplemen/sungsang sehingga dapat dipergunakan untuk melakukan aktivasi peralatan di luar PC dengan mudah tanpa harus memikirkan kondisi sinyal yang terbalik. Alamat Register Port Cotrol pada Port LPT1 adalah 37A (base address + 2 ).

Port Status hanya memiliki direction masuk / in sehingga tidak dapat dipergunakan sebagai pengontrol (dalam hal ini pengaktif peralatan di luar PC), dan hanya dapat digunakan untuk membaca kondisi sinyal yang ada pada port tersebut.

Setelah memahami sedikit teori tentang port parallel tersebut, lakukan konversi data dari masing-masing keadaan LED untuk menentukan data yang akan di kirim ke Port LPT sebagai pengendali nyala LED pada Prototype Traffic Light ,

Tabel nya adalah sebagai berikut

Tabel. Konversi data yang akan dikirim ke port data pada Port Paralel berdasarkan keadaan LED

(64)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.6

4

Kembali menegaskan pernyataan sebelumnya, untuk LED ke 9 dalam hal ini adalah led G1 dilayani oleh port control pada port parallel dan nomer pin yang dipilih adalah pin nomer 16 (port control bit 2). Sedangkan nilai data decimal yang akan dikirim ke alamat 37A (port control ) dapat ditentukan dengan table seperti di bawah ini: N o PIN D2 (R1 ) PIN D3 (R2 ) PIN D4 (R3 ) PI N D5 (Y1 PIN D6 (Y2 ) PIN D7 (Y3 ) PIN D8 (G1 ) PIN D9 (G2 ) Data decima l dikirim ke alamat 378 H 1 1 0 1 0 0 0 0 1 133 2 1 0 1 0 1 1 0 0 53 3 1 1 0 0 0 0 0 0 3 4 1 1 0 1 0 1 0 0 43 5 0 1 1 0 0 0 1 0 70 6 0 1 1 1 1 0 0 0 30

Keterangan : bit pertama adalah data pin D2 ( Least Significant Bit / LSB), sedangkan bit ke-8 adalah data pin D9 (Most Significant Bit / MSB), sehingga untuk mengubah biner ke decimal harus dibalik urutannya. Semisal pada baris pertama keadaan LED nilainya : 1010 0001 menjadi 1000 0101 = 133

(65)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.6

5

Tabel. Konversi data yang akan dikirim ke port control pada Port Paralel berdasarkan keadaan LED

Setelah diperoleh data yang akan di kirim ke port paralel sebagai pengendali nyala LED pada Prototype Traffic Light pada pertigaan jalan, selanjutnya adalah penulisan source code tambahan untuk pengendalian Prototype Traffic Light pada pertigaan jalan, namun diperlukan komponen tambahan yaitu SmallPort pada Component Pallete System untuk membaca dan menuliskan data ke Port parallel , serta komponen button sebagaimana tabel di bawah ini :

Tabel. komponen tambahan pada Aplikasi Prototype Traffic Light pada pertigaan jalan

No. PIN C0 ( 0) PIN C1 ( 0 ) PIN C2 ( G3) PIN C3 ( 0 ) Data decimal dikirim ke alamat 37A 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 1 0 4 4 0 0 0 0 0 5 0 0 1 0 4 6 0 0 0 0 0

Keterangan : PIN C0,C1,C3 dianggap saja dikirim data 0, karena tidak dikoneksikan ke LED

(66)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.6

6

sehingga tampilan program menjadi sebagai berikut:

Gambar. Penambahan komponen smallport dan Button 1

Source code tambahan dapat dilihat pada tabel di bawah ini:

Tabel. Source code tambahan Prototype Traffic Light Pertigaan Jalan No Komponen Properti Nilai

1 SmallPort -

-2 Button 2 Caption Open Port Driver

No. Komponen Event SOURCE CODE

TAMBAHAN 1 Button 2 OnClick SmallPort1.Opened;

(67)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION H al .6 7 Begin Smallport1.WriteByte($378,133 ); Smallport1.WriteByte($37A,0);

//di bawah if secon>5 then Begin

Smallport1.WriteByte($378,53); Smallport1.WriteByte($37A,0);

//di bawah if secon>7 then Begin

Smallport1.WriteByte($378,3); Smallport1.WriteByte($37A,4);

//di bawah if secon>12 then Begin

Smallport1.WriteByte($378,43); Smallport1.WriteByte($37A,0);

//di bawah if secon>14 then Begin

Smallport1.WriteByte($378,70); Smallport1.WriteByte($37A,4);

(68)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.6

8

//di bawah if secon>19 then Begin

Smallport1.WriteByte($378,30); Smallport1.WriteByte($37A,0);

Keterangan SOURCE CODE TAMBAHAN Apabila source code awal pada timer adalah if secon<=5 then begin Red1.Brush.Color:=clRed; Red2.Brush.Color:=clBlack; Red3.Brush.Color:=clRed; Yellow1.Brush.Color:=clBlack; Yellow2.Brush.Color:=clYellow; Yellow3.Brush.Color:=clYellow; Green1.Brush.Color:=clBlack; Green2.Brush.Color:=clBlack; Green3.Brush.Color:=clBlack; end;

maka sebelum end; tambahkan source code yang ada di kolom SOURCE CODE TAMBAHAN

sehingga menjadi sebagai berikut: if second<5 then

begin

(69)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.6

9

Selanjutnya lakukan proses running aplikasi, tampilan aplikasi yang telah dibuat adalah sebagai berikut :

Smallport1.WriteByte($37A,0); Red1.Brush.Color:=clRed; Red2.Brush.Color:=clBlack; Red3.Brush.Color:=clRed; Yellow1.Brush.Color:=clBlack; Yellow2.Brush.Color:=clYellow; Yellow3.Brush.Color:=clYellow; Green1.Brush.Color:=clBlack; Green2.Brush.Color:=clBlack; Green3.Brush.Color:=clBlack; end;

(70)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT

H

al

.7

0

Gambar . Aplikasi Prototype Traffic Light pada Pertigaan Jalan dengan Delphi 7

Prototype Traffic Light perempatan jalan dengan Delphi

Prototype ini adalah pengembangan dari Prototype Traffic Light pertigaan jalan dengan Delphi yang telah dibahas sebelumnya.Pada pengembangan selanjutnya aplikasi yang dibuat dapat di interface kan ke miniatur Traffic Light dengan Light Emiting Dioda (LED), melalui port parallel PC. Program dibuat sederhana dengan 1 buah Form,1buah komponen Smallport,1buah Timer, serta 12 buah buah Shape, dilengkapi dengan sebuah tombol Start untuk mulai Menjalankan Aplikasi, berikut ini adalah tampilan Programnya:

(71)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.7

1

Gambar1.Desain Tampilan Program Prototype Traffic Light dengan Delphi

Berikut ini adalah table logika nyala LED pada Prototype Traffic Light dengan Delphi (perempatan jalan ) yang dibuat:

Tabel . Logika nyala LED pada Prototype Traffic Light pada Perempatan Jalan N o R 1 R 2 R 3 R 4 Y 1 Y 2 Y 3 Y 4 G 1 G 2 G 3 G 4 tim e 1 1 0 1 1 0 0 0 0 0 1 0 0 5s 2 1 0 1 1 0 1 1 0 0 0 0 0 2s 3 1 1 0 1 0 0 0 0 0 0 1 0 5s 4 1 1 0 1 0 0 1 1 0 0 0 0 2s 5 1 1 1 0 0 0 0 0 0 0 0 1 5s 6 1 1 1 0 1 0 0 1 0 0 0 0 2s 7 0 1 1 1 0 0 0 0 1 0 0 0 5s 8 0 1 1 1 1 1 0 0 0 0 0 0 2s Keterangan : R1, R2, R3, R4 = Y1, Y2, Y3, Y4 = G1, G2, G3, G4 = 0 = OFF

(72)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.7

2

Langkah berikutnya adalah langkah Interfacing dengan Port Paralel terhadap LED yang dipergunakan sebagai Prototype Traffic Light pada perempatan Jalan, namun sebelumnya perlu dilalukan konversi data yang akan dikirim ke Port Paralel (LPT), dimana Pin D2-D9 mampu melayani 8 buah LED, dalam hal ini sekalian ditentukan bahwa LED R1,R2,R2,R4,Y1,Y2,Y3,Y4 dilayani oleh Pin D2-D9. Sisanya yaitu 4 buah LED G1,G2,G3,G4 dilayani oleh Pin-pin pada port status.

Setelah jelas pembagian pelayanan LED oleh Port Paralel PC, lakukan konversi data dari masing-masing keadaan LED untuk menentukan data yang akan di kirim ke Port LPT sebagai pengendali nyala LED pada Prototype Traffic Light ,

Tabel. Konversi data yang akan dikirim ke Port Data pada Port Paralel berdasarkan keadaan LED

No PIN D2 R1 PIN D3 R2 PIN D4 R3 PIN D5 R4 PIN D6 Y1 PIN D7 Y2 PIN D8 Y3 PIN D9 Y4 Data decimal dikirim ke alamat 378 H 1 1 0 1 1 0 0 0 0 13 2 1 0 1 1 0 1 1 0 109 3 1 1 0 1 0 0 0 0 11 4 1 1 0 1 0 0 1 1 203 5 1 1 1 0 0 0 0 0 7

(73)

DILARANG MENGEDARKAN TANPA IZIN SEBAGIAN ATAU SELURUH ISI DARI E-BOOK INI TANPA IZIN TERTULIS DARI PENULIS

PLEASE DO NOT COPY AND DISTRIBUTE TO ANOTHER WITHOUT PERMISSION

H

al

.7

3

Sedangkan untuk LED ke 9-12 dalam hal ini adalah LED G1-G4 dilayani oleh port status pada port parallel. Berikut ini adalah tabel untuk penentuan data yang akan di kirim ke Port LPT pada Alamat 37A :

Tabel. Konversi data yang akan dikirim ke port data pada Port Paralel berdasarkan keadaan LED

Penjelasan untuk aplikasi ini, kurang lebih sama hanya saja dengan Aplikasi Prototype Traffic Light pada pertigaan jalan, hanya

6 1 1 1 0 1 0 0 1 151 7 0 1 1 1 0 0 0 0 14 8 0 1 1 1 1 1 0 0 62 No. PIN G1 Invert PIN G2 Invert PIN G3 Noninv PIN G4 Invert Data decimal dikirim ke alamat 37A 1 0 1 0 0 2 2 0 0 0 0 0 3 0 0 1 0 4 4 0 0 0 0 0 5 0 0 0 1 8 6 0 0 0 0 0 7 1 0 0 0 1 8 0 0 0 0 0

References

Related documents