CARD PROGRAMMABLE PERIPHERAL INTERFACE (PPI) 8255

## YANG MENGHUBUNGKAN SENSOR OPTOCOUPLER
SEBAGAI READER/PEMBACA KODE BAR DENGAN PERSONAL COMPUTER (PC)
Sunu Jatmika, S. Kom Amrullah Mudzakkir

## ABSTRAKSI
Beberapa  tahun  terakhir  ini  kemajuan  teknologi  makin  berkembang  dengan  cepat  tetapi banyak  juga  akademik-akademik  yang  belum  mengikutinya.  Mungkin  karena  terlalu  mahalnya mengikuti  teknologi  itu  merupakan  faktor  utama  bagi  akademik-akademik  kecil.  Misalnya  dalam pengolahan  data  sistem  akademik  bagi  mahasiswa,  untuk  akses  ke  databasenya  mahasiswa  harus menginputkan data-data mahasiswa yang bersangkutan menggunakan keyboard.
Melihat  kenyataan  tersebut  penulis  mencoba  membuat  suatu  peralatan  pembaca  kode  bar kartu  mahasiswa  dengan  menggunakan  sensor  optocoupler.  Pengadaan  peralatan  ini  relatif  cukup murah  dibandingkan  dengan  pembaca  kode  bar  dengan  menggunakan  scanning  barkode  yang selama  ini  telah  banyak  beredar  dipasaran  dengan  tanpa  mengurangi  manfaat  yang  bisa  diperoleh dari keduanya.

## PENDAHULUAN

## 1. Latar Belakang
Komputer merupakan piranti elektronik yang fungsi semula hanya digunakan sebagai Unit Aritmatika  Logik  (ALU)  atau  sebagai  alat  hitung  saja,  dan  akhir-  akhir  ini  fungsi  tersebut bertambah  dan  beragam  misalkan  sebagai  pengolah  data  untuk  dijadikan  sesuatu  informasi  dan bahkan  untuk  game.  Dimana  komputer  dilihat  dari  segi  hardwarenya  mempunyai  banyak  ragam slot-slot  atau  soket-soket  yang  ada  di motherboard- nya  antara  lain  slot Peripheral  Component Interconnect  (PCI) adalah  bus  yang  memiliki  kecepatan  tinggi  yaitu  diatas  16  bit  yang dikembangkan oleh  Intel untuk mendukung  komputer yang berbasis processor seri 486 keatas dan slot Industry Standard Architecture (ISA) adalah slot ekspansi 8 bit dan 16 bit yang digunakan pada komputer XT dan AT.
Untuk  pengoptimalan  PC  pada  kampus  Asia  Malang  sekarang  ini  masih  kurang  optimal karena dalam sistem akademik  untuk akses ke database mahasiswa masih menggunakan  keyboard untuk  memulai  aksesnya  yaitu  untuk  login  harus  memasukkan  Nomor  Induk  Mahasiswa  (NIM) melalui  keyboard.  Jika  bisa  memanfaatkan  slot-slot  yang  ada  pada  PC  akan  dapat  lebih mengoptimalkan  lagi.  Penulis  disini  melakukan  riset  dengan  memanfaatkan  slot  ISA  untuk menempatkan  PPI  8255  sebagai  penghubung  suatu  alat  pembaca  kode  bar  (optocoupler)  yang penulis buat sendiri dengan database yang tersimpan diserver. Dimana nantinya bisa memanfaatkan Kartu  Tanda  Mahasiswa  (KTM)  sebagai  akses  untuk  login.  Sebelum  KTM  tersebut  digunakan untuk akses harus diberi kode bar terlebih dahulu.

## 2. Rumusan Masalah
Perumusan  masalah  ditekankan  pada  bagaimana  mewujudkan  suatu  alat  yang  dapat dipergunakan untuk membaca kode bar yang terdapat pada kartu tanda mahasiswa, sehingga dapat berguna  semaksimal  mungkin  misalnya  untuk  mengakses  sistem  akademik  dan  untuk  kartu perpustakaan.  Dimana  alat  pembaca  kode  bar  tersebut  bisa  dibuat  sendiri  dengan  memanfaatkan sensor optocoupler.
3. Batasan Masalah
1. Pembacaan kode bar dibatasi 16 bit.
2. Rangkaian sensor optocoupler.
3. Interface PPI 8255 sebagai interface.
4. Perancangan dan pembuatan KTM.
5. Simulasi koneksi sensor optocupler ke PPI 8255.
4. Tujuan
Tujuan penelitian ini adalah untuk mengetahui PPI 8255 sebagai interface ke PC dan sensor optocouplernya sebagai pembaca kode bar.
5. Metode Penelitian
a. Metode studi literatur/studi kepustakaan dengan mencari dan membaca buku-buku yang berkaitan dengan tema penelitian.
b. Metode studi eksperimen, berdasarkan hasil analisa penulis membuat alat dan program untuk pembacaan kode bar dengan menggunakan sensor optocoupler dan PPI 8255 sebagai interface ke PC.

## TINJAUAN PUSTAKA

## 1. Konsep Komunikasi Data
Apabila  komputer/mesin  merupakan  produk  dari  berbagai  pabrik,  diperlukan  suatu  aturan agar  pengirim  dan  penerima  mengerti  informasi  yang  dikirim,  jadi  dalam  komunikasi  data  juga memerlukan  sebuah  peraturan  atau  prosedur  yang  saling  menterjemahkan  bahasa  yang  dipakai pengirim dan penerima. Aturan itu adalah protokol, yaitu suatu kumpulan dari aturan  –aturan yang berhubungan dengan komunikasi data agar komunikasi data dapat dilakukan dengan benar. Protokol pada  dasarnya,  adalah  sebuah  persetujuan  semua  pihak  yang  berkomunikasi  tentang  bagaimana komunikasi tersebut harus dilakukan.
Secara  umum  untuk  jaringan  sekarang,  pembakuan  yang  paling  banyak  digunakan  adalah model  yang  dibuat  oleh International  Standard  Organization (ISO)  yang  dikenal  dengan Open System  Interconnection (OSI).  Model  OSI  tidak  membahas  secara  detail  cara  kerja  dari  lapisan- lapisan OSI, melainkan hanya memberikan suatu konsep dalam menentukan proses apa yang harus terjadi, dan protokol-protokol apa yang dapat dipakai di suatu lapisan tertentu.
Model OSI dibagi atas tujuh lapisan ( layer ) yang masing-masing lapisan mempunyai fungsi dan aturan tersendiri. Tujuan pembagian adalah untuk mempermudah pelaksanaan standar  tersebut secara praktis dan  untuk memungkinkan fleksibilitas dalam arti perubahan salah satu lapisan tidak mempengaruhi perubahan dilapisan lain. Berikut ini akan dijabarkan mengenai fungsi dari masing- masing lapisan:
a) Lapisan Aplikasi ( Application Layer )
Merupakan interface pengguna dengan Layer OSI lainnya di layer inilah aplikasi-aplikasi jaringan  berada  seperti  e-mail,  ftp,  http,danlain  sebagainya.  Tujuan  dari  layer  ini  adalah menampilkan data dari layer dibawahnya kepada pengguna.
b) Lapisan Presentasi ( Presentation Layer) Berfungsi  mengubah  data  dari  layer  diatasnya  menjadi  data  yang  bisa  dipahami  oleh semua jenis hardware dalam jaringan.
c) Lapisan Session ( Session Layer )
Berfungsi mensinkronisasikan pertukaran data antar proses aplikasi dan mengkoordinasikan komunikasi antar aplikasi yang berbeda.
d) Lapisan Transport ( Transport Layer )
Layer  ini  menginisialisasi,  memelihara,  serta  mengakhiri  komunikasi  antar komputer,selain itu juga memastikan data  yang dikirim benar serta memperbaiki  apabila terjadi kesalahan.
e) Lapisan Network ( Network Layer )
Berfungsi untuk menyediakan routing fisik, menentukan rute yang akan ditempuh.
f) Lapisan Data Link ( Data Link Layer )
Layer  ini  berwenang  untuk  mengendalikan  lapisan  fisik,  mendeteksi  serta  mengkoreksi kesalahan yang berupa gangguan sinyal pada media transmisi fisik.
g) Lapisan Fisik ( Physical Layer )
Menangani  koneksi  fisik  jaringan  dan  prosedur-prosedur  teknis  yang  berhubungan langsung dengan media transmisi fisik.
2. Programable Peripheral Interface (PPI) 8255
Salah  satu  serpih  perantara  yang  digunakan  untuk  mengantarmukakan  jajar  ( paralel interfacing ) adalah PPI ( Programable Peripheral Interface ) 8255. PPI 8255 bersifat serba guna dan merupakan suatu perantara yang dapat diprogram. Serpih ini diproduksikan oleh Intel Coorporation dan  dikemas  dalam  bentuk  40  pin  dual  in  package,  serta  dirancang  untuk  berbagai  fungsi pengantarmukaan  dalam  mikroprosessor.  PPI  8255  memiliki  24  pin  I/O  yang  dalam pengoperasiannya  dapat  diprogram.  Ke  24  pin  I/O  tersebut  dibagi  menjadi  tiga  port  (  bandar  ) masing  –  masing  8  bit.  Port  –  port  tersebut  adalah  port  A  (PA0-  PA7),  port  B  (PB0-PB7),  port  C (PC0- PC7). Pengendalian port I/O pada PPI dibagi menjadi dua grup, yaitu grup A yang terdiri port A dan 4 bit port C atas (PC4-PC7) dan grup B terdiri dari port B dan 4 bit port C bawah (PC0-PC3).
Sebagai  jalur  untuk  transfer  data  dari  dan  ke  PPI  8255  disediakan  saluran  8  bit  (D0-D7). Bus  data  dari  PPI  ini  dapat  dihubungkan  langsung  dengan  bus  data  dari  mikrokomputer. Penyemat/pinout dari PPI 8255 diberikan pada gambar berikut ini.
Gambar Penyemat/ PinOut PPI 8255
Proses  pembacaan  dan  penulisan  data  dari  dan  ke  PPI  8255  dapat  dilakukan  dengan program.  Salah  satu  register  yang  akan  dituju  dari  ketiga  port  dan  register  kontrol  tersebut ditentukan  dengan  kombinasi  penyemat  A0  dan  A1.  Tabel  dibawah  menyatakan  format  operasi dasar pembacaan/ penulisan dan pengalamatan dari 3 port I/O dan register kendali PPI 8255.
Tabel Operasi Dasar PPI 8255

## 3. Mode operasional PPI 8255
PPI 8255 dapat dioperasikan dalam tiga mode yaitu mode 0 atau basic input/ output, mode 1  atau  strobe  input/  output  dan  mode  2  atau  bidirectional  bus.  Pemilihan  mode  seleksi  tersebut dilakukan dengan menggunakan  kontrol word (kata kendali) yang selanjutnya disimpan di internal register  PPI  8255.  Gambar  2.2.  dibawah  ini  menunjukkan  mode  operasi  dan  gambar  2.3. menunjukkan format kata kendali.

## Mode 0 – basic input/ output
Mode  ini  digunakan  untuk  input/  output  sederhana  langsung  ke  port  I/O.  Peralatan  luar yang  dihubungkan  selalu  siap  untuk  mengirim  dan  menerima  data,  sehingga  mode  ini  tidak tergantung pada waktu. Semua Port A, B, dan C bisa bekerja pada mode ini. Port  – port PPI hanya bisa  digunakan  sebagai  port  input  atau  output  dari  sistem  prosesor.  Port  A  dan  port  B  masing  – masing  dapat  digunakan  sebagai  8  bit  masukan  atau  8  bit  keluaran  saja.  Sedangkan  Port  C  dapat digunakan sebagai 4 bit masukan atau 4 bit keluaran seperti Port A dan Port B.

## Mode 1 – strobe input/ output
Mode  ini  digunakan  untuk  peralatan  luar  yang  mempunyai  valid  pada  saat–  saat  tertentu, sehingga  diperlukan  sinyal–  sinyal  pemicu  (strobe)  pada  I/O  agar  data  segera  dapat  dikirim, sehingga mode ini tergantung pada waktu. Pada mode ini Port A dan Port B bisa ditentukan sebagai Port  masukan  atau  Port  keluaran  data,  sedangkan  Port  C  sebagai  pembawa  sinyal  status.  Transfer data mode ini merupakan sinyal terprogram bersyarat.

## Mode 2 – bidirectional bus
Mode  ini  mampu  mengirim/  menerima  data  dalam  dua  arah  (bidirectional  handshake  data transfer). Mode ini menyebabakan Port A bisa berfungsi sebagai masukan sekaligus keluaran yang dilengkapi  dengan  sinyal  jabat  tangan  5  bit  dari  Port  C  sebagai  control  Port  A.  Mode  ini  hanya tersedia untuk Port A sedangkan Port B dapat digunakan dalam mode 0 atau mode 1.

## Gambar Format Kata Kendali PPI 8255

## 4. Deskripsi fungsional penyemat PPI 8255 D0 – D7 (data 0 – data 7)
Merupakan  jalur  lintasan  data  masukan  dan  keluaran  untuk  hubungan  dengan  sistem  bus data. PPI 8255 mempunyai fasilitas three state bidirectional 8- bit buffer untuk hubungan ke sistem
bus  data.  Dengan  fasilitas  ini  data  yang  akan  dikirim  atau  diterima  ke  atau  dari  bus  data  akan ditahan dulu sampai CPU mengeluarkan instruksi input/ output.
CS (Chip Select)
a) Sinyal ini aktif rendah.
b) Jika sinyal pada pin ini berlogika rendah maka PPI 8255 aktif dan CPU dapat membaca atau menulis data ke atau dari bus data.
RD(Read)
a) Sinyal ini aktif rendah.
b) Jika sinyal pada pin ini berlogika 0 dan pin CS juga berlogika 0 maka PPI 8255 akan mengeluarkan data kedalam bus data.
WR(Write)
a) Sinyal ini aktif rendah.
b) Jika sinyal pada pin ini berlogika 0 dan pin Cs juga berlogika 0 maka data dari bus data akan ditulis ke PPI 8255.

## A0 – A1
Kombinasi  kedua  pin  ini  menentukan  alamat  Port  (yakni  Port  A,  Port  B  dan  Port  C)  serta register kontrol PPI 8255.
Reset
a) Sinyal ini aktif tinggi.
b) Apabila pin ini berlogika 1 maka PPI 8255 dalam keadaan reset. PA(Port A0-Port A7), PB(Port B0-Port B7) dan PC(Port C0-Port C7)
a) Lintasan ini digunakan sebagai port input/ output 8 bit yang dapat dihubungkan dengan perangkat lain.
b) Port ini mempunyai sifat 3- state buffer latch.
c) Khusus Port C dibagi menjadi dua grup yaitu Port C lower (PC0-PC3) dan Port C upper (PC4-PC7), yang masing– masing dapat digunakan sebagai input atau output.

## 5. Optocoupler
Optocoupler  adalah  suatu  komponen  penggandeng  optik-elektronik  yang  terdiri  atas  kotak kedap  cahaya  yang  memberikan  sinyal  karena  adanya  cahaya  gelap  terang.  Komponen  ini  sesuai untuk mendeteksi lingkaran sebagai pemberi kondisi gelap dan terang. Optocoupler terdiri atas :
a) LED infra merah : bertindak sebagai transmiter karena merupakan sumber cahaya. Cahaya infra  merah  yang  dihasilkannya  tidak  dapat  dilihat  dengan  mata  biasa.  Namun  dalam pembuatan  mesin  pembaca  kartu  tanda  mahasiswa  ini  penulis  menggunakan  LED  biasa sehingga bisa dilihat dengan mata biasa.
b) Photo Transistor : bertindak sebagai receiver . Prinsip kerjanya, suatu komponen yang peka terhadap  suatu  cahaya,  makin  tinggi  suatu  intensitas  cahaya  dari  sumber  cahaya  jatuh  ke permukaan  transistor  maka  tahanan  pada  transistor  akan  menjadi  semakin  kecil, photo transistor pada  optocoupler  ini  telah  dilengkapi  dengan  suatu  lapisan  filter  yang  akan menyaring  cahaya  infra  merah,  sehingga  cahaya  di  sekitarnya  tidak  mengganggu  kerja photo transistor .
Optocoupler mempunyai 4 buah kaki masing-masing 2 kaki ke Vcc dan 2 kaki lagi ke ground untuk lebih jelasnya prinsip kerja dari optocoupler dapat dilihat di bawah ini :
a) Input 0 (cahaya terhalang) maka transistor tidak menghantar, Vout = 1 (+5V)
b) Input 1 (cahaya tidak terhalang) maka transistor menghantar, Vout = 0 (0V)
Adapun penampang dasar (simbol) dari optocoupler dapat dilihat pada gambar di bawah ini :
Gambar Rangkaian dasar OptoCoupler (Juwono,1999). Sedangkan rangkaian optocoupler yang digunakan pada alat ini adalah sebagai berikut :

## Gambar Rangkaian Optocoupler
Untuk  koneksi  antara  software  dan  PPI  8255  penulis  menggabungkan  Borland  Delphi dengan bahasa asembly, kode-kodenya antara lain :
a) Function GetPort : variable yang digunakan untuk transfer data ke PPI
b) Procedur SendPort : variable yang digunakan untuk transfer data dari PPI
c) Constanta PPIA : digunakan untuk alamat Port A pada PPI
d) Constanta PPIB : digunakan untuk alamat port B pada PPI
e) Constanta PPIC : digunakan untuk alamat port C pada PPI
f) CWAddr : digunakan untuk alamat Control Word.
g) Asm : digunkan untuk mengenali bahasa assembly pada PPI
h) Mov : bahasa assembly yang memindahkan suatu variable ke alamat baru

## PERANCANGAN DAN PEMBUATAN ALAT

## 1. Perancangan Perangkat Keras
Sebelum melakukan perancangan perangkat keras terlebih dahulu dibuat rancangan diagram blok dari alat pembaca kode bar. Berikut merupakan gambar diagram blok dari perangkat keras atau alat yang akan dibuat.
Mesin  pembaca  kartu  akan  menterjemahkan  data  yang  ada  pada  kartu  tanda  mahasiswa yang berupa garis tebal gelap dan terang yang kemudian dikirim ke komputer melalui PPI 8255 dan hasilnya akan disimpan kedalam database.

## 2. Perancangan Mesin Pembaca Kartu
Pada perancangan mesin pembaca kartu ini dibagi menjadi tiga bagian yaitu:
1. Perancangan rangkaian sensor pembaca data
2. Perancangan rangkaian sensor pendeteksi keberadaan kartu
3. Perancangan secara keseluruhan
Gambar  dibawah  ini  merupakan  gambar  mesin  pembaca  kartu  tanda  masiswa  yang  dibuat oleh  penulis.  Mesin  tersebut  terdiri  dari  tujuh  belas  sensor  optocoupler,  enam  belas  sensor digunakan untuk membaca data pada kartu dan satu sensor untuk mendeteksi keberadaan kartu
Gambar Mesin pembaca kode bar

## 3. Perancangan Rangkaian Sensor Pembaca Data
Pada perancangan rangkaian ini komponen- komponen yang dibutuhkan antara lain:
a) Resistor
b) Sensor Optocoupler
Rangkaian ini merupakan rangkaian utama yang terdapat pada mesin pembaca kartu, yang berfungsi untuk melakukan pembacaan data. Gambar rangkaian dapat dilihat pada gambar dibawah ini.

## Gambar Rangkaian sensor pembaca kode bar

## 4. Perancangan Sensor Pendeteksi Keberadaan Kartu
Untuk mendeteksi ada tidaknya kartu yang terpasang pada mesin pembaca kartu dibutuhkan suatu rangkaian sensor pendeteksi keberadan kartu. Dalam hal ini penulis menggunakan rangkaian seperti yang diatas. Keluaran yang dihasilkan oleh sensor ini adalah 0 volt sampai 5 volt atau dalam biner 0 dan 1.
Gambar Rangkaian sensor pendeteksi keberadaan kartu

## 5. Perancangan Secara Keseluruhan
Dalam  perancangan  ini,  penulis  menggabungkan  antara  rangkaian  sensor  dan  rangkaian pendeteksi kartu dengan PPI 8255 yang terpasang pada komputer. Gambar secara keseluruhan dapat dilihat dibawah ini.
Gambar Blok Diagram Mesin pembaca kode bar secara keseluruhan

## 6. Perancangan Kartu
Pada sistem ini digunakan kartu yang terbuat dari mika tembus pandang dengan ukuran 8,8 x  5,5  cm.  Untuk  pembaca  kode  pada  kartu  digunakan  kode  baris  dengan  pembacaan  gelap  berarti logika  0,  dan  pembacaan  terang  logika  1.  Bentuk  dari  kartu  yang  dibuat  terlihat  seperti  gambar dibawah ini.

## Gambar Kartu tanda masiswa
Dikarenakan  alat  pembaca  sensor  hanya  16  bit  maka  kartu  yang  bisa  dibuat  adalah sebanyak 2 n atau 2 16 dan sistem sandi yang digunakan adalah sistem kartu berlubang.

## 7. Perancangan Perangkat Lunak
a. Transfer Data dari dan ke PPI
Berikut  ini  merupakan  listing  program  transfer  data  dari  dan  ke  PPI  8255  yang digunakan  untuk  mendeteksi  keberadaan  kartu  pada  alat  yang  dibuat,  serta  membaca  data kartu tanda masiswa.
unit UBacaKodeBar; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TForm1 = class(TForm) procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} const PPIA = $304; //alamat PortA PPIB = $303; //alamat PortB PPIC = $305;// alamat PortC CWAddr = $307;// alamat Control word
function GetPort(Addr: word): Word; //transfer data ke PPI var DATA : Word; begin asm mov dx , Addr in ax , dx mov DATA , ax end; result := DATA; end;
procedure SendPort(Addr : Word; DATA: Word); //transfer data begin asm mov dx , Addr mov ax , DATA out dx , ax end; end; End.

## b. Perancangan Database
Untuk melakukan penyimpanan data kartu tanda masiswa, terlebih dahulu perlu dibuat sebuah  database  karena  sisten  informasi  manajemennya  menggunakan  client-server  maka penulis menggunakan database SQL Server.

## 8. PPI 8255
a. Pengalamatan PPI 8255
PPI  8255 memiliki  3  port  yaitu  port  A,  port  B  dan  port  C.  Pada  perancangan  alat  ini pengalamatan yang digunakan adalah sebagai berikut:
1. Port A =$304
2. Port B =$305
3. Port C =$306
4. Port Control Word =$307

## b. Control Word dan Mode Operasi
Perancangan penggunaan masing- masing port pada PPI yang penulis gunakan adalah sebagai berikut:
a) Port  A0-  A7  dan  Port  B0-  B7  digunakan  sebagai  inputan,  port  tersebut dihubungkan  dengan  sensor  pembaca  kartu  sehingga  menghasilkan  data  16  bit atau 2 bytes.
b) Port  C0  digunakan  sebagai  masukan  (input)  yang  dihubungkan  dengan  sensor pendeteksi keberadaan kartu. Sedangkan port C1-C7 tidak digunakan.
c) Control  word  yang  digunakan  didasarkan  pada  pengalamatan  dan  mode  operasi dari  PPI  8255.  Karena  Port  A,  Port  B dan  port  C  lower  digunakan  sebagai  input yang  diinisialisasikan  dengan  1.  Maka,  untuk  mode  operasi  yang  dipergunakan adalah  mode  0  yang  diinisialisasikan  dengan  0  dan  untuk  mode  flag  diset  aktif dengan  memberikan  inisialisasi  1.  Dari  uraian  diatas,  maka  control  word  yang dipakai adalah 93H (10010011).
9. Flowchart
a. Flowchart Aplikasi
Flowchart  aplikasi  menggambarkan  tentang  tata  cara  penggunaan  program  input  dan simpan  data  tanda  masiswa  serta  menu-  menu  yang  bisa  dipergunakan  oleh  seorang  user (mahasiswa).
Gambar Flowchart aplikasi

## b. Flowchart Rangkaian
Flowchart ini menggambarkan bagaimana cara pembacaan data pada kartu oleh mesin pembaca barkode.
Gambar Flowchart baca kartu
Prinsip kerja dari program baca kartu perpus dapat dijelaskan sebagai berikut:
a) Inisialisasi, yaitu melakukan penginisialisasian terhadap port –port PPI 8255 dan control word serta inisialisasi timer yang dipergunakan untuk pengecekan keberadaan kartu dengan interval 100 milidetik.
b) Baca portC, proses ini dilakukan untuk pengecekan keberadaan kartu pada celah mesin pembaca kartu. Bila data yang didapat 0 maka menandakan adanya kartu pada celah mesin.
c) Baca portA, proses ini dilakukan untuk membaca data yang ada pada kartu mahaiswa

## PENGUJIAN ALAT
1. Pembahasan
a. Cara kerja alat
Mesin  pembaca  kartu  akan  bekerja  dengan  cara  mendeteksi  ada  tidaknya  data  yang dilewatkan  melalui  celah  pada  alat.  Ketujuh  belas  sensor  akan  membaca  data  secara bersamaan,  dimana  16  sensor  membaca  data  kode  kartu  sedangkan  1  sensor  mendeteksi keberadaan  kartu  yang  terdapat  pada  celah  alat  pembaca  kartu,  kesemua  sensor  tersebut membaca data dengan perincian data gelap untuk logika 1 dan data terang untuk logika 0.
Cara pembacaan datanya adalah  saat sensor  pendeteksi  kartu membaca data gelap pada kartu  hal  tersebut  mengindikasikan  bahwa  ada  kartu  yang  terpasang  pada  celah  alat  pembaca kartu  sehingga  sensor  pembaca  data  akan  membaca  data  pada  kartu  tanda  mahasiswa.  Setiap sensor pembaca data kartu akan mendeteksi apakah data yang dihasilkan berlogika 1 atau 0.

## b. Pengujian Alat
Pengujian  yang  dilakukan  penulis  ada  dua  cara  yaitu  secara  manual  dengan menggunakan  multimeter  dengan  memberikan  tegangan  pada  kaki  port  PPI  8255  dan  secara otomatis dengan menggunakan sofware.

## 2. Pengujian secara manual (menggunakan multimeter)
Untuk  pengujian  alat  secara  manual  penulis  menggunakan  multimeter  yang  digunakan untuk mengukur keluaran sensor pembaca kartu dan sensor pendeteksi keberadaan kartu. Tegangan yang  digunakan  sebagai  patokan  adalah  sebesar  +5  Volt  DC  untuk  logika  1  dan  0  volt  DC  untuk logika 0. Hasil pengukuran pada sensor pendeteksi keberadaan kartu tertera pada tabel berikut:
Tabel Hasil pengujian keluaran sensor pendeteksi keberadaan kartu
Tabel Hasil pengujian pada kaki PPI port A0- A7 dan B0- B7
Dari  hasil  pengukuran  di  atas  terlihat  bahwa  dalam  keadaan  gelap  dan  terang,  hasil pengukuran tidak bisa 0 dan 5 volt, hal ini disebabkan karena adanya hambatan- hambatan lain atau noise semisal dari kabel ataupun dari penyoderan. Akan tetapi dengan hasil tersebut keadaan gelap telah dapat dihasilkan logika 1 dan keadaan terang logika 0.

## 3. Pengujian PPI dengan menggunakan software
Untuk  mengetahui  bahwa  PPI  yang  kita  gunakan  berfungsi  dengan  baik  maka  perlu dilakukan  pengujian  terlebih  dahulu.  Pada  pengujian  PPI  ini  ,penulis  menggunakan  sofware  uji PPI1  dengan  menghubungkan  PPI  pada  PC  dengan  konektor  DB25.  Pengujian  dilakukan  dengan cara menghubungkan pin 1 pada konektor DB25 yang terhubung dengan pin Vcc pada PPI dengan pin 2 sampai pin 25, dimana pin 2- 9 (port PPI A), pin 10- 13 (port PPIC lower), pin 14- 21 (port PPI B), pin 22- 25 (port PPI C Upper). Pada pengujian ini semua port (PPIA- PPIC ) diset sebagai input, hasilnya dapat langsung dilihat pada tampilan layar monitor.
Gambar Uji Input Port PPI
Keadaan  semua  port  menyala  menandakan  bahwa  kesemua  port  PPI  dapat  berfungsi sebagai input atau menerima data dari perangkat/ peralatan luar dengan baik.

## PENUTUP

## 1. Kesimpulan
Dari  perencanaan  dan  pengujian  alat  yang  telah  dilakukan  dapat  diambil  beberapa kesimpulan sebagai berikut:
1. Mesin  pembaca  barkode  yang  penulis  buat  hanya  mampu  membaca  data  sepanjang  16 bit.
2. Mesin  pembaca  barkode  yang  penulis  buat  menggunakan  17  sensor  optocoupler, penggunaannya adalah 16 sensor terhubung pada PPI port A dan B dipergunakan untuk pembacaan  data  pada  kartu.  Dan  satu  sensor  terhubung  pada  PPI  port  C  dipergunakan untuk mendeteksi keberadaan kartu.
3. Software yang dibuat penulis hanya dapat diakses oleh petugas yang bersangkutan.
4. Mesin  pembaca  kode  bar  hanya  bisa  membaca  KTM  yang  telah  dimodifikasi  oleh penulis dengan lubang-lubang bukan kode bar print-out buatan pabrik.

## 2. Saran
Untuk mengurangi pemakaian sensor dalam jumlah yang banyak bisa dipergunakan register geser  serial  in  paralel  out  (8  bit),  hal  ini  dapat  mengurangi  pemakaian  sensor  yang  seharusnya  16 buah untuk membaca data 16 bit menjadi 2 buah sensor saja.

## DAFTAR PUSTAKA
Alam M. Agus J, 2001, Belajar Sendiri Borland Delphi 6.0 , Penerbit Elex Media Komputindo, Jakarta Depari, Ganti. 1992. Teori Rangkaian Elektronika, Bandung: Sinar Baru Malvino, Albert Paul. 1992. Prinsip-prinsip Elektronika. Alih bahasa: M. Barmawi, Jakarta: Erlangga Malvino, Albert Paul. 1993 Elektronika Digital Komputer Pengantar Mikrokomputer. Edisi kedua. Alih bahasa Tjia May On. Jakarta: Penerbit Erlangga Mahmudy Wayan F, 2003, Visual Basic , Modul Praktikum Semester Genap 2003- 2004, Malang Pamitrapati Dipa dan Siahaan Krisdianto, 2000, Trik Pemprograman Delphi, Penerbit Elex Media Komputindo, Jakarta Rizkiawan Rizal, 1997, Tutorial Perancangan Hardware 2, Penerbit Elex Media Komputindo, Jakarta Tokheim, Roger L, 1994. Elektronika Digital , Jakarta: Erlangga Wasito. 1995. Vademekum Elektronika. Jakarta: PT Gramedia Edisi Ketiga Rev.01, Maret 1998, Modul Pendidikan Praktis Teknisi Komputer Tingkat Dasar, Surabaya, Scomptec (School Of Computer Technology) http://y3dips.echo.or.id/artikel/ez-jaringan_bag2.txt