Error-Correcting Coding : Aplikasi Matematika dalam Penyimpanan dan Pengiriman Data
Seiring dengan perkembangan dunia teknologi yang semakin canggih, metode penyimpanan dan pengiriman data via komputer semaking canggih. Sebagai contoh, sekarang flash disk yang berukuran mungil sekalipun dapat menyimpan data dalam jumlah yang besar. Tentu saja data-data yang berukuran besar itu harus ‘dikonversi’ ke dalam ‘bahasa’ yang dapat diterima dan dibaca oleh sistem komputer. ‘Bahasa’ inilah yang sering disebut dengan kode, yang kemudian memunculkan istilah ‘pengkodean’ atau dalam bahasa Inggris disebut ‘coding’.
Akan tetapi, dalam proses penyimpanan dan pengiriman pesan atau data, tidak hanya di komputer, seringkali ada ‘gangguan’, yg menyebabkan pesan tidak terbaca dengan tepat. Sebagai contoh, misalnya suatu data disimpan dalam Compact Disc (CD), dimana CD merupakan benda yang mudah tergores. Goresan-goresan pada permukaan CD berpotensi merusak isi data yang ada di dalamnya. Kalau dalam kehidupan sehari-hari, misalnya kita menulis suatu naskah di selembar kertas dan kertas itu basah terkena hujan. Beberapa tulisan akan menjadi luntur dan tidak terbaca. Hal-hal semacam inilah yang disebut dengan error atau galat.
Tentunya error ini bukan hal yang diinginkan, tetapi cukup sulit untuk dihindari, seperti halnya goresan pada CD. Namun, apabila goresan kecil, katakan hanya 1 milimeter, dapat merusak sebagian besar isi data dalam CD, tentu sangat merugikan. Ibarat pepatah: karena nila setitik rusak susu sebelanga. Oleh karena itu CD didesain supaya error yang terjadi dari goresan-goresan kecil tidak merusak isi data dan data masih dapat dibaca dengan benar. Jadi, proses pengkodean (coding) data yang ada pada CD didesain supaya dapat mendeteksi error yang muncul dan mengoreksinya sehingga kembali menjadi data yang benar. Proses ini disebut dengan error-detecting dan error-correcting. Hal inilah yang kemudian memunculkan studi khusus mengenai ‘error-correcting coding’. Jadi fokus dari pengkodean data disini bukan pada membentuk dan menerjemahkan kode, melainkan mendesain suatu kode yang dapat mengantisipasi terjadinya error.
Dalam error-correcting coding diperlukan sejumlah konsep dasar, yang sebagian besar dibangun dari konsep matematika. Disinilah teori-teori abstrak dalam matematika diimplementasikan, khususnya untuk membangun algoritma error-correcting coding yang efisien. Efisiensi disini diartikan sebagai kemampuan algoritma coding untuk mengoreksi banyak error sekaligus dapat merepresentasikan data dalam ukuran yang besar. Konsep-konsep yang digunakan antara lain konsep aljabar linear and aljabar abstrak. Konsep-konsep dalam kombinatorika dan teori bilangan juga sering digunakan, khususnya bila kode yang digunakan berupa digit-digit angka, seperti pada kode biner.
Saat kuliah, penulis telah banyak mempelajari konsep error-correcting coding yang menggunakan dasar aljabar. Penulis kuliah di jurusan matematika dan banyak mempelajari bidang aljabar dan aplikasinya, yang salah satunya dalam error-correcting coding ini. Bidang ini pula yang menjadi topik tugas akhir penulis di jenjang S1 dan S2, dimana penulis membahas teknik pengkodean yang didasari konsep suku banyak (polinomial). Saat ini pun penulis sedang mengembangkan penelitian mengenai konsep pengkodean yang didasari konsep aljabar Fuzzy. Tujuan dari penelitian ini adalah untuk merumuskan konsep pengkodean yang baru dan diharapkan hasilnya dapat bekerja lebih efisien daripada konsep yang umum digunakan atau dapat menjadi alternatif dalam sejumlah aplikasi. Di Binus University, anda dapat mempelajari Error-Correcting Coding di Program Ganda Teknik Informatika – Matematika.
Penulis: Ricky Aditya, S.Si., M.Sc. (D4686)