Anda di halaman 1dari 13

ALGORITMA DAN PEMROGRAMAN KOMPUTER

BAB I

TUJUAN

Pada praktek kali ini pratikan di harapkan dapat :

1. Mengenal alamat I/O Port Parallel


2. Membuat procedure dan fungsi assembly untuk akses I/O
3. Menggunakan dynamic library link (I/O.dll) untuk akses port parallel
4. Membangun aplikasi I/O port parallel sederhana

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

BAB II
PENDAHULUAN

Port Parallel merupakan port yang paling mendasar digunakan untuk interface
proyek yang dibuat. Port ini memungkinkan untuk menerima inputhingga 9 bit atau
output 12 bit, hanya memerlukan tambahan rangkaian luar yang minimal untuk
mengimplementasikan kerja yang sederhana. Port ini terdiri dari 4 line control, 5 line
status dan 8 line data. Terdapat dibagian belakang PC berupa konektor type-DB 25 pin
female.

Tabel ini memperlihatkan fungsi dari pin yang terdapat pada konektor type-DB
25 yaitu konektor yang digunakan pada port parallel. (Standard IEE 1284)

SPP No SPP Signal Direction


No Direction
Signal pin In/Out
pin In/Out
10 nAck In
1 nStrobe In/Out
11 Busy In
2 Data 0 Out
12 Paper-Out/Paper-End In
3 Data 1 Out
13 Select In
4 Data 2 Out
14 nAuto-Linefeed In/Out
5 Data 3 Out
15 nError/nFault In
6 Data 4 Out
16 nInitialize In/Out
7 Data 5 Out nSelect-Printer/nSelect-
17 In/Out
8 Data 6 Out In
9 Data 7 Out 18-25 Ground Gnd
Pin 1, 11, 14 dan 17 secara hardware merupakan
pin hardware inverted, artinya data yang dilewatkan dari pin tersebut di-inverting oleh
parallel card hardware. Huruf n yang terdapat pada nama signal menunjukkan bahwa
signal adalah aktif rendah (low), seperti nError. Jika printer mengalami gangguan
(error) maka jalur pin tersebut akan berlogika rendah. Dalam keadaan normal jalur ini
belogika tinggi.

Fungsi dari pin ini dapat dikelompokkan sebagai berikut :

Pin 2(Isb) s/d 9(msb) : fungsi sebagai line data 8 bit (arah keluar, out)
Pin 1, 14,16, 17 : fungsi sebagai line control (arah masuk/keluar, in/out)
Pin 10, 11, 12, 13, 15 : fungsi sebagai line status (arah masuk, in)

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

Alamat Port Parallel

Port parallel mempunyai 3 alamat yang biasa digunakan seperti diperlihatkan


pada table berikut ini :

Address Notes
3BCh - 3BFh Used for Parallel Ports which were incorporated on to Video Cards
378h - 37Fh Usual Address For LPT 1
278h - 27Fh Usual Address For LPT 2

Notasi huruf h pada alamat (address) seperti 3BCh, menunjukkan bahwa nilai
alamat adalah dalam bilangan hexadecimal bernilai 3BC. Alamat ini mungkin berbeda
antara satu mesin dengan mesin lainnya.
Alamat line data : 378h
Alamat line status : 379h
Alamat line control : 37Ah

Prosedur dan fungsi I/O dalam bahasa assembly

Fungsi Input Prosedur Output

Function bacaport (alamat : word) : byte; Procedure tulisPort (alamat : word, data:byte);
Var begin
Data : byte ; asm
Begin mov dx,alamat
Asm mov al,data
Mov dx,alamat out dx,al
In al,dx end;
Mov data,al end;
End;
bacaPort := data;
End

Prosedur dan fungsi seperti diatas tidak jalan pada computer Pentium 3 keatas. Untuk
mengatasi hal ini sebagai alternative dapat digunakan file dynamic library link (i/o.dll)

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

yang berada diluar file Delphi. File ini dicopykan ke folder sampai penyimpanan program
yang akan dibuat. Dideklarasikan pada bagian implementasi bagian atas.

Untuk mendeklarasikan file library i/o tersebut adalah sebagai berikut:

Procedure PortOut(Port:Word; Data :Byte);stdcall;external ‘io.dll’;


Function Portln (Port :Word): bytes; stdcall;external ‘io.dll’;

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

BAB III
LANGKAH KERJA

A. Mengetahui alamat berbagai interface dari computer

1. Klik kanan pada icon my computer, pilih property sehingga tampil jendela Sistem
Properties lalu pilih hardwere|Device Manager|Ports(c0m&LPT) sehingga terlihat
jendela tersebut.

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

2. Untuk melihat alamat port parallel (LPT/Printer Port) klik kanan pada printer Port
(LPT1) pilih properties|pilih resources, terlihat jendela alamat yang digunakan.
3. Melakukan pencarian alamat interface lainnya sesuai table berikut dan isikan ke table
tersebut.
No Interface Alamat No Interface Alamat
Port Parallel
1 (LPT1) 5 Mouse
2 Port Serial (Com1) 6 USB
Floppy disk
3 Port Serial (Com2) 7 controller
4 Keyboard 8 Speaker

B. Membangun Aplikasi Port Paralel Menggunakan prosedur dan fungsi I/O menggunakan
bahasa assembly.

1. Memilih menu file


2. Membuat aplikasi seperti gambar 2
3. Pada unuit yang tersedia membuat fungsi dan prosedur untuk baca_port dan tulis_port
dengan cara memasukkannya kedalam klas TForm1.

4. Membuat program untuk menagani event klik pada tombol baca Port decimal,

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

Private
{Private Declaration}
Function bacaPort(add:word):byte;
Procedure tulisPort(add:word;data:byte);
Public
{Private Declaration}
End;

Var
Form1:TForm1;

Implementation

{$R*.DFM}

Function TForm1.bacaPort(add:word):byte;
Var
Data :byte;
Begin
Asm
Mov dx.addr
In al,dx
Mov dat,al
End;
Result:=data;
End;

Procedure TForm1.tulisPort(addr:word;data:byte);
Begin
Asm
Mov dx,addr
Mov al,data

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

Out dx,al
End;
End;
Procedure TForm1.Button3Click(sender:TObject);
Begin
Edit1.text:=inttostr(portin($379));
End;
End.
5. Menjalankan program, jika terjadi error pada procedure atau function, berarti
procedure dan fungsi ini tidak jalan pada computer yang ada, hapus procedure dan
function tersebut gantikan dengan deklarasi procedure dan function dari io.dll, file
io.dll berada dalam folder yang sama dengan aplikasi.

Private
{ private declarations}
Public
{Public declarations}
End;
Var
Form1:TForm1;
Implementation
{$R*.DFM}
Procedure Portout(Port:word:Data:Byte);stdcall;ecternal’io.dll’;
Function PortLn (Port:Word):byte;stdcall;external’io.dll’;

Procedure TForm1.Button3click(Sender:TOcject);
Begin
Edit1.text:=inttostr(portin($379));
End;
End.
6. Membuat program untuk menangani event klik pada button baca Port in Hex sbb:

Procedure TForm1.button1click(Sender:Object);
Begin
FADILA RYAZ POLITEKNIK NEGERI PADANG
1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

Edit1.text:=Format(‘%X’,[portin($379)]);
End;

BAB IV
ANALISA

A. Analisa Port Parallel

Pada praktikum kali ini mengenai port parallel maka dapat praktikan analisa
berdasarkan praktikum yang telah praktikan lakukan.Praktek port parallel merupakan
sebuah dasar pada sebuah PC atau komputer yang dapat diprogram secara mudah untuk
melakukan proses kontrol ataupun terhadap perangkat keras lainnya. Untuk melakukan
akses ke port parallel sebuah PC maka kita harus mengetahui alamat dari masing–masing
port untuk mengetahiu alamat tersebut maka kita dapat menggunakan bahasa
assembly.dengan menggunakan bahasa tersebut maka kita dapat melakukan pengiriman
maupun penerimaan data dengan port parallel.Untuk program pengambilan data dari
interface diperlukan fungsi atau prosedur yang mampu membaca input dan output dari
port. Disini kita menggunakan io.dlldanFile io.dlluntuk interface ngnya. Pada program
ini kita membuat aplikasi port paralel menggunakan delphi dengan cara mendesain
interfacenya terlebih dahulu.
BErikut adalah bentuk interface yang praktikan buat pada Delphi.

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

Tampilan ini merupakan hasil percobaan bilangan hexadesimal.Dengan cara


mengubah bilangan hexadesimal menjadi bilangan desimal .
Sedangkan cara untuk menjalankan program ini kita menggunakan program dibawah ini.:

Private
{ Private declarations }
Public
{ Public declarations }
end;

Var
Form1: TForm1;

Implementation
{$R *.DFM}

Procedure PortOut(Port:Word; Data:Byte); stdcall; external 'io.dll';


Function PortIn(Port:Word): byte; stdcall;external 'io.dll';

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

Procedure TForm1.Button1Click(Sender: TObject);


Begin
Edit1.text:=format('%X',[PortIn($379)]);
End;
End.

Dengan menggunakan program diatas programnya tidak jalan jalan atau eror,
maka hapus prosedur dan fungsi tersebut gantikan dengan deklarasi prosedur dan fungsi
dari io,dll,file io.dll berada dalam folder yang sama dengan aplikasi .

Private
{private declaration}
Function bacaport (addr:word);byte;
Procedure tulisport(addr:word;data:byte);
Public
{public declaration}
End,
Var
Form1:TForm1;
Implementation
{$R*.DFM}

Function TForm1.bacaPort(addr:word):byte;
Var
Data:byte;
Begin
Asm
Movdx,addr
In al,x
Movdata,al
End;

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

Result:=data;
End;

Procedure TFrom1.tulisPort (addr:word;data:byte);


Begin
Asm
Movdx,addr
Moval,data
Out dx,al
End;
End;

Procedure TForm1.Button3Click(Sender:TObject);

Begin

Edit1.text:=inttostr(portin($379));

End;

End.

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI
ALGORITMA DAN PEMROGRAMAN KOMPUTER

BAB V
PENUTUP

Berdasrakan praktikum yang telah praktikan lakukan maka dapat praktikan dapat kan
kesimpulan sebagai berikut :

1. Penggunaan Prosedure dan fungsi I/O hanya hanya dapat digunakan dalam bahasa
assembly dan dapat dijalankan pada komputer pentium 3 keatas. Untuk mengatasinya
dapat digunakan file dynamic library link (i/o Berdasarkan hasil praktek, praktikan
mungkin gagal karena hasil program yang telah diisikan tidak berhasil untuk dijalankan.

FADILA RYAZ POLITEKNIK NEGERI PADANG


1101033032
II B EL MANDIRI

Anda mungkin juga menyukai