Bit parity merupakan bilangan biner yang ditambahkan untuk meyakinkan bahwa
jumlah bit yang dikirimkan mempunyai angka satu yang selalu genap atau ganjil. Ada dua
varian bit parity, yaitu even parity bit dan odd parity bit.
a. Even parity (paritas genap), digunakan untuk transmisi asynchronous. Bit parity
ditambahkan supaya banyaknya 1 untuk tiap karakter / data adalah genap.
b.
Odd parity (paritas ganjil), digunakan untuk transmisi synchronous. Bit parity
Satu blok informasi dilihat sebagai sederetan bit yang ditransmisikan. Bit yang
ditransmisikan dimasukkan kedalam register geser siklis yang disebut generator CRC.
Operasi ini didasarkan atas pembagian deretan bit dengan sebuah fungsi khusus.
Hasil bagi pembagian diabaikan. Sisanya disalurkan sebagai BCS (Block Check Sequence).
Fungsi khusus tersebut disebut generator polynominal.
Realisasi Generator CRC / Penguji Data dimasukkan kedalam register geser pada
berbagai titik melalui gerbang XOR yang mempunyai hubungan langsung dengan generator
polynominal yaitu rumus matematika untuk membagi bit data. Lebih baik dari VRC / LRC,
99% error dapat terdeteksi. Contoh hasil pada register geser 16 bit dengan gerbang XOR,
dimana
input
pada
bit
0,
5,
12
dan
output
pada
bit
15,
maka
Jika jumlah bit ganjil (termasuk bit parity) berubah pada waktu transmisi, maka bit
parity menjadi tidak benar dan mengindikasikan adanya kesalahan pada waktu pengiriman.
Oleh karena itu, bit parity merupakan kode pendeteksi kesalahan (error detecting code), dan
bukan merupakan kode pengoreksi kesalahan (error correcting code) karena tidak ada cara
untuk menentukan bit mana yang keliru. Data harus diabaikan seluruhnya dan mengulangi
lagi transmisi dari awal. Pada media transmisi yang terganggu, transmisi yang berhasil akan
membutuhkan banyak waktu atau tidak berhasil sama sekali. Parity mempunyai keuntungan,
yaitu hanya menggunakan satu bit saja dan membutuhkan satu saja gerbang XOR untuk mengenerate-nya.
Bit parity checking sering digunakan untuk transmisi karakter ASCII, karena karakter
ini hanya mempunyai 7 bit dan bit ke-8 dapat digunakan untuk bit parity. Sebagai contoh,
diasumsikan pengiriman 4 bit dengan nilai 1001, dengan bit parity terletak di sebelah paling
kanan. Penjelasan transmisi menggunakan even parity, sebagai berikut:
A akan mengirim : 1001
A menghitung nilai bit parity : 1^0^0^1 = 0
A menambahkan bit parity dan kirim : 10010
B menerima : 10010
B menghitung keseluruhan parity : 1^0^0^1^0 = 0
B melaporkan bahwa transmisi berhasil dengan parity yang benar (genap).
Jika transmisi menggunakan odd parity, maka penjelasannya sebagai berikut:
A akan mengirim : 1001
A menghitung nilai bit parity : ~(1^0^0^1) = 1
A menambahkan bit parity dan kirim : 10011
B menerima : 10011
B menghitung keseluruhan parity : 1^0^0^1^1 = 1
B melaporkan bahwa transmisi berhasil dengan parity yang benar (ganjil).
Mekanisme ini dapat mendeteksi kesalahan bit tunggal, karena jika satu bit berubah ketika
melewati jalur yang jelek, maka akan terdapat jumlah angka satu yang tidak benar pada saat
data diterima. Pada contoh di atas, B menghitung nilai parity dan mencocokkan dengan bit
parity pada nilai yang diterima, mengindikasikan bahwa tidak ada kesalahan bit tunggal. Pada
contoh di bawah ini akan terjadi kesalahan transmisi pada bit kedua:
A akan mengirim : 1001
A menghitung nilai bit parity : 1^0^0^1 = 0
A menambahkan bit parity dan kirim : 10010 *TRANSMISSION ERROR*
B menerima : 11010
B menghitung keseluruhan parity : 1^1^0^1^0 = 1
B melaporkan terjadi transmisi yang tidak benar, karena nilai parity tidak sama.
Pada kasus di atas, B menghitung nilai parity (0) tidak sama dengan bit parity (1) pada nilai
yang diterima. Hal ini mengindikasikan terjadi kesalahan. Di bawah ini contoh yang sama
tetapi dengan kesalahan pada bit parity-nya sendiri.
Parity Bit maka Parity Bitnya Bernilai "0", maka Kode biner huruf "A" ditambah menjadi A
= 10000010)
A = 10000010
k = 11010111
u = 10101111
Data lalu dikirim dengan format berikut:
10101111_11010111_10000010
Karena suatu hal entah itu attenuasi atau distorsi dan noise noise lainnya Bit Bit
tadi ada yang berubah dalam perjalanannya menjadi:
10101111_11010111_11000010
Pada Sisi Penerima Data tersebut dibaca sebagai kata "Cku" bukan "Aku" ( Lihat Tabel
ASCII ), bila tanpa Metode Pendeteksian Error maka data tersebut akan dianggap valid dan
tentu saja Anto menjadi Kebingungan melihat Tulisan Budi tesebut.
Mekanisme Pembacaannya:
1. Deret bit 1100001 Di dekodisasi sehingga menghasilkan bit "1" ( Tanpa Melibatkan
Parity Bit nya )
2. Penerima membandingkan Hasil dekodisasi tadi dengan Parity bitnya. "1" dan "0", Karena
tidak sama Maka Karakter Terdeteksi Error
3. Penerima Meminta data dikirim ulang, berharap data tidak rusak lagi.
4. Proses Diulang sampai data dianggap benar.