Forward error correction (FEC) adalah metode untuk memperoleh kontrol kesalahan dalam transmisi data. FEC dapat digunakan pada proses pengiriman data ke berbagai tujuan secara bersamaan dari satu sumber. Dalam bentuk FEC yang paling sederhana, setiap karakter dikirim dua kali. Penerima memeriksa kedua contoh dari setiap karakter untuk memenuhi protokol yang digunakan. Simple FEC adalah salah satu dari dua mode yang digunakan oleh radio amatir dalam koreksi kesalahan, mode tersebut juga disebut AMTOR (amateur teleprinting over radio), atau kadang-kadang disebut Mode B. Mode AMTOR lainnya adalah ARQ yang digunakan pada sistem telekomunikasi seperti Global System for Mobile (GSM). Jika di lingkungan radio amatir FEC disebut dengan AMTOR Mode B, maka ARQ juga memiliki nama lain, yaitu AMTOR Mode A. FEC merupakan metode pendeteksian adanya data yang salah atau data rusak pada data yang dikirimkan oleh pengirim, kemudian memperbaiki kesalahan tersebut sehingga data yang diterima menjadi sama persis dengan yang dikirim.
Forward Error Corection (FEC) atau Error Corecting Code (ECC) Berfungsi untuk pendeteksian dan memperbaiki eror-eror yang dinyatakan sebagai penerusan koreksi kesalahan untuk mengindikasikan bahwa pesawat penerima sedang koreksi kesalahan. Kode pendeteksian kesalahan yang paling banyak digunakan adalah Kode Hamming. Kode ini menggunakan bit-bit cek parity yang diletakkan pada posisi tertentu pada setiap blok data. terjadi dalam transmisi frame-frame. Ada dua tipe error yang mungkin terjadi saat proses pengiriman data, yaitu frame hilang dan frame rusak. Frame hilang adalah suatu frame yang gagal mencapai sisi tujuan pengiriman data. Frame rusak adalah suatu frame yang tiba di tujuan pengiriman, tetapi beberapa bit-nya mengalami masalah atau error. Pada metode FEC, penerima mampu membetulkan sendiri kesalahan data yang sudah diterima. Karena selain menerima data, penerima juga menerima bit-bit redundansi yang diperlukan, bit-bit tersebut dimanfaatkan FEC untuk memperbaiki frame yang mengalami kerusakan atau mengalami perubahan setelah melalui proses pengiriman data. Penggunaan FEC memperkecil kemungkinan pengiriman ulang frame data. Karena ketika terjadi frame rusak, penerima tidak langsung mengirimkan NAK ke pengirim tetapi mencoba memperbaiki frame rusak tersebut terlebih dahulu. Jika frame yang mengalami kerusakan dapat diperbaiki dengan FEC, maka penerima tidak mengirimkan NAK tetapi mengirimkan ACK kepada pengirim.
RFC 5445 dari Internet Engineering Task Force (IETF) berisi tentang skema dasar FEC. Dokumen tersebut berjudul Basic Forward Error Correction (FEC) Schemes. Penulisnya adalah Mark Watson dari perusahaan Digital Fountain. Ia mendapatkan gelar Master of Science (MSc) dari King's College London. Universitas tersebut menempati peringkat 10 besar universitas Inggris terbaik di dunia dan berpusat di jantung kota London. Hingga saat ini Ia bekerja sebagai Direktur di peusahaan Netfilx. Netflix adalah penyedia layanan hiburan Internet terkemuka di dunia dengan jumlah anggota berbayar lebih dari 151 juta di lebih dari 190 negara. Anggota Netfilx dapat menikmati serial TV, film dokumenter dan film layar lebar dari berbagai macam genre dan bahasa. Anggota dapat memperoleh hiburan sebanyak yang mereka inginkan, kapan saja dan dimana saja asalkan terhubung ke Internet. RFC 5445 diterbitkan oleh IETF pada bulan Maret 2009. Dokumen ini memberikan spesifikasi skema FEC sesuai dengan blok FEC Reliable Multicast Transport (RMT). RFC 5445 juga berguna untuk menggantikan RFC sebelumnya, yaitu RFC 3452 dan RFC 3695.
FEC telah diterapkan di berbagai bidang, yaitu telekomunikasi, teori informasi dan teori coding. Telekomunikasi adalah transmisi data berupa tanda, sinyal, pesan, kata, tulisan, gambar, suara dan informasi melalui media komunikasi kabel, radio, optik, atau sistem elektromagnetik lainnya. Pada telekomunikasi FEC digunakan untuk memperbaiki kesalahan pengiriman data yang dilakukan oleh pengirim dan penerima. Teori informasi mempelajari tentang kuantifikasi, penyimpanan, dan komunikasi informasi. Teori informasi awalnya diusulkan oleh Claude Shannon pada tahun 1948 untuk menemukan batasan mendasar pada pemrosesan sinyal dan operasi komunikasi melalui artikel jurnal berjudul "A Mathematical Theory of Communication". Dampak teori tersebut sangat penting bagi keberhasilan misi Voyager ke ruang angkasa, penemuan compact disc, pengembangan ponsel, pengembangan Internet, studi linguistik, pemahaman black-hole, dan banyak bidang lainnya. Teori coding adalah studi tentang sifat-sifat kode dan kesesuaian masing-masing kode untuk aplikasi tertentu. Kode digunakan untuk kompresi data, kriptografi, deteksi dan koreksi kesalahan, transmisi data dan penyimpanan data. Kode dipelajari oleh berbagai disiplin ilmu untuk tujuan merancang metode transmisi data yang efisien dan andal. Hal tersebut dapat berupa penghapusan redundansi dan koreksi atau deteksi kesalahan pada data yang dikirimkan. Empat jenis coding adalah Data compression (source coding), Error control (channel coding), Cryptographic coding dan Line coding.
Forward Error Correction (FEC) merupakan salah satu metode dalam meningkatkan reliabilitas data dalam telekomunikasi data dengan memperbaiki kesalahan bit-bit selama transmisi. Secara garis besar, jenis algoritma FEC dibagi menjadi dua, yaitu: Block Codes dan Convolutional Codes. Algoritma Viterbi adalah salah satu jenis Convolutional Codes. Prinsip kerja algoritma Viterbi adalah dengan mengukur jarak Hamming antara bit-bit yang diterima oleh penrima dengan pola yang dibentuk oleh dekoder. Block Codes adalah kelompok kode koreksi kesalahan yang mengkodekan data dalam blok. Pada pemrograman perangkat lunak, Block Codes digunakan untuk mengubah kode perangkat lunak atau algoritma ke dalam bentuk tertentu agar dapat meminimalkan kesalahan dalam kode yang dihasilkan. Contoh Block Codes adalah kode Reed-Solomon, Hamming, Hadamard, Expander, Golay, dan Reed-Muller. Kode-kode tersebut dikenal juga dengan nama kode blok aljabar dan kode blok siklik. Convolutional Codes mengkodekan aliran simbol informasi menjadi aliran simbol codeword. Convolutional Codes adalah jenis kode koreksi kesalahan yang menghasilkan simbol paritas melalui aplikasi geser fungsi polinomial boolean. Convolutional codes diperkenalkan pertama kali oleh Peter Elias pada tahun 1955. Convolutional Codes digunakan secara luas untuk berbagai aplikasi, contohnya adalah video digital, radio, komunikasi seluler, dan komunikasi satelit.
FEC melakukan deteksi dan koreksi kesalahan pada penerima tanpa meminta pengirim meretransmisi data. Susunan bit data yang akan dikirim (data string) ditambahkan kode hamming. Dengan demikian dapat ditentukan banyaknya bit kode hamming yang akan dipakai. Kode hamming ini disisipkan diantara bit-bit data karakter yang akan dikirim. Data karakter (data string) yang telah disisipkan kode hamming membentuk sebuah data yang disebut dengan data stream. Setelah data stream dibentuk, maka untuk menentukan bit-bit pada kode hamming, dilakukan proses Exclusive OR (Ex-OR) antara letak posisi (biner dari letak posisi bit ‘1’) bit ‘1’ pertama pada data stream dengan data biner letak posisi bit ‘1’ kedua, dan seterusnya. Hasil akhir dari proses Ex-OR ini menjadi bit-bit dari kode hamming. Bit-bit kode hamming yang diperoleh dimasukkan ke dalam data stream, kemudian dikirim ke penerima. Proses yang dilakukan penerima adalah membaca bit-bit kode hamming yang diterima. Kode hamming yang diterima di Ex-OR dengan letak posisi bit ‘1’ pertama, hasilnya di Ex-OR lagi dengan letak posisi bit ’1’ yang ke dua, dan seterusnya. Bila menghasilkan nilai desimal nol, maka disimpulkan bahwa tidak terjadi kesalahan, tetapi bila hasil akhirnya tidak menghasilkan desimal nol, maka disimpulkan telah terjadi kesalahan. Untuk memperbaiki kesalahan, dilakukan dengan mengganti bit yang salah tersebut dengan bit yang benar.
Forward Error Corection (FEC) atau Error Corecting Code (ECC) Berfungsi untuk pendeteksian dan memperbaiki eror-eror yang dinyatakan sebagai penerusan koreksi kesalahan untuk mengindikasikan bahwa pesawat penerima sedang koreksi kesalahan. Kode pendeteksian kesalahan yang paling banyak digunakan adalah Kode Hamming. Kode ini menggunakan bit-bit cek parity yang diletakkan pada posisi tertentu pada setiap blok data. terjadi dalam transmisi frame-frame. Ada dua tipe error yang mungkin terjadi saat proses pengiriman data, yaitu frame hilang dan frame rusak. Frame hilang adalah suatu frame yang gagal mencapai sisi tujuan pengiriman data. Frame rusak adalah suatu frame yang tiba di tujuan pengiriman, tetapi beberapa bit-nya mengalami masalah atau error. Pada metode FEC, penerima mampu membetulkan sendiri kesalahan data yang sudah diterima. Karena selain menerima data, penerima juga menerima bit-bit redundansi yang diperlukan, bit-bit tersebut dimanfaatkan FEC untuk memperbaiki frame yang mengalami kerusakan atau mengalami perubahan setelah melalui proses pengiriman data. Penggunaan FEC memperkecil kemungkinan pengiriman ulang frame data. Karena ketika terjadi frame rusak, penerima tidak langsung mengirimkan NAK ke pengirim tetapi mencoba memperbaiki frame rusak tersebut terlebih dahulu. Jika frame yang mengalami kerusakan dapat diperbaiki dengan FEC, maka penerima tidak mengirimkan NAK tetapi mengirimkan ACK kepada pengirim.
RFC 5445 dari Internet Engineering Task Force (IETF) berisi tentang skema dasar FEC. Dokumen tersebut berjudul Basic Forward Error Correction (FEC) Schemes. Penulisnya adalah Mark Watson dari perusahaan Digital Fountain. Ia mendapatkan gelar Master of Science (MSc) dari King's College London. Universitas tersebut menempati peringkat 10 besar universitas Inggris terbaik di dunia dan berpusat di jantung kota London. Hingga saat ini Ia bekerja sebagai Direktur di peusahaan Netfilx. Netflix adalah penyedia layanan hiburan Internet terkemuka di dunia dengan jumlah anggota berbayar lebih dari 151 juta di lebih dari 190 negara. Anggota Netfilx dapat menikmati serial TV, film dokumenter dan film layar lebar dari berbagai macam genre dan bahasa. Anggota dapat memperoleh hiburan sebanyak yang mereka inginkan, kapan saja dan dimana saja asalkan terhubung ke Internet. RFC 5445 diterbitkan oleh IETF pada bulan Maret 2009. Dokumen ini memberikan spesifikasi skema FEC sesuai dengan blok FEC Reliable Multicast Transport (RMT). RFC 5445 juga berguna untuk menggantikan RFC sebelumnya, yaitu RFC 3452 dan RFC 3695.
FEC telah diterapkan di berbagai bidang, yaitu telekomunikasi, teori informasi dan teori coding. Telekomunikasi adalah transmisi data berupa tanda, sinyal, pesan, kata, tulisan, gambar, suara dan informasi melalui media komunikasi kabel, radio, optik, atau sistem elektromagnetik lainnya. Pada telekomunikasi FEC digunakan untuk memperbaiki kesalahan pengiriman data yang dilakukan oleh pengirim dan penerima. Teori informasi mempelajari tentang kuantifikasi, penyimpanan, dan komunikasi informasi. Teori informasi awalnya diusulkan oleh Claude Shannon pada tahun 1948 untuk menemukan batasan mendasar pada pemrosesan sinyal dan operasi komunikasi melalui artikel jurnal berjudul "A Mathematical Theory of Communication". Dampak teori tersebut sangat penting bagi keberhasilan misi Voyager ke ruang angkasa, penemuan compact disc, pengembangan ponsel, pengembangan Internet, studi linguistik, pemahaman black-hole, dan banyak bidang lainnya. Teori coding adalah studi tentang sifat-sifat kode dan kesesuaian masing-masing kode untuk aplikasi tertentu. Kode digunakan untuk kompresi data, kriptografi, deteksi dan koreksi kesalahan, transmisi data dan penyimpanan data. Kode dipelajari oleh berbagai disiplin ilmu untuk tujuan merancang metode transmisi data yang efisien dan andal. Hal tersebut dapat berupa penghapusan redundansi dan koreksi atau deteksi kesalahan pada data yang dikirimkan. Empat jenis coding adalah Data compression (source coding), Error control (channel coding), Cryptographic coding dan Line coding.
Forward Error Correction (FEC) merupakan salah satu metode dalam meningkatkan reliabilitas data dalam telekomunikasi data dengan memperbaiki kesalahan bit-bit selama transmisi. Secara garis besar, jenis algoritma FEC dibagi menjadi dua, yaitu: Block Codes dan Convolutional Codes. Algoritma Viterbi adalah salah satu jenis Convolutional Codes. Prinsip kerja algoritma Viterbi adalah dengan mengukur jarak Hamming antara bit-bit yang diterima oleh penrima dengan pola yang dibentuk oleh dekoder. Block Codes adalah kelompok kode koreksi kesalahan yang mengkodekan data dalam blok. Pada pemrograman perangkat lunak, Block Codes digunakan untuk mengubah kode perangkat lunak atau algoritma ke dalam bentuk tertentu agar dapat meminimalkan kesalahan dalam kode yang dihasilkan. Contoh Block Codes adalah kode Reed-Solomon, Hamming, Hadamard, Expander, Golay, dan Reed-Muller. Kode-kode tersebut dikenal juga dengan nama kode blok aljabar dan kode blok siklik. Convolutional Codes mengkodekan aliran simbol informasi menjadi aliran simbol codeword. Convolutional Codes adalah jenis kode koreksi kesalahan yang menghasilkan simbol paritas melalui aplikasi geser fungsi polinomial boolean. Convolutional codes diperkenalkan pertama kali oleh Peter Elias pada tahun 1955. Convolutional Codes digunakan secara luas untuk berbagai aplikasi, contohnya adalah video digital, radio, komunikasi seluler, dan komunikasi satelit.
FEC melakukan deteksi dan koreksi kesalahan pada penerima tanpa meminta pengirim meretransmisi data. Susunan bit data yang akan dikirim (data string) ditambahkan kode hamming. Dengan demikian dapat ditentukan banyaknya bit kode hamming yang akan dipakai. Kode hamming ini disisipkan diantara bit-bit data karakter yang akan dikirim. Data karakter (data string) yang telah disisipkan kode hamming membentuk sebuah data yang disebut dengan data stream. Setelah data stream dibentuk, maka untuk menentukan bit-bit pada kode hamming, dilakukan proses Exclusive OR (Ex-OR) antara letak posisi (biner dari letak posisi bit ‘1’) bit ‘1’ pertama pada data stream dengan data biner letak posisi bit ‘1’ kedua, dan seterusnya. Hasil akhir dari proses Ex-OR ini menjadi bit-bit dari kode hamming. Bit-bit kode hamming yang diperoleh dimasukkan ke dalam data stream, kemudian dikirim ke penerima. Proses yang dilakukan penerima adalah membaca bit-bit kode hamming yang diterima. Kode hamming yang diterima di Ex-OR dengan letak posisi bit ‘1’ pertama, hasilnya di Ex-OR lagi dengan letak posisi bit ’1’ yang ke dua, dan seterusnya. Bila menghasilkan nilai desimal nol, maka disimpulkan bahwa tidak terjadi kesalahan, tetapi bila hasil akhirnya tidak menghasilkan desimal nol, maka disimpulkan telah terjadi kesalahan. Untuk memperbaiki kesalahan, dilakukan dengan mengganti bit yang salah tersebut dengan bit yang benar.