Parity Check
1.Parity Check
Pada metode ini, deteksi error dilakukan dengan menambahkan sebuah ‘parity’ bit pada setiap paket data, sehingga dapat dideteksi suatu paket data tersebut valid atau tidak. Metode parity bit ini terbagi menjadi dua jenis yakni:
- even parity
metode ini biasa dipergunakan dalam transmisi data secara asynchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan tetap 0 sedangkan jika jumlah ‘1’ ganjil maka bit parity akan menjadi 1 sehingga jumlah bit menjadi genap. Proses penghitungan ini menggunakan XOR gate. Untuk lebih jelasnya dapat dilihat pada contoh dibawah ini.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mentransmisikan data :1001
A menghitung, untuk mendapatkan bit parity :1^0^0^1 = 0
A menambahkan bit paritas pada paket data :10010
B menerima data :10010
B menghitung parity :1^0^0^1 = 0
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
Pada metode ini, deteksi error dilakukan dengan menambahkan sebuah ‘parity’ bit pada setiap paket data, sehingga dapat dideteksi suatu paket data tersebut valid atau tidak. Metode parity bit ini terbagi menjadi dua jenis yakni:
- even parity
metode ini biasa dipergunakan dalam transmisi data secara asynchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan tetap 0 sedangkan jika jumlah ‘1’ ganjil maka bit parity akan menjadi 1 sehingga jumlah bit menjadi genap. Proses penghitungan ini menggunakan XOR gate. Untuk lebih jelasnya dapat dilihat pada contoh dibawah ini.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mentransmisikan data :1001
A menghitung, untuk mendapatkan bit parity :1^0^0^1 = 0
A menambahkan bit paritas pada paket data :10010
B menerima data :10010
B menghitung parity :1^0^0^1 = 0
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
A ingin mentransmisikan data : 1001
A menghitung, untuk mendapatkan bit parity : 1^0^0^1 = 0
A menambahkan bit paritas pada paket data : 10010
*** TRANSMISSION ERROR ***
B menerima data : 11010
B menghitung parity : 1^1^0^1^0 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
A menghitung, untuk mendapatkan bit parity : 1^0^0^1 = 0
A menambahkan bit paritas pada paket data : 10010
*** TRANSMISSION ERROR ***
B menerima data : 11010
B menghitung parity : 1^1^0^1^0 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
- odd parity
metode ini biasa dipergunakan dalam transmisi data secara synchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan menjadi 1 sehingga jumlah bit ‘1’ menjadi ganjil sedangkan jika jumlah ‘1’ sudah ganjil maka bit parity akan tetap menjadi 0.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mengirimkan paket data : 1001
A menghitung, untuk mendapatkan bit parity : ~(1^0^0^1) = 1
A menambahkan bit parity : 10011
B menerima data : 10011
B menghitung parity bit : 1^0^0^1^1 = 1
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
metode ini biasa dipergunakan dalam transmisi data secara synchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan menjadi 1 sehingga jumlah bit ‘1’ menjadi ganjil sedangkan jika jumlah ‘1’ sudah ganjil maka bit parity akan tetap menjadi 0.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mengirimkan paket data : 1001
A menghitung, untuk mendapatkan bit parity : ~(1^0^0^1) = 1
A menambahkan bit parity : 10011
B menerima data : 10011
B menghitung parity bit : 1^0^0^1^1 = 1
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
A ingin mengirimkan paket data : 1001
A menghitung nilai even parity : 1^0^0^1 = 0
A menambahkan bit parity : 10010
*** TRANSMISSION ERROR ***
B menerima : 10011
B menghitung bit parity : 1^0^0^1^1 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
A menghitung nilai even parity : 1^0^0^1 = 0
A menambahkan bit parity : 10010
*** TRANSMISSION ERROR ***
B menerima : 10011
B menghitung bit parity : 1^0^0^1^1 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity
Kelebihan dari metode parity check:
- # Sederhana dalam analisis dan penggunaan pada sistem
- # Mudah direalisasikan dalam bentuk rangkaian/hardware
Kekurangan dari metode parity check:
- # Kurang handal dalam mengatasi deteksi dan perbaikan error.
- # Kemungkinan kesalahan yang terjadi besar, yaitu 50%
- # Hanya dapat mendeteksi error dalam jumlah bit terbatas : 1-3 bit errors.
Berikut ini contoh kesalahan yang dilakukan oleh metode parity check
A ingin mengirimkan data : 1001
A menghitung nilai paritas genap : 1^0^0^1 = 0
A mengirimkan : 10010
*** TRANSMISSION ERROR ***
B menerima : 11011
B menghitung semua paritas : 1^1^0^1^1 = 0
B melaporkan transmisi data benar, walaupun sebenarnya data terima salah.
A ingin mengirimkan data : 1001
A menghitung nilai paritas genap : 1^0^0^1 = 0
A mengirimkan : 10010
*** TRANSMISSION ERROR ***
B menerima : 11011
B menghitung semua paritas : 1^1^0^1^1 = 0
B melaporkan transmisi data benar, walaupun sebenarnya data terima salah.
2.Checksum
Pada Metode checksum, pengecekan dilakukan dengan melakukan penjumlahan pada sekumpulan data dan kemudian mengcomplement jumlah tersebut, kemudian hasil complement tersebut/checksum ditambahkan pada data sebagai sebuah karakter. Kemudian pada reciever, akan dihitung ulang checksum-nya dan dilakukan perbandingan nilai/jumlah data yang dikirimkan dengan checksum. Bila terjadi perbedaan nilai antara kedua nilai ini, maka terjadi kesalahan/error dalam pengiriman data. Pada dasarnya metode ini mirip dengan parity check, perbedaannya adalah jumlah bit pada sums lebih besar dan hasil dari penjumlahan data dengan checksum harus selalu dibuat nol.
Di sisi pengirim:
Di sisi pengirim:
- Unit data dibagi ke dalam k seksi yang masing-masing seksi berisi n-bit data.
- Semua seksi data tersebut ditambahkan menggunakan 1’s complement untuk mendapatkan jumlahnya.
- Jumlah tersebut kemudian dikomplemenkan dan menjadi nilai checksum.
- Checksum dikirim bersama dengan data sebagai unit terakhir dalam paket pengiriman.
Di sisi penerima:
- Unit data yang diterima kembali dibagi ke dalam k seksi yang masing-masing seksi berisi b-bit data.
- Semua seksi unit data tersebut dijumlahkan menggunakan 1’s complement untuk mendapatkan jumlahnya.
- Jumlah tersebut kemudian dikomplemenkan.
- Jika hasilnya adalah nol, maka data diterima; jika tidak, data akan ditolak.