Bit parity check
Bit parity check adalah metode yang digunakan untuk menentukan / mendeteksi kesalahan pada bit yang dikirim.Bit parity mengunakan bilangan biner untuk menetapkan bit yang dikirm itu menjadi bilangan yang genap atau ganjil saja.Dikarenakan hal ini maka menurut penulis wikipedia.org (http://en.wikipedia.org/wiki/Parity_bit/05/1/2014) merupakan metode yang paling simple/mudah/tidak merepotkan dalam menentukan kesalahan pada pengiriman kode/bit-bit yang dikirim.Bit parity check terbagi menjadi dua varian yaitu yang genap (even) dan ganjil (odd).
Cara menentukan apakah suatu bit itu genap atau tidak adalah dengan menambahkan seluruh angka yang ada pada bilangan biner bit lalu dibagikan dengan 2 jika angkanya galau/terdapat angka dibelakang koma maka angka tersebut adalah bilangan ganjil(bisa dibagi dengan angka 2).Jika bilangan ganjil akan dijadikan even parity maka ditambahkan dengan angka 1 agar angka tersebut menjadi bilangan genap,jika bilangan dijadikan odd parity maka bilangan ditambahkan angka 0 agar angkanya tetap ganjil.Sedangkan jika bilangan genap yang akan dijadikan even parity maka ditambahkan dengan angka 0 agar angka tersebut menjadi bilangan genap,jika bilangan dijadikan odd parity maka bilangan ditambahkan angka 1 agar angkanya menjadi ganjil.Biner baru 1/0 tersebut di letakkan di kanan angka bit yang akan dikirim.
Masalah dapat dideteksi yaitu ketika even parity yang dikirimkan menjadi angka berjumlah ganjil atau sebaliknya.Karena bit parity hanya berfungsi sebagai pendeteksi kesalahan bukan pengkoreksi kesalahan maka jika masalah ditemukan data akan diminta untuk dikirimkan ulang. Pada media transmisi yang terganggu, transmisi yang berhasil akan memerlukan banyak waktu atau tidak berhasil/transmisi gagal. Parity mempunyai keuntungan, yaitu hanya menggunakan satu bit saja dan membutuhkan satu saja gerbang XOR untuk men-generate-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.
1.Contoh penggunaan Even parity check
Untuk mempermudah penjelasan mengenai parity check, berikut ini adalah biner yang akan dijadikan contoh penggunaan even parity check pada biner(yang akan dikirim menggunakan even parity check) :
1.000
2.010110
3.1111011
Cara menentukan dan pembuatan even parity check
Keterangan :
A adalah pengirim,B adalah penerima
Biner hanya terdiri dari 2 angka yaitu 1 dan 0 tetapi untuk mempermudah penghitungan saya menggunakan bilangan asli untuk menentukan bilangan ganjil/genap,tetapi dalam komputer bilangan genap disimbolkan dengan 0 sedangkan bilangan ganjil disimbolkan dengan 1.
1.000
A akan mengirim : 000
A menghitung nilai bit parity : 0+0+0 = 0
A menghitung nilai bit parity : 0+0+0 = 0
0:2=0 karenanya bilangan ini adalah bilangan genap
Karena bilangan tersebut bilangan genap maka untuk menjadikannya even parity maka ditambahkanlah angka 0
A menambahkan bit parity dan kirim : 0000
B menerima : 0000
B menghitung keseluruhan parity : 0+0+0+0 = 0
A menambahkan bit parity dan kirim : 0000
B menerima : 0000
B menghitung keseluruhan parity : 0+0+0+0 = 0
Karena hasilnya sama dengan yang dikirim yaitu bilangan genap maka pengiriman ini dinyatakan benar,karenanya B melaporkan bahwa bit yang dikirim benar.
2. 010110
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
3:2=1,5 karenanya bilangan ini adalah bilangan ganjil
Karena bilangan tersebut bilangan ganjil maka untuk menjadikannya even parity maka ditambahkanlah angka 1
A menambahkan bit parity dan kirim : 0101101
B menerima : 0101101
B menghitung keseluruhan parity : 0+1+0+1+1+0 +1 = 4
A menambahkan bit parity dan kirim : 0101101
B menerima : 0101101
B menghitung keseluruhan parity : 0+1+0+1+1+0 +1 = 4
Karena hasilnya sama dengan yang dikirim yaitu bilangan genap maka pengiriman ini dinyatakan benar,karenanya B melaporkan bahwa bit yang dikirim benar.
3.1111011
A akan mengirim : 1111011
A menghitung nilai bit parity : 1+1+1+1+0+1+1 = 6
A menghitung nilai bit parity : 1+1+1+1+0+1+1 = 6
6:2=3
karenanya bilangan ini adalah bilangan genap
Karena bilangan tersebut bilangan genap maka untuk menjadikannya even parity maka ditambahkanlah angka 0
A menambahkan bit parity dan kirim : 11110110
B menerima : 11110110
B menghitung keseluruhan parity : 1+1+1+1+0+1+1+0 = 6
A menambahkan bit parity dan kirim : 11110110
B menerima : 11110110
B menghitung keseluruhan parity : 1+1+1+1+0+1+1+0 = 6
Karena hasilnya sama dengan yang dikirim yaitu bilangan genap maka pengiriman ini dinyatakan benar,karenanya B melaporkan bahwa bit yang dikirim benar.
2.Contoh penggunaan Odd parity check
Untuk mempermudah penjelasan mengenai parity check, berikut ini adalah biner yang akan dijadikan contoh penggunaan odd parity check pada biner(yang akan dikirim menggunakan odd parity check) :
1.000
2.010110
3.1111011
Cara menentukan dan pembuatan bit parity check
Keterangan : A adalah pengirim,B adalah penerima
1.000
A akan mengirim : 000
A menghitung nilai bit parity : 0+0+0 = 0
A menghitung nilai bit parity : 0+0+0 = 0
0:2=0 karenanya bilangan ini adalah bilangan genap
Karena bilangan tersebut bilangan genap maka untuk menjadikannya odd parity maka ditambahkanlah angka 1
A menambahkan bit parity dan kirim : 0001
B menerima : 0001
B menghitung keseluruhan parity : 0+0+0+1 = 1
A menambahkan bit parity dan kirim : 0001
B menerima : 0001
B menghitung keseluruhan parity : 0+0+0+1 = 1
Karena hasilnya sama dengan yang dikirim yaitu bilangan ganjil maka pengiriman ini dinyatakan benar,karenanya B melaporkan bahwa bit yang dikirim benar.
2. 010110
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
3:2=1,5 karenanya bilangan ini adalah bilangan ganjil
Karena bilangan tersebut bilangan ganjil maka untuk menjadikannya odd parity maka ditambahkanlah angka 0
A menambahkan bit parity dan kirim : 0101100
B menerima : 0101100
B menghitung keseluruhan parity : 0+1+0+1+1+0 +0 = 3
A menambahkan bit parity dan kirim : 0101100
B menerima : 0101100
B menghitung keseluruhan parity : 0+1+0+1+1+0 +0 = 3
Karena hasilnya sama dengan yang dikirim yaitu bilangan ganjil maka pengiriman ini dinyatakan benar,karenanya B melaporkan bahwa bit yang dikirim benar.
3.1111011
A akan mengirim : 1111011
A menghitung nilai bit parity : 1+1+1+1+0+1+1 = 6
A menghitung nilai bit parity : 1+1+1+1+0+1+1 = 6
6:2=3 karenanya bilangan ini adalah bilangan genap
Karena bilangan tersebut bilangan genap maka untuk menjadikannya odd parity maka ditambahkanlah angka 1
A menambahkan bit parity dan kirim : 11110111
B menerima : 11110111
B menghitung keseluruhan parity : 1+1+1+1+0+1+1+1 = 7
A menambahkan bit parity dan kirim : 11110111
B menerima : 11110111
B menghitung keseluruhan parity : 1+1+1+1+0+1+1+1 = 7
Karena hasilnya sama dengan yang dikirim yaitu bilangan ganjil maka pengiriman ini dinyatakan benar,karenanya B melaporkan bahwa bit yang dikirim benar.
3.Kesalahan pada bit parity check
Pada proses yang dilakukan bit parity check dapat terjadi juga kesalahan dikarenakan Bit parity check ini dapat mendeteksi kesalahan bit tunggal, karenanya jika satu bit berubah ketika melewati jalur yang jelek/terjadi gangguan, maka akan terdapat jumlah angka satu yang tidak benar pada saat data diterima.Jika kesalahan ini terjadi maka penerima akan melaporkan kesalahan data dan meminta data dikirimkan ulang.Parity check juga mengalami kesalahan pada pengiriman data dengan bit yang salah berjumlah genap.Hal ini terjadi karena keterbatasan kemampuan yang dimiliki parity check.
Contoh kesalahan pada parity check
Untuk mempermudah penjelasan mengenai kesalahan pada parity check, berikut ini adalah biner yang akan dijadikan contoh penggunaan even parity check pada biner(yang akan dikirim menggunakan even parity check) tetapi mengalami gangguan :
1. 010110 untuk kesalahan jenis pertama yaitu dikarenakan gangguan koneksi dan bit berubah.
2.010110 untuk kesalahan jenis kedua yaitu dikarenakan gangguan koneksi dan parity check berubah.
3.010110 untuk kesalahan jenis kedua yaitu dikarenakan kesalahan jumlah genap.
Penjabaran
1. 010110
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
3:2=1,5 karenanya bilangan ini adalah bilangan ganjil
Karena bilangan tersebut bilangan ganjil maka untuk menjadikannya even parity maka ditambahkanlah angka 1
A menambahkan bit parity dan kirim : 0101101
A menambahkan bit parity dan kirim : 0101101
Saat pengiriman terjadi gangguan
B menerima : 0101100
B menghitung keseluruhan parity : 0+1+0+1+1+0 +0 = 3
B menerima : 0101100
B menghitung keseluruhan parity : 0+1+0+1+1+0 +0 = 3
Karena hasilnya tidak sama dengan yang dikirim yaitu bilangan ganjil maka pengiriman ini dinyatakan salah,karenanya B melaporkan bahwa bit yang dikirim salah dan meminta pengiriman data diulangi.
2. 010110
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
3:2=1,5 karenanya bilangan ini adalah bilangan ganjil
Karena bilangan tersebut bilangan ganjil maka untuk menjadikannya even parity maka ditambahkanlah angka 1
A menambahkan bit parity dan kirim : 0101101
A menambahkan bit parity dan kirim : 0101101
Saat pengiriman terjadi gangguan
B menerima : 1101101
B menghitung keseluruhan parity : 1+1+0+1+1+0 +1 = 5
B menerima : 1101101
B menghitung keseluruhan parity : 1+1+0+1+1+0 +1 = 5
Karena hasilnya tidak sama dengan yang dikirim yaitu bilangan ganjil maka pengiriman ini dinyatakan salah,karenanya B melaporkan bahwa bit yang dikirim salah dan meminta pengiriman data diulangi.
3. 010110
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
A akan mengirim : 010110
A menghitung nilai bit parity : 0+1+0+1+1+0 = 3
3:2=1,5 karenanya bilangan ini adalah bilangan ganjil
Karena bilangan tersebut bilangan ganjil maka untuk menjadikannya even parity maka ditambahkanlah angka 1
A menambahkan bit parity dan kirim : 0101101
A menambahkan bit parity dan kirim : 0101101
Saat pengiriman terjadi gangguan
B menerima : 1111101
B menghitung keseluruhan parity : 1+1+1+1+1+0 +1 = 6
B menerima : 1111101
B menghitung keseluruhan parity : 1+1+1+1+1+0 +1 = 6
Karena hasilnya sama dengan yang dikirim yaitu bilangan genap maka pengiriman ini dinyatakan benar(walaupun yang data yang terkirim bitnya tidak sama),karenanya B melaporkan yang dikirim benar.
Kesimpulan
Bit parity check digunakan untuk mendeteksi kesalahan pada data yang dikirim,bit parity memiliki 2 tipe yaitu parity genap(even) dan parity ganjil(odd).Dengan penggunaan bit parity dapat meringankan memory yang digunakan karena cara kerjanya simpel dan mudah dimengerti.
Walaupun begitu selayaknya buatan manusia lainnya sistem ini tidaklah sempurna,ia dapat mengalami kesalahan pembacaaan data jika data yang dikirim terkena koneksi yang bermasalah/pengiriman data terganggu.Hal ini bisa terjadi dikarenakan fungsinya bukanlah sebagai pengkoreksi kesalahan tetapi sebagai pendeteksi kesalahan.
Sumber : gimanagitu1994.blogspot.co.id