Cara Menghitung Even dan Odd Parity Bit Lengkap dengan Contoh

Dalam sistem komunikasi digital, kesalahan transmisi data dapat terjadi akibat noise, interferensi elektromagnetik, atau gangguan sinyal. Salah satu metode paling sederhana untuk mendeteksi error adalah menggunakan parity bit.
Pada artikel ini Anda akan mempelajari:
- Apa itu parity bit
- Perbedaan even parity dan odd parity
- Cara menghitung parity bit
- Contoh soal lengkap dengan pembahasan
- Penerapan parity pada komunikasi industri dan PLC
Artikel ini cocok untuk mahasiswa teknik elektro, informatika, dan praktisi otomasi industri.
Apa Itu Parity Bit?
Parity bit adalah bit tambahan yang disisipkan ke dalam data digital untuk membantu mendeteksi kesalahan saat transmisi.
Parity bekerja dengan menghitung jumlah bit bernilai 1 dalam suatu data.
Jika jumlah bit berubah selama pengiriman, sistem dapat mendeteksi adanya error.
Terdapat dua jenis parity yang umum digunakan:
- Even Parity (Paritas Genap)
- Odd Parity (Paritas Ganjil)
Apa Itu Even Parity?
Pada sistem even parity, jumlah total bit 1 (termasuk parity bit) harus genap.
Aturan Even Parity
- Jika jumlah bit 1 sudah genap → parity = 0
- Jika jumlah bit 1 ganjil → parity = 1
Tujuannya adalah membuat total bit 1 menjadi genap.
Apa Itu Odd Parity?
Pada sistem odd parity, jumlah total bit 1 (termasuk parity bit) harus ganjil.
Aturan Odd Parity
- Jika jumlah bit 1 sudah ganjil → parity = 0
- Jika jumlah bit 1 genap → parity = 1
Tujuannya adalah membuat total bit 1 menjadi ganjil.

Contoh Soal Parity Bit
Tambahkan parity bit (Even dan Odd) pada data berikut:
1001
00111101
10110
Cara Menghitung Even Parity
1️⃣ Data: 1001
Jumlah bit 1 = 2 (genap)
- Even parity → 0
Hasil:
10010
2️⃣ Data: 00111101
Jumlah bit 1 = 5 (ganjil)
- Even parity → 1
Hasil:
001111011
Total bit 1 sekarang = 6 (genap)
3️⃣ Data: 10110
Jumlah bit 1 = 3 (ganjil)
- Even parity → 1
Hasil:
101101
Total bit 1 sekarang = 4 (genap)
Cara Menghitung Odd Parity
Sekarang kita hitung dengan aturan odd parity.
1️⃣ Data: 1001
Jumlah bit 1 = 2 (genap)
- Odd parity → 1
Hasil:
10011
Total bit 1 = 3 (ganjil)
2️⃣ Data: 00111101
Jumlah bit 1 = 5 (ganjil)
- Odd parity → 0
Hasil:
001111010
Total bit 1 tetap 5 (ganjil)
3️⃣ Data: 10110
Jumlah bit 1 = 3 (ganjil)
- Odd parity → 0
Hasil:
101100
Total bit 1 tetap 3 (ganjil)
Ringkasan Perbandingan Even dan Odd Parity
| Data Awal | Jumlah 1 | Even Parity | Odd Parity |
| 1001 | 2 | 10010 | 10011 |
| 00111101 | 5 | 001111011 | 001111010 |
| 10110 | 3 | 101101 | 101100 |
Perbedaan Even dan Odd Parity
| Aspek | Even Parity | Odd Parity |
| Total bit 1 | Harus genap | Harus ganjil |
| Jika jumlah 1 genap | Tambah 0 | Tambah 1 |
| Jika jumlah 1 ganjil | Tambah 1 | Tambah 0 |
Kelebihan dan Keterbatasan Parity Bit
Kelebihan:
- Sederhana
- Mudah diimplementasikan
- Digunakan luas pada komunikasi serial
Keterbatasan:
- Hanya mendeteksi error pada jumlah bit ganjil (1, 3, 5, … bit)
- Tidak dapat memperbaiki error
- Tidak mendeteksi error jika jumlah bit error genap
Penerapan Parity dalam Sistem Industri
Parity bit digunakan pada:
- UART (Serial Communication)
- RS232 / RS485
- Modbus RTU
- Komunikasi PLC lama
- Sistem embedded
Dalam sistem industri, parity penting karena gangguan elektromagnetik dapat menyebabkan kesalahan transmisi data.
Menghitung Parity dengan XOR
Cara cepat menghitung parity adalah meng-XOR semua bit. Hasil XOR = 1 jika jumlah bit 1 ganjil, dan 0 jika genap. Jadi:
- Even parity bit = XOR semua bit data.
- Odd parity bit = kebalikan (NOT) dari XOR semua bit data.
Contoh 1011: 1 ⊕ 0 ⊕ 1 ⊕ 1 = 1 → even parity = 1, odd parity = 0.
Kode Arduino/C
// mengembalikan 1 jika jumlah bit 1 ganjil
uint8_t parityGanjil(uint8_t data) {
uint8_t p = 0;
while (data) {
p ^= (data & 1);
data >>= 1;
}
return p;
}
uint8_t evenParityBit(uint8_t data) { return parityGanjil(data); }
uint8_t oddParityBit(uint8_t data) { return !parityGanjil(data); }Kode Python
def even_parity_bit(data: int) -> int:
return bin(data).count("1") % 2
def odd_parity_bit(data: int) -> int:
return 1 - even_parity_bit(data)
print(even_parity_bit(0b00111101)) # 1
print(odd_parity_bit(0b00111101)) # 0Parity pada Komunikasi Serial (UART, RS485, Modbus RTU)
Pada UART, parity menjadi bagian dari format frame yang ditulis seperti 8N1, 8E1, atau 8O1: 8 bit data, parity None/Even/Odd, dan 1 stop bit. Kedua perangkat wajib memakai format yang sama; jika tidak, data terbaca salah atau ditolak sebagai parity error.
Spesifikasi Modbus RTU menetapkan even parity sebagai default. Jika parity tidak dipakai, spesifikasi meminta 2 stop bit agar panjang frame tetap sama. Di lapangan, banyak sensor murah tetap memakai 8N1, jadi selalu cek manual perangkat.
Parity, Checksum, dan CRC
| Metode | Ukuran | Kemampuan deteksi | Contoh pemakaian |
|---|---|---|---|
| Parity bit | 1 bit per karakter | Jumlah bit error ganjil | UART, RS232/RS485 |
| Checksum | 1–2 byte per pesan | Sebagian besar error sederhana | Modbus ASCII (LRC), paket IP |
| CRC | 16–32 bit per pesan | Error burst dan hampir semua pola error | Modbus RTU (CRC-16), Ethernet (CRC-32) |
Karena parity hanya melindungi satu karakter dan gagal mendeteksi dua bit error, Modbus RTU tetap menambahkan CRC-16 di akhir setiap pesan.
Latihan Soal
- Tentukan even dan odd parity untuk data
1100101. - Penerima memakai even parity dan menerima
10110110(7 bit data + 1 parity di akhir). Apakah ada error? - Mengapa error pada dua bit sekaligus tidak terdeteksi oleh parity?
Jawaban: (1) jumlah bit 1 = 4 → even parity 0 (11001010), odd parity 1 (11001011). (2) Total bit 1 = 5 (ganjil) → terjadi error. (3) Dua bit yang berubah membuat jumlah bit 1 tetap genap/ganjil seperti semula, sehingga pemeriksaan parity tetap “lolos”.
Kesimpulan
Parity bit adalah metode sederhana untuk mendeteksi kesalahan transmisi data.
- Even parity memastikan total bit 1 genap
- Odd parity memastikan total bit 1 ganjil
- Digunakan luas pada komunikasi serial dan industri
Memahami parity adalah dasar penting sebelum mempelajari komunikasi Modbus, PLC, atau sistem embedded.
Baca juga: Perancangan Odd Parity Generator dan Checker Menggunakan Proteus, Encoding & Decoding (Penjelasan Sederhana + Contoh Nyata), dan Multiplexer dan Demultiplexer: Pengertian, Cara Kerja, dan Aplikasinya.




