Saturday, 25 October 2014

Penggunaan Port Parallel dengan Menggunakan Pemrograman Delphi



INTERFACE


PENGGUNAAN PORT PARALLEL UNTUK MENAMPILKAN
NO BP DENGAN PEMROGRAMAN DELPHI


Oleh:
JODI CANDRA (11101152620144)

RIO GUSRIANTO (11101152620173)
Dosen Pembimbing:

ZULHARBI ST,MT




KELAS SK-3
FAKULTAS ILMU KOMPUTER
UNIVERSITAS PUTRA INDONESIA “YPTK” PADANG
2013/2014


SEKILAS TENTANG DELPHI
          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 tulisan ini adalah Delphi versi 7.0 . Bahasa pemograman yang digunakan Delphi adalah bahasa Pascal.

PENGERTIAN PORT PARALLEL

          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.
Gambar. Port Paralel / DB 25

Berikut ini adalah tabel penjelasan mengenaipin-pin pada konektor
parallel portDB 25.
Tabel1. Nama pin dari konektor parallel port DB 25.

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 :
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
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
LPTI
Data register (base address +0)
$378
Status register (base address +1)
$379
Control register (base address +2)
$37A
SOURCES CODE PROGRAM DENGAN DELPHI

TAMPILAN PADA KOMPUTER



SOURCE PROGRAM
implementation

{$R *.dfm}
function PortIn(port:word):byte;stdcall;external'IO.dll';
 procedure PortOut(port:word;data:byte);stdcall;external'IO.dll';
 procedure delay(lama:dword);
 var
 temp:dword;
 begin
 temp:=gettickcount;
 repeat
 application.processmessages;
 until(gettickcount-temp)>=lama;
 end;


procedure TForm1.Timer1Timer(Sender: TObject);
VAR
i:integer;
begin

i:=PortIn($379);

if i=104 then
for i:=0 to 3 do
begin
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$6D);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$7D); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$53); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=CLWHITE;
shape5.Brush.Color:=CLWHITE;
shape6.Brush.Color:=CLWHITE;
shape7.Brush.Color:=CLWHITE;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$4F); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
 end else if i=88 then
 for i:=0 to 3 do
   begin
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;

PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$6D);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$7D); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$5B);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$3F);delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clblue;
shape6.Brush.Color:=clblue;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$06);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$66); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=CLWHITE;
shape5.Brush.Color:=CLWHITE;
shape6.Brush.Color:=CLWHITE;
shape7.Brush.Color:=CLWHITE;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
PortOut ($378,$66); delay(300);
shape1.Brush.Color:=clblue;
shape2.Brush.Color:=clblue;
shape3.Brush.Color:=clblue;
shape4.Brush.Color:=clblue;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clblue;
PortOut ($378,$00);delay(300);
shape1.Brush.Color:=clwhite;
shape2.Brush.Color:=clwhite;
shape3.Brush.Color:=clwhite;
shape4.Brush.Color:=clwhite;
shape5.Brush.Color:=clwhite;
shape6.Brush.Color:=clwhite;
shape7.Brush.Color:=clwhite;
 END;
 END;








0 comments:

Post a Comment

luvne.com resepkuekeringku.com desainrumahnya.com yayasanbabysitterku.com