Disusun Oleh :
Irvan Ariyanto (13650104)
M. Rizal Maftukhin (13650122)
Weni Rizki A.(13650017)
BAB I
PENDAHULUAN
A. Latar Belakang
Perkembangan teknologi semakin pesat dan merata di seluruh
aspek kehidupan. Pekerjaan-pekerjaan di industri, kantor, dan rumah
sekarang dimudahkan dengan adanya komputer yang mampu
meringankan sebagian pekerjaan. Komputer dapat dimanfaatkan
sebagai pengendali peralatan, karena komputer mempunyai
kemampuan yang besar antar lain: komputer mampu untuk
mengintegrasikan antara peralatan yang satu dengan peralatan yang
lain, komputer mampu menyediakan sistem keamanan yang multi
level, mampu untuk diseting supaya dapat berjalan manual atau
otomatis, dapat menampilkan laporan dari hasil kerja alat terkendali
bila diperlukan, dapat diprogram dengan pilihan menu yang banyak
karena mempunyai kapasitas penyimpanan yang besar.
Dengan begitu besar kemampuan komputer yang telah
disebutkan di atas dan kemampuan-kemampuan tersebut, computer
membutuhkan bermacam macam peripheral pendukung untuk
mengeksplor kinerjanya. Salah satunya adalah port parallel. Pada
makalah ini kami akan memaparkan bagaimana cara untuk
mengetahui kinerja port parallel DB 25 dengan aplikasi visual basic,
sehingga nantinya bisa kita dapatkan mekanisme penyaluran data
dalam DB 25.
B. Rumusan Masalah
Dari latar belakang di atas, dapat dirumuskan beberapa masalah
sebagai berikut :
1. Apakah port parallel itu?
2. Bagaimanakah pemrograman port parallel menggunakan software
visual basic 6?
C. Tujuan
1. Mengetahui port parallel
2. Mengetahui cara memprogram port parallel menggunakan visual
basic 6
BAB II
PEMBAHASAN
1. Port Paralel
Ada dua macam konektor parallel port, yaitu 36 pin dan 25 pin.
Konektor 36 pin dikenal dengan nama Centronics dan konektor 25 pin
dikenal dengan DB25. Centronics lebih dahulu ada dan digunakan dari
pada konektor DB-25. DB-25 diperkenalkan oleh IBM (bersamaan
dengan DB-9, untuk serial port), yang bertujuan untuk menghemat
tempat. Karena DB-25 lebih praktis, maka untuk koneksitor parallel
port pada komputer sekarang hanya digunakan DB-25. Berikut
gambarannya.
5.
Mode ECP (Extended capability port)
Tujuan dari standar yang baru tersebut ialah untuk mendesain
driver dan peralatan yang baru yang kompatibel dengan peralatan
lainnya serta standar paralel port sebelumnya (SPP) yangn diluncurkan
tahun 1981. Mode Compatibilitas, nibble dan byte digunakan sebagai
standar perangkat keras yang tersedia di port paralel orisinal dimana
EPP dan ECP membutuhkan tambahan hardware dimana dapat berjalan
dengan kecepatan yang lebih tinggi. Mode kompatibilitas atau (Mode
Centronics ) hanya dapat mengirimkan data pada arah maju pada
kecepatan 50 KBytes per detik hingga 150 KBytes per detik. Untuk
menerima data, anda harus mengubah mode menjadi mode nibble atau
byte. Mode nibble dapat menerima 4 bit (nibble) pada arah yang
mundur, misalnya dari alat ke computer. Mode byte menggunakan fitur
bi-directional parallel untuk menerima 1 byte (8 bit) data pada arah
mundur. IRQ (Interrupt Request ) pada port paralel biasanya pada IRQ5
atau IRQ7.
6. Cara Memprogram DB25 dengan Visual Basic
Dalam mengakses port parallel DB25 VB tidak bisa mengakses hardware
secara langsung dalam system operasi windows, maka semua permintaan
pengaksesan hardware harus melalui windows.Oleh karena itu harus
menggunakan program eksternal untuk melakukan pengaksesan hardware
secara langsung pada program. Program tersebut berupa file DLL (Dynamic
Link Library).
Langkah-langkah
1. File DLL ini harus diletakkan (di copy-kan) ke direktori / folder
//windows/system atau diikutkan dalam satu folder program yang kita buat.
2. File DLL yang akan digunakan nanti adalah "inpout32.dll Sebelum kita
menggunakan fungsi fungsi yang ada dalam file DLL ini terlebih dahulu
harus di deklarasikan di VB kedalam module.
Public Declare Function PortIn Lib "inpout32.dll" Alias "Inp32" _
(ByVal PortAddress As Integer) _
As Integer
Public Declare Sub PortOut Lib "inpout32.dll" Alias "Out32" _
(ByVal PortAddress As Integer, _
ByVal Value As Integer)
3. Jika file DLL tersebut telah dideklarasikan seperti diatas, maka fungsi PortOut
(untuk mengeluarkan data) dan PortIn (untuk membaca data) siap digunakan
pada VB. Untuk emengirim data pada port parallel, digunakan fungsi Out.
4. Sintak penulisannya sebagai berikut
PortOut [Alamat Port], [Nilai]
Perintah diatas membutuhkan dua parameter, yaitu alamat port dan nilai
data yang dikirimkan pada port tersebut.Karena tiap port hanya 8 jalur data,
End Sub
Private Sub Cmd2off_Click(Index As Integer)
Nil_Bit 888, 1 'mengganti warna shape menjadi hitam
SL1(1).BackColor = vbBlack
End Sub
Private Sub Cmd2on_Click(Index As Integer)
Send_Bit 888, 1 'mengganti warna shape menjadi merah
SL1(1).BackColor = vbBlue
End Sub
Private Sub Cmd3off_Click(Index As Integer)
Nil_Bit 888, 2 'mengganti warna shape menjadi hitam
SL1(2).BackColor = vbBlack
End Sub
Private Sub Cmd3on_Click(Index As Integer)
Send_Bit 888, 2 'mengganti warna shape menjadi merah
SL1(2).BackColor = vbBlue
End Sub
Private Sub Cmd4off_Click(Index As Integer)
Nil_Bit 888, 3 'mengganti warna shape menjadi hitam
SL1(3).BackColor = vbBlack
End Sub
Private Sub Cmd4on_Click(Index As Integer)
Send_Bit 888, 3 'mengganti warna shape menjadi merah
SL1(3).BackColor = vbBlue
End Sub
Private Sub Cmd5off_Click(Index As Integer)
Nil_Bit 888, 4 'mengganti warna shape menjadi hitam
SL1(4).BackColor = vbBlack
End Sub
Private Sub Cmd5on_Click(Index As Integer)
Send_Bit 888, 4 'mengganti warna shape menjadi merah
SL1(4).BackColor = vbBlue
End Sub
Private Sub Cmd6off_Click(Index As Integer)
Nil_Bit 888, 5 'mengganti warna shape menjadi hitam
SL1(5).BackColor = vbBlack
End Sub
SL1(3).BackColor = vbBlack
SL1(4).BackColor = vbBlack
SL1(5).BackColor = vbBlack
SL1(6).BackColor = vbBlack
SL1(7).BackColor = vbBlack
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
Command7.Enabled = True
End Sub
Private Sub Command3_Click()
Timer1.Enabled = True
Timer2.Enabled = True
Command1.Enabled = False
Command2.Enabled = False
Command4.Enabled = False
Command6.Enabled = False
Command7.Enabled = False
Command5.Enabled = True
End Sub
Private Sub Command4_Click()
Timer4.Enabled = True
Timer3.Enabled = True
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command6.Enabled = False
Command7.Enabled = False
Command5.Enabled = True
End Sub
Private Sub Command5_Click()
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False
Timer6.Enabled = False
Timer7.Enabled = False
Timer8.Enabled = False
Timer1.Interval = 100
Timer2.Interval = 100
Timer3.Interval = 100
Timer4.Interval = 100
Timer5.Interval = 100
Timer6.Interval = 100
Timer7.Interval = 100
Timer8.Interval = 100
Nil_Bit 888, 8
SL1(0).BackColor = vbBlack
SL1(1).BackColor = vbBlack
SL1(2).BackColor = vbBlack
SL1(3).BackColor = vbBlack
SL1(4).BackColor = vbBlack
SL1(5).BackColor = vbBlack
SL1(6).BackColor = vbBlack
SL1(7).BackColor = vbBlack
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
Command7.Enabled = True
End Sub
Private Sub Command6_Click()
Timer6.Enabled = True
Timer5.Enabled = True
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Command7.Enabled = False
Command5.Enabled = True
End Sub
Private Sub Command7_Click()
Timer8.Enabled = True
Timer7.Enabled = True
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Command6.Enabled = False
Command5.Enabled = True
End Sub
Private Sub Exit_Click()
End
End Sub
Private Sub Form_Activate()
SL1(0).BackColor = vbBlack
SL1(1).BackColor = vbBlack
SL1(2).BackColor = vbBlack
SL1(3).BackColor = vbBlack
SL1(4).BackColor = vbBlack
SL1(5).BackColor = vbBlack
SL1(6).BackColor = vbBlack
SL1(7).BackColor = vbBlack
End Sub
Sub Send_Bit(Alamat_Port, Nomor_Bit)
Dim Nilai, Status_Port, Nilai_Baru As Byte
Select Case Nomor_Bit
Case 0: Nilai = 1
Case 1: Nilai = 2
Case 2: Nilai = 4
Case 3: Nilai = 8
Case 4: Nilai = 16
Case 5: Nilai = 32
Case 6: Nilai = 64
Case 7: Nilai = 128
Case 8: Nilai = 255
Case Else
GoTo out_range
End Select
Status_Port = PortIn(Alamat_Port)
Nilai_Baru = Status_Port Or Nilai
PortOut Alamat_Port, Nilai_Baru
out_range:
End Sub
Sub Nil_Bit(Alamat_Port, Nomor_Bit)
Dim Nilai, Status_Port, Nilai_Baru As Byte
Select Case Nomor_Bit
Case 0: Nilai = 254
Case 1: Nilai = 253
Case 2: Nilai = 11 '251
Case 3: Nilai = 247
Case 4: Nilai = 239
Case 5: Nilai = 223
Case 6: Nilai = 191
Case 7: Nilai = 127
Case 8: Nilai = 0
Case Else
GoTo out_range
End Select
Status_Port = PortIn(Alamat_Port)
Nilai_Baru = Status_Port And Nilai
PortOut Alamat_Port, Nilai_Baru
out_range:
End Sub
Private Sub Timer2_Timer()
Dim a As Integer
a = Timer1.Interval
Timer1.Interval = a + 100
Select Case a
Case 100
Send_Bit 888, 0
SL1(0).BackColor = vbBlue
Case 200
Nil_Bit 888, 0
Send_Bit 888, 1
SL1(0).BackColor = vbBlack
SL1(1).BackColor = vbBlue
Case 300
Nil_Bit 888, 1
Send_Bit 888, 2
SL1(1).BackColor = vbBlack
SL1(2).BackColor = vbBlue
Case 400
Nil_Bit 888, 2
Send_Bit 888, 3
SL1(2).BackColor = vbBlack
SL1(3).BackColor = vbBlue
Case 500
Nil_Bit 888, 3
Send_Bit 888, 4
SL1(3).BackColor = vbBlack
SL1(4).BackColor = vbBlue
Case 600
Nil_Bit 888, 4
Send_Bit 888, 5
SL1(4).BackColor = vbBlack
SL1(5).BackColor = vbBlue
Case 700
Nil_Bit 888, 5
Send_Bit 888, 6
SL1(5).BackColor = vbBlack
SL1(6).BackColor = vbBlue
Case 800
Nil_Bit 888, 6
Send_Bit 888, 7
SL1(6).BackColor = vbBlack
SL1(7).BackColor = vbBlue
Case 900
Nil_Bit 888, 7
SL1(7).BackColor = vbBlack
Timer1.Interval = 100
End Select
End Sub
Private Sub Timer3_Timer()
Dim b As Integer
b = Timer4.Interval
Timer4.Interval = b + 100
Select Case b
Case 100
Send_Bit 888, 3
Send_Bit 888, 4
SL1(4).BackColor = vbBlue
SL1(5).BackColor = vbBlue
Case 200
Send_Bit 888, 2
Nil_Bit 888, 3
Send_Bit 888, 5
Nil_Bit 888, 4
SL1(2).BackColor = vbBlue
SL1(3).BackColor = vbBlack
SL1(5).BackColor = vbBlue
SL1(4).BackColor = vbBlack
Case 300
Send_Bit 888, 1
Nil_Bit 888, 2
Send_Bit 888, 6
Nil_Bit 888, 5
SL1(1).BackColor = vbBlue
SL1(2).BackColor = vbBlack
SL1(6).BackColor = vbBlue
SL1(5).BackColor = vbBlack
Case 400
Send_Bit 888, 0
Nil_Bit 888, 1
Send_Bit 888, 7
Nil_Bit 888, 6
SL1(0).BackColor = vbBlue
SL1(1).BackColor = vbBlack
SL1(7).BackColor = vbBlue
SL1(6).BackColor = vbBlack
Case 500
Nil_Bit 888, 0
Nil_Bit 888, 7
SL1(0).BackColor = vbBlack
SL1(7).BackColor = vbBlack
Timer4.Interval = 100
End Select
End Sub
Private Sub Timer5_Timer()
Dim c As Integer
c = Timer6.Interval
Timer6.Interval = c + 100
Select Case c
Case 100
Send_Bit 888, 0
SL1(0).BackColor = vbBlue
Case 200
Nil_Bit 888, 0
Send_Bit 888, 4
SL1(0).BackColor = vbBlack
SL1(4).BackColor = vbBlue
Case 300
Nil_Bit 888, 4
Send_Bit 888, 1
SL1(4).BackColor = vbBlack
SL1(1).BackColor = vbBlue
Case 400
Nil_Bit 888, 1
Send_Bit 888, 5
SL1(1).BackColor = vbBlack
SL1(5).BackColor = vbBlue
Case 500
Nil_Bit 888, 5
Send_Bit 888, 2
SL1(5).BackColor = vbBlack
SL1(2).BackColor = vbBlue
Case 600
Nil_Bit 888, 2
Send_Bit 888, 6
SL1(2).BackColor = vbBlack
SL1(6).BackColor = vbBlue
Case 700
Nil_Bit 888, 6
Send_Bit 888, 3
SL1(6).BackColor = vbBlack
SL1(3).BackColor = vbBlue
Case 800
Nil_Bit 888, 3
Send_Bit 888, 7
SL1(3).BackColor = vbBlack
SL1(7).BackColor = vbBlue
Case 900
Nil_Bit 888, 7
SL1(7).BackColor = vbBlack
Timer6.Interval = 100
End Select
End Sub
Private Sub Timer7_Timer()
Dim d As Integer
d = Timer8.Interval
Timer8.Interval = d + 100
Select Case d
Case 100
Send_Bit 888, 7
SL1(7).BackColor = vbBlue
Case 200
Send_Bit 888, 6
Nil_Bit 888, 7
SL1(7).BackColor = vbBlack
SL1(6).BackColor = vbBlue
Case 300
Send_Bit 888, 5
Nil_Bit 888, 6
SL1(6).BackColor = vbBlack
SL1(5).BackColor = vbBlue
Case 400
Send_Bit 888, 4
Nil_Bit 888, 5
SL1(5).BackColor = vbBlack
SL1(4).BackColor = vbBlue
Case 500
Send_Bit 888, 3
Nil_Bit 888, 4
SL1(4).BackColor = vbBlack
SL1(3).BackColor = vbBlue
Case 600
Send_Bit 888, 2
Nil_Bit 888, 3
SL1(3).BackColor = vbBlack
SL1(2).BackColor = vbBlue
Case 700
Send_Bit 888, 1
Nil_Bit 888, 2
SL1(2).BackColor = vbBlack
SL1(1).BackColor = vbBlue
Case 800
Send_Bit 888, 0
Nil_Bit 888, 1
SL1(1).BackColor = vbBlack
SL1(0).BackColor = vbBlue
Case 900
Nil_Bit 888, 0
SL1(0).BackColor = vbBlack
Timer8.Interval = 100
End Select
End Sub
7. Sekarang run programnya.
BAB III
PENUTUP
Kesimpulan
Dari materi yang kita pelajari diatas kami dapatkan bahwa cikal
bakal tranfer data antar komputer bisa kita lihat dengan menggunakan
port DB 25, menggunakan ISE Visual Basic kita bisa membuat simulasi
bagaimana cara kerja port DB 25, yang dahulunya kita hanya tahu
tranfer data dengan hanya copy paste pada komputer, sekarang kita
bisa mengetahui bagaimana mekanisme tranfer data secara nyata yang
sangat sederhana.
Saran
Setelah mengetahui mekanisme pembuatan alikasi visual basic
yang mengimplementasikan port DB 25, kedepannya diharapkan kita
bisa mengembangkan penelitian yang bisa membuat tranfer data lebih
cepat dan efisien.
DAFTAR PUSTAKA
Marzuki, Much. 2010. Mengakses Parallel Port Menggunakan Visual Basic
6.0.
http://much-marzuki.blogspot.com/2010/08/mengaksesparallel-port-menggunakan.html. Diakses tanggal 22 April 2015.
Fitriana, Noor. 2009. Contoh Rangkaian Dan Program Aplikasi Dengan
Konektor
Db9,
Db25,
Dan
Usb.
http://terminaltechno.blog.uns.ac.id/2009/11/07/contoh-rangkaiandan-program-aplikasi-dengan-konektor-db9-db25-dan-usb/. Diakses
tanggal 22 April 2015.
Sutrisno, Andi. 2012. Visual Basic for Electrical Engineering.
https://www.academia.edu/8261420/Visual_Basic_for_Electrical_Engi
neering. Diakses tanggal 22 April 2015.