Setiap hari miliaran pesan berpindah dari satu ponsel ke ponsel lain. Perjalanannya tidak selalu mulus: sinyal melemah, gelombang saling mengganggu, dan sesekali ada bit yang berubah di tengah jalan. Anehnya, pesan yang sampai hampir selalu utuh, persis seperti yang dikirim. Rahasianya bukan keajaiban, melainkan matematika yang bekerja diam-diam di balik layar.
Cabang matematika yang menangani persoalan ini disebut teori pengodean (coding theory). Fondasinya diletakkan oleh Claude Shannon pada tahun 1948 melalui teori informasi, lalu dikembangkan oleh Richard Hamming pada tahun 1950 dengan kode pengoreksi kesalahan pertama yang praktis. Mari kita lihat cara kerjanya, mulai dari yang paling sederhana.
Pesan Digital Hanyalah Deretan Angka
Semua pesan digital — teks, foto, suara — pada akhirnya disimpan sebagai deretan bit, yaitu angka \(0\) dan \(1\). Huruf “A”, misalnya, dikodekan sebagai \(01000001\). Gangguan pada saluran komunikasi dapat membalik sebuah bit: \(0\) menjadi \(1\) atau sebaliknya. Satu bit saja berubah, huruf “A” bisa berubah menjadi huruf lain. Pertanyaannya: bagaimana penerima tahu ada bit yang berubah, padahal ia tidak melihat pesan aslinya?
Jawabannya cerdik: pengirim sengaja menambahkan informasi ekstra yang dihitung dari isi pesan. Penerima lalu mengulang perhitungan yang sama. Jika hasilnya cocok, pesan kemungkinan besar utuh. Jika tidak cocok, pasti ada yang berubah di perjalanan.
Bit Paritas: Penjaga Paling Sederhana
Cara paling sederhana adalah bit paritas. Aturannya: hitung banyaknya angka \(1\) dalam pesan, lalu tambahkan satu bit ekstra agar jumlah seluruh angka \(1\) selalu genap.
Contoh: pesan \(1011010\) memuat empat angka \(1\). Empat sudah genap, maka bit paritasnya \(0\), dan yang dikirim adalah \(10110100\). Andaikan gangguan membalik bit ketiga sehingga penerima menerima \(10010100\), jumlah angka \(1\) kini tiga — ganjil. Penerima langsung tahu ada kesalahan dan dapat meminta pengiriman ulang.
Secara matematis, bit paritas \(p\) untuk pesan \(b_1 b_2 \ldots b_n\) dihitung dengan penjumlahan modulo 2:
\[ p = (b_1 + b_2 + \cdots + b_n) \bmod 2 \]
Kelemahannya jelas: jika dua bit berubah sekaligus, jumlahnya kembali genap dan kesalahan lolos tanpa terdeteksi. Diperlukan penjaga yang lebih kuat.
Checksum: Angka Pemeriksa di Sekitar Kita
Checksum memperluas gagasan paritas: seluruh isi pesan “diringkas” menjadi satu angka pemeriksa melalui rumus tertentu. Contoh yang bisa Anda uji sendiri ada di sampul belakang buku: nomor ISBN-13. Digit ke-13 bukan bagian dari nomor buku, melainkan digit pemeriksa yang dihitung dari dua belas digit sebelumnya:
\[ d_{13} = \Bigl( 10 – \bigl( d_1 + 3d_2 + d_3 + 3d_4 + d_5 + 3d_6 + d_7 + 3d_8 + d_9 + 3d_{10} + d_{11} + 3d_{12} \bigr) \bmod 10 \Bigr) \bmod 10 \]
Jika satu digit salah ketik, hasil perhitungan tidak akan cocok dengan digit ke-13, dan sistem kasir atau perpustakaan langsung menolaknya. Prinsip serupa dipakai pada nomor kartu debit (algoritme Luhn) dan pada setiap paket data internet, yang membawa checksum agar komputer penerima dapat memastikan paket tiba tanpa cacat.
Kode Hamming: Bukan Hanya Mendeteksi, tetapi Memperbaiki
Paritas dan checksum hanya memberi tahu bahwa ada kesalahan, bukan di mana letaknya. Terobosan Richard Hamming lebih jauh: dengan menempatkan beberapa bit paritas pada posisi yang dirancang cermat, penerima bisa menemukan posisi bit yang salah — lalu memperbaikinya sendiri, tanpa perlu meminta kiriman ulang.
Pada kode Hamming \((7,4)\), setiap 4 bit data dikawal 3 bit paritas sehingga totalnya 7 bit. Tiga bit paritas itu masing-masing mengawasi kelompok bit yang berbeda namun saling tumpang tindih. Ketika satu bit rusak, pola paritas yang gagal akan menunjuk tepat ke posisi bit tersebut, seperti tiga saksi yang keterangannya digabungkan untuk menemukan satu pelaku.
Kuncinya adalah konsep jarak Hamming: banyaknya posisi yang berbeda antara dua deretan bit. Sebuah kode dengan jarak minimum \(d_{\min}\) mampu mengoreksi sebanyak \(t\) kesalahan selama:
\[ d_{\min} \ge 2t + 1 \]
Artinya, agar bisa mengoreksi satu kesalahan, setiap dua kata kode yang sah harus berbeda minimal di tiga posisi. Dengan begitu, satu bit yang rusak tetap “lebih dekat” ke kata kode aslinya daripada ke kata kode lain, sehingga penerima dapat menebak dengan pasti pesan yang dimaksud.
Matematika di Balik Layar Ponsel Kita
Keturunan modern kode Hamming bekerja di hampir semua teknologi yang kita pakai. Kode Reed–Solomon menjaga kode QR tetap terbaca meski sebagian gambarnya tergores atau tertutup logo — versi dengan koreksi tertinggi tetap terbaca walau sekitar 30% areanya rusak. Kode serupa dahulu menjaga musik pada keping CD tetap jernih meski permukaannya baret, dan memungkinkan wahana antariksa mengirim foto dari jarak miliaran kilometer dengan sinyal yang sangat lemah. Jaringan seluler 4G dan 5G memakai kode LDPC dan kode polar, generasi terbaru dari keluarga besar yang sama.
Jadi, setiap kali pesan WhatsApp Anda tiba utuh, foto terkirim tanpa cacat, atau kode QR pembayaran terbaca dalam sekejap, ada deretan perhitungan modulo, paritas, dan aljabar yang baru saja bekerja — ribuan kali per detik, tanpa pernah kita sadari. Matematika tidak hanya ada di buku pelajaran; ia adalah penjaga senyap yang memastikan kata-kata kita sampai sebagaimana adanya.
Catatan: Artikel ini merupakan pengantar populer yang menyederhanakan sejumlah konsep teknis demi kemudahan pemahaman. Untuk kajian mendalam, pembaca dianjurkan merujuk pada buku teks teori pengodean dan teori informasi, seperti karya klasik C. E. Shannon, “A Mathematical Theory of Communication” (1948), dan R. W. Hamming, “Error Detecting and Error Correcting Codes” (1950).