www.dahlansitompul.wordpress.com
Mengakses Port Parallel Komputer dengan menggunakan Sistem Operasi (SO) Windows XP dan VB 6.0 dengan bantuan Library inpout32.dll sumber [11]
Dahlan Sitompul
[email protected] http://dahlansitompul.wordpress.com
Berdasarkan pengalaman penulis mengajar pemrograman Assembly dan antar muka komputer, banyak mahasiswa mengalami kesulitan melaksanakan percobaan pengontrolan perangkat keras berbasis komputer, terutama komputer yang telah menggunakan Windows XP sebagai Sistim Operasinya (SO). Untuk itu penulis mencoba memberikan sumbangan kepada para mahasiswa dan pembaca sekalian yang berminat menggeluti bidang pengontrolan berbasis komputer untuk menggunakan tulisan ini sebagai bahan bacan awal dalam mengembangkan karir selanjutnya Tulisan ini telah diterbitkan dalam sebuah journal (al-Kharizmi Journal of Computer Science, ISSN 1907-0314, Volume 3, Issue 2, Medan July 2010) sumber[11].
Penulis menerbitkan tulisan ini ke website ini agar pembaca dapat mendownloadnya dengan mudah. Penulis menggunakan bahasa pemrograman VB 6.0 untuk mengakses parallel port (LPT/Line Printer) yang merupakan port data pada PC (Personal Computer) dengan alamat 378H atau 888D. Dalam tulisan ini parallel port diberikan beban berupa delapan buah lampu LED (Light Emitting Diode), dengan pembatas arus (tahanan/resistor) sebesar 330 Ω yang dipasang pada masing-masing tahanan. Keadaan masing-masing LED (Hidup atau Mati) dapat dikontrol sesuai dengan data yang diberikan kepada port data parallel. SO (Sistim Operasi) Windows XP tidak mengijinkan pengaksesan perangkat keras komputer secara langsung. Untuk dapat mengakses port parallel SO Windows XP harus disisipkan dengan software inpout32.dll pada System 32nya dan memberikan pernyataan untuk menggunakan inpout32.dll pada awal program VB 6.0 seperti yang tampak pada potongan program di bawah ini. Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal alamat As Integer, ByVal data As Byte) Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal alamat As Integer) 1
www.dahlansitompul.wordpress.com
Sumber [3]
Pendahuluan Pengguna komputer yang telah menggunakan SO Windows XP atau generasi selanjutnya mendapat kesulitan untuk mengakses perangkat keras dari PC mereka. Bagi pengguna komputer yang menggunakan PC sebagai alat kontrol merasakan pembatasan yang dilakukan oleh SO ini; SO ini dengan sengaja menutup pengkasesan perangkat keras PC dengan alasan keamanan. VB 6.0 merupakan suatu software yang dirilis oleh Microsoft. Pemrograman ini terkenal dengan menariknya tampilan User Interfacenya namun software ini tidak dapat mengakses perangkat keras komputer tanpa bantuan software yang dikeluarkan oleh third party. Pemrograman (VB 6.0) ini tidak lagi didukung oleh Microsoft dengan dirilisnya pemrograman VB net dewasa ini, namunpun demikian masih banyak pengguna komputer yang merasakan masih cukup handalnya pemrograman ini untuk terus digunakan dimasa yang akan datang. Dengan latar belakang ini penulis menerbitkan tulisan ini agar para mahasiswa dan pembaca lainnya dapat menggunakan SO Windows XP dan VB 6.0 untuk mengakses perangkat keras komputer yand dalam hal ini port parallel (LPT/Line Printer). Dalam melaksanakan percobaan ini penulis menggunakan software lain untuk dapat mengakses port parallel. Software yang dimaksud adalah inpout32.dll sumber [2]. Program inpout32.dll merupakan suatu software yang bebas digunakan saat ini, tanpa perlu meminta ijin kepada produsennya jika digunakan untuk tujuan pemakain non komersial. Program ini merupakan program library (Dynamic-link library). Agar program yang kita bangun dengan VB 6.0 dapat menggunakan inpout32.dll kita harus mengarahkan program tersebut untuk menggunakan inpout32.dll dengan menambahkan statement berikut ini pada awal program.
Isi Gambar rangkaian untuk percobaan ini ditunjukkan seperti gmbar 1 di bawah ini. Delapan buah LED masing-masing disambungkan pada kaki 2-9 (Port data dengan alamat 378H (888D) dan diberikan pembatas arus sebesar 330 Ω. Kedelapan buah LED dihubungkan dalam susunan katoda bersama (common cathode). Kaki katoda dihubungkan ke ground yang dalam hal ini merupakan pin 18-25 port parallel.
Gambar 1 Sumber[1] 2
www.dahlansitompul.wordpress.com
Adapun program pengaksesan parallel port secara utuh ditunjukkan pada program di bawah ini Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal alamat As Integer, ByVal data As Byte) Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal alamat As Integer) As Integer Dim alamat As Integer Dim data As Byte Private Sub Command1_Click() End End Sub Private Sub Command2_Click() alamat = Val(Text1.Text) data = Val(Text2.Text) Out alamat, data End Sub sumber[11] Tampilan dari user interface program ini dapat dilihat seperti gambar 2 di bawah ini
3
www.dahlansitompul.wordpress.com
Gambar 2 tampilan user interface sumber [11]
Pada percobaan ini program dapat berjalan dengan baik; keluaran LED akan sesuai dengan data yang diberikan pada masukkan user interfacenya, seperti ditunjukkan pada tabel 1 di bawah ini
No
Data
1 2 3 4 5 6 . . 256
0 1 2 3 4 5 . . 255
LED 1 2 3 4 5 6 7 8 Mati Mati Mati Mati Mati Mati Mati Mati Hidup Mati Mati Mati Mati Mati Mati Mati Mati Hidup Mati Mati Mati Mati Mati Mati Hidup Hidup Mati Mati Mati Mati Mati Mati Mati Mati Hidup Mati Mati Mati Mati Mati Hidup Mati Hidup Mati Mati Mati Mati Mati . . . . . . . . . . . . . . . . Hidup Hidup Hidup Hidup Hidup Hidup Hidup Hidup Tabel 1 sumber [11]
Penutup Tulisan ini diharapkan akan memberikan sumbangan pemikiran kepada Ilmu pengetahuan, terutama bidang pengontrolan berbasis komputer. Juga diharapkan dapat membantu para pencinta dan pengguna komputer untuk dapat menggunakan perangkat keras port parallel pada komputer mereka untuk pengontrolan.
Referensi [1] http://www.sixca.com/eng/articles/pardel/ [2 Feb. 2010] [2] http://logix4u.net/Legacy_Ports/Parallel_Port/Inpout32.dll _for_Windows_98/2000/NT/XP.html [2 Feb.2010] [3] http://www.codeproject.com/KB/vb/Inpout32_read.aspx [2 Feb.2010] [4] http://www.epanorama.net/circuits/parallel_output.html [6 Feb.2010] [5] http://www.youtube.com/watch?v=FHCvrn9B6W0&feature=related [6 Feb.2010] [6] http://www.thaiio.com/prog-cgi/0006_vb.html#Printer [6 Feb.2010] [7] http://electrosofts.com/parallel/ [6 Feb.2010] [8] http://en.wikipedia.org/wiki/LPT [ 6 Feb.2010] [9] http://www.dreamincode.net/forums/showtopic27085.htm [6 Feb 2010] [10] Parallel Port Complate Programming, Interfacing, and Using the PC’s Parallel Printer Port Jan Axelson, http://www.lvr.com/parprtib.htm [11] al-Kharizmi Journal of Computer Science, ISSN 1907-0314, Volume 3, Issue 2, Medan July 2010
4
www.dahlansitompul.wordpress.com
Biografi Penulis Dahlan Sitompul menyelesaikan S1 di Universitas Sumatera Utara (USU), Medan Indonesia pada tahun 1993, dan S2 di University of Wollongong (UOW), Australia pada tahun 2002. Penulis sampai saat ini bekerja sebagai staff pengajar. Penulis berminat dan juga telah melaksanakan beberapa penelitian pada bidang Elektronika Analog dan Digital, antar muka komputer, dan pemrograman dan telah menulis beberapa karya tulis pada beberapa jurnal Ilmiah Nasional.
5