Anda di halaman 1dari 5

Odd Parity Check dan Even Parity Check

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

ditambahkan supaya banyaknya 1 untuk tiap karakter / data adalah ganjil


Dengan bit pariti dikenal 3 deteksi kesalahan, yaitu :
a. Vertical Redundancy Check / VRC
b. Longitudinal Redundancy Check / LRC
c. Cyclic Redundancy Check / CRC
Digunakan pengiriman berkecepatan tinggi, sehingga perlu rangkaian elektronik yang
sukar. Cara CRC mengatasi masalah overhead dan disebut pengujian berorientasi bit, karena
dasar pemeriksaan kemungkinan kesalahan adalah bit / karakter dan menggunakan rumus
matematika khusus.
Contoh menggunakan paritas genap:

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

CRC-CCITTT = X16 + X12 + X5 + 1


CRC-16 = X16 + X15 + X2 + 1
CRC-12 = X12 + X11 + X3 + X2 + 1
LRC = X8 + 1
RC-32 = X32 + X26 + X23 + X22 + X16
Even parity bit diset ke 1 jika jumlah angka 1 yang dikirimkan berjumlah ganjil
(berarti membuat total angka 1 berjumlah genap). Odd parity bit akan diset ke 1 jika jumlah
angka 1 yang dikirimkan berjumlah genap (berarti membuat total angka 1 berjumlah ganjil).
Berikut gambaran even dan odd parity bit.

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.

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 : 10011
B menghitung keseluruhan parity : 1^0^0^1^1 = 1
B melaporkan terjadi transmisi yang tidak benar, karena nilai parity tidak sama.
Sekali lagi, B menghitung keseluruhan odd parity, dan mengindikasikan kesalahan bit. Ada
keterbatasan pada skema parity ini, yaitu ketika ada kesalahan pada pengiriman data dengan
bit yang salah berjumlah genap seperti pada contoh di bawah ini:
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 : 11011
B menghitung keseluruhan parity : 1^1^0^1^1 = 0
B melaporkan transmisi berhasil dengan parity yang benar walaupun sebenarnya data sudah
tidak benar.
Study Kasus Parity Check ( Contoh Kongkret )
Budi dan Anto sedang chatingan satu sama lain, jelas keduanya sedang bercakap cakap
dengan metode berkirim teks. Diasumsikan Metode Pendeteksian Error = Parity Check &
Terminalnya Character-Oriented Transmission ( G usah bingung, g Ngerti juga GPP ).
Budi Mengetik Kata : Aku
Dalam Kode ASCII Berarti
A = 1000001
k = 1101011
u = 1010111
Dalam terminal Pengirim, Kata "Aku" Dianalisa Perkarakter "A" lalu "k" lalu "u". Dari
masing masing huruf itu Masing masing ditambahkan dengan parity bit nya ( Asumsikan kita
menggunakan Even Parity Bit ) Maka Data Akan berubah menjadi:
(A = 1000001 Setelah Di XOR kan, Hasilnya "0" Karena kita menggunakan metode Even

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.

Anda mungkin juga menyukai