Porta paralel: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 26425435; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
[[File:Parallel_computer_printer_port.jpg|thumb|right|280px|Parallel computer printer port]] | |||
'''Porta paralel''' atau '''porta sejajar''' ([[bahasa Inggris]]: ''parallel port'') adalah salah satu jenis soket pada komputer pribadi untuk berkomunikasi dengan peralatan luar seperti [[pencetak|mesin cetak]] model lama. Karena itu porta paralel sering juga disebut porta pencetak. Perusahaan yang memperkenalkan porta ini adalah Centronic, maka porta ini juga disebut dengan porta Centronic. | '''Porta paralel''' atau '''porta sejajar''' ([[bahasa Inggris]]: ''parallel port'') adalah salah satu jenis soket pada komputer pribadi untuk berkomunikasi dengan peralatan luar seperti [[pencetak|mesin cetak]] model lama. Karena itu porta paralel sering juga disebut porta pencetak. Perusahaan yang memperkenalkan porta ini adalah Centronic, maka porta ini juga disebut dengan porta Centronic. | ||
| Baris 18: | Baris 20: | ||
Porta paralel mempunyai 25 pin yang masing-masing mempunyai kegunaan dan arti sebagai berikut: | Porta paralel mempunyai 25 pin yang masing-masing mempunyai kegunaan dan arti sebagai berikut: | ||
{| class="wikitable" | |||
|- | |||
! Pin Nomor (DB25) | |||
! Nama Sinyal | |||
! Arah | |||
! Register Bit | |||
! Inverted | |||
|- | |||
| 1 | |||
| nStrobe | |||
| Out | |||
| Kendali-02 | |||
| Ya | |||
|- | |||
| 2 | |||
| Data0 | |||
| In/Out | |||
| Data-0 | |||
| Tidak | |||
|- | |||
| 3 | |||
| Data1 | |||
| In/Out | |||
| Data-1 | |||
| Tidak | |||
|- | |||
| 4 | |||
| Data2 | |||
| In/Out | |||
| Data-2 | |||
| Tidak | |||
|- | |||
| 5 | |||
| Data3 | |||
| In/Out | |||
| Data-3 | |||
| Tidak | |||
|- | |||
| 6 | |||
| Data4 | |||
| In/Out | |||
| Data-4 | |||
| Tidak | |||
|- | |||
| 7 | |||
| Data5 | |||
| In/Out | |||
| Data-5 | |||
| Tidak | |||
|- | |||
| 8 | |||
| Data6 | |||
| In/Out | |||
| Data-6 | |||
| Tidak | |||
|- | |||
| 9 | |||
| Data7 | |||
| In/Out | |||
| Data-7 | |||
| Tidak | |||
|- | |||
| 10 | |||
| nAck | |||
| In | |||
| Status-6 | |||
| Tidak | |||
|- | |||
| 11 | |||
| Busy | |||
| In | |||
| Status-7 | |||
| Ya | |||
|- | |||
| 12 | |||
| Paper-Out | |||
| In | |||
| Status-5 | |||
| Tidak | |||
|- | |||
| 13 | |||
| Select | |||
| In | |||
| Status-4 | |||
| Tidak | |||
|- | |||
| 14 | |||
| Linefeed | |||
| Out | |||
| Control-1 | |||
| Ya | |||
|- | |||
| 15 | |||
| nError | |||
| In | |||
| Status-3 | |||
| Tidak | |||
|- | |||
| 16 | |||
| nInitialize | |||
| Out | |||
| Control-2 | |||
| Tidak | |||
|- | |||
| 17 | |||
| nSelect-Printer | |||
| Out | |||
| Control-3 | |||
| Ya | |||
|- | |||
| 18-25 | |||
| Ground | |||
| - | |||
| - | |||
| - | |||
|} | |||
Simbol '''n''' di depan suatu nama sinyal seperti pada nAck berarti active low. | Simbol '''n''' di depan suatu nama sinyal seperti pada nAck berarti active low. | ||
| Baris 27: | Baris 145: | ||
# Register kendali | # Register kendali | ||
Pada umumnya di komputer pribadi, alamat dasar LPT1 adalah 0x378 (378 [[hexadecimal|heksadesimal]]) dan LPT2 adalah 0x278. Alamat dari ketiga ''register'' tersebut di atas dapat ditentukan dengan menjumlahkan alamat dasar dari porta paralel dengan bilangan desimal tertentu. Misalnya kita ingin mengakses''register'' data dari porta paralel LPT1, alamat ''register'' datanya sama dengan alamat dasar dari LPT1 yaitu 0x378. Sedangkan alamat ''register'' status sama dengan alamat ''register'' dasar + 1 atau 0x379 dan alamat ''register'' kendalinya sama dengan alamat ''register'' dasar + 2 atau 0x37A. Hal tersebut berlaku juga pada LPT2. Untuk lebih jelasnya, dapat dilihat di tabel di bawah ini: | Pada umumnya di komputer pribadi, alamat dasar LPT1 adalah 0x378 (378 [[hexadecimal|heksadesimal]]) dan LPT2 adalah 0x278. Alamat dari ketiga ''register'' tersebut di atas dapat ditentukan dengan menjumlahkan alamat dasar dari porta paralel dengan bilangan desimal tertentu. Misalnya kita ingin mengakses''register'' data dari porta paralel LPT1, alamat ''register'' datanya sama dengan alamat dasar dari LPT1 yaitu 0x378. Sedangkan alamat ''register'' status sama dengan alamat ''register'' dasar + 1 atau 0x379 dan alamat ''register'' kendalinya sama dengan alamat ''register'' dasar + 2 atau 0x37A. Hal tersebut berlaku juga pada LPT2. Untuk lebih jelasnya, dapat dilihat di tabel di bawah ini: | ||
{| class="wikitable" | |||
|- | |||
! Register | |||
! LPT1 | |||
! LPT2 | |||
|- | |||
| Register data (alamat dasar + 0) | |||
| 0x378 | |||
| 0x278 | |||
|- | |||
| Register status (alamat dasar + 1) | |||
| 0x379 | |||
| 0x279 | |||
|- | |||
| Register kendali (alamat dasar + 2) | |||
| 0x37A | |||
| 0x27A | |||
|} | |||
== Pemrograman Paralel Porta dengan C++ == | == Pemrograman Paralel Porta dengan C++ == | ||
Untuk mengambil data dari porta paralel dengan C++, dilakukan dengan perintah seperti di bawah ini: | Untuk mengambil data dari porta paralel dengan C++, dilakukan dengan perintah seperti di bawah ini: | ||
<syntaxhighlight lang="cpp"> | |||
#include <conio.h> | |||
// Perintah-perintah untuk mengambil data dari suatu porta, termasuk porta paralel | |||
int _inp( | |||
unsigned short port | |||
); | |||
unsigned short _inpw( | |||
unsigned short port | |||
); | |||
unsigned long _inpd( | |||
unsigned short port | |||
); | |||
// Perintah-perintah untuk mengeluarkan data ke suatu porta, termasuk porta paralel | |||
int _outp( | |||
unsigned short port, | |||
int databyte | |||
); | |||
unsigned short _outpw( | |||
unsigned short port, | |||
unsigned short dataword | |||
); | |||
unsigned long _outpd( | |||
unsigned short port, | |||
unsigned long dataword | |||
); | |||
</syntaxhighlight> | |||
Porta di sini adalah alamat dari porta dan nilai kembalian adalah nilai dari register data pada porta paralel. Perintah _inp, _inpw, dan _inpd mempuyai fungsi yang sama, perbedaannya hanyalah jenis dari nilai kembalian. Begitu juga dengan _outp, _outpw, dan _outpd. Untuk _inp bernilai int, _inpw bernilai unsigned short, dan untuk _inpd bernilai ''unsigned long''. Perintah-perintah di atas tidak berlaku untuk Windows NT/2000 atau XP karena di kedua sistem operasi tersebut tidak diperbolehkan akses langsung perangkat keras. Hal ini dikarenakan untuk perlindungan terhadap pemakaian suatu perangkat keras oleh beberapa perangkat lunak secara bersamaan. Untuk mengatasinya diperlukan berkas Inpout32.dll yang baru, yang telah dioprek supaya dapat mengakses perangkat keras. Pustaka Inpout32.dll menggunakan pengandar baku yang diatur oleh Windows untuk mengakses perangkat keras, jadi keamanan penggunaan perangkat keras oleh perangkat lunak semakin terjamin. | Porta di sini adalah alamat dari porta dan nilai kembalian adalah nilai dari register data pada porta paralel. Perintah _inp, _inpw, dan _inpd mempuyai fungsi yang sama, perbedaannya hanyalah jenis dari nilai kembalian. Begitu juga dengan _outp, _outpw, dan _outpd. Untuk _inp bernilai int, _inpw bernilai unsigned short, dan untuk _inpd bernilai ''unsigned long''. Perintah-perintah di atas tidak berlaku untuk Windows NT/2000 atau XP karena di kedua sistem operasi tersebut tidak diperbolehkan akses langsung perangkat keras. Hal ini dikarenakan untuk perlindungan terhadap pemakaian suatu perangkat keras oleh beberapa perangkat lunak secara bersamaan. Untuk mengatasinya diperlukan berkas Inpout32.dll yang baru, yang telah dioprek supaya dapat mengakses perangkat keras. Pustaka Inpout32.dll menggunakan pengandar baku yang diatur oleh Windows untuk mengakses perangkat keras, jadi keamanan penggunaan perangkat keras oleh perangkat lunak semakin terjamin. | ||
| Baris 38: | Baris 206: | ||
* [http://logix4u.net/Legacy_Ports/Parallel_Port/A_tutorial_on_Parallel_port_Interfacing.html Tutorial Untuk Antarmuka dengan Porta Paralel] | * [http://logix4u.net/Legacy_Ports/Parallel_Port/A_tutorial_on_Parallel_port_Interfacing.html Tutorial Untuk Antarmuka dengan Porta Paralel] | ||
== Sumber dan atribusi == | |||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Porta+paralel&oldid=26425435 Wikipedia bahasa Indonesia], revisi 26425435 (2024-10-16T05:08:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku. | |||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 23 Agustus 2026 17.59
Porta paralel atau porta sejajar (bahasa Inggris: parallel port) adalah salah satu jenis soket pada komputer pribadi untuk berkomunikasi dengan peralatan luar seperti mesin cetak model lama. Karena itu porta paralel sering juga disebut porta pencetak. Perusahaan yang memperkenalkan porta ini adalah Centronic, maka porta ini juga disebut dengan porta Centronic.
Kesederhanaan porta ini dari sisi pemrograman dan antarmuka dengan perangkat keras membuat porta ini sering digunakan untuk percobaan-percobaan sederhana dalam perancangan peralatan elektronika.
Penggunaan
- Mesin cetak model lama
- Penggerak Zip
- Beberapa pemindai
- Kartu suara
- Kamera web
- Gamepad dan tuas kendali
- Pemrogram EPROM
- Peralatan SCSI melalui adaptor Paralel ke SCSI
- Percobaan dengan penggerak TTL 12
- Kandar CD-ROM/RW eksternal
Fungsi dari 25 pin DB 25
Porta paralel mempunyai 25 pin yang masing-masing mempunyai kegunaan dan arti sebagai berikut:
| Pin Nomor (DB25) | Nama Sinyal | Arah | Register Bit | Inverted |
|---|---|---|---|---|
| 1 | nStrobe | Out | Kendali-02 | Ya |
| 2 | Data0 | In/Out | Data-0 | Tidak |
| 3 | Data1 | In/Out | Data-1 | Tidak |
| 4 | Data2 | In/Out | Data-2 | Tidak |
| 5 | Data3 | In/Out | Data-3 | Tidak |
| 6 | Data4 | In/Out | Data-4 | Tidak |
| 7 | Data5 | In/Out | Data-5 | Tidak |
| 8 | Data6 | In/Out | Data-6 | Tidak |
| 9 | Data7 | In/Out | Data-7 | Tidak |
| 10 | nAck | In | Status-6 | Tidak |
| 11 | Busy | In | Status-7 | Ya |
| 12 | Paper-Out | In | Status-5 | Tidak |
| 13 | Select | In | Status-4 | Tidak |
| 14 | Linefeed | Out | Control-1 | Ya |
| 15 | nError | In | Status-3 | Tidak |
| 16 | nInitialize | Out | Control-2 | Tidak |
| 17 | nSelect-Printer | Out | Control-3 | Ya |
| 18-25 | Ground | - | - | - |
Simbol n di depan suatu nama sinyal seperti pada nAck berarti active low.
Register dari Porta Paralel
Semua data, kendali, dan status dari porta paralel berhubungan dengan register yang ada di dalam komputer. Dengan mengakses langsung para register tersebut, masukan dan keluaran dari porta paralel dapat diatur. Register-register pada porta paralel adalah:
- Register data
- Register status
- Register kendali
Pada umumnya di komputer pribadi, alamat dasar LPT1 adalah 0x378 (378 heksadesimal) dan LPT2 adalah 0x278. Alamat dari ketiga register tersebut di atas dapat ditentukan dengan menjumlahkan alamat dasar dari porta paralel dengan bilangan desimal tertentu. Misalnya kita ingin mengaksesregister data dari porta paralel LPT1, alamat register datanya sama dengan alamat dasar dari LPT1 yaitu 0x378. Sedangkan alamat register status sama dengan alamat register dasar + 1 atau 0x379 dan alamat register kendalinya sama dengan alamat register dasar + 2 atau 0x37A. Hal tersebut berlaku juga pada LPT2. Untuk lebih jelasnya, dapat dilihat di tabel di bawah ini:
| Register | LPT1 | LPT2 |
|---|---|---|
| Register data (alamat dasar + 0) | 0x378 | 0x278 |
| Register status (alamat dasar + 1) | 0x379 | 0x279 |
| Register kendali (alamat dasar + 2) | 0x37A | 0x27A |
Pemrograman Paralel Porta dengan C++
Untuk mengambil data dari porta paralel dengan C++, dilakukan dengan perintah seperti di bawah ini: <syntaxhighlight lang="cpp">
- include <conio.h>
// Perintah-perintah untuk mengambil data dari suatu porta, termasuk porta paralel
int _inp(
unsigned short port
);
unsigned short _inpw(
unsigned short port
);
unsigned long _inpd(
unsigned short port
);
// Perintah-perintah untuk mengeluarkan data ke suatu porta, termasuk porta paralel
int _outp(
unsigned short port, int databyte
);
unsigned short _outpw(
unsigned short port, unsigned short dataword
);
unsigned long _outpd(
unsigned short port, unsigned long dataword
); </syntaxhighlight>
Porta di sini adalah alamat dari porta dan nilai kembalian adalah nilai dari register data pada porta paralel. Perintah _inp, _inpw, dan _inpd mempuyai fungsi yang sama, perbedaannya hanyalah jenis dari nilai kembalian. Begitu juga dengan _outp, _outpw, dan _outpd. Untuk _inp bernilai int, _inpw bernilai unsigned short, dan untuk _inpd bernilai unsigned long. Perintah-perintah di atas tidak berlaku untuk Windows NT/2000 atau XP karena di kedua sistem operasi tersebut tidak diperbolehkan akses langsung perangkat keras. Hal ini dikarenakan untuk perlindungan terhadap pemakaian suatu perangkat keras oleh beberapa perangkat lunak secara bersamaan. Untuk mengatasinya diperlukan berkas Inpout32.dll yang baru, yang telah dioprek supaya dapat mengakses perangkat keras. Pustaka Inpout32.dll menggunakan pengandar baku yang diatur oleh Windows untuk mengakses perangkat keras, jadi keamanan penggunaan perangkat keras oleh perangkat lunak semakin terjamin.
Pranala luar
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 26425435 (2024-10-16T05:08:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.