bab ii dasar teori 2.1. huffman code -...

30
4 BAB II DASAR TEORI 2.1. Huffman Code Algoritma Huffman menggunakan prinsip penyandian yang mirip dengan kode Morse, yaitu tiap karakter (simbol) disandikan dengan rangkaian bit. Karakter yang sering muncul disandikan dengan rangkaian bit yang pendek dan karakter yang jarang muncul disandikan dengan rangkaian bit yang lebih panjang. Berdasarkan tipe peta kode yang digunakan untuk mengubah masukan menjadi sekumpulan codeword, algoritma Huffman termasuk ke dalam kelas algoritma yang menggunakan metode statik . Metode statik adalah metode yang selalu menggunakan peta kode yang sama. Metode ini memiliki dua tahapan: tahap pertama untuk menghitung probabilitas kemunculan tiap simbol dan menentukan peta kodenya, dan tahap kedua untuk mengubah masukan menjadi kumpulan kode yang akan ditransmisikan. Berdasarkan teknik penyandian simbol yang digunakan, algoritma Huffman menggunakan metode symbolwise. Metode symbolwise adalah metode yang menghitung probabilitas kemunculan setiap simbol dalam satu waktu, dengan simbol yang lebih sering muncul diberi kode lebih pendek dibandingkan simbol yang jarang muncul. Prosedur pembentukan kode Huffman adalah sebagai berikut. 4. Mengurutkan simbol-simbol sumber mulai dari yang memiliki probabilitas terbesar hingga terkecil. 5. Menjumlahkan probabilitas dua simbol pada urutan terbawah (yaitu, dua simbol dengan probabilitas terkecil), dan kemudian mengurutkan kembali nilai-nilai yang dihasilkan. prosedur ini diulangi hingga hanya terdapat dua probabilitas yang dijumlahkan sampai 1. 6. Selanjutnya dilakukan penyandian, probabilitas yang terkecil pertama diberi kode '1' dan probabilitas terkecil kedua diberi kode '0'. 7. Menuliskan kode karakter dimulai dari level paling atas sampai level paling bawah.

Upload: voxuyen

Post on 08-Mar-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

4

BAB II

DASAR TEORI

2.1. Huffman Code

Algoritma Huffman menggunakan prinsip penyandian yang mirip dengan kode

Morse, yaitu tiap karakter (simbol) disandikan dengan rangkaian bit. Karakter yang

sering muncul disandikan dengan rangkaian bit yang pendek dan karakter yang jarang

muncul disandikan dengan rangkaian bit yang lebih panjang. Berdasarkan tipe peta

kode yang digunakan untuk mengubah masukan menjadi sekumpulan codeword,

algoritma Huffman termasuk ke dalam kelas algoritma yang menggunakan metode

statik .

Metode statik adalah metode yang selalu menggunakan peta kode yang sama.

Metode ini memiliki dua tahapan: tahap pertama untuk menghitung probabilitas

kemunculan tiap simbol dan menentukan peta kodenya, dan tahap kedua untuk

mengubah masukan menjadi kumpulan kode yang akan ditransmisikan.

Berdasarkan teknik penyandian simbol yang digunakan, algoritma Huffman

menggunakan metode symbolwise. Metode symbolwise adalah metode yang menghitung

probabilitas kemunculan setiap simbol dalam satu waktu, dengan simbol yang lebih

sering muncul diberi kode lebih pendek dibandingkan simbol yang jarang muncul.

Prosedur pembentukan kode Huffman adalah sebagai berikut.

4. Mengurutkan simbol-simbol sumber mulai dari yang memiliki probabilitas

terbesar hingga terkecil.

5. Menjumlahkan probabilitas dua simbol pada urutan terbawah (yaitu, dua simbol

dengan probabilitas terkecil), dan kemudian mengurutkan kembali nilai-nilai

yang dihasilkan. prosedur ini diulangi hingga hanya terdapat dua probabilitas

yang dijumlahkan sampai 1.

6. Selanjutnya dilakukan penyandian, probabilitas yang terkecil pertama diberi

kode '1' dan probabilitas terkecil kedua diberi kode '0'.

7. Menuliskan kode karakter dimulai dari level paling atas sampai level paling

bawah.

Page 2: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

5

Contoh:

Masukan: katak

Langkah pertama: menghitung probabilitasnya:

Tabel 2.1. Probalitas Masukan: “katak”.

Karakter Jumlah Probabilitas

K 2 2/5

T 1 1/5

A 2 2/5

Langkah kedua: mengurutkan probabilitas dari yang paling besar ke probabilitas yang

paling kecil.

Gambar 2.1. Urutan Karakter Masukan: “katak.

Langkah ketiga: Menjumlahkan probabilitas yang terkecil dan terkecil kedua, kemudian

mengurutkan probabilitasnya lagi. Kalau sama, maka hasil penjumlahan probabilitas

yang terkecil dan terkecil kedua diletakkan di depan. Kemudian langkah ketiga ini

diulangi sampai total probabilitasnya 1.

Gambar 2.2. Pohon Huffman Masukan: “katak”.

Langkah 4: Menuliskan kode „0‟ pada sebelah kiri dan menuliskan kode „1‟ pada

sebelah kanan pada cabang.

a

2/5

k

2/5

t

1/5

kta

5/5

a

2/5

t k

3/5

t

1/5

k

2/5

a

2/5

Page 3: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

6

0 1

0 1

Gambar 2.3. Pohon Huffman Masukan: “katak”.

Langkah kelima: menuliskan kode karakter dari kode paling atas sampai kode paling

bawah dan akan didapat hasil seperti pada tabel 2.2 berikut..

Tabel 2.2. Hasil Penyandian Masukan: “katak”.

Karakter Code Probabilitas

K 00 2/5

T 01 1/5

A 1 2/5

Langkah keenam: menuliskan masukan dengan code. Sehingga mendapatkan hasil

=00101100.

2.1.1. Rerata Informasi atau Entropi

Sistem-sistem komunikasi umumnya mentransmisikan serangkaian karakter

yang berasal dari sumber informasi. Oleh sebab itu, lebih penting untuk mengetahui

t

1/5

a

2/5

k

2/5

k t

3/5

a

2/5

kta

5/5

Page 4: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

7

rerata jumlah informasi yang dihasilkan oleh sebuah sumber informasi, daripada jumlah

informasi yang dikandung oleh sebuah karakter tunggal. Entropi dinyatakan oleh

Persamaan (2.1).

( ) ∑ ( ) ( ) (2.1)

dengan:

n = jumlah karakter;

P(xi) =probabilitas setiap kode; dan

H(X) =entropi.

Misal untuk masukkan: “katak”, bisa dilihat pada Tabel 2.1

Karakter Jumlah Probabilitas

K 2 2/5

T 1 1/5

A 2 2/5

H(X) = ( )

= ( )

=1,52192 bit per karakter.

2.1.2. Panjang Rata-Rata dan Efisiensi Kode

Panjang sebuah kode biner adalah banyaknya digit biner (bit) di dalam kode

tersebut. Panjang kode rata-rata L untuk tiap karakter sumber ditentukan sebagai

berikut:

∑ ( ) (2.2)

dengan:

L =panjang kode rata-rata;

n = jumlah karakter;

P(xi) =probabilitas setiap kode; dan

ni =jumlah bit tiap kode Huffman.

Peubah L menunjukkan jumlah bit rata-rata yang digunakan untuk merepresentasikan

sebuah karakter sumber dalam penyandian sumber.

Selanjutnya, parameter efisiensi kode dirumuskan sebagai:

Page 5: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

8

( )

(2.3)

dengan:

=efisiensi kode;

L =panjang kode rata-rata; dan

H(X) =entropi.

Misalnya untuk masukan: “katak”, bisa dilihat pada Tabel 2.2 berikut.

Karakter Code Probabilitas

K 00 2/5

T 01 1/5

A 1 2/5

= 1,6 bit per karakter

Sehingga panjang kode rata-rata masukan “katak” adalah 1,6 bit per karakter.

=0,9512 bit per karakter

Sehingga efisiensi kode masukan “katak” adalah 0,9512 bit per karakter.

2.2. Arithmetic Code

Pada umumnya, algoritma kompresi data melakukan penggantian satu atau lebih

karakter masukan dengan kode tertentu. Berbeda dengan cara tersebut, Arithmetic

Coding menggantikan satu deretan karakter masukan dengan sebuah bilangan floating

point. Keluaran arithmetic coding ini adalah satu angka yang lebih kecil dari 1 dan lebih

besar atau sama dengan 0. Angka ini secara unik dapat diawasandikan sehingga

menghasilkan deretan karakter yang dipakai untuk menghasilkan angka tersebut. Untuk

menghasilkan angka keluaran tersebut, tiap karakter yang akan disandikan diberi satu

set nilai probabilitas.

Contoh, masukan : “kata” akan disandikan. Akan didapatkan tabel probabilitas

berikut.

Langkah pertama: Mencari probabilitas tiap karakter

Tabel 2.3. Probabilitas Masukan: “kata”.

Page 6: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

9

Karakter Jumlah Probabilitas

K 1 1/4

T 1 1/4

A 2 2/4

Langkah kedua: Setelah probabilitas tiap karakter diketahui. Tiap karakter akan

diberikan rentang tertentu yang nilainya berkisar di antara 0 dan 1, sesuai dengan

probabilitas yang ada. Dalam hal ini, penentuan rentang harus urut dari karakter

masukan. Dari Tabel 2.3 di atas dibentuk Tabel 2.4 berikut:

Tabel 2.4. Rentang untuk Masukan: “kata”.

Karakter Probabilitas Rentang

K 1/4 0,00-0,25

A 2/4 0,25-0,75

T 1/4 0,75-1,00

Langkah ketiga: Membuat diagram Arithmetic

Dengan low=0 dan high=1. Low adalah batas bawah dan high adalah batas atas yang

disesuaikan dengan rentang pada Tabel 2.4.

0,00 k 0,25 a 0,75 t 1

Langkah keempat: menyesuaikan urutan masukan, karena masukan “kata” maka

dimulai dengan huruf k yang mempunyai rentang 0,00 sampai 0,25. Sehingga batas

bawahnya =0,00 dan batas atasnya menjadi 0,25.

0,00 k 0,0625 a 0,1875 t 0,25

Rumus batas atas=(batas atas karakter – batas bawah karakter) * probabilitas karakter +

batas bawah.

Dengan nilai batas atas karakter „k‟=0,25, batas bawah karakter „k‟=0,00, probabilitas

karakter „k‟=0,25

Batas atas k= (0,25-0,00)*0,25+0,00

=0,25*0,25+0,00=0,0625

Page 7: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

10

Sehingga didapatkan batas atas k adalah 0,0625.

Dengan batas atas karakter „a‟=0,25, batas bawah karakter „a‟=0,0625, dan probabilitas

karakter „a‟=0,5

Batas atas a= (0,25-0,0625)*0,5+0,0625

=0,1875

Sehingga didapatkan batas atas a adalah 0,1875

Lakukan sampai dengan huruf a yang terakhir. Sehingga didapatkan hasil seperti pada

Tabel 2.5.

Tabel 2.5. Tabel Batas untuk Masukan: “kata”.

Karakter Batas bawah Batas atas Batas atas-batas

bawah

0,00 1,00

k 0,00 0,25 1

a 0,0625 0,1875 0,25

t 0,15625 0,1875 0,125

a 0,1640625 0,1796875 0,03125

Langkah kelima: Mencari hasil penyandian dan pengawasandian

Untuk mencari hasil penyandian karakter ke-2 (huruf „a‟), dan seterusnya menggunakan

rumus

( )

Proses penyandian:

Hasil penyandian karakter pertama dapat dilihat pada Tabel 2.5 pada batas bawah

karakter terakhir (huruf „a‟) seperti yang dilingkari di bawah ini.

Karakter Batas bawah Batas atas Batas atas-batas

bawah

0,00 1,00

k 0,00 0,25 1

Page 8: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

11

a 0,0625 0,1875 0,25

t 0,15625 0,1875 0,125

a 0,1640625 0,1796875 0,03125

Sehingga Karakter 1 =0,1640625

Selanjutnya, membandingkan dengan Tabel 2.4. Dengan tabel ini, dapat dilihat hasil

penyandian pertama memenuhi rentang karakter „k‟ karena 0,164025 berada di antara

rentang 0,00 sampai 0,25 (pada baris yang diberi anak panah).

Karakter Probabilitas Rentang

k ¼ 0,00-0,25

a 2/4 0,25-0,75

t ¼ 0,75-1,00

probabilitas di antara 0,00 sampai 0,25 sehingga karakter pertama adalah karakter

k.

Untuk karakter ke 2 dan seterusnya menggunakan Persamaan 2.4.

Hasil penyandian sebelumnya=0,1640625

Batas bawah dan batas atas yang dipakai batas bawah batas atas karakter sebelumnya.

Batas bawah =0,00

Batas atas =0,25

Selanjutnya, membandingkan dengan Tabel 2.4. Dengan tabel ini, dapat dilihat hasil

penyandian karakter ke-2 memenuhi rentang karakter „a‟ karena berada di

antara rentang 0,25 sampai 0,75 (pada baris yang diberi anak panah).

Karakter Probabilitas Rentang

k ¼ 0,00-0,25

a 2/4 0,25-0,75

t ¼ 0,75-1,00

0,164062

Page 9: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

12

probabilitas di antara 0,25 sampai 0,75 sehingga karakter ke-2 adalah karakter a

Hasil penyandian sebelumnya=

Batas bawah dan batas atas yang dipakai batas bawah batas atas karakter sebelumnya.

Batas bawah =0,25

Batas atas =0,75

Selanjutnya, membandingkan dengan Tabel 2.4. Dengan tabel ini, dapat dilihat hasil

penyandian karakter ke-3 memenuhi rentang karakter „t‟ karena berada di

antara rentang 0,75 sampai 1,00 (pada baris yang diberi anak panah).

Karakter Probabilitas Rentang

k ¼ 0,00-0,25

a 2/4 0,25-0,75

t ¼ 0,75-1,00

probabilitas di antara 0,75 sampai 1,00 sehingga karakter ke-3 adalah karakter t

Hasil penyandian sebelumnya=

Batas bawah dan batas atas yang dipakai batas bawah batas atas karakter sebelumnya.

Batas bawah =0,75

Batas atas =0,1

Selanjutnya, membandingkan dengan Tabel 2.4. Dengan tabel ini, dapat dilihat hasil

penyandian karakter ke-4 memenuhi rentang karakter „a‟ karena berada di

antara rentang 0,25 sampai 0,75 (pada baris yang diberi anak panah).

Karakter Probabilitas Rentang

k ¼ 0,00-0,25

a 2/4 0,25-0,75

Page 10: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

13

t ¼ 0,75-1,00

probabilitas di antara 0,25 sampai 0,75 sehingga karakter ke-4 adalah karakter a

Sehingga hasil setelah diawasandikan=kata.

2.3. Parity Check Code

Parity Check Code adalah penyandian menggunakan penambahan satu atau lebih bit

untuk membuat total jumlah 1 bit menjadi genap (parity genap) atau gasal (parity

gasal). Jika jumlah bit gasal (termasuk bit parity) berubah pada waktu pengiriman, maka

bit parity menjadi tidak benar dan mengindikasikan adanya kesalahan pada saat

diterima. Oleh karena itu, bit parity merupakan kode pendeteksi kesalahan (error

detecting code), dan bukan merupakan kode pengoreksi kesalahan (error correcting

code) karena tidak ada cara untuk menentukan bit mana yang keliru. Data harus

diabaikan seluruhnya dan mengulangi lagi transmisi dari awal. Pada media transmisi

yang terganggu, transmisi yang berhasil akan membutuhkan banyak waktu atau tidak

berhasil sama sekali. Bit ekstra disebut parity redundant bit.

Kelemahan Parity Check Code ini adalah jumlah kesalahan bitnya harus gasal,

jika tidak maka sistem tidak bisa mendeteksi error.

Contoh penggunaan parity check code ditunjukan pada Gambar 2.4.

Misalnya pengiriman data biner 1100010, menggunakan parity genap

o Karena jumlah bit 1 dalam data ada 3, maka parity bit nya adalah 1, agar jumlah

bit menjadi genap

o Pada penerima, jika penerima mengenali 11000101 dan menghitung jumlah total

angka 1 pada data yaitu empat angka genap, maka data dideteksi benar

o Jika data telah rusak selama pengiriman dan penerima menerima 11100101,

maka fungsi parity check menghitung angka 1 dan didapatkan jumlah bit 1

sebanyak 5, yang merupakan angka gasal. Penerima mengenali bahwa error

telah terjadi pada data.

Page 11: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

14

Gambar 2.4. Parity Check Code

Bila sistem menggunakan parity check gasal, maka parity bit ditambahkan pada data

agar jumlah bit 1-nya gasal.

2.4. Longitudinal Redundancy Check (LRC)

Longitudinal Redundancy Check (LRC) merupakan pengembangan Parity Check

Code yang mempunyai kemampuan deteksi error yang lebih efisien. Pada data

Longitudinal Redundancy Check (LRC) dibagi menjadi sejumlah blok dan setiap blok

mempunyai karakter pemeriksa blok (Block Check Character/BCC) yang ditambahkan

di akhir blok.

Bit-bit paritas yang diletakan pada setiap karakter berfungsi sebagai LRC. Pada

teknik ini, satu blok bit diatur dalam bentuk baris dan kolom. LRC menggunakan paritas

genap untuk tiap kolomnya.

Jika dibandingkan Parity Check Code, LRC bisa mendeteksi junlah kesalahan

tidak hanya gasal saja tetapi bisa genap. Tetapi pada LRC memiliki kelemahan juga

yaitu jika jumlah kesalahannya 2 dan pada bit ke-n dan n+8, maka tidak terdeteksi

error. Karena LRCnya terdeteksi sama.

Adalah jumlah total angka 1 genap

1 1 0 0 0 1 0

penerima menerima data

1 1 0 0 0 1 0 1

Checking function

1 1 0 0 0 1 0 Even parity Generator

Parity Bit

Data

Page 12: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

15

Sebagai contoh, anggap pengirim ingin mengirim satu blok yang terdiri dari 32 bit.

o Sebelum pengiriman, 32 bit diatur dalam empat baris dan delapan kolom.

o Bit-bit dibaca per kolom, lalu parity bit dihitung sesuai aturan parity check code,

parity bit untuk setiap kolom tersebut membentuk baris kelima.

o Parity bit pertama dalam baris kelima dihitung berdasarkan semua bit pertama

o Parity bit kedua dalam baris kelima dihitung berdasarkan semua bit kedua, dan

seterusnya.

o Pada saat pengiriman, dilampirkan baris kelima yang terdiri atas delapan parity

bit pada data asli. Gambar 2.5 menunjukkan Longitudinal Redundancy Check.

Gambar 2.5. Longitudinal Redundancy Check (Data tak Terkorupsi).

o Penerima memeriksa blok LRC, 10101010 dan mengikuti aturan parity

genap.

Pengirim

Penerima

LRC

Data Asli

11100111 11011101 0011001 10101001

11100111

11011101

00111001

10101001

Baris 1

Baris 2

Baris 3

Baris 4

10101010 Baris 5

LRC

11100111 11011101 0011001 10101001 10101010

11100111 11011101 0011001 10101001 10101010

Data Asli Parity

Page 13: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

16

Gambar 2.6 menggambarkandata sebenarnya ditambah LRC, diterima oleh

penerima ketika data terkorupsi selama pengiriman.

Gambar 2.6. Longitudinal Redundancy Check (Data Terkorupsi).

Ketika penerima mengecek LRC, beberapa bit tidak mengikuti aturan parity

genap,

2.5. Cyclic Redundancy Check (CRC)

Cyclic Redundancy Check (CRC) adalah teknik untuk mendeteksi kesalahan

dalam data digital, tetapi tidak dapat mengoreksi ketika kesalahan terdeteksi. Hal ini

digunakan terutama dalam transmisi data. Penerima memeriksa bit pengecek CRC

yang sama dengan yang dikirim, untuk mendeteksi terjadinya kesalahan.

Teknik ini kadang-kadang diterapkan pada perangkat penyimpanan data, seperti

disk drive. Dalam situasi ini setiap blok pada disk akan memeriksa bit, dan hardware

secara otomatis memulai membaca kembali dari blok ketika kesalahan terdeteksi, atau

melaporkan kesalahan perangkat lunak.

CRC mempunyai kelebihan dibandingkan dengan parity check code dan LRC

,yaitu hasil koreksinya lebih akurat dan juga mempunyai bit redundant yang sedikit jika

dibandingkan LRC (jika bit pembaginya kurang dari 8 bit).

Penggunaan Cyclic Redundancy Check (CRC) dijelaskan sebagai berikut.

Data atau pesan yang diberikan sejumlah k-bit, kemudian pengirim

membangkitkan suatu bagian n-bit, sehingga jumlah bit yang terkirim adalah

k+n bit

Penerima memeriksa data (bit k+n).

Data dibagi oleh angka yang belum ditentukan, dan jika tidak ada sisa, maka

tidak terjadi error.

11100111 11011101 0011001 10101001 10101010

11100111 11011101 10001001 10100011 10101010

Pengirim

Penerima

Page 14: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

17

Gambar 2.7 menunjukkan generator CRC, Gambar 2.8 menunjukkan pengecek

CRC, dan Gambar 2.9 menunjukkan transmisi CRC.

Gambar 2.7. Generator CRC.

Gambar 2.8. Pengecek CRC.

Gambar 2.9. Transmisi CRC.

Berikut ini adalah ilustrasi proses yang terjadi.

o String n ”0” diberikan pada data. Jumlah n kurang 1 dari jumlah bit pada

pembagi yang belum ditentukan, yaitu bit n+1.

o Data yang baru saja diperpanjang dibagi dengan pembagi menggunakan proses

yang disebut pembagian biner. Sisa yang dihasilkan dari pembagian adalah

CRC.

o CRC pada bit n berasal dari langkah ke-2 yang menggantikan 0 yang

ditambahkan pada akhir rentetan data.

o Rentetan data tiba pada penerima data pertama, diikuti oleh CRC.

Data 00 - - - - 0

Pembagi

CRC

k-bit

n+1 bit

n-bit

Data CRC

Pembagi

Sisa

Angka yang belum ditentukan

0 , menerima

bukan 0 , menolak

Data CRC Pengirim Penerima

Page 15: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

18

o Penerima memperlakukan keseluruhan string sebagai sebuah kesatuan dan

membaginya dengan pembagi yang sama yang digunakan untuk menemukan

sisa CRC.

o Jika string bisa sampai tanpa error, pengecek CRC menghasilkan sisa nol, jika

string telah berubah dalam pengiriman, pembagian menghasilkan sisa yang

bukan nol.

Gambar 2.10 menggambarkan cara kerja generator CRC.

o Pada langkah pertama, keempat bit pembagi (1101) mengurangi empat bit

pertama yang dibagi (1001), menghasilkan 100 (0 pada sisa dikeluarkan).

o Selanjutnya satu bit berikutnya dari bit yang dibagi, ditarik ke bawah untuk

membuat jumlah bit pada sisa sama dengan bit pada pembagi.

o Langkah selanjutnya, 1000-1101 menghasilkan 101, dan seterusnya.

Gambar 2.10. Cara Kerja Generator CRC.

o Dalam proses ini, pembagi hanya bisa dikurangi dari sisa yang memiliki bit

sisa sebagian besar adalah satu.

1 0 0 1 0 0 0 0 0

1 1 0 1

1 0 0 0

1 1 0 1

1 0 1 0

1 1 0 1

1 1 1 0

1 1 0 1

0 1 1 0

0 0 0 0

1 1 0 0

1 1 0 1

0 0 1

Data plus ekstra 0. Angka 0 adalah angka bit pembagi dikurangi 1

Ketika bit paling kiri dari sisa adalah 0, harus menggunakan 0000 bukan pembagi asli

Sisa atau n- bits (CRC)

1101

111101

Page 16: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

19

o Pada saat bit sisa sebagian besar adalah 0, kita harus menggunakan 0000

bukannya pembagi asli.

o Pembatasan ini menyatakan secara tidak langsung bahwa pada beberapa

langkah, pengurangan sisa sebagian besar akan menjadi 0-0 atau 1-1 yang

keduanya sama-sama menghasilkan angka 0.

o Proses ini dilakukan berulang-ulang hingga pembagi yang tersisa telah

digunakan. Di sini, CRC nya adalah 001.

Gambar 2.11 menunjukkan pengecek CRC untuk generator CRC.

o Pengirim mengirim data ditambah CRC ke penerima, setelah menerima data

yang ditambahkan CRC.

o Di sini, pembagi bit (1101) sama dengan generator CRC.

o Jika semua sisanya adalah 0, maka CRC dibuang dan data diterima; sesuai

dengan yang dikirim.

Gambar 2.11. Cara Kerja Pengecek CRC .

Jika hasil CRCnya tidak 0 semua, maka terjadi error saat data diterima, sebaliknya jika

hasil CRCnya 0 semua, maka tidak terjadi error saat data diterima.

Pembagi –1101, data plus CRC–100100001, dan hasilnya 000

Ketika bit paling kiri dari sisa adalah 0, kita harus menggunakan 0000 bukan pembagi

1101

111101

1 0 0 1 0 0 0 0 1

1 1 0 1

1 0 0 0

1 1 0 1

1 0 1 0

1 1 0 1

1 1 1 0

1 1 0 1

0 1 1 0

0 0 0 0

1 1 0 1

1 1 0 1

0 0 0 Hasil CRC setelah dideteksi

Page 17: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

20

2.6. Checksum Code

Checksum Code adalah penyandian yang sering dipakai dalam komunikasi data

untuk mendeteksi error dengan cara menembahkan bit. Metode pendeteksian error

yang digunakan oleh protokol-protokol dengan lapisan lebih tinggi disebut checksum.

Checksum didasarkan pada konsep redundancy bit. Pengirim menggunakan generator

checksum dan penerima menggunakan pengecek checksum. Generator checksum

membagi kembali data menjadi segmen-segmen yang sama pada bit n, segmen-segmen

ini ditambahkan bersama-sama. Segmen yang ditambahkan disebut checksum field yang

ditambahkan pada akhir data asli sebagai bit redudancy. Pengirim mengirim data

ditambah checksum.

Checksum Code, jika dibandingkan dengan parity check code, LRC, dan CRC,

mempunyai kelebihan yaitu cara pendeteksiannya lebih sederhana dibandingkan CRC,

dan hasil pendeteksiannya a juga lebih akurat dibandingkan parity check code dan LRC.

Contoh data terdiri dari 16 bit yaitu 10101001 00111001.

o Rentetan data dibagi menjadi dua segmen 8 bit, sebagai berikut : 10101001

dan 00111001.

o Kedua segmen ditambahkan sebagai berikut:

10101001

00111001

11100010 (jumlah)

o Checksum dibentuk dari komplemen hasil jumlah yaitu 00011101.

o Checksum ditambahkan pada data. Pola yang terkirim adalah:

10101001 00111001 00011101

o Penerima menerima pola-pola di atas kemudian membaginya menjadi tiga

bagian, dan menjumlahkan secara bersamaan, dan akan mendapatkan semua

angka 1, yang dilomplemen menghasilkan semua angka 0.

o Ini menunjukkan bahwa tidak ada error dalam pengiriman.

o Jika hasil tidak nol semua maka terjadi error.

o Prosesnya sebagai berikut.

Page 18: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

21

10101001 (segmen data)

00111001 (segmen data)

00011101 (cek jumlah/ checksum)

11111111 (jumlah)

00000000 (komplemen)

2.7. Hamming Code

Metode Hamming code merupakan salah satu metode pendeteksi error dan

pengkoreksi error (error detection and error correction) yang paling sederhana.

Metode ini menggunakan operasi logika XOR (Exclusive-OR) dalam proses

pendeteksian error maupun pengkoreksian error. masukan dan keluaran dari metode ini

berupa bilangan biner. Hamming code merupakan salah satu jenis linier error correcting

code linier yang sederhana dan banyak dipergunakan pada peralatan elektronik.

Metode hamming code bekerja dengan menyisipkan beberapa check bit ke

dalam data. Jumlah check bit yang disisipkan tergantung pada panjang data. Rumus

untuk menghitung jumlah check bit yang akan disisipkan ke dalam data adalah: data 2n

bit, c = (n+1) bit, dengan c adalah jumlah check bit yang disisipkan.

Metode koreksi error single bit yang dikembangkan oleh R.W Hamming

melibatkan penciptaan codeword spesial dari data. Hamming Code menyertakan parity

bit jamak dalam string bit sebelum pengiriman. Idenya adalah bahwa bit diubah,

posisinya menentukan suatu kombinasi unik error parity check.

Tabel 2.6 menunjukkan jumlah data dan bit redundant.

Page 19: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

22

Tabel 2.6. Hubungan antara Data dan Bit Redudancy

Angka data bit

(m)

Angka bit

redundancy (r)

Jumlah angka bit

(m+r)

2rm+r+1

1

2

3

4

5

6

7

2

3

3

3

4

4

4

3

5

6

7

9

10

11

4 4

8 6

8 7

8 8

16 10

16 11

16 12

Misalnya data terdiri dari tujuh bit ASCII, akan diperlukan empat bit redudancy

yang bisa ditambahkan pada akhir unit data atau menyelingi dengan bit data asli.

Gambar 2.12 menunjukkan posisi bit redudancy pada kode Hamming.

Gambar 2.12. Posisi Bit Redudancy pada Kode Hamming

Pada kode Hamming, setiap bit r adalah parity bit untuk satu kombinasi data bit :

o r 1 adalah parity bit untuk satu kombinasi data bit, yaitu:

r 1 : bit 1, 3, 5, 7, 9, 11

o r 2 adalah parity bit untuk satu kombinasi data bit, yaitu:

r 2 : bit 2, 3, 6, 7, 10, 11

m1 m2 m3 m4 m5 m6 r 4 m7 r 8 r 2 r 1

11 10 9 7 6 5 4 3 8 2 1

Bit redudancy

Page 20: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

23

o r 4 adalah parity bit untuk satu kombinasi data bit, yaitu:

r 4 : bit 4, 5, 6, 7

o r 8 adalah parity bit untuk satu kombinasi data bit, yaitu:

r 8 : bit 8, 9, 10, 11

Masing-masing bit data mungkin diikutsertakan dalam lebih dari satu hitungan

parity.

Di sini, r1 dihitung menggunakan semua posisi bit yang memiliki perwakilan biner

termasuk satu ”1” pada posisi paling kanan.

Bit r2 dihitung menggunakan semua posisi bit dengan satu ”1” pada posisi kedua,

dan seterusnya.

Gambar 2.13 menunjukkan penghitungan bit.

Page 21: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

24

Gambar 2.13. Penghitungan Bit Redudancy.

Gambar 2.14 menunjukkan penghitungan untuk mendapatkan kode Hamming

Dalam contoh tersebut, kesebelas bit terdiri dari 7 karakter ASCII dan 4 parity

check.

Pertama-tama masing-masing karakter asli (7 bit) ditempatkanpada posisi yang tepat

pada 11 bit.

Page 22: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

25

Langkah selanjutnya, menghitung parity genap untuk berbagai macam kombinasi

bit.

Nilai parity untuk masing-masing kombinasi adalah nilai hubungan bit r.

Gambar 2.14. Penghitungan Bit Redudancy.

Seperti ditunjukkan oleh Gambar 2.14, untuk mendapatkan kode berjumlah 11 bit,

pengirim mengirim kode berjumlah 11 bit kepada penerima melalui garis transmisi.

Sekarang misalkan pada saat pengiriman data di atas diterima, angka bit 7 telah

berubah dari 1 menjadi 0, seperti ditunjukkan oleh Gambar 2.15.

Page 23: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

26

Gambar 2.15 Kesalahan pada Bit Tunggal.

Gambar 2.16 memperlihatkan deteksi error dengan menggunakan kode Hamming.

Penerima menghitung kembali empat parity check baru (vertikal redudancy check)

dengan menggunakan set bit yang sama yang digunakan pengirim ditambah

hubungan parity bit r untuk setiap set.

Dari contoh dapat diketahui bit yang salah adalah posisi ketujuh, sehingga detektor

langsung bisa mengoreksi bit pada posisi ketujuh yaitu 0 menjadi 1 sesuai data yang

dikirimkan.

Gambar 2.16. Error Detection.

1 0 0 1 1 1 0 0 1 0 1

1 0 0 1 0 1 0 0 1 0 1

Menerima Error

Mengirim

11 10 9 8 7 6 5 4 3 2 1

1 0 0 1 0 1 0 0 1 0 1

r

1 11 10 9 8 7 6 5 4 3 2 1

1 0 0 1 0 1 0 0 1 0 1

r

2

11 10 9 8 7 6 5 4 3 2 1

1 0 0 1 0 1 0 0 1 0 1

r

4 11 10 9 8 7 6 5 4 3 2 1

1 0 0 1 0 1 0 0 1 0 1

r

8

0 1 1 1

(Bit pada posisi 7 salah) 7

( r1

dih

itun

g d

engan

pen

gkom

bin

asia

n

bit

1,

3,

5,

7,

9 d

an 1

1)

Page 24: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

27

2.8. BCH Code

Bose, Chaudhuri, and Hocquenghem (BCH) code merupakan sebuah metode

error correction yang dibangun pada bidang finite (terbatas). Kode ini merupakan

pengembangan dari Hamming code untuk multiple error correction. Kode BCH

merupakan Cyclic codes dengan beberapa karakter tersusun dari m-bit yang berurutan,

dengan m adalah bilangan bulat positif yang lebih besar dari 2. Pada binary BCH code

terdapat beberapa parameter sebagai berikut:

Panjang blok : n = 2m - 1

Panjang bit informasi : k

Jumlah bit error maksimal : t

Checkbit :c=m*t

Jumlah digit parity-check : n – k ≤m*t

Jarak minimal : n ≥ 2t + 1

Kode ini mampu mengoreksi sebanyak t atau lebih kecil dalam blok n digit,

yang disebut kode BCH t-error-correcting. Sebuah kode BCH digambarkan dengan

format pada Gambar 2.17. Sebuah kode BCH seperti Gambar 2.17 di bawah dapat

dituliskan dalam bentuk BCH (n,k), contohnya BCH (15,7), berarti setiap 7 bit informasi

akan dikelompokan (di-framekan) dan dikodekan secara BCH dengan panjang kode 15.

Hal ini berarti terdapat 8 bit parity yang ditambahkan, untuk jelasnya dapat dilihat di

Gambar 2.18.

Tambahan 8 bit ini akan diletakkan di belakang informasi. Fungsinya adalah

untuk melakukan deteksi dan koreksi pada bagian penerima. Jika terdapat kesalahan

pada 7 bit informasi maka bit parity-check akan dapat mengembalikan data yang rusak

ke nilai awal sebelum terjadi kesalahan. Jumlah kesalahan yang dapat dikoreksi pada

BCH (15,7) adalah t = 2 (n-k = mt).

Gambar 2.17. Elemen BCH Code.

Gambar 2.18. BCH (15,7) dalam Bentuk Blok.

Page 25: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

28

2.9. Convolution Code

Terdapat dua tipe utama kode pengoreksi error yang umum yang digunakan

yaitu kode blok dan kode konvensional. Dengan kode blok (n,k), bit-bit data (atau

informasi) dikelompokan menjadi blok-blok sepanjang k bit , dan kemudian

penyandiannya untuk membentuk kode-kode biner (atau blok-blok kode) sepanjang n

bit, dengan (n-k) bit yang ditambahkan ke bit-bit data aslinya berfungsi sebagai cek

paritas. Salah satu karakteristik kode blok linier adalah bahwa blok data k bit yang

disandikan pada saat tertentu secara langsung menentukan kode biner n bit yang akan

dihasilkan oleh penyandi.

Di sisi lain sebuah penyandi untuk kode konvolusional (n,k,m) juga menerima

masukan berupa blok data k bit dan menghasilkan keluaran kode biner sebanyak n bit.

Namun berbeda halnya dengan kode blok, pembentukan sebuah kode biner n bit tidak

lagi hanya ditentukan oleh blok data k bit yang diumpankan ke penyandi pada titik

waktu yang sama, namun juga oleh (m-1) blok data k bit yang diumpankan sebelumnya.

Sehingga, karakteristik penting kode konvensional yang membedakannya dari kode

blok linier adalah digunakannya memori di dalam proses penyandian. Dalam

prakteknya, n maupun k adalah bilangan-bilangan bulat yang bernilai kecil dan tetap,

sedangkan nilai m akan diubah-ubah nilainya untuk mengatur redundansi pada kode.

Di dalam kasus khusus dengan k=1, rangkaian bit data tidak perlu dibagi terlebih

dulu menjadi blok-blok dan diolah terus-menerus secara berkesinambungan. Dalam

uraian selanjutnya mengenai kode konvolusional, hanya akan dibahas kasus khusus k =1

ini.

Kode-kode konvolusional sangat praktis. Beberapa metode yang berbeda bahkan

dapat digunakan untuk menjabarkan proses penyandian konvolusional, diantaranya

diagram koneksi, polinom koneksi, diagram keadaan (state diagram). Diagram pohon

(tree diagram), dan diagram teralis (trellis diagram). Gambar 2.19 memperlihatkan

sebuah penyandi konvolusional (2,1,2) sederhana denga n =2,k=1,dan m=2. Setiap kali

sebuah bit data dimasukkan ke register pertama pada penyandi, dua bit kode akan

dihasikan sebagai keluaran secara berurutan.

Page 26: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

29

Gambar 2.19. Penyandian Convolution Code (2,1,2).

Tabel 2.7. Penyandian Convolution Code (2,1,2).

INPUT PRESENT STATES NEXT STATES OUTPUT

S1 S2 KONDISI S1’ S2’ KONDISI V1 V2

0 0 0 A 0 0 A 0 0

1 0 0 A 1 0 B 1 1

0 1 0 B 0 1 C 1 0

1 1 0 B 1 1 D 0 1

0 0 1 C 0 0 A 1 1

1 0 1 C 1 0 B 0 0

0 1 1 D 0 1 C 0 1

1 1 1 D 1 1 D 1 0

Gambar 2.20. Diagram Keadaan Penyandian Convolution Code (2,1,2).

Page 27: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

30

2.10 Reed Salomon Code

Kode Reed Solomon mendeskripsikan sebuah cara sistematis untuk membentuk

kode yang mampu mengoreksi error yang muncul secara acak dan tak terduga (bursty)

pada paket data yang diterima.

Sebuah kode Reed Solomon ditulis dalam bentuk RS(n,k) dengan n adalah

panjang blok atau panjang kode yang terdiri dari susunan beberapa karakter, sedangkan

k adalah panjang informasi atau jumlah karakter data yang akan dikodekan. Panjang

block code ini dinyatakan oleh n = 2m-

1 dengan m adalah jumlah bit per karakter

sedangkan jumlah karakter parity yang harus ditambahkan untuk mengoreksi sejumlah

error sebanyak n-k = 2t dengan t adalah jumlah karakter error yang mampu dikoreksi.

Penyandian Reed Solomon mengganti karakter yang salah dengan karakter yang

sebenarnya tanpa memperdulikan apakah error yang terjadi pada karakter tersebut

disebabkan oleh satu bit yang rusak atau semua bit pada karakter tersebut mengalami

kerusakan. Alasan inilah yang menyebabkan kode Reed Solomon dianggap lebih baik

dibanding binary codes. Proses pendekodean Reed Solomon dijalankan dengan

mencari sindrom error pada data informasi.

Gambar 2.21. Gambar Elemen Reed Salomon Code.

2.10.1. Penyandi Reed-Solomon

Bentuk umum kode RS dituliskan dengan (n,k)=(2m -1, 2

m-1-2t), dengan n-k=2t

adalah banyaknya karakter parity dan t merupakan kemampuan untuk mengoreksi

karakter error. Sedangkan bentuk generator polinomial kode RS dituliskan sebagai

berikut:

g(x)=g0+g1x+g2x2+g2t-1x

2t-1 (2.5)

Derajat generator polinomial sama dengan banyaknya karakter parity yang

ditambahkan yaitu 2t. Sehingga akar generator polinomial, yang dilambangkan dengan

, mempunyai derajat yang sama. Akar-akar g(x) dituliskan sebagai , 2, 3

,... 2t.

Sebagai contoh, kode RS (7,3) dengan n=7 dan k=3,mempunyai kemampuan

untuk mengoreks error karakter 2t=n-k=4, maka kode tersebut mempunyai 4 akar.

Page 28: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

31

Berdasarkan derajat polinomialnya dari rendah ke tinggi dan dalam field biner

+1= -1, maka generator g(x) dapat dituliskan dengan:

g(x)=3+

1x+

0x

2+

3x

3+x

4 (2.6)

Untuk pembentukan polinomial codewordnya dilakukan dengan persamaan:

U(x)= P(x)+x^(n-k)m(x) (2.7)

Dengan:

U(x) = codeword yang dibentuk;

m(x) = karakter informasi yang akan disandikan; dan

p(x) = karakter parity yang didapatkan dari sisa pembagian antara perkalian karakter

informasi yang akan disandikan dan polinomial xn-k

dengan generator

polinomial g(x) yang secara matematis p(x) dapat dituliskan dengan p(x)= xn-1

m(x) mod g(x).

2.10.2. Pengawasandi Reed-Solomon

Pada Reed-Solomon decoder, codeword yang diterima mempunyai persamaan

sebagai berikut:

c(x)=U(x)+h(x) (2.8)

dengan

h(x)= ∑

(2.9)

h(x) merupakan error yang direpresentasikan dalam bentuk polinomial.

Jika menggunakan pengawasandian biner,maka perlu diketahui hanya lokasi

errornya saja. Dengan mengetahui error, maka yang harus dilakukan adalah mengubah

bit pada lokasi tersebut dari 0 menjadi 1 atau dari 1 menjadi 0. Sementara

pengawasandian secara non biner, mengetahui letak errornya saja tidaklah cukup, tetapi

juga harus mengetahui nilai karakter yang sebenarnya pada lokasi tersebut.

Page 29: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

32

2.11 Elemen Galois Field

Elemen galois field terdiri dari sekumpulan elemen yang dinotasikan oleh ,

dan bernilai n

0, 0, 1

, 2,...

n-1 (2.10)

untuk membentuk sebuah set elemen 2m, dengan n = 2

m -1. Nilai biasanya dipilih

bernilai 2, meskipun nilai lain dapat digunakan. Tiap elemen field yang ditunjukkan

pada persamaan (1) dapat direpresentasikan dalam bentuk polinomial :

m-1x

m-1+ 1

x1+ 0

(2.11)

Untuk m=4 memiliki persamaan elemen Galois Field berikut :

3x

3+ 2

x2+1

x1+ 0

(2.12)

2.12. Polynomial Generator Field

Polynomial Generator Field sering juga disebut polinomial primitif, p(x),

dengan pangkat m. Untuk galois field dengan ukuran tertentu, memiliki bentuk

polinomial yang secara umum sudah sering digunakan, seperti ditunjukan pada Tabel

2.8.

Tabel 2.8. Tabel Polinomial Primitif.

Page 30: BAB II DASAR TEORI 2.1. Huffman Code - repository.uksw.edurepository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB II.pdf · terbesar hingga terkecil. 5. Menjumlahkan probabilitas

33

2.13. Pembentukan Galois Field (GF)

Pada Tabel 2.9 ditunjukkan nilai dari elemen field untuk GF(2m

) dalam bentuk

indeks, polinomial, biner, dan desimal. Berdasarkan Tabel 2.8, tiap tahap pembentukan

polinomial selalu dikalikan dengan „x‟, sedangkan untuk pembentukan bilangan biner

mewakili nilai-nilai koefisien polinomial.

Tabel 2.9. Tabel Galois Field.