Anda di halaman 1dari 100

ANALISIS KINERJA KODE BCH

Oleh :

NAMA : EDY SUSANTO

NIM : 030402002

DEPARTEMEN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
2009

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


ANALISIS KINERJA KODE BCH

Oleh :

EDY SUSANTO
030402002

Disetujui oleh,
Pembimbing

IR. SIHAR P. PANJAITAN,MT.


NIP : 131 945 815

Diketahui oleh,
Ketua Departemen Teknik Elektro FT USU

IR. NASRUL ABDI, MT.


NIP : 131 459 554

DEPARTEMEN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
2009

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


ANALISA KINERJA KODE BCH

Oleh :

NAMA : EDY SUSANTO


NIM : 030402002

Tugas akhir ini diajukan untuk melengkapi salah satu syarat


untuk memperoleh gelar sarjana Teknik Elektro pada

DEPARTEMEN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN

Sidang pada tanggal di depan penguji


1.
2.
3.

Diketahui Oleh: Disetujui Oleh:


Ketua Departemen Teknik Elektro Pembimbing Tugas Akhir

IR.NASRUL ABDI,MT. IR.SIHAR P. PANJAITAN


NIP : 131 459 554 NIP : 131 945 815

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


ABSTRAK

Untuk menghasilkan suatu sistem komunikasi yang handal, dalam artian


bebas dari error, perlu diterapkan suatu algoritma atau kode yang dapat
mengoreksi kesalahan bit. Salah satu dari kode pengoreksi kesalahan yang cukup
popular adalah kode BCH. Dalam tugas akhir ini, penulis menggunakan Visual
Basic 6 untuk menunjukkan kinerja kode BCH.

Kode BCH yang dibahas memiliki karakteristik 31 bit kode biner, dengan
rincian 16 bit informasi dan 15 bit parity check. Karenanya Kode BCH (31,16) ini
mampu mengoreksi sebanyak 3 bit kesalahan.

Pada tulisan ini penulis menggunakan algoritma Berlekamp sebagai


algoritma pengdekodean BCH. Tugas Akhir ini membahas bagaimana pengaruh
implementasi kode pengoreksi kesalahan terhadap kinerja sistem komunikasi
secara keseluruhan. Hasil analisis menunjukkan terjadi penurunan nilai Eb / No
yang diperlukan untuk memperoleh BER sama dengan 0. Pada transmisi yang
disertai pengkodean BCH, nilai Eb / No yang diperlukan adalah 7, sedang pada
transmisi tanpa pengkodean sama dengan 8.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas kasih

dan karunia-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini.

Laporan Tugas Akhir ini dibuat sebagai salah satu syarat untuk

menyelesaikan pendidikan di Fakultas Teknik Departemen Teknik Elektro

Program Studi Teknik Telekomunikasi Universitas Sumatera Utara.

Penyelesaian Tugas Akhir ini tidak terlepas dari bantuan banyak pihak dan

pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih yang

sebesar-besarnya kepada :

1. Kedua orang tua penulis, yang telah memberikan dukungan moril, doa,

dan materiil serta limpahan kasih sayang kepada penulis.

2. Saudara-saudara penulis, yang memberikan yang terbaik bagi keluarga.

3. Buat kawan kawan di DCKC, yang selalu memberikan dukungan.

4. Bapak Ir. Sihar P. Panjaitan, MT, selaku dosen pembimbing Tugas Akhir,

atas segala bimbingan, pengarahan, dan motivasi dalam menyelesaikan

Tugas Akhir ini.

5. Bapak Ir. Nasrul Abdi, MT. dan Bapak Rahmad Fauzi,ST,MT. selaku

Ketua Departemen dan Sekretaris Departemen Teknik Elektro, Fakultas

Teknik Universitas Sumatera Utara.

6. Bapak Soeharwinto, ST. MT. selaku Dosen Wali penulis atas segala

nasehat dan bimbingannya kepada penulis dalam mengikuti kegiatan

akademik.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


7. Seluruh staf pengajar Departemen Teknik Elektro, khususnya konsentrasi

telekomunikasi yang telah membekali penulis dengan berbagai disiplin

ilmu.

8. Seluruh pegawai dan karyawan Departemen Teknik Elektro Fakultas

Teknik Universitas Sumatera Utara.

9. Teman – teman di Departemen Teknik Elektro USU angkatan 2003; yang

selama ini telah menjadi teman seperjuangan dalam hari-hari kuliah.

10. Serta semua pihak yang telah banyak membantu penulis dalam

menyelesaikan Tugas Akhir ini yang tidak dapat disebutkan satu persatu.

Penulis menyadari bahwa Tugas Akhir ini tidak luput dari kekurangan-

kekurangan. Oleh karena itu, dengan segala kerendahan hati penulis memohon

maaf, dan penulis menerima saran dan kritik untuk perbaikan Tugas Akhir ini.

Akhir kata semoga Tugas Akhir ini bermanfaat bagi kita semua.

Medan, Mei 2009

Penulis

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


DAFTAR ISI

Abstrak .............................................................................................................. i

Kata Pengantar ................................................................................................. ii

Daftar Isi.................. .......................................................................................... iv

Daftar Gambar ................................................................................................. vii

Daftar Tabel....... ............................................................................................... viii

BAB I Pendahuluan .......................................................................................... 1

11 Latar Belakang ................................................................................... 1

1.2 Rumusan Masalah ............................................................................. 2

1.3 Tujuan Penulisan ............................................................................... 2

1.4 Batasan Masalah ................................................................................ 3

1.5 Metode Penulisan .............................................................................. 3

1.6 Sistematika Penulisan ........................................................................ 4

BAB II Landasan Teori .................................................................................... 5

2.1 Komunikasi Data ............................................................................... 5

2.2 Gangguan Transmisi ......................................................................... 9

2.3 Konsep Dasar Sistem Pengkodean ..................................................... 13

2.4 Pendeteksian Kesalahan ..................................................................... 20

2.5 Perkembangan Teori Pengkodean ...................................................... 20

2.5.1 Formula Shannon ............................................................. 21

2.6 Dasar Aljabar .................................................................................... 23

2.6.1 Group ............................................................................... 23

2.6.2 Ring ................................................................................. 24

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


2.6.3 Field………………………………………………………..25

2.6.4 Polynomial Ring…………………………………………...26

2.6.5 Galois Field………………………………………………...27

2.6.6 Primitif Polinomial…………………………………………30

2.6.7 Minimal Polinomial………………………………………..31

2.7 Kode Block Linear ............................................................................ 36

2.7.1 Jarak Minimum ................................................................ 38

2.8 Kode Siklis……………………………………………………………..39

2.9 Kode Hamming………………………………………………………...40

2.10 Kode Reed-Solomon………………………………………………….41

2.11 Kode Konvolusi………………………………………………………42

2.12 Metode BCH Code……………………………………………………48

BAB III Pemodelan Kode BCH ........................................................................ 53

3.1 Algoritma Pengkodean dan Pengdekodean BCH................................ 53

3.2 Model Sistem .................................................................................... 64

BAB IV Simulasi Kode BCH............................................................................ 68

4.1 Fungsi pada Model Sistem ................................................................. 68

4.1.1 Fungsi Pembangkitan Pesan ............................................... 68

4.1.2 Fungsi Encoder .................................................................. 69

4.1.3 Fungsi Modulator .............................................................. 70

4.1.4 Fungsi Pembangkitan Kesalahan Bit………………………..71

4.1.5 Fungsi Demodulator………………………………………..72

4.1.6 Fungsi Decoding ............................................................... .72

4.2 Penjelasan Interface ........................................................................... 74

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


4.3 Contoh Perhitungan Kode BCH ......................................................... 77

4.4 Evaluasi Performansi Kode BCH……………………………………….83

4.5 Faktor yang mempengaruhi Simulasi………………………………….85

4.6 Hasil Simulasi………………………………………………………….86

BAB V Kesimpulan dan Saran ......................................................................... 88

V.1 Kesimpulan ...................................................................................... 88

V.2 Saran ................................................................................................ 88

Daftar Pustaka .................................................................................................. 89

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


DAFTAR GAMBAR

Gambar 2.1 Gambaran Umum Model Komunikasi ..................................... 7

Gambar 2.2 Rincian Proses Transmisi Data .................................................... 8

Gambar 2.3 Blok Diagram untuk Sistem Pengkodean Digital ........................ 15

Gambar 2.4 Perbedaan Kode BCH dan Kode R-S .......................................... 46

Gambar 3.1 Proses Encoding pada BCH Code ................................................ 54

Gambar 3.2 Proses Decoding pada BCH Code ................................................ 55

Gambar 3.3 Model Sistem................................................................................. 64

Gambar 4.1 Form Input untuk Tutorial Pembelajaran .................................. 74

Gambar 4.2 Form Tutorial Pembelajaran ....................................................... 75

Gambar 4.3 Form Analisis ................................................................................ 76

Gambar 4.4 Hasil Simulasi untuk carrier rate =20.......................................... 86

Gambar 4.5 Hasil Simulasi untuk carrier rate = 80......................................... 87

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


DAFTAR TABEL

Tabel 2.1 Primitive Polynomial pada GF(2) ................................................ 34

Tabel 2.2 Rincian Minimal Polynomial........................................................ 36

Tabel 3.1 Galois Field GF (25) ...................................................................... 57

Tabel 3.2 Tabel dari Algoritma Peterson-Berlekamp ................................. 63

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


BAB I
PENDAHULUAN

1.1 Latar Belakang Masalah

Untuk menghasilkan suatu sistem komunikasi yang bebas error

diperlukan suatu pengkodean. Pengkodean ini bertujuan untuk mengoreksi

kesalahan atau error yang terjadi. Akan tetapi, masalah yang timbul

menunjukkan bahwa diperlukan suatu pengkodean yang tidak hanya dapat

mengoreksi error yang terjadi, tetapi juga menawarkan suatu algoritma

pengkodean dan pengdekodean yang efisien. Menurut teori Shannon, sebuah kode

yang bagus memungkinkan sistem komunikasi untuk mencapai kecepatan

transmisi yang mendekati kapasitas kanal itu sendiri.

Semua teori pengkodean, dimulai dari Kode Hamming, telah memberikan

kontribusi terhadap permasalahan ini, yaitu bagaimana melewatkan satu kesatuan

data melalui suatu kanal dengan kemungkinan error yang besar. Dengan bantuan

kode blok linear, dan formula matematika, banyak kode - kode yang telah

ditemukan, diantaranya, kode Golay, kode BCH, dan kode Reed – Solomon.

Kode BCH adalah kode pengoreksi kesalahan jamak yang berulang. Kode

ini ditemukan oleh Bose, Chaudari, dan Hocquenghem. Kode ini merupakan

sebuah kelas yang berisikan kode kode siklis pengoreksi kesalahan. Kode BCH

merupakan sebuah kode yang cukup menonjol dalam bidang pengoreksi kesalahan

jamak ( multiple error) secara teoritis maupun praktik.

Adapun parameter yang bisa digunakan untuk menentukan kehandalan

suatu kode dalam mengoreksi kesalahan pada transmisi sinyal digital adalah laju

kesalahan bit dan Eb / No. Oleh karena itu, dalam Tugas Akhir ini akan dianalisis

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


performansi system yang menggunakan kode BCH, dibandingkan dengan system

yang tidak mengimplementasikannya. Kode BCH dipilih karena kehandalannya

dalam mengoreksi sejumlah t kesalahan yang muncul secara acak dengan

menggunakan algoritma pengdekodean yang sederhana.

1.2 Rumusan Masalah

Rumusan masalah yang akan dibahas pada Tugas Akhir ini adalah :

a. Bagaimana prinsip kerja BCH dalam mengoreksi kesalahan bit.

b. Bagaimana performansi sistem yang menggunakan kode BCH.

c. Bagaimana cara kerja algoritma Berlekamp.

d. Apa saja kinerja yang dihitung atau ditampilkan.

1.3 Tujuan Penulisan

Tujuan penulisan Tugas Akhir ini adalah untuk memperlihatkan

penurunan nilai energy per bit Eb/No yang diperlukan untuk menghasilkan BER

=0, bila dibandingkan dengan transmisi data tanpa disertai pengkodean BCH.

1.4 Batasan Masalah

Untuk menghindari pembahasan yang meluas maka penulis membatasi

pembahasan permasalahan. Adapun yang menjadi batasan masalah dalam Tugas

Akhir ini adalah :

a. Hanya membahas algoritma pengkodean dan pengdekodean BCH (31,16).

b. Kanal pentransmisian merupakan kanal diskrit tanpa memory, dan Noise yang

dibangkitkan pada kanal hanya Noise AWGN

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


c. Algoritma yang digunakan adalah algortima pengdekodean Berlekamp

d. Model simulasi mengikut i model Jacobs – Viterbi

e. Tidak membahas kode BCH non binary

f. Jumlah bit yang dapat dikoreksi sebanyak 3 bit

g. Tidak membahas Daya Transmisi yang diperlukan untuk mentransmisi bit

data

1.5 Metodologi Penulisan

Metode pembahasan yang digunakan dalam Tugas Akhir ini adalah Studi

Literatur. Studi ini dilakukan dengan rincian sebagai berikut :

a. Pembahasan melalui buku-buku, jurnal, majalah maupun artikel-artikel

lainnya yang mendukung dalam analisis kinerja kode BCH

b. Diskusi dengan dosen yang menguasai ataupun memahami Tugas Akhir ini.

c. Menggunakan Simulasi untuk menampilkan grafik BER vs Eb / No

d. Simulasi menggunakan bahasa pemrograman Microsoft Visual Basic 6.0.

1.6 Sistematika Penulisan

Untuk mempermudah pembahasan, maka penulisan tugas akhir ini dibagi

atas lima bab, yaitu :

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, rumusan masalah,

tujuan penulisan, batasan masalah, metodologi penulisan dan

sistematika penulisan sebagai gambaran umum pembahasan secara

keseluruhan.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


BAB II BCH

Bab ini berisi Pengertian dan Prinsip Dasar kode BCH, Pembentukan

Generator Polinomial, dan Pembentukan Kode BCH.

BAB III MODEL SISTEM

Bab ini berisi uraian mengenai Algoritma Pengkodean dan Algoritma

Pengdekodean, Model Sistem, dan Sistem Pembangkitan Salah Bit.

BAB IV SIMULASI

Bab ini berisi analisis hasil numerik yang didapatkan dari model

simulasi. Kemudian melakukan plot grafik BER vs Eb/ No.

BAB V PENUTUP

Bab ini berisi kesimpulan dari pengaruh implementasi Kode BCH

pada sistem Komunikasi.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


BAB II
LANDASAN TEORI

2.1 Komunikasi Data

Komunikasi data merupakan penggabungan antara dunia komunikasi

dengan komputer. Komunikasi manusia adalah komunikasi antar manusia (baik

dengan bantuan alat maupun langsung) sedangkan komunikasi data adalah

komunikasi antar komputer atau perangkat digital lainnya (PDA, printer,

handphone).

Komunikasi data adalah proses transmisi data yang di-encode melalui

media elektrik, optik, wireless antara komputer atau prosesor jaringan. Transmisi

suara dapat saja dijadikan transmisi data jika informasi suara tersebut dirubah

(dikodekan) menjadi bentuk digital. Komunikasi digital merupakan sesuatu hal

yang penting dalam suatu infrastruktur komunikasi yang sedang dibangun. Di

bawah ini ada beberapa faktor yang harus diperhatikan pada komunikasi data:

a. Jumlah dan lokasi pemrosesan data.

b. Jumlah dan lokasi terminal (remote).

c. Tipe transaksi.

d. Kepadatan lalu lintas tiap tipe transaksi.

e. Prioritas/urgensi informasi yang disalurkan.

f. Pola lalu lintas.

g. Bit error rate yang dibutuhkan.

h. Keandalan sistem yang digunakan.

i. Revenue yang mungkin didapat.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Supaya suatu sistem komunikasi dapat berjalan secara lancar dan global,

maka perlu dibuat suatu standar protokol yang dapat menjamin:

• Kompatibilitas penuh antara dua peralatan setara

• Bisa melayani banyak peralatan dengan kemampuan berbeda-beda

• Berlaku umum dan mudah untuk dipelajari atau diterapkan.

Kegunaan dasar dari sistem komunikasi adalah menjalankan pertukaran

data antara 2 pihak. Contohnya adalah pertukaran sinyal-sinyal suara antara 2

telepon pada suatu jaringan yang sama.

Elemen-elemen kunci dari model komunikasi dasar adalah:

a. Source (Sumber)

Alat ini membangkitkan data sehingga dapat ditransmisikan, contoh: telepon

dan PC (Personal Computer).

b. Transmitter (Pengirim)

Biasanya data yang dibangkitkan dari sistem sumber tidak ditransmisikan

secara langsung dalam bentuk aslinya. Sebuah transmitter cukup memindah

dan menandai informasi dengan cara yang sama seperti menghasilkan sinyal-

sinyal elektro-magnetik yang dapat ditransmisikan melewati beberapa sistem

transmisi berurutan. Sebagai contoh, sebuah modem tugasnya menyalurkan

suatu digital bit stream dari suatu alat yang sebelumnya sudah dipersiapkan

misalnya PC, dan mentransformasikan bit stream tersebut menjadi suatu

sinyal analog yang dapat melintasi melalui jaringan telepon.

c. Transmission System (Sistem Transmisi)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Berupa jalur transmisi tunggal (single transmission line) atau jaringan

kompleks (complex network) yang menghubungkan antara sumber dengan

destination (tujuan).

d. Receiver (Penerima)

Receiver menerima sinyal dari sistem transmisi dan menggabungkannya ke

dalam bentuk tertentu yang dapat ditangkap oleh tujuan. Sebagai contoh,

sebuah modem akan menerima suatu sinyal analog yang datang dari jaringan

atau jalur transmisi dan mengubahnya menjadi suatu digital bit stream.

e. Sumber Noise

Noise merupakan gangguan yang muncul selama transmisi data berlangsung.

Noise memperngaruhi mutu atau kualitas dari sinyal yang diterima pada

bagian receiver. Untuk lebih detailnya, Noise dibahas pada sub-bab 2.2

f. Destination (Tujuan)

Menangkap data yang dihasilkan oleh receiver.

Sumber Pengirim Penerima


Tujuan
Informasi (Transmitter) Sinyal yg Sinyal yg (Receiver)
Pesan
dikirm diterima

Sumber Noise

Gambar 2.1 Gambaran Umum Model Komunikasi

Source (sumber) dan transmitter (pengirim) merupakan bagian dari sistem

sumber, sedangkan receiver (penerima) dan destination (tujuan) merupakan

bagian dari sistem tujuan.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Proses transmisi / pengiriman data secara terperinci dapat dilihat pada

gambar di bawah ini,

Analog Analog
Digital bit signal signal Digital bit
stream stream

Transmission
Source Transmitter Receiver Destination
System

1 2 3 4 5 6

Gambar 2.2 Rincian proses transmisi data

Keterangan :

1. Informasi yang di-input.

2. Data yang di-input.

3. Signal yang akan ditransmisikan berupa signal analog.

4. Signal yang diterima berupa signal analog.

5. Data output.

6. Informasi output.

Sebagai contoh komunikasi data, diambil ilustrasi transmisi data pada

surat elektronik (electronic mail) seperti berikut:

Anggap saja perangkat input dan transmitter merupakan komponen dari

suatu PC, user bermaksud mengirim suatu pesan m ke user yang lain. User

mengaktifkan program electronic mail di dalam PC dan memasukkan pesan

melalui keyboard (perangkat input). String karakter secara singkat ditahan di

dalam memori utama. PC dihubungkan dengan beberapa media transmisi,

misalnya sebuah local network atau jaringan telepon, lewat suatu perangkat I/O

(transmitter), dalam hal ini berupa local network transceiver atau modem. Data

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


yang masuk ditransfer ke transmitter sebagai rangkaian dari perubahan tegangan

yang menunjukkan bit – bit pada communication bus atau kabel. Transmitter

dihubungkan secara langsung ke media dan merubah aliran yang masuk menjadi

sinyal yang mampu untuk ditransmisikan.

Sinyal yang ditransmisikan yang diserahkan ke media menjadi subyek

untuk sejumlah gangguan, sebelum mencapai receiver. Jadi, sinyal yang diterima

dapat saja berbeda dari sumbernya. Receiver akan berupaya menganalisis keaslian

data sumber, didasarkan atas sinyal yang diterima dan pengetahuannya atas media

dan menghasilkan rangkaian bit. Bit – bit ini dikirim ke komputer output, di mana

bit – bit tersebut secara singkat ditahan di dalam memori. Dalam beberapa kasus,

sistem tujuan akan berupaya untuk memperingatkan bila terjadi error, dan untuk

selanjutnya bekerja sama dengan sistem sumber sampai akhirnya mendapatkan

data yang bebas dari error (error-free data). Data – data ini kemudian diberikan

kepada user melalui suatu perangkat output, seperti printer atau layar monitor.

Pesan atau message yang dilihat oleh user biasanya merupakan salinan dari pesan

aslinya.

2.2 Gangguan Transmisi

Masalah utama dalam merancang sebuah fasilitas komunikasi adalah

gangguan transmisi. Untuk sinyal-sinyal analog, gangguan transmisi

memperkenalkan efek random yang menurunkan mutu informasi yang diterima

dan kemungkinan mempengaruhi kejelasan data. Sedangkan sinyal-sinyal digital,

gangguan transmisi dapat menyebabkan bit error pada receiver.

Secara umum, gangguan transmisi yang paling signifikan adalah:

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


a. Atenuasi

Kekuatan sinyal berkurang bila jaraknya terlalu jauh melalui media transmisi.

Untuk guided media, penurunan dalam hal kekuatan, atau atenuasi, pada

umumnya mengikuti fungsi logarithm. Sehingga biasanya dinyatakan sebagai

jumlah desibel konstan per unit jarak. Untuk unguided media, atenuasi adalah

fungsi yang lebih kompleks dari jarak. Atenuasi membawa tiga pertimbangan

untuk membangun transmisi. Pertama, sinyal yang diterima harus cukup kuat

sehingga arus elektronik pada receiver bisa mendekati sinyal. Kedua, sinyal

harus mempertahankan level yang lebih tinggi dibanding derau yang diterima

tanpa error. Ketiga, atenuasi merupakan fungsi frekuensi yang meningkat.

Permasalahan pertama dan kedua berkaitan dengan perhatian terhadap

kekuatan sinyal dan penggunaan amplifier atau repeater. Untuk hubungan

ujung ke ujung, kekuatan sinyal sebuah transmitter harus cukup kuat agar

dapat diterima dengan jelas, namun juga tidak perlu terlalu kuat agar tidak

menimbulkan overload pada sirkuit transmitter atau repeater, yang bisa

menyebabkan distorsi. Melampaui jarak tertentu, atenuasi tidak dapat diterima

dengan baik, dan repeater atau amplifier dipergunakan utnuk memperkuat

sinyal pada interval yang wajar. Permasalahan ini menjadi lebih kompleks

untuk jalur multipoint dimana jarak dari transmitter menuju receiver tidak

tetap.

b. Distorsi Tunda

Distorsi tunda merupakan sebuah fenomena khas pada media guided. Distorsi

yang terjadi disebabkan oleh kenyataan bahwa kecepatan penyebaran sebuah

sinyal melewati medium guided berbeda dengan frekuensi. Untuk sebuah

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


signal band terbatasi, kecepatannya cenderung sangat tinggi di dekat pusat

frekuensi dan turun mengarah pada kedua sisi band. Sehingga berbagai

komponen frekuensi suatu sinyal akan mencapai receiver pada waktu yang

berlainan, dan mengakibatkan fasenya berubah di antara frekuensi yang

berbeda-beda.

Efek ini menunjuk pada distorsi tunda, akibat sinyal yang diterima mengalami

distorsi karena berbagai penundaan yang dialami pada pemilih frekuensinya.

Distrosi tunda sangat kritis bagi data digital. Anggap saja, suatu rangkaian bit

sedang ditransmisikan baik dengan menggunakan signal analog maupun signal

digital. Karena mengalami distrosi tunda, beberapa komponen sinyal dair satu

posisi bit meluap (spill over) ke posisi bit yang lain, dan menimbulkan

gangguan inter-simbol, yang merupakan batasan utama terhadap bit rate

maksimum sepanjang channel transmisi.

c. Derau

Untuk suatu peristiwa pentransmisian data, sinyal yang diterima akan berisikan

sinyal-sinyal yang ditransmisikan, dimodifikasi oleh berbagai distorsi yang

terjadi melalui sistem transmisi, plus sinyal-sinyal tambahan yang tidak

diinginkan yang diselipkan di suatu tempat di antara transmisi dan penerimaan.

Berikutnya, sinyal-sinyal yang tidak diharapkan tersebut disebut sebagai derau.

Derau dapat dibagi menjadi empat kategori, yaitu:

i. Derau suhu

Merupakan suatu gejolak thermal elektron. Muncul di semua perangkat

elektronik dan media transmisi serta merupakan fugnsi temperatur. Derau

suhu secara keseluruhan disebarkan sepanjang spektrum frekuensi dan

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


sering juga disebut segagai white noise. Derau suhu tidak dapat

dihilangkan dan karena itu menempatkan suatu batas atas pada unjuk kerja

sistem komunikasi.

ii. Derau Intermodulasi

Derau intermodulasi akan terjadi bila terdapat beberapa sifat tidak linear

pada transmitter, receiver, atau sistem transmisi yang menghalangi.

Normalnya, komponen-komponen ini berlaku sebagai sistem linear, yaitu

output sama dengan input kali suatu konstanta. Pada suatu sistem

nonlinear, output merupakan fungsi yang lebih kompleks dari input. Sifat

tidak linear semacam ini disebabkan karena tidak berfungsinya komponen

atau penggunaan kekuatan sinyal yang terlalu berlebihan.

iii. Crosstalk

Crosstalk dialami oleh siapapun yang saat menggunakan telepon,

terdengan percakapan lain; ini merupakan kopel yang tidak diharapkan

yang terjadi di antara sinyal. Dapat pula terjadi karena kopel elektrik di

antara twisted pair yang berdekatan. Crosstalk dapat pula terjadi bila

sinyal-sinyal yang tidak diharapkan tersebut disebarkan melalui antena

gelombang mikro, meskipun antena pengarah dipergunakan, namun energi

gelombang mikro tersebar luas selama proses propagasi.

iv. Derau impuls

Derau impuls umumnya hanyalah gangguan kecil bagi data analog.

Sebagai contoh, transmisi suara dapat diganggu oleh bunyi klik dan

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


gemerisik tanpa mengurangi kejelasannya. Bagaimanapun juga, derau

impuls juga merupakan sumber utama terjadinya error dalam komunikasi

data digital. Gangguan ini kadang-kadang cukup memadai untuk

mengubah 1 menjadi 0 atau 0 menjadi 1.

2.3 Konsep Dasar Sistem Pengkodean

Pada proses transmisi data digital melalui suatu saluran komunikasi fisik

dalam sebuah sistem komunikasi dan penyimpanan data pada media penyimpanan

dalam sebuah sistem komputer, data digital ditransfer dari suatu sumber informasi

ke suatu tujuan. Karena saluran komunikasi atau media pemyimpanan dapat

mengalami berbagai macam jenis gangguan, distorsi dan interferensi, output dari

saluran komunikasi atau media penyimpanan dapat berbeda dari input. Hal ini

disebabkan oleh kesalahan (error) yang dapat menghalangi atau mengganggu

proses transmisi. Oleh karena itu, kebutuhan akan pengontrolan kesalahan (error

control) semakin besar dalam saluran komunikasi dan media penyimpanan.

Kode dan algoritma pengkodean yang bagus tersedia untuk memenuhi

kebutuhan ini. Kemajuan pesat dari teknologi integrated circuit chip

memungkinkan proses perancangan dan implementasi dari pasangan encoder-

decoder yang menggunakan algoritma pengkodean ini.

Teori dan praktek dari kode pengontrolan kesalahan (error-control coding)

berhubungan erat dengan pengamanan dari informasi digital terhadap kesalahan

yang muncul pada saat transmisi atau penyimpanan data. Perhatian utama dari

designer adalah proses pengontrolan kesalahan sehingga dapat dilakukan

reproduksi informasi dan data yang akurat dan dapat dipercaya.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Blok diagram pada Gambar 2.3 berikut mengilustrasikan elemen-elemen

dasar yang diperlukan untuk melakukan proses transmisi atau penyimpanan

informasi digital melalui suatu sistem pengkodean. Untuk sistem ini, semua

informasi yang ditransmisikan antar blok harus dalam bentuk digital.

Information Source Channel Modulator


source Encoder Encoder (writing unit)
Encoder

Digital source
Channel
Noise
(storage medium)

Source Channel Demodulator


User
Decoder Decoder (reading unit)
Decoder

Digital data sink Digital channel

Gambar 2.3 Blok Diagram untuk Sistem Pengkodean

Digital

Data yang masuk ke dalam sistem komunikasi (communication system)

atau sistem penyimpanan (storage system) dari sumber informasi (information

source) akan diproses pertama kali oleh suatu pengkodean sumber (source

encoder) yang dirancang untuk mengkonversi informasi sumber menjadi bentuk

kode. Biasanya, source encoder akan mengubah output sumber menjadi sebuah

deretan bit biner yang disebut sebagai deretan informasi (information sequence) d.

Output sumber dapat berupa sebuah gelombang kontinu (continuous waveform)

atau sebuah deretan dari simbol diskrit (sequence of discrete symbols). Dalam

kasus output analog, source encoder harus memiliki kemampuan konversi dari

analog ke digital (A/D), contohnya pulse-code modulation (PCM).

Pengkodean saluran komunikasi (channel encoder) mentransformasikan

information sequence d menjadi sebuah barisan pengkodean biner (binary-coded

sequence) c yang disebut sebagai code word.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Code word dari saluran komunikasi (channel) berupa sebuah barisan yang

baru dan lebih panjang yang berisi redundansi dari simbol cek paritas (parity-

check symbols). Setiap simbol dalam code word dapat diwakili oleh suatu bit

ataupun kelompok bit. Secara umum, digit biner tidak cocok untuk proses

transmisi melalui saluran komunikasi bergelombang (waveform channel) atau

proses penyimpanan pada media penyimpanan digital.

Digit biner pada sebuah code word dari channel encoder dimasukkan ke

dalam sebuah modulator atau unit penulisan (writing unit) yang

mentransformasikan setiap bit menjadi gelombang sinyal dasar (elementary signal

waveform). Oleh karena itu, modulator harus mengubah setiap bit dari code word

saluran komunikasi menjadi suatu gelombang yang cocok dengan durasi T sekon

agar bit-bit tersebut dapat ditransmisikan. Binary phase shift keying (BPSK) atau

frequency shift keying (FSK) sering dipakai sebagai pembentuk signal gelombang

untuk mentransmisikan code word.

Gelombang ini akan masuk ke saluran komunikasi atau media

penyimpanan dan akan dirusak atau diubah oleh kegaduhan (noise). Saluran

komunikasi gelombang ini terdiri dari semua perangkat keras (hardware) dan

media fisik yang akan dilalui oleh gelombang dari modulator output atau media

penulisan menuju ke demodulator input atau media pembacaan.

Dalam sistem koheren, skema modulasi biner dari BPSK yang sering

digunakan. Dengan proses transmisi biner ini, 1 direpresentasikan oleh gelombang

(7)
…(2.1)

sedangkan 0 direpresentasikan oleh sinyal antipodal

(7) …(2.2)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


dimana kekuatan gelombang adalah

(7)

…(2.3)
.

Dalam sistem BPSK non-koheren, proses demodulasi dari signal

gelombang tidak dapat dilakukan. Maka, sebagai penggantinya, digunakan

sepasang signal nada (signal tones)

(7)
…(2.4)

dan

(7)
…(2.5)

untuk merepresentasikan digit 0 dan 1 yang ditransmisikan.

Beberapa contoh waveform channel adalah saluran telepon, hubungan

microwave, hubungan radio berfrekuensi tinggi, hubungan telemetri dan

hubungan satelit. Sedangkan, beberapa contoh media penyimpanan adalah core

memory, magnetic tapes, disk files dan optical memory unit.

Setiap elemen dalam contoh yang disebutkan di atas merupakan subjek

gangguan dari berbagai jenis noise. Beberapa kegaduhan acak (random noise)

atau kegaduhan penuh (burst noise) sering ditambahkan ke waveform channel

selama proses transmisi. Distorsi dapat diakibatkan oleh penyaringan padat atau

jalur signal ganda. Gangguan ini dapat mengakibatkan terjadinya penahanan

signal yang akan mengubah amplitudo dari signal yang diterima ataupun saluran

komunikasi itu sendiri akan memiliki berbagai interval waktu yang berbeda-beda.

Secara umum, gangguan ini dapat dimodelkan sebagai proses additive gaussian,

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


atau dapat berupa berbagai macam kegaduhan area (urban noise) ataupun terjadi

karena gangguan disengaja dari pihak yang tidak bersahabat.

Saluran komunikasi (channel) juga memiliki beberapa bentuk. Untuk

memoryless channel, noise akan memiliki efek terhadap setiap bit yang

ditransmisikan, sehingga kesalahan transmisi terjadi secara acak (random error)

pada code word yang diterima. Beberapa contoh memoryless channel adalah

saluran komunikasi satelit dan saluran komunikasi jarak jauh. Untuk memory

channel, noise tidak terjadi secara bebas pada saluran komunikasi, dan kesalahan

transmisi terjadi secara menyeluruh (burst error). Contoh dari channel ini adalah

saluran komunikasi radio, saluran telepon dan penyimpanan magnetik. Tentu saja

juga terdapat beberapa channel yang memiliki kombinasi dari random error dan

burst error.

Setelah itu, signal hasil yang diterima akan diproses pertama kali oleh

demodulator dan kemudian oleh channel decoder. Demodulator atau unit

pembacaan (reading unit) membuat keputusan untuk setiap signal yang diterima

dari durasi T sekon untuk menentukan digit 1 atau 0 yang ditransmisikan. Proses

ini disebut hard decision. Output dari demodulator disebut sebagai received word

r. Nilai r ini dapat tidak cocok dengan code word c yang ditransmisikan sebagai

akibat dari kesalahan transmisi. Setiap digit yang didemodulasi merupakan

perkiraan terbaik dari digit yang ditransmisikan , tetapi demodulator dapat

membuat beberapa kesalahan karena noise yang terdapat pada channel.

Probabilitas bahwa perkiraan ini benar tergantung pada signal-to-noise ratio

(SNR) pada data bandwidth, banyaknya distorsi signal yang terjadi sebagai akibat

dari penyaringan dan efek nonlinier, dan skema deteksi yang digunakan.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Channel decoder mentransformasikan deretan r yang diterima ke bentuk

deretan biner d, atau deretan informasi yang diperkirakan. Karena noise dapat

mengakibatkan beberapa kesalahan decoding, channel decoder harus

diimplementasikan untuk meminimisasi probabilitas dari kesalahan decoding.

Channel decoder menggunakan sindrom dasri code word r yang diterima untuk

memperbaiki kesalahan pada word yang diterima dan menghasilkan perkiraan

deretan informasi d. Jika semua kesalahan telah diperbaiki, maka deretan

informasi perkiraan d akan cocok dengan informasi sumber d yang asli.

Source decoder mentransformasikan deretan perkiraan d menjadi

perkiraan dari output sumber dan mengirimkan perkiraan ini kepada pemakai.

Dengan demikian, source decoder melakukan operasi yang berlawanan dengan

source encoder dan mengirimkan output-nya ke tujuan.

2.4 Pengdeteksian Kesalahan

Pada saat data berada dalam transmission system terdapat kemungkinan

data terkorupsi (data error). Data error tersebut akan diperbaiki oleh receiver

melalui proses error detection dan error correction. Proses error detection

dilakukan oleh transmitter dengan cara menambahkan beberapa bit tambahan

(parity check bit) ke dalam data yang akan ditransmisikan. Proses error detection

dan correction ini sering digunakan pada High speed modem, dan telepon selular

(cellular phones)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


2.4.1 Ukuran Informasi

Kandungan informasi dari suatu kejadian terkait dengan probabilitas

kejadiannya. Suatu pesan dengan probabilitas kejadian tinggi mempunyai

informasi yang sedikit. Sebaliknya pesan dengan probabilitas rendah mempunyai

informasi yang lebih besar. Suatu sumber informasi yang mengirimkan satu dari

sejumlah q pesan yang mungkin : dengan probabilitas kemunculan

: mempunyai probabilitas total . Jumlah

informasi yang terkandung dalam pesan ke-i yang dilambangkan dengan Ii akan

berbanding terbalik dengan probabilitasnya. I akan mendekati 0 jika p mendekati

1 dan I tidak boleh bernilai negatif karena setiap pesan mengandung informasi.

Formula matematisnya dinyatakan sebagai berikut (8) :

untuk

…(2.1a)

untuk

…(2.1b)

untuk

….(2.1c)

Untuk sumber yang mengeluarkan dua pesan berurutan yang independent : xA dan

xB dengan probabilitas bersama , maka (8) :

...(2.2)

Shannon mendefinisikan ukuran informasi dari suatu pesan A dengan

probabilitas kejadian PA yang memenuhi persamaan (2.1-2.2) adalah suatu fungsi

logaritmik.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


...(2.3)

dimana I disebut self-information dan b adalah basis logaritma.

Basis logaritma yang dipergunakan menentukan satuan informasi. Basis

logaritma bilangan natural (e) menghasilkan informasi dengan satuan nat, basis 10

mempunyai satuan decit dan basis 2 mempunyai satuan bit.

2.4.2 Entropy dan Kecepatan Informasi

Tinjau suatu sumber informasi yang mengeluarkan sederetan simbol yang

berasal dari M simbol yang berbeda, yang dinyatakan dengan .

Masing masing simbol mempunyai probabilitas Pi dan self information Ii.

Keseluruhan probabilitas simbol harus memenuhi

...(2.4)

Asumsi yang diberikan adalah bahwa sumber stationary dan simbol

simbol bersifat statistically independent. Sumber mengeluarkan simbol dengan

kecepatan r simbol/detik. Properti seperti ini didefinisikan sebagai discrete

memoryless source. Nilai kandungan informasi per simbol diberikan oleh rata rata

statistik :

...(2.5)

yang disebut entropy sumber. Jadi, untuk suatu deretan simbol yang panjang, rata

rata kandungan informasi tiap simbol adalah H bit, tanpa harus tahu seperti apa

deretan simbol tersebut. Jika sumber mengeluarkan simbol, total informasi

yang dikirm adalah nH bits. Karena sumber mengeluarkan sejumlah r simbol per

detik, maka durasi waktu dari deretan simbol ini adalah n/r. Jadi, informasi harus

dikirim dengan kecepatan rata rata :

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


...(2.6)

Dimana R adalah kecepatan transmisi informasi.

Shannon menegaskan bahwa informasi dari suatu sumber diskrit tanpa memori

bisa dikodekan dalam digit biner dan ditransmisikan melalui kanal bebas noise

dengan kecepatan :

(binit/detik)...(2.7)

2.5 Kanal Komunikasi

Elemen sistem komunikasi (digital biner) bisa dibagi dalam tiga bagian

utama, yaitu pemancar, penerima, dan kanal fisik. Istilah kanal komunikasi

mempunyai pengertian dan karakteristik yang berbeda, tergantung dari terminasi

dan fungsinya, seperti ditunjukkan pada gambar 2.2

Pemancar Kanal Phisik Penerima


noise

Channel Media demodulato Channel


modulator Σ
encoder transmisi r decoder
B C D E F

Kanal Kontinyu (analog)

Kanal coding (diskrit)

Kanal Komunikasi data (diskrit)


Gambar 2.4 Karakteristik Kanal Komunikasi Biner

Antara titik E-F pada gambar 2.4 disebut dengan kanal koding, yang merupakan

kanal diskrit. Dalam kanal diskrit, sinyal yang ditransmisikan di dalamnya adalah

sinyal diskrit. Kanal Koding menerima sederetan simbol pada inputnya dan juga

menghasilkan sederetan simbol pada outputnya.

2.5.1 Kanal Kontinyu

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Kanal antara titik C-E menyediakan hubungan elektrik antara pemancar

dan penerima, dimana input dan outputnya adalah berupa gelombang listrik

analog. Bagian dari kanal ini disebut juga kanal modulasi. Contoh dari kanal ini

adalah sistem telepon, dan sistem radio frekuensi tinggi. Sinyal yang

ditransmisikan melalui kanal ini mendapatkan beberapa gangguan yang

disebabkan oleh karakteristik kanal yang tidak linear. Kanal juga memberikan

redaman yang melemahkan amplitudo sinyal. Selain itu, adanya noise juga

menimbulkan kerusakan pada sinyal. Semua pengaruh tersebut mengakibatkan

munculnya perbedaan antara sinyal yang dikirim dan yang diterima, sehingga

cenderung menimbulkan kesalahan dalam transmisi data.

2.5.2 Kapasitas Kanal Kontinyu

Transfer informasi dalam kanal kontinyu adalah berbentuk gelombang

elektromagnetik. Sumber mengeluarkan sinyal x(t), yang pada saat ditransmisikan

terkena noise, dan diterima sebagai r(t) pada penerima. Shannon menyatakan

bahwa transmisi informasi tanpa error pada kanal komunikasi ber-noise bisa

diperoleh selama kecepatan informasi R C, dimana C adalah kapasitas kanal.

Model kanal kontinyu yang paling umum dikenal adalah kanal AWGN (

additive white gaussian noise), yang didefinisikan mempunyai sifat sebagai

berikut :

1. Kanal menyediakan transmisi bebas error dalam bandwidth B, dengan

memberikan penguat untuk menangani rugi rugi transmisi

2. Kanal membatasi input dari sumber sebagai sinyal pita terbatas x(t)

dengan daya rata rata S.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


3. Sinyal yang diterima pada tujuan terkontaminasi oleh penjumlahan

dengan white gaussian noise n(t) dengan bandwidth B, dan daya noise

N =ηB. Η adalah kerapatan spektral daya noise.

4. Sinyal dan noise bersifat independen, sehingga dan

...(2.8)

Pemodelan kanal AWGN ditunjukkan pada gambar 2.5 berikut :

Noise n(t)

Sinyal s(t) Σ Sinyal terima r(t)

Gambar 2.5 Kanal AWGN

Kapasitas kanal bisa dirumuskan sebagai berikut :


(11)
bps...(2.9)

Persamaan diatas dikenal sebagai Hukum Shannon-Hartley. Persamaan ini

memberikan batas atas untuk transmisi informasi dalam kanal AWGN pita

terbatas, yaitu :
(11)
…(2.10)

2.5.3 Kanal Diskrit

Kanal komunikasi antara titik E-F mempunyai sifat diskrit. Input dan

output dari kanal ini adalah deretan simbol yang berasal dari sekumpulan M

simbol. Kanal yang didesain untuk mengirim dan menerima satu dari M buah

simbol yang tersedia disebut kanal M-ary. Karena adanya error yang ditimbulkan

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


pada kanal, simbol output bisa berbeda dengan simbol inputnya. Error terutama

disebabkan oleh noise pada bagian kanal kontinyu.

Kanal diskrit dimodelkan dengan probabilitas yang dinotasikan sebagai

berikut :

P(xi) adalah probabilitas bahwa input kanal adalah simbol ke-i

P(yi) adalah probabilitas bahwa output kanal adalah simbol ke-i

P(yi|xj) adalah probabilitas bersyarat bahwa output adalah simbol ke-i

dengan input kanal adalah simbol ke-j

P(xi|yj) adalah probabilitas bersyarat bahwa input adalah simbol ke-i

dengan output kanal simbol ke-j

Kanal diasumsikan time-invariant dan memoryless. Pemodelan kanal

dengan M=2 ditunjukkan pada gambar 2.6.

P(y1|x1)
1 1
P(yo|x1)
X Y

P(y1|xo)

0 0
P(yo|xo)

Gambar 2.6 Model Kanal Diskrit Biner

Input kanal adalah suatu nilai biner yang merupakan suatu variabel acak

diskrit X. Output kanal juga merupakan suatu variabel acak diskrit biner Y. Nilai

dari kedua variabel acak tersebut digambarkan dengan dua buah titik yang bernilai

1 dan 0. Empat buah lintasan menghubungkan input dan output. Lintasan

mendatar P(y0|x0)dan P(y1|x1) menyatakan bahwa simbol yang dikirim diterima

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


dengan benar, sedangkan lintasan diagonal P(y1|x0) dan P(y0|x1) merupakan simbol

diterima salah.

Error terjadi secara acak, tetapi bisa dimodelkan secara statistik dengan

memberikan nilai probabilitas pada masing masing lintasan. Probabilitas

terjadinya kesalahan adalah :

...(2.11)

Jika , maka kanal seperti ini disebut dengan binary

symmetric channel.

2.6 Dasar Aljabar

Dasar penulisan sub-bab Dasar Aljabar ini adalah untuk memperjelas

aljabar dan toeri matematika lainnya yang diperlukan untuk memahami teori

pengkodean. Untuk menganalisis teori pengkodean beserta implementasi encoder-

decodernya diperlukan pemahaman akan Group, Ring, dan Galois Field.

2.6.1 Group

Sebuah group G adalah sebuah set dengan operasi * pada G sedemikian

sehingga aksioma berikut dipenuhi(9):

a. Untuk setiap a, b ∈ G, c = a * b ada dalam G (closure).

b. Untuk setiap a, b, c ∈ G, a * (b * c) = (a * b) * c (hukum asosiatif).

c. Terdapat sebuah elemen e ∈ G sedemikian sehingga setiap elemen a pada G,

a * e = e * a = a (identitas).
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
d. Untuk setiap a ∈ G, terdapat sebuah elemen a-1 pada G sedemikian sehingga

a * a-1 = a-1 * a = e (inverse).

Group merupakan kumpulan dari field. Sebuah group yang memiliki

sejumlah elemen tertentu disebut sebagai sebuah finite field, jika tidak maka

disebut sebagai infinite group. Jumlah elemen pada sebuah finite group G disebut

sebagai order dari G. Group dengan properti tambahan yaitu a * b = b * a untuk

semua a, b ∈ G, disebut sebagai group komutatif (commutative group) atau

abelian group. Dalam sebuah abelian group dengan operasi penjumlahan,

terdapat operasi a + (-a) = (-a) + a = 0, dimana elemen inverse dari a ditulis

dengan -a. Dalam kasus ini, elemen identitasnya e = 0. Pada operasi perkalian,

elemen identitas e = 1 dan elemen inverse dari a ditulis dengan a-1, sedemikian

sehingga a . a-1 = a-1 . a = 1.

Terdapat tiga buah group utama yang sangat disukai oleh para ahli

matematika yaitu:

1. Group perkalian dari field bilangan prima : GF(p).

2. Group perkalian dari finite field dari karakteristik 2 : GF(2n).

3. Elliptic Curve Group pada finite field F : EC(F).

Jika p adalah modulus dan bilangan prima, maka kompleksitas untuk

mencari logaritma diskrit pada GF(p) pada dasarnya sama dengan memfaktorisasi

sebuah integer n, dimana n adalah pemangkatan dari dua buah bilangan prima

yang hampir sama panjang.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


2.6.2 Ring

Sebuah ring R adalah sebuah set yang memiliki dua buah operasi yang

didefinisikan dalam penjumlahan dan perkalian, sedemikian sehingga aksioma

berikut dipenuhi(9):

a. Set R adalah sebuah group komutatif ( abelian ) dengan operasi penjumlahan.

b. Untuk sembarang a, b ∈ R, hasil perkalian ab adalah dalam R (closure).

c. Untuk sembarang a, b, c ∈ R, a(bc) = (ab)c (hukum asosiatif).

d. Untuk sembarang a, b, c ∈ R, a(b + c) = ab + ac dan (b + c)a = ba + ca (hukum

distributif).

Operasi penjumlahan selalu bersifat komutatif dalam ring, tetapi operasi

perkalian tidak selamanya.

2.6.3 Field

Field adalah kumpulan dari elemen, X dan Y, yang terdapat dalam fungsi.

Beberapa contoh dari field adalah bilangan real, bilangan kompleks, bilangan

rasional dan bilangan integer modulo bilangan prima. Contoh yang terakhir ini

merupakan salah satu contoh finite field. Persyaratan dari sebuah field adalah

penjumlahan dan perkalian biasa, ditambah eksistensi dari inversi penjumlahan

dan perkalian, kecuali 0 yang tidak mempunyai inversi perkalian. Dengan

perkataan lain, sebuah field mempunyai penjumlahan, pengurangan, perkalian dan

pembagian. Operasi-operasi ini selalu menghasilkan sebuah hasil yang terdapat di

dalam field tersebut dengan pengecualian pembagian dengan bilangan nol yang

tidak terdefinisi.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Bilangan kompleks dapat didefinisikan sebagai b.i + a dengan aturan

reduksi t2 + 1 = 0. Untuk melakukan perkalian bilangan kompleks, kita dapat

menganggap t sebagai unknown (tak dikenal), mengumpulkan bilangan pangkat

dari t dan menerapkan aturan reduksi untuk menyederhanakan hasilnya.

Konstruksi ini berlaku untuk aturan reduksi lainnya yang mengandung bilangan

pangkat lebih besar dari t. Koefisien dari bilangan pangkat dari t boleh berasal

dari semua field, tetapi bila kita mengambil integer modulo p sebagai field-nya,

kita mendapatkan sebuah finite field dengan pm elemen, dimana m adalah derajat

dari aturan reduksi. Tidak semua aturan reduksi berlaku, kita harus menggunakan

polinomial yang tidak dapat direduksi lagi (irreducible polynomial).

Sebagai catatan, ketika mengalikan elemen dari field sebenarnya dua

aturan reduksi bekerja secara simultan, yaitu aturan untuk mereduksi koefisien

modulo p dan aturan untuk mereduksi pangkat besar dari t. Konstruksi ini bekerja

untuk semua p dan m, selama p adalah bilangan prima. Faktanya, setiap finite field

dapat dikonstruksikan dengan cara ini. Fakta ini sebenarnya direferensikan kepada

Galois field dengan pm elemen, dengan menggunakan notasi GF(pm). Bilangan

prima p merupakan karakteristik dari field.

Representasi field menentukan bit-pattern mana yang akan digunakan

untuk merepresentasikan bermacam-macam elemen field. Representasi dipilih

untuk membuat operasi aritmatika field menjadi efisien.

2.6.4 Polynomial Ring

Asumsikan R adalah sebuah ring. Sebuah polinomial f(x) dengan koefisien

dalam R dapat diekspresikan dengan sebuah bentuk penjumlahan seperti berikut:

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


(6)
…(2.12)

dimana x adalah sebuah variabel sedangkan indeks dan eksponennya adalah

integer. Derajat dari f(x) adalah pangkat terbesar dasri x dalam bentuk fn-1 dengan

koefisien bukan bernilai 0. Sebuah polinomial disebut monic jika koefisien dari

pangkat tertinggi dari x adalah 1.

Untuk setiap field F, terdapat sebuah ring F(x) yang disebut ring dari

polinomial pada F. Sebuah polynomial ring analog dengan sebuah integer ring.

Penjumlahan dari dua buah polinomial f(x) dan g(x) pada F(x) adalah sebuah

polinomial lain dalam F(x) yang dapat didefinisikan sebagai berikut:


(6)
…(2.13)

dimana derajat dari g(x)≤ derajat dari f(x), dengan ketentuan bahwa derajat dari

polinomial hasil tidak lebih besar daripada derajat terbesar dari kedua polinomial.

Hasil perkalian dari dua buah polinomial pada F(x) adalah sebuah polinomial lain

pada F(x) sedemikian sehingga:


(6)
…(2.14)

dimana derajat dari g(x) ≤ derajat dari f(x)

Derajat dari polinomial hasil perkalian dari dua buah polinomial sama dengan

penjumlahan dari derajat kedua faktor.

Dalam sebuah ring dari polinomial, operasi pengurangan selalu dapat

dilakukan, tetapi operasi pembagian tidak selamanya dapat dilakukan. Jika

terdapat sebuah polinomial a(x) sedemikian sehingga


(6)
…(2.15)

maka dapat dikatakan bahwa polinomial s(x) dapat dibagi oleh polinomial r(x)

ataupun dengan perkataan lain polinomial r(x) membagi s(x) atau r(x) merupakan

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


sebuah faktor dari s(x). Sebuah polinomial bukan nol p(x) yang hanya dapat

dibagi oleh p(x) itu sendiri disebut sebagai irreducible polynomial (sebuah

polinomial yang tidak dapat diperkecil lagi). Sebuah monic irreducible

polynomial disebut sebagai sebuah primitive polynomial. Semua r(x) yang dapat

membagi s(x) dan dapat dibagi oleh s(x), maka :


(6)
…(2.16)

Oleh karena itu,


(6)

…(2.17)

dengan ketentuan bahwa a(x) dan b(x) harus memiliki pangkat nol. Jadi,
(6)
…(2.18)

dimana α adalah sebuah elemen dari field F.

Faktor persekutuan terbesar atau greatest common divisor (GCD) dari dua

buah polinomial r(x) dan s(x) dapat dinotasikan dengan GCD[r(x), s(x)], adalah

sebuah monic polynomial dari pangkat terbesar yang dapat membagi keduanya.

Dua polinomial dikatakan relatif prima apabila GCD dari keduanya adalah sama

dengan 1. GCD dari dua buah polinomial r(x) dan s(x) dapat diekspresikan dalam

bentuk:
(6)
…(2.19)

Kelipatan persekutuan terkecil atau least common multiple (LCM) dari dua buah

polinomial r(x) dan s(x) dapat dinotasikan dengan LCM[r(x), s(x)] adalah sebuah

monic polynomial dari pangkat terkecil yang dapat dibagi oleh keduanya.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Untuk setiap polinomial f(x) dan polinomial bukan nol g(x), terdapat

sebuah pasangan unik dari polinomial q(x), polinomial hasil bagi dan s(x),

polinomial sisa bagi, sedemikian sehingga


(6)
…(2.20)

dan derajat dari s(x) lebih kecil daripada derajat dari g(x). Sisa hasil bagi s(x)

disebut sebagai residu dari f(x) ketika dibagi oleh g(x). Kongruen s(x)f(x) [mod

g(x)] berarti bahwa s(x) dan f(x) memiliki sisa hasil bagi yang sama apabila dibagi

dengan g(x) tetapi derajat dari s(x) tidak harus sama lebih kecil daripada g(x).

Sebuah elemen a ∈ F adalah sebuah akar dari f(x) ∈ F[x] jika dan hanya

jika x – a adalah sebuah faktor dari f(x) pada F[x]. Hal ini dapat dibuktikan

melalui penjabaran berikut:

Anggap bahwa f(a) = 0 untuk a ∈ F, maka berdasarkan persamaan 2.15, terdapat

q(x), s(x) ∈ F sedemikian sehingga:


(6)
…(2.21)

dimana derajat dari s(x) lebih kecil dari 1. Misalkan, diperoleh s(x) = c, untuk c ∈

F, maka:
(6)
…(2.22)
Karena f(a) = 0 untuk a ∈ F, maka:
(6)
…(2.23)
Agar persamaan di atas memiliki hasil, maka c harus sama dengan 0, sehingga

diperoleh:
(6)
…(2.24)

Maka, x – a adalah sebuah faktor dari f(x). Kebalikannya, jika x – a adalah sebuah

faktor dari f(x) pada F[x], dimana a ∈ F, maka f(a) = 0 dan q(a) = 0.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Misalkan diberikan dua buah polinomial r(x) dan s(x) pada F[x], maka faktor

persekutuan terbesar kedua polinomial tersebut dapat dihitung dengan sebuah

aplikasi iteratif dari algoritma pembagian. Jika derajat dari s(x) lebih besar

daripada derajat dari r(x), maka perhitungan dari GCD[r(x),s(x)] adalah:

(6)
…(2.25)

dimana proses iteratif berhenti ketika diperoleh sisa hasil bagi sama dengan 0.

Maka, faktor persekutuan terbesar dari r(x) dan s(x) adalah rn(x) atau
(6)
…(2.26)

Misalkan diketahui F[x], ring dari polinomial pada field F. Jika dipilih

sembarang monic polynomial p(x) dari F[x], maka dapat ditentukan ring hasil bagi

dengan menggunakan p(x) sebagai modulus. Ring dari polinomial modulo p(x)

adalah sebuah set dari semua polinomial dengan derajat yang lebih kecil daripada

p(x).termasuk hasil dari penjumlahan polinomial dan perkalian polinomial

modulo p(x).

Ring dari polinomial modulo p(x) adalah sebuah field jika dan hanya jika

p(x) adalah sebuah primitive polynomial. Oleh karena itu, ketika sebuah primitive

polynomial p(x) dari derajat m pada GF(q) ditemukan, maka dapat

dikonstruksikan sebuah Galois Field GF(qm) dengan qm elemen. Elemen-elemen

tersebut direpresentasikan dengan qm polinomial pada GF(q) dengan derajat yang

lebih kecil daripada m.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


2.6.5 Galois Field

Misalkan E adalah sebuah perluasan field dengan derajat m pada sebuah

finite field F. Jika F memiliki q elemen, maka E memiliki qm elemen. Field semula

disebut sebagai ground field. Oleh karena itu, field yang dibentuk dengan

mengambil polinomial pada finite field F modulo p(x), dimana p(x) adalah sebuah

irreducible polynomial dengan derajat m, disebut sebagai sebuah field perluasan E

dengan derajat m pada F. Untuk beberapa pangkat prima dari q dan integer positif

m, GF(qm) adalah sebuah field perluasan dari GF(q) atau GF(q) adalah sebuah

subfield dari GF(qm).

Setiap Galois Field GF(q) memiliki paling sedikit satu elemen primitif

(primitive element). Elemen primitif dari GF(q) adalah sebuah elemen α

sedemikian sehingga setiap elemen field kecuali nol dapat diekspresikan sebagai

perpangkatan dari α. Elemen primitif sangat berguna dalam mengkonstruksikan

field, karena dapat diperoleh elemen field dengan melakukan operasi perkalian

terhadap pangkat dari elemen primitif α.

Karena p(α) = 0, maka α adalah sebuah akar dari p(x), dan dapat dikatakan

bahwa field perluasan diperoleh dari operasi penggabungan sebuah akar (root)

dari p(x) ke ground field. Sebagai tambahan, GF(qn) bukan sebuah subfield dari

GF(qm) jika n tidak dapat membagi m. Derajat dari minimal polynomial pada

GF(q) dari sembarang elemen pada GF(qm) adalah sebuah pembagi dari m.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


2.6.6 Primitif Polinomial

Sebuah irreducible polynomial p(x) dengan derajat m dikatakan primitif

jika dan hanya jika dapat membagi xn + 1 untuk n yang lebih besar atau sama

dengan 2m – 1. Kenyataannya, setiap primitive polynomial biner p(x) dengan

derajat m adalah sebuah faktor dari x2 –1


+ 1. Primitive polynomial dari setiap

derajat ada pada setiap Galois Field dan setiap Galois Field memiliki sebuah

primitive element α. Galois Field GF(q) adalah sebuah field perluasan dari

subfield GF(p) dimana p adalah sebuah bilangan prima. Sebagai contoh, field

biner GF(2) adalah sebuah subfield dari Galois Field GF(2m) dengan q = 2 m

elemen (m > 1). Subfield dari GF(2) disebut juga sebagai ground field dari

GF(2m). Subset {0, 1} membentuk sebuah subfield GF(2) dari GF(2m). Set GF(2m)

= {0, 1, α, α2, …, α2 –1
} adalah sebuah Galois Field dengan 2m elemen. Tabel 2.1

memberikan sebuah daftar dari primitive polynomial pada GF(2)(9)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Tabel 2.1 Primitive Polynomial pada GF(2)

m p(x)
2 x2 + x + 1
3 x3 + x + 1
4 x4 + x + 1
5 x5 + x2 + 1
6 x6 + x + 1
7 x7 + x3 + 1
8 x8 + x4 + x3 + x2 + 1
9 x9 + x4 + 1
10 x10 + x3 + 1
11 x11 + x2 + 1
12 x12 + x6 + x4 + x + 1
13 x13 + x4 + x3 + x + 1
14 x14 + x10 + x6 + x + 1
15 x15 + x + 1
16 x16 + x12 + x3 + x + 1
17 x17 + x3 + 1
18 x18 + x7 + 1
19 x19 + x5 + x2 + x + 1
20 x20 + x3 + 1
21 x21 + x2 + 1
22 x22 + x + 1
23 x23 + x5 + 1
24 x24 + x7 + x2 + x + 1
25 x25 + x3 + 1
26 x26 + x6 + x2 + x + 1
27 x27 + x5 + x2 + x + 1

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Operasi penjumlahan dan perkalian yang didefinisikan pada GF(2m)

merupakan operasi penjumlahan dan perkalian modulo 2. Jumlah elemen pada

subfield terkecil dari GF(q) disebut sebagai karakteristik dari GF(q). Setiap Galois

Field memiliki sebuah subfield terkecil yang unik, dimana memiliki jumlah

elemen berupa bilangan prima. Oleh karena itu, GF(pm) adalah sebuah field dari

karakteristik p untuk sembarang m. Sebagai contoh, karakteristik dari GF(2m)

adalah 2.

2.6.7 Minimal Polinomial

Dalam sebuah finite field (field tertentu / terbatas) GF(q) dengan

karakteristik p, maka berlaku:


(6)
…(2.27)

untuk sembarang dua elemen α dan β pada GF(q).

Teorema di atas dapat digunakan untuk merumuskan ketentuan berikut:

Anggap bahwa karakteristik p dari sebuah finite field GF(q) adalah sebuah

bilangan prima. Jika β1, β2, ..., βn ∈ GF(q) dan jika q adalah hasil perpangkatan

dari p, q = pm, maka:


(6)
…(2.28)

Anggap β adalah sebuah elemen bukan nol pada finite field GF(q), maka

(6)
…(2.29)

Misalkan diketahui sebuah ground field GF(2) dan sebuah field perluasan

GF(2m), serta anggap β adalah sembarang elemen field dari GF(2m), maka monic

polynomial m(x) dari pangkat terkecil dengan koefisien pada GF(2) sedemikian

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


sehingga m(β) = 0 disebut sebagai minimal polynomial dari β. Rumusan untuk

menentukan minimal polynomial dari β pada GF(2m) adalah sebagai berikut:

(6
…(2.30)

Untu k β = αi, maka minimal polynomial untuk beberapa nilai i memiliki

solusi yang sama seperti ditunjukkan oleh Tabel 2.2(9)

Tabel 2.2 Rincian Minimal Polynomial

E Pangkat Konjugasi Minimal Polynomial

2.7 Kode Block Linear

Asumsikan output dari sebuat sumber informasi merupakan susunan

bilangan biner “0” atau “1”. Pada pengkodean blok, susunan bit informasi ini

disimpan dalam blok pesan dengan panjang yang tetap, dengan setiap satu blok

pesan d menyimpan sebanyak k digit informasi. Jadi, ada total blok sepanjang 2k.

Kemudian, encoder akan mentransformasikan setiap d menjadi sebuah set data n-

biner c dengan ketentuan n > k. Set data biner-n c ini disebut sebagai

code word dari d. Karena ada kemungkinan pesan sebanyak 2k-buah, maka

terdapat 2k code word, yang disebut sebagai kode block. Setiap 2k code word

yang dihasilkan haruslah berbeda, oleh sebab itu hubungan antara d dan c

berkorespondensi satu-satu.

Untuk setiap kode block dengan 2k code word dan panjang n, kecuali

disebutkan mempunyai struktur khusus, akan diperlukan peralatan yang rumit

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


untuk mengkodekan informasi dengan nilai k dan n yang besar. Untuk itu,

dilakukan pembatasan struktur kode block yang disebut sebagai linearity.

Sebuah kode block dengan 2k code word dan panjang n dikatakan linear

jika dan hanya jika 2k code word membentuk vektor berdimensi k untuk semua

biner-n GF(2):
(8)
…(2.31)

dimana : (8)

…(2.32)

dengan adalah matriks identitas k x k dan mengindikasikan matriks

k x ( n-k). Panjang baris menentukan banyak bit k dalam satu blok data dan
panjang

kolom menentukan panjang kode n dalam satu blok kode.

Untuk memeriksa apakah kode yang diterima berisikan vektor kode yang

benar,diperlukan suatu matrik parity-check H, yaitu sebuah matriks ( n-k ) x m

yang didefinisikan sebagai :

(8)
…(2.33)

dimana, adalah matriks transposisi dari pada persamaan 2.4. Matriks H ini

diperlukan untuk memeriksa code word yang dihasilkan bebas dari error atau

tidak, sesuai dengan persamaan:


(8)
…(2.34)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Jika sindrom S yang dihasilkan bernilai nol, maka code word dinyatakan bebas

dari error. Jika S ≠ 0, maka telah terjadi error pada code word yang diterima.

Posisi error dapat diketahui dengan membandingkan nilai S dengan baris pada

2.7.1 Jarak Minimum

Jarak Minimum dmin menentukan kemampuan sebuah kode untuk

mendeteksi error secara acak sekaligus mengoreksi error tersebut. Jarak minimum

dapat dihitung sebagai :


(8)
…(2.35)

Supaya sebuah kode linear dapat mengoreksi t error, maka nilai dmin harus

memenuhi persamaan :
(8)
…(2.36)

yang berarti, nilai dmin harus selalu satu lebih banyak dari dua kali jumlah error

yang ingin dikoreksi. Semua kode linear (n,k) yang mempunyai jarak minimum

sesuai persamaan (2.36) adalah kode yang sempurna.

2.7.2 Kode Siklis

Jika komponent dari sebuah set data-n digeser satu

kali ke arah kanan, akan diperoleh sebuah set data-n yang baru:
(9)
…(2.37)

yang disebut sebagai pergeseran siklis V. Demikian juga sebaliknya, jika set data-

n V digeser ke arah kiri.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Sebuah kode linear C (n,k) disebut kode siklis jika setiap vektor kode C

yang digeser juga merupakan vektor kode dari C.

Algoritma pengkodean sebuah kode siklis (n,k) adalah sebagai berikut(9) ;

1. Kalikan sumber informasi u(X) dengan ,

2. Cari digit parity-check, yaitu nilai sisa b(X) yang diperoleh dari membagi

dengan generator polinomial g(X),

3. Code word yang diperoleh adalah hasil penjumlahan b(X) dan .

Algoritma pengdekodean sebuah kode sikils (n,k) membutuhkan

perhitungan sindrom pada bagian penerimaan. Pada pengdekodean kode linear,

sindrom adalah vektor (n-k)-bit yang dihasilkan persamaan (2.34). Pada

kode siklis, sindrom polinomial berderajat n – k – 1 atau kurang adalah :

(6)
…(2.38)

dimana = polinomial yang diterima. Jika nilai = 0, maka tidak ada error

yang terjadi.

2.8 Kode Hamming

Ide dasar pengkodean Hamming adalah menggunakan metode parity-

checking, yaitu menambahkan satu bit parity pada blok data. Bit parity ini

berfungsi untuk mendeteksi bit yang salah, sekaligus menentukan lokasi

kesalahan bit tersebut. Tetapi pengkodean Hamming hanya sebatas mendeteksi

dua kesalahan dan mengoreksi satu bit yang salah.

Untuk setiap integer positif m ≥ 3, terdapat parameter sebagai berikut (8):

Panjang kode :
Jumlah simbol informasi :
Jumlah simbol pariti-check :

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Kapabilitas koreksi kesalahan :

Karena bit parity-check m sama dengan derajat pada generator polinomial,

jumlah bit informasi untuk kode hamming dengan panjang n adalah sebesar k-bit.

Dengan demikian secara umum, Kode Hamming bisa disebut juga sebagai kode

linear ( n,k ).

Algoritma pembentukan kode Hamming dimulai dengan mengambil

sebanyak k bit data yang dikalikan dengan generator matriks. Oleh karena itu

dalam pengkodean Kode Hamming diperlukan adanya suatu generator matriks G.

Bentuk umum generator matriks dari Kode Hamming yang sistematik sesuai

persamaan (2.32).

Generator matriks untuk Kode Hamming (n,k) dapat juga dihitung

menggunakan primitif polinomial sesuai dengan persamaan(6) :

…(2.39)

dimana,

Berikut langkah langkah untuk mengubah persamaan diatas menjadi persamaan

2.27 yang sistematis:

1. Gunakan g(x) sebagai baris pertama,

2. Untuk menghasilkan baris kedua, lakukan pergeseran bit yang ada di baris

pertama sebanyak satu kolom ke kanan, dengan ketentuan kolom ke-( n - k

) harus bernilai 0. Jika kolom ini bernilai 1, tambahkan baris pertama :

…(240)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


3. Ulangi langkah kedua, untuk mendapatkan nilai baris selanjutnya. Ulangi

proses ini sampai baris ke-( k – 1 ) dicapai.

Sebagai contoh, jika m = 3, maka sesuai parameter Kode Hamming:

, dan

Primitif polinomial untuk m = 3 berdasarkan Tabel 2.1 adalah :

sehingga Generator matriks sesuai persamaan (2.39) untuk Kode Hamming (7,4)

adalah :

Kode Hamming (7,4) dapat dihasilkan sesuai persamaan (2.31). Misalnya,

data yang ingin dikirim d = 1000, maka kode yang terbentuk :

Pada pengdekodean Kode Hamming, diperlukan adanya matriks parity-

check H. Matriks parity-check dapat dicari dengan menggunakan persamaan

(2.32). Untuk generator matriks pada persamaan 2.34, matriks H yang dihasilkan

adalah:

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Matriks parity-check H ini ditransposisi menjadi untuk kemudian dikalikan

dengan kode yang diterima c , sesuai persamaan (2.34).

Perhitungan sindrom ini untuk mengetahui apakah kode yang diterima


benar

atau tidak. Jika sindrom yang dihasilkan bernilai nol, maka tidak ada error yang

terdeteksi. Jika sindrom tidak bernilai nol, maka ada error terdeteksi.

Langkah selanjutnya adalah mencari posisi error. Caranya adalah

mentransposisikan sindrom S menjadi ST , dan membandingkan ST yang diperoleh

dengan matriks parity-check. Setelah posisi error diketahui, dilakukan

pengoreksian, yaitu dengan cara menukar nilai bit yang ada, bit 1 menjadi bit 0,

dan bit 0 menjadi bit 1. Tahap terakhir dari proses pengdekodean adalah

mengeluarkan bit bit parity.

2.9 Kode Reed- Solomon

Pada tahun 1960, Irving Reed dan Gus Solomon menemukan sebuah

metode error correcting baru yang sekarang dikenal dengan nama Reed-Solomon

(R-S) code. Reed-Solomon merupakan Kode non biner dengan simbol yang

terbuat dari rangkaian m-bit, dimana m adalah bilangan integer positif yang

memiliki nilai lebih besar dari 2. Terdapat R-S(n, k) code yang terdiri dari m-bit

simbol untuk semua n dan k:

0 < k < n < 2m + 2(5) ...(2.41)

dimana k adalah jumlah simbol data yang diproses dan n adalah jumlah total

simbol dalam 1 blok yang di-encode. Bentuk umum R-S(n, k) code adalah:

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


R-S(n, k) = R-S(2m – 1, 2m – 1 – 2t) (5) ...(2.42)

dimana t adalah jumlah maksimum error yang dapat dikoreksi, dan n – k = 2t

adalah jumlah simbol pariti.

Untuk kode non biner, jarak antara 2 buah codeword adalah banyaknya

jumlah simbol yang berbeda antara kedua buah codeword. Untuk Reed-Solomon

code, jarak minimum code adalah:

dmin = n – k + 1(5) ...(2.43)

dengan kemampuan untuk mengoreksi hingga t error, maka t dapat dinotasikan:


(5)
…(2.44)

dimana x berarti bilangan integer terbesar yang tidak melebihi x. Dari

persamaan tersebut, dapat disimpulkan R-S code membutuhkan tidak lebih dari 2t

simbol pariti untuk mengkoreksi t simbol error.

Metode Reed-Solomon dapat dibagi dalam 2 proses yaitu:

1. Pengkodean, dilakukan dengan merepresentasikan data ke dalam bentuk

simbol-simbol yang kemudian diubah menjadi codeword. Proses encoding

dimulai dari pembentukan generator polinomial dengan bentuk umum:

g(x) = g0 + g1x + g2x2 + ... + g2t-1x2t-1 + x2t(5) ...(2.45)

Derajat dari generator polinomial sebanding dengan jumlah simbol pariti.

Karena generator polinomial memiliki derajat sebesar 2t, maka tepat ada 2t

root yang dimiliki oleh generator polinomial tersebut yaitu α, α2, α3, ..., α2t.

Harus diingat bahwa operasi aritmatika yang berlaku disini adalah aritmatika

pada GF(23) karena simbol yang digunakan terdiri dari m = 3 bit. Itu dapat

terlihat dari besarnya nilai n = 7 = 2m – 1 = 23 – 1. Jika dituliskan mulai dari

derajat yang terendah hingga yang tertinggi dan mengubah tanda minus (-)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


menjadi tanda positif (+) karena pada binary field +1 = -1, maka g(x) dapat

diekspresikan sebagai berikut:

g(x) = α3 + α1x + α0x2 + α3x3 + x4(5) …(2.46)

Setelah mendapatkan nilai generator polinomial, data yang akan diproses

diubah menjadi simbol-simbol sesuai dengan pemetaan elemen-elemen pada

extension field GF(2m). Setelah itu, data yang telah diubah menjadi simbol,

direpresentasikan dalam bentuk polinomial. Polinomial data tersebut

kemudian dikalikan dengan xn-k. Hasil perkaliannya dibagikan dengan

generator polinomial dan sisa baginya ditambahkan ke dalam polinomial data.

Untuk lebih jelasnya dapat dilihat pada persamaan berikut:

xn-k * m(x) = q(x) * g(x) + p(x) (5) …(2.47)

dimana m(x) adalah polinomial data, g(x) adalah generator polinomial, q(x)

adalah hasil bagi m(x) dengan g(x), dan p(x) adalah sisa bagi dari m(x) dengan

g(x). p(x) sebagai sisa bagi merupakan pariti sehingga nantinya codeword

yang dihasilkan adalah:

U(x) = p(x) + xn-k * m(x). (5) …(2.48)

2. Pengdekodean, yaitu mengubah kembali codeword menjadi data dengan

memperbaiki error pada codeword terlebih dahulu jika ada. Error yang terjadi

dapat direpresenasikan dalam bentuk polinomial:

(5)
…(2.49)

Polinomial codeword yang diterima menjadi r(x) = U(x) + e(x). Jika

menggunakan decoding biner, maka yang perlu diketahui hanya lokasi error-

nya saja. Dengan mengetahui lokasi error, maka yang harus dilakukan adalah

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

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Sementara pada decoding secara non biner, mengetahui letak error-nya saja

tidaklah cukup, tetapi harus juga mengetahui nilai simbol yang sebenarnya

pada lokasi tersebut.

Perbedaan utama antara Kode BCH dan Kode RS terletak pada struktur

datanya. Jika Algoritma Kode RS berdasarkan simbol, maka Algoritma Kode

BCH berdasarkan bit.

Algoritma Reed-Solomon

Simbol 1 Simbol 2 Simbol 3 Simbol 4


Panjang Simbol = 4, panjang kode = 4

Algoritma BCH

Panjang Simbol = 1, panjang kode = 16


Gambar 2.7 Perbedaan Kode BCH dan Kode R-S

2.10 Kode Konvolusi

Kode Konvolusi pertama kali diperkenalkan pada tahun 1955 oleh Elias.

Kode Konvolusi berbeda dengan Kode Block karena encoder dari kode ini

memuat memory dan output encoder n tidak hanya tergantung kepada input k

tetapi juga blok input memory sebelumnya m, sehingga dinotasikan dengan ( n, k,

m). Oleh sebab itu, Kode konvolusi memiliki struktur yag lebih rumit

dibandingkan dengan Kode Block. Di sisi lain, meskipun Kode Konvolusi lebih

sulit dianalisis, ia lebih mudah untuk didekodekan.

Ada empat pendekatan untuk melakukan pengkodean Kode Konvolusi:

i. Pendekatan generator sekuens dan stage-register

ii. Pendekatan konvolusi diskrit

iii. Pendekatan matriks skalar

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


iv. Pendekatan polinomial

Sementara, untuk pengdekodean Kode Konvolusi, terdapat tiga

pendekatan :

i. Pendekatan Trellis

ii. Pendekatan Pohon / Tree, yang mempergunakan diagram state

iii. Pendekatan logik-mayoritas

2.11 Metode BCH Code

Metode BCH Code merupakan salah satu metode pendeteksi dan

pengoreksi error yang terjadi secara acak yang mampu untuk mengoreksi

beberapa kesalahan (multiple error) sekaligus dan merupakan pengembangan dari

metode Hamming Code. Metode ini ditemukan oleh Bose dan Ray-Chaudhuri

pada tahun 1960 dan secara terpisah juga ditemukan oleh Hocquenghem pada

1959. Pada awalnya, metode ini hanya dapat diterapkan untuk beberapa nilai m

pada kode biner dengan panjang 2m – 1. Kemudian, metode ini dikembangkan lagi

oleh Gorenstein dan Zierler pada tahun 1961 dengan menggunakan simbol dari

Galois Field (GF).

Metode BCH Code ini dapat diimplementasikan untuk m≥ 3 dan t < 2m-1
(8)
dan memiliki properti sebagai berikut :

Panjang blok yang dikirimkan : n = 2m – 1

Bit Informasi : k

Jumlah error maksimal : t

Checkbit : c = mt dengan ketentuan n – k ≤ mt

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Secara garis besar, prosedur kerja dari metode BCH Code ini dapat

dirincikan sebagai berikut(10):

a. Proses Encoding, yaitu proses pembentukan kumpulan checkbit yang akan

dikirimkan bersama informasi.

i. Bentuk Galois Field, GF(2m)

ii. Tentukan 2t – 1 buah minimal polynomial. Karena polinomial pangkat

genap merupakan duplikasi dari polinomial pangkat ganjil, maka

polinomial pangkat ganjil saja yang diambil.

iii. Bentuk generator polinomial yang merupakan kelipatan persekutuan

terkecil dari hasil perkalian semua minimal polynomial yang dipilih.

iv. Tambahkan bit 0 di belakang bit biner dari pesan dengan panjang sebesar

derajat dari generator polinomial.

v. Lakukan operasi pembagian biner terhadap gabungan pesan dan bit 0

dengan generator polinomial.

vi. Sisa bagi dari operasi pembagian biner di atas merupakan checkbit.

vii. Bit Informasi + Checkbit dikirimkan.

b. Proses Decoding, yaitu proses pendeteksian error dan pengoreksian error

apabila ditemukan error.

a. Prosedur pendeteksian kesalahan (error detection).

i. Lakukan operasi pembagian terhadap gabungan dari bit

informasi dan checkbit dengan generator polinomial.

ii. Jika sisa pembagian = 0, berarti tidak terdapat error.

iii. Jika tidak, berarti terdapat error.

b. Prosedur pengoreksian kesalahan (error correction).

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


i. Tentukan 2t buah minimal polynomial.

ii. Hitung sindrom (S1 … S2t) dari codeword (bit informasi +

checkbit) yang diterima. Dalam hal ini, terdapat 2t

komponen dalam vektor.

iii. Bentuk tabel BCH dengan menggunakan algoritma

Peterson-Berlekamp(1) berikut:

i. Set nilai awal dari beberapa variabel berikut:

σ(-1)(x) = 1

σ(0)(x) = 1

l-1 = 0

l0 = 0

d-1 = 1

d0 = s1

ii. Jika , maka

, dan ...(2.50)

iii. Jika , cari sebelum

sedemikian sehingga , , dan nilai

memiliki nilai maksimum, kemudian

hitunglah nilai berikut:

...(2.51)

iv. Untuk setiap atau , variansi d

berikutnya adalah :

(2.52)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


dimana: adalah koefisien ke-i dari

dan

iv. Hasil akhir σ(n)(x) merupakan polinomial pendeteksi lokasi

error.

v. Setelah itu, cari akar dari persamaan polinomial tersebut

dengan metode trial and error, yaitu dengan mencoba

semua elemen dari GF(2m). Nilai tersebut merupakan akar

apabila hasil proses perhitungan polinomial = 0.

vi. Kemudian cari nilai kebalikan dari akar-akar tersebut. Nilai

ini merupakan posisi bit error.

vii. Tabel BCH dapat juga dibentuk menggunakan Algoritma

Berlekamp-Massey(6):

i. Untuk n = 0, terdapat kondisi awal sebagai berikut:

ii. Jika ,maka

, dan …(2.53)

iii. Jika, , maka

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


, dan

…(2.54)

iv. Untuk setiap atau , variansi d

berikutnya adalah :

…(2.55)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


BAB III
PEMODELAN KODE BCH

3.1 Algoritma Pengkodean dan Pengdekodean BCH

Metode BCH Code yang ditemukan oleh Bose dan Ray-Chaudhuri pada

tahun 1960 dan secara terpisah juga ditemukan oleh Hocquenghem pada 1959 ini

menggunakan simbol dari Galois Field (GF) dan dapat diimplementasikan untuk

untuk m ≥ 3 dan t < 2m-1. Pada pembahasan kali ini, digunakan m = 5, k = 16 dan t

= 3, sehingga:

Panjang blok yang dikirimkan : n = 2m – 1 = 25 – 1 = 31 bit

Bit informasi : k = 16 bit

Jumlah error maksimal :t=3

Checkbit : c = m * t = 5 * 3 = 15 bit

Proses kerja dari metode BCH Code ini dapat dibagi menjadi 2 bagian

besar, yaitu:

1. Proses Encoding, yaitu proses perhitungan checkbit yang akan disisipkan ke

dalam pesan. Proses ini memiliki input berupa kumpulan bit biner pesan p(x).

Proses ini dapat dijabarkan seperti terlihat pada gambar 3.1:

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Start

Bentuk tabel Galois Field


GF(2m)

Tentukan 5 buah minimal polynomial


m1(x) … m5(x)

Bentuk generator polinomial


g(x) = KPK(m1(x), …, m5(x))

Tambahkan 15 buah bit 0 di belakang bit pesan


b(x) = p(x) | 000000000000000

Hitung checkbit
c(x) = b(x) mod g(x)

Blok bit yang dikirimkan


p(x) | c(x)

End

Gambar 3.1 Proses Encoding pada BCH Code

2. Proses Decoding, yaitu proses pendeteksian error pada blok bit yang diterima

dan apabila ditemukan error maka dilakukan proses pengoreksian error.

Proses ini dapat dijabarkan seperti terlihat pada gambar 3.2:

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Start

Hitung nilai
Proses [p(x) | c(x)] mod g(x)
pendeteksian
error Ya
Sisa modulo = 0

Tidak
Tentukan 6 buah minimal polinomial
Tidak terdapat error
m1(x), …, m6(x)

Hitung nilai sindrome


s1(x), …, s6(x)

Bentuk tabel BCH dengan algoritma


Peterson-Berlekamp

Proses polinomial pendeteksi lokasi error


pengoreksian O(n)(x)
error
Cari akar persamaan polinomial dengan
algoritma Trial and Error

Cari nilai kebalikan dari akar yang diperoleh


Nilai ini merupakan posisi bit error

Perbaiki bit pada posisi error

End

Gambar 3.2 Proses Decoding pada BCH Code

Agar dapat lebih memahami proses kerja dari metode BCH Code

diberikan sebuah contoh sederhana berikut:

Misalkan diketahui bit pesan p(x) adalah: 0000000001000001. Maka proses

perhitungannya adalah sebagai berikut:

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


1. Proses Encoding

a. Bentuk tabel Galois Field GF(25)

Berdasarkan tabel 2.1, untuk m = 5, maka primitif polinomial yang

dipergunakan adalah :

gantikan X dengan α : ,

sehingga : ,

Dan diperoleh bentuk polinomial untuk - :

Untuk lebih jelasnya, perhatikan Tabel 3.1

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Tabel 3.1 Galois Field GF(25)

b. Untuk t=3, terdapat 5 buah minimal polinomial, m1(x) … m5(x)

m1(x) = x5 + x2 + 1

m2(x) = x5 + x2 + 1

m3(x) = x5 + x4 + x3 + x2 + 1

m4(x) = x5 + x2 + 1

m5(x) = x5 + x4 + x2 + x + 1

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


c. Bentuk generator polinomial g(x).

g(x) = KPK(m1(x), …, m5(x))

g(x) = m1(x) * m3(x) * m5(x)

g(x) = (x5 + x2 + 1) * (x5 + x4 + x3 + x2 + 1) * (x5 + x4 + x2 + x + 1)

g(x) = (x15 + x11 + x10 + x9 + x8 + x7 + x5 + x3 + x2 + x + 1)

g(x) = 1000111110101111

d. Tambahkan 15 buah bit 0 di belakang bit pesan:

b(x) = 0000000001000001000000000000000

e. Hitung nilai checkbit:

c(x) = 0000000001000001000000000000000 mod 1000111110101111

c(x) = 100101000100010

f. Blok bit yang dikirimkan:

v(x) = p(x) | c(x) = 0000000001000001 | 100101000100010

2. Proses Decoding(10):

Misalkan terdapat gangguan pada saat transmisi data, sehingga blok bit yang

diterima berubah menjadi:

v(x) = 0001000011000001 | 100100000100010

Maka, proses pendeteksian dan pengoreksian error yang dilakukan adalah

sebagai berikut:

a. Hitung nilai modulus [p(x) | c(x)] mod g(x)

v(x) = 0001000011000001100100000100010 mod 1000111110101111

v(x) = 1111110111010

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


b. Nilai modulus tidak sama dengan nol, berarti terdapat error. Lanjutkan

perhitungan proses pengoreksian error.

c. Tentukan 6 buah minimal polinomial:

m1(x) = x5 + x2 + 1 = 100101

m2(x) = x5 + x2 + 1 = 100101

m3(x) = x5 + x4 + x3 + x2 + 1 = 111101

m4(x) = x5 + x2 + 1 = 100101

m5(x) = x5 + x4 + x2 + x + 1 = 110111

m6(x) = x5 + x4 + x3 + x2 + 1 = 111101

d. Hitung sindrome dari keenam minimal polinomial tersebut:

s1(x) = v(x) mod m1(x)

s1(x) = 0001000011000001100100000100010 mod 100101

s1(x) = 100 = x2

s2(x) = v(x) mod m2(x)

s1(x) = 0001000011000001100100000100010 mod 100101

s1(x) = 100 = x2

s3(x) = v(x) mod m3(x)

s1(x) = 0001000011000001100100000100010 mod 111101

s1(x) = 11011 = x4 + x3 + x + 1

s4(x) = v(x) mod m4(x)

s1(x) = 0001000011000001100100000100010 mod 100101

s1(x) = 100 = x2

s5x) = v(x) mod m5(x)

s1(x) = 0001000011000001100100000100010 mod 110111

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


s1(x) = 10010 = x4 + x

s6(x) = v(x) mod m6(x)

s1(x) = 0001000011000001100100000100010 mod 111101

s1(x) = 11011 = x4 + x3 + x + 1

e. Substitusikan α ke dalam persamaan sindrome di atas.

s1(α) = α2

s2(α2) = (α2)2 = α4

s3(α3) = (α3)4 + (α3)3 + (α3) + 1 = α12 + α9 + α3 + 1 = α14

s4(α4) = (α4)2 = α8

s5(α5) = (α5)4 + (α5) = α20 + α5 = α29

s6(α6) = (α6)4 + (α6)3 + (α6) + 1 = α24 + α18 + α6 + 1 = α28

f. Buat tabel BCH dengan menggunakan algoritma Peterson-Berlekamp.

Tentukan nilai awal kondisi, yaitu :

σ(-1)(x) = 1; σ(0)(x) = 1;

l-1 = 0; l0 = 0;

d-1 = 1; d0 = s1;

Untuk n = 0, , sehingga kita pilih m = -1 dan sesuai


persamaan 2.46 dan persamaan 2.47 :

Karena = 0, maka dipakai persamaan 2.45, sehingga untuk n = 1 :

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


, sehingga untuk n = 2, dan m = 0,

n = 3,

d4 ≠ 0 , n = 4, m = 2,

= 0, n =6, dan error-locator polinomial nya adalah :

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Hasil perhitungan di atas kemudian dimasukkan ke dalam Tabel 3.2

Tabel 3.2 Tabel dari Algoritma Peterson-Berlekamp

n
- 1 1 0 -1
0 1 0 0
1 0 1 0
2 1 1
3 0 2 1
4 2 2
5 0 3 2
6 - - -

g. Error locator polynomial yang diperoleh adalah α27x3 + α11x2 + α2x + 1.

h. Dengan menggunakan algoritma trial and error, yaitu mengganti nilai

persamaan point g dengan field element yang ada pada GF(25), ,

dengan ≤
ketentuan 0 k ≤ 31, dan

, diperoleh 3 buah akar polinomial yaitu: α4, α9, α22.

i. Maka posisi bit yang error adalah nilai kebalikan dari ketiga nilai akar di

atas:

Kebalikan dari α4 = α31-4 = α27  posisi bit ke 27

Kebalikan dari α9 = α31-9 = α22  posisi bit ke 22

Kebalikan dari α22 = α31-22 = α9  posisi bit ke 9

j. Perbaiki bit pada posisi error dengan membalikkan nilai bit pada posisi

tersebut.

30 27 23 19 15 11 7 3 0
000 1000 0110 0000 1100 1000 0010 0010

000 0000 0010 0000 1100 1010 0010 0010

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


3.2 Model Sistem

Model sistem mengikuti model standar Shannon seperti terlihat pada

gambar 3.3 berikut:

Transmitter

Source Channel
Modulator
Encoder

Noise Communication Channel

Destination Channel
Demodulator
Decoder

Receiver

Gambar 3.3 Model Sistem

Berbagai blok yang terdapat pada gambar di atas dimodelkan seperti

berikut:

1. Sumber (source)

Penyusun mengambil bit acak 1 dan 0 sehingga disimulasikan sebuah sumber

yang terdiri dari perulangan bit yang dijadikan sebagai input ke dalam channel

encoder. Idealnya, sistem memiliki sebuah source coder, juga sebuah entropy

coder, yang dapat membantu membuat kompresi data pada data sumber,

sebelum dikirimkan ke channel encoder.

2. Pengkodean saluran komunikasi (channel encoder)

Ini merupakan bagian dimana akan dipilih penggunaan algoritma pengkodean

tertentu tertentu untuk mengkodekan k-blok data sumber, sehingga akan

dimiliki n-kode blok yang berkorespondensi dengan data sumber dengan

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


beberapa redundansi yang ditambahkan ke dalamnya, untuk membantu proses

pengoreksian kesalahan dan pendeteksian pada sisi lainnya.

Pada pembahasan kali ini, binary BCH(31, 16) yang disimulasikan dan

encoder dibentuk dengan menggunakan aritmatika Galois Field dan perkalian

polinomial seperti yang dijabarkan pada subbab 3.1 di atas. Secara mendasar,

encoder menghasilkan sebuah blok dengan panjang 31 bit untuk setiap 16 bit

data yang dikirimkan dan akan dikirimkan ke modulator.

3. Modulator

Untuk kasus simulasi kali ini, digunakan BPSK Modulator, yang akan

menghasilkan sebuah [fc / fb], gelombang cosinus untuk setiap bit data,

tergantung pada nilai bit-nya yaitu apakah 1 atau 0. fc adalah frekuensi

pembawa (carrier frequency) dan fb adalah data rate. Secara mendasar, BPSK

memerlukan sebuah detektor koheren dan diasumsikan mampu untuk

menemukan fase dari signal pada receiver. Secara sederhana, modulator akan

diimplementasikan sebagai kode blok dengan menggunakan rumusan berikut:

s1(t) = + √Eb/No cos (2πfct), 0 ≤ t ≤ k/fc ...(3.1)

s2(t) = – √Eb/No cos (2πfct), 0 ≤ t ≤ k/fc ...(3.2)

Persamaan 3.1 dan 3.2 merupakan persamaan korespondensi untuk

gelombang, 1 dan 0, yang dapat diperoleh dengan melewatkan bit sumber,

melalui sebuah polar signal converter, yang akan mengkonversikan 1 menjadi

+ 1 dan 0 menjadi – 1.

4. Saluran komunikasi [gangguan] (communication channel [noise])

Sebuah saluran komunikasi dikarakterisasi dengan gangguan yang terdapat

pada saluran. Pada pembahasan kali ini, gangguan (noise) dibangkitkan

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


dengan menggunakan metode Box-Muller, sehingga noise yang didapatkan

additive white gaussian (AWGN) yang terdistribusi dengan rata-rata nol dan

varians satuan. Ini akan menjamin bahwa sistem memiliki sebuah gaussian

yang tepat, sekuens simbol dibangkitkan dari variabel acak. Performansi dari

metode Box Muller tergantung pada tipe pseudo random number generator.

5. Demodulator

Demodulator yang digunakan adalah sebuah demodulator produk koheren,

dimana hanya melipatgandakan signal masukan, dengan gelombang pembawa,

dan jika sinyal hasil lebih besar dari 0 maka akan dikodekan sebagai 1 dan jika

tidak dikodekan sebagai 0.

Secara matematis, jika diasumsikan r(t) adalah sinyal yang diterima, maka bit

yang didekodekan seperti berikut:


kTc
≤0 1
∫ r(t) c(t) dt =
0 <0 0
Ini berarti, demodulator menunggu selama periode simbol kTc, yang

merupakan sebuah perkalian periode waktu bawaan, sehingga dapat

diputuskan pada akhir periode waktu, apakah bit tertentu adalah satu atau nol.

6. Pengdekodean saluran komunikasi (channel decoder)

Decoder untuk kode blok secara umum beroperasi pada blok, mengambil n bit

dari modulator, dan menjalankan semuanya satu kali setiap satuan waktu.

Pada tahapan ini akan dilakukan pengecekan error pada bit dan apabila

terdapat error maka akan dilakukan proses pengoreksian error.

7. Tujuan (destination)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Ini akan tempat informasi diperoleh, yang akan menerima bit yang

didekodekan dari channel encoder dan mengekstrak bit pesan dari code word

dan menyusun ulang data pada receiver.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


BAB IV
SIMULASI KODE BCH

4.1 Fungsi pada Model Sistem

Pada tugas akhir ini, akan dibahas mengenai analisis kinerja dari kode

BCH dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0.

Kanal yang digunakan pada tugas akhir ini adalah menggunakan kanal AWGN

(Additive White Gaussian Noise) pada model sistem Shannon. Modulasi digital

yang digunakan pada tugas akhir ini adalah menggunakan modulasi BPSK

(Binary Phase Shift Keying).

Simulasi dilakukan dengan menggunakan sebuah program yang dirancang

dengan menggunakan bahasa pemrograman Microsoft Visual Basic 6.0, yaitu

dengan merancang beberapa fungsi untuk membentuk suatu model sistem. Berikut

dirincikan fungsi-fungsi yang digunakan pada proses simulasi tersebut.

4.1.1 Fungsi Pembangkitan Pesan

Proses simulasi pada tugas akhir ini menggunakan pesan input yang terdiri

dari deretan perulangan bit 0 dan 1 yang dibangkitkan secara acak dengan

menggunakan sebuah fungsi pembangkitan pesan. Fungsi ini memiliki algoritma

seperti berikut:

Fungsi CreateMessage(pnBitLen)
For nF = 1 To pnBitLen Step 8
cTemp  cTemp + FDec2Biner(Int(Rnd * 100) + 50, 8)

CreateMessage = cTemp

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


4.1.2 Fungsi Encoder

Bit pesan input akan dilewatkan ke sebuah metode pengkodean untuk

menambahkan bit-bit tambahan yang dapat digunakan untuk pendeteksian dan

pengoreksian apabila terjadi error pada saat transmisi. Pada tugas akhir ini,

digunakan metode Kode BCH yang dirancang dalam bentuk fungsi.

Fungsi ini digunakan untuk melakukan proses encoding pada metode BCH

Code. Proses encoding ini mencakup proses pengubahan pesan ke bentuk biner

dan proses perhitungan checkbit dari pesan. Algoritma dari fungsi ini dapat

dirincikan sebagai berikut:

Panggil algoritma pembentukan tabel Galois Field GF(5)


Panggil algoritma penentuan minimal polinomial sebanyak 5 buah
cGen  TMin_Poly_B(1)
Untuk nI  2 sampai Indeks Tertinggi dari TMin_Poly_B
cGen  cGen * TMin_Poly_B(nI)
nJ = 0
Untuk nI  1 sampai Panjang karakter dari cInput dengan lompatan
16
nJ = nJ + 1
cPesan(nJ)  Ambil 16 buah karakter pada cInput mulai dari
posisi nI

Jika Panjang(cPesan(nJ)) < 16 maka


cPesan(nJ)  cPesan(nJ) + Tambahkan [16 – Panjang
karakter dari cPesan(nJ)] buah karakter
"0"
Jika [terdapat error pada saat transmisi data] maka
Untuk nJ  1 sampai Indeks Tertinggi dari cPesan
nJlh  Ambil nilai acak antara 1 sampai 3
cPos  ""
Untuk nI  1 sampai nJlh
Lakukan proses berikut,
nPos  Ambil posisi acak antara 0 sampai
31

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Hingga nPos tidak terdapat dalam cPos
cPos  cPos + "," + nPos

Untuk nI  1 sampai Panjang karakter dari cPesan(nJ)


Jika nI terdapat dalam cPos maka
cPesanT(nJ)  cPesanT(nJ) + Not(Ambil
sebuah
karakter pada posisi nI dari
cPesan(nJ))
Jika tidak, maka
cPesanT(nJ)  cPesanT(nJ) + Ambil sebuah
karakter pada posisi nI dari
cPesan(nJ)

Untuk nI  1 sampai Panjang karakter dari cCheck(nJ)


Jika nI + 16 termasuk dalam cPos maka
cCheckT(nJ)  cCheckT(nJ) + Not(Ambil
sebuah
karakter pada posisi nI dari
cPesan(nJ))
Jika tidak, maka
cCheckT(nJ)  cCheckT(nJ) + Ambil sebuah
karakter pada posisi nI dari
cCheckT(nJ)

Jika tidak, maka


Untuk nJ  1 sampai Indeks Tertinggi dari cPesan
cPesanT(nJ)  cPesan(nJ)
cCheckT(nJ)  cCheck(nJ)

4.1.3 Fungsi Modulator

Modulator yang digunakan untuk simulasi pada model sistem adalah

BPSK (Binary Phase Shift Keying). Pemodelan modulator pada tugas akhir ini

akan menggunakan sebuah fungsi yang memiliki algoritma sebagai berikut:

Fungsi FBPSKMod(pcIStream, pnFc, pnFb, pnPowerbit)


nScale  pnFc / pnFb

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Untuk nI = 1 sampai Panjang(pcIStream)
nSignBit  2 * Mid(pcIStream, nI, 1) - 1
nK  0
Untuk nJ = ((nI - 1) * nScale + 1) sampai (nI * nScale)
nOStream(nJ)  nSignBit * pnPowerbit * Cos(2 * pi *
pnFc
* Linspace(0, 1 / pnFb, nScale, nK))
cTemp  cTemp + IIf(cTemp = "", "", ",") +
nOStream(nJ)
nK  nK + 1

FBPSKMod  cTemp

4.1.4 Fungsi Pembangkitan Kesalahan Bit

Proses simulasi pada tugas akhir ini menggunakan metode Box Muller

untuk menambahkan AWGN (Additive White Gaussian Noise) pada bit pesan

yang dikirimkan. Metode Box Muller ini akan dimodelkan dengan menggunakan

sebuah fungsi yang memiliki algoritma sebagai berikut:

Fungsi FBoxMuller(pnNo)
Randomize Timer
nAngka  2 * pi * IIf(Int(Rnd * 100) Mod 2 = 0, 1, -1) *
Round(Rnd * pnNo, 4)
Do
nAkar  Sqr(2 * Abs(Log(Round(Rnd * pnNo, 4)))) *
IIf(Int(Rnd * 100) Mod 2 = 0, 1, -1)
Loop Until Not Error
nX  nAkar * Cos(nAngka)
nY  nAkar * Sin(nAngka)

FBoxMuller  Abs(nX + nY) / 2

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


4.1.5 Fungsi Demodulator

Sinyal analog yang dimodulasikan oleh modulator harus dikonversi

kembali menjadi bentuk sinyal digital agar dapat dibaca oleh penerima pesan.

Proses simulasi pada tugas akhir ini menggunakan sebuah fungsi untuk

memodelkan demodulator. Fungsi ini memiliki algoritma sebagai berikut:

Function FBPSKDemod(pcIStream, pnFc, pnFb, pnPowerbit)


nScale  pnFc / pnFb
cArrIStream  Split(pcIStream, ",")
nCount  (UBound(cArrIStream) + 1) / nScale
Untuk nI = 0 sampai UBound(cArrIStream)
nArrIStream(nI + 1)  cArrIStream(nI)

Untuk nI = 1 sampai nCount


nTotal  0
Untuk nJ = 1 sampai nScale
nArrVal(nJ)  nArrIStream((nI - 1) * nScale + nJ) *
Cos(2 * pi * pnFc * (nJ / pnFb))
nTotal  nTotal + nArrVal(nJ)

nBit  Int((Sign(nTotal) + 1) / 2)
cOutput  cOutput + nBit

FBPSKDemod  cOutput

4.1.6 Fungsi Decoding

Hasil demodulator sinyal analog yang melalui kanal AWGN yang dimodelkan

dengan menggunakan metode Box Muller ini akan memunculkan error pada

bit pesan. Untuk itu, diperlukan proses pendeteksian dan pengoreksian error

dengan menggunakan kode BCH yang akan dimodelkan dalam bentuk fungsi.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Fungsi decoding ini mencakup proses pengecekan error pada saat transmisi

data dan proses pengoreksian error apabila terdapat error pada saat transmisi

data. Algoritma dari fungsi ini dapat dirincikan sebagai berikut:

Untuk nI  1 sampai Indeks Tertinggi dari cPesanT


pcInfoBit  cPesanT(nI)
pcCheckBit  cCheckT(nI)
cMod  GF_Mod(pcInfoBit + pcCheckBit, cGen))

Jika cMod = "0" maka


bVerify  bVerify And True
Jika tidak, maka
bVerify  bVerify And False

Jika bVerify maka


Tampilkan pesan "Tidak terdapat error dalam Code Word !"
Proses selesai
Jika tidak, maka
Tampilkan pesan "Terdapat error dalam Code Word !"

Panggil algoritma penentuan minimal polinomial sebanyak 6 buah


Untuk nH  1 sampai 2 * pnT
cBitMinPoly(nH)  Ubah Min_Poly(nH) ke bentuk biner
cSindrome(nH)  GF_Mod(pcInfoBit + pcCheckBit,
cBitMinPoly(nH)))

Untuk nB  1 sampai 2 * pnT


nMax  Panjang karakter dari cSindrome(nB)

cSindromeA(nB)  -1
Untuk nH  1 sampai [Panjang karakter dari cSindrome(nB)] - 1
cBit  Ambil sebuah karakter pada posisi nH dari
cSindrome(nB)
Jika cBit = "1" maka
nPangkat  nB * (nMax - nH)
Selama nPangkat > 2 ^ pnM - 1
nPangkat  nPangkat - (2 ^ pnM - 1)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


cSindromeA(nB)  ArrTF(cSindromeA(nB) + 1) +
ArrTF(nPangkat + 1))) - 1

Jika karakter di sebelah kanan dari cSindrome(nB) = "1"


maka
cSindromeA(nB)  ArrTF(cSindromeA(nB) + 1) + ArrTF(1) - 1

Panggil algoritma fungsi Berlekamp

GF_Mod  cSisa

4.1.7 Fungsi Berlekamp

Algoritma ini digunakan untuk menghitung nilai output dari fungsi

Berlekamp yang berfungsi untuk membentuk tabel BCH. Prosedur kerja dari

algoritma ini dapat dirincikan sebagai berikut:

Function Berlekamp()
nQ(0, 0)  1
nQ(1, 0)  1
nL(0)  0
nL(1)  0
nD(0)  1
nD(1)  cSindromeA(1)
nKolT(0)  -1
nKolT(1)  0

Untuk nN = 0 sampai pnT - 1


Jika nD(nN + 1) = 0 maka
nQ(nN + 2, 0)  nQ(nN + 1, 0)
nQ(nN + 2, 1)  nQ(nN + 1, 1)
nQ(nN + 2, 2)  nQ(nN + 1, 2)
nQ(nN + 2, 3)  nQ(nN + 1, 3)
nLBesar  nL(nN + 2)
Jika tidak, maka
nM  Cari nilai M yang memenuhi ketentuan
Jika nD(nM) > 1 maka
nKoef  -nD(nM) + nD(nN + 1)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Jika tidak, jika nD(nM) = 1 maka
nKoef  nD(nN + 1)
Jika tidak, maka
nKoef  0

Selama nKoef < 0, lakukan proses berikut


nKoef  nKoef + (2 ^ pnM - 1)

Jika nM > 0 maka


nPangkat  2 * (nN - (nM - 1))
Jika tidak, maka
nPangkat  1

nDHasil(1, nPangkat)  nKoef


Jika nN = pnT - 1 maka Keluar dari looping

Untuk nI = 3 sampai 0
Jika nQ(nN + 2, nI) > 0 maka
nL(nN + 2)  nI
Keluar dari looping
nD(nN + 2)  cSindromeA(2 * nN + 3)
Untuk nI = 1 sampai nL(nN + 2)
nD(nN + 2)  ArrTF(nD(nN + 2) + 1) +
(ArrTF(cSindromeA(2 * nN + 3 - nI) +
nQ(nN
+ 2, nI) + 1) - 1

nKolT(nN + 2)  2 * (nN + 1) - nL(nN + 2)

cHasil  ""
Untuk nI = 3 sampai 0
Jika nQ(3, nI) > 0 maka
cHasil  cHasil + " + a^" + nQ(3, nI) + "*x^" + nI

Berlekamp  cHasil

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


4.2 Penjelasan Interface

Berikut dirincikan beberapa interface yang terdapat dalam perangkat

lunak:

1. Form Input untuk Tutorial Pembelajaran

Gambar 4.1 Form Input untuk Tutorial Pembelajaran

Form ini berfungsi sebagai tempat pengisian data-data awal yang

diperlukan dalam proses pembelajaran kode BCH. Pada form ini terdapat dua

buah objek yaitu :

a. Objek sebagai tempat pemilihan jenis input yang diinginkan.

b. Objek sebagai tempat pengisian data pesan yang akan dikirimkan.

2. Form Tutorial Pembelajaran

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Gambar 4.2 Form Tutorial Pembelajaran

Form ini berfungsi untuk menampilkan langkah-langkah perhitungan dari

kode BCH. Pada form ini terdapat sebuah objek untuk mengatur kecepatan dari

pergantian langkah. Selain itu, juga terdapat dua buah tabel yang digunakan untuk

menampilkan tabel BCH dan tabel Berlekamp. Sedangkan, objek lainnya

digunakan untuk menampilkan hasil proses perhitungan dan objek ‘Cek’ yang

dapat dipilih apabila ingin menampilkan proses perhitungan jika terjadi kesalahan

pada waktu transmisi data.

3. Form Analisis

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Gambar 4.3 Form Analisis

Form ini digunakan untuk menampilkan grafik BER vs SNR. Pada form

ini terdapat beberapa data input yaitu carrier rate, data rate, dan total chunk.

4.3 Contoh Perhitungan Kode BCH

Berikut diberikan contoh proses perhitungan dari metode BCH Code

dengan data pesan input = ‘0000000001000001’ dan tidak terdapat error pada

saat transmisi data. Hasil proses perhitungannya adalah sebagai berikut :

Tentukan 5 buah minimal polinomial.


------------------------------------
m1(x) = x^5 + x^2 + 1 = 100101
m2(x) = x^5 + x^2 + 1 = 100101
m3(x) = x^5 + x^4 + x^3 + x^2 + 1 = 111101
m4(x) = x^5 + x^2 + 1 = 100101
m5(x) = x^5 + x^4 + x^2 + x + 1 = 110111

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Hitung KPK dari minimal polinomial.
------------------------------------
KPK = (hitung perkalian dari minimal polinomial yang tidak sama
saja)
KPK = 100101 * 111101 * 110111
KPK = 1000111110101111

Hitung checkbit dari pesan.


----------------------------
- Kelompokkan bit pesan ke subblok 16 bit
BitPesan(1) = 0000000001000001

- Tambahkan 15 buah bit 0 di belakang pesan


Bit pesan = 0000000001000001
Bit proses = 0000000001000001000000000000000

- Hitung check bit


Check bit = 0000000001000001000000000000000 mod
1000111110101111
= 100101000100010

Pesan Asli = 0000000001000001


Pesan yang Diterima = 0000000001000001
Check bit Asli = 100101000100010
Check bit yang Diterima = 100101000100010

Error Detection.
-----------------
Bit Pesan = 0000000001000001
Check Bit = 100101000100010
Bit Mod = 0000000001000001100101000100010 mod 1000111110101111
= 0 --> tidak ada error
Kesimpulan: Tidak terdapat ERROR pada pesan. Proses selesai.

Contoh lainnya misalkan data pesan input = ‘ab’ dan terdapat error pada saat

transmisi data. Hasil proses perhitungannya adalah sebagai berikut :

Tentukan 5 buah minimal polinomial.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


------------------------------------
m1(x) = x^5 + x^2 + 1 = 100101
m2(x) = x^5 + x^2 + 1 = 100101
m3(x) = x^5 + x^4 + x^3 + x^2 + 1 = 111101
m4(x) = x^5 + x^2 + 1 = 100101
m5(x) = x^5 + x^4 + x^2 + x + 1 = 110111

Hitung KPK dari minimal polinomial.


------------------------------------
KPK = (hitung perkalian dari minimal polinomial yang tidak sama
saja)
KPK = 100101 * 111101 * 110111
KPK = 1000111110101111

Hitung checkbit dari pesan.


----------------------------
- Konversikan pesan ke bentuk biner
a = 97 = 01100001
b = 98 = 01100010

- Kelompokkan bit pesan ke subblok 16 bit


BitPesan(1) = 0110000101100010

- Tambahkan 15 buah bit 0 di belakang pesan


Bit pesan = 0110000101100010
Bit proses = 0110000101100010000000000000000

- Hitung check bit


Check bit = 0110000101100010000000000000000 mod
1000111110101111
= 110000010001010

Terjadi ERROR pada saat pengiriman data.


Pesan Asli = 0110000101100010
Pesan yang Diterima = 0110000000000010
Check bit Asli = 110000010001010
Check bit yang Diterima = 110000010001010

Error Detection.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


-----------------
Bit Pesan = 0110000000000010
Check Bit = 110000010001010
Bit Mod = 0110000000000010110000010001010 mod 1000111110101111
= 10100111110110 --> ada ERROR
Kesimpulan: Terdapat ERROR pada pesan.

Tentukan 6 buah minimal polinomial.


------------------------------------
m1(x) = x^5 + x^2 + 1 = 100101
m2(x) = x^5 + x^2 + 1 = 100101
m3(x) = x^5 + x^4 + x^3 + x^2 + 1 = 111101
m4(x) = x^5 + x^2 + 1 = 100101
m5(x) = x^5 + x^4 + x^2 + x + 1 = 110111
m6(x) = x^5 + x^4 + x^3 + x^2 + 1 = 111101
Menghitung Sindrome.
---------------------
m1(x) = x^5 + x^2 + 1 = 100101
m2(x) = x^5 + x^2 + 1 = 100101
m3(x) = x^5 + x^4 + x^3 + x^2 + 1 = 111101
m4(x) = x^5 + x^2 + 1 = 100101
m5(x) = x^5 + x^4 + x^2 + x + 1 = 110111
m6(x) = x^5 + x^4 + x^3 + x^2 + 1 = 111101

s1(x) = v(x) mod m1(x)


s1(x) = 0110000000000010110000010001010 mod 100101
s1(x) = 11011
s2(x) = v(x) mod m2(x)
s2(x) = 0110000000000010110000010001010 mod 100101
s2(x) = 11011

s3(x) = v(x) mod m3(x)


s3(x) = 0110000000000010110000010001010 mod 111101
s3(x) = 11101

s4(x) = v(x) mod m4(x)


s4(x) = 0110000000000010110000010001010 mod 100101
s4(x) = 11011

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


s5(x) = v(x) mod m5(x)
s5(x) = 0110000000000010110000010001010 mod 110111
s5(x) = 1101

s6(x) = v(x) mod m6(x)


s6(x) = 0110000000000010110000010001010 mod 111101
s6(x) = 11101

Substitusikan a ke dalam Sindrome.


-----------------------------------
s1(a) = x^4 + x^3 + x + 1
s1(a) = (a)^4 + (a)^3 + (a) + 1
s1(a) = a^16

s2(a^2) = x^4 + x^3 + x + 1


s2(a^2) = (a^2)^4 + (a^2)^3 + (a^2) + 1
s2(a^2) = a^1

s3(a^3) = x^4 + x^3 + x^2 + 1


s3(a^3) = (a^3)^4 + (a^3)^3 + (a^3)^2 + 1
s3(a^3) = a^15

s4(a^4) = x^4 + x^3 + x + 1


s4(a^4) = (a^4)^4 + (a^4)^3 + (a^4) + 1
s4(a^4) = a^2

s5(a^5) = x^3 + x^2 + 1


s5(a^5) = (a^5)^3 + (a^5)^2 + 1
s5(a^5) = a^23

s6(a^6) = x^4 + x^3 + x^2 + 1


s6(a^6) = (a^6)^4 + (a^6)^3 + (a^6)^2 + 1
s6(a^6) = a^30

Bentuk tabel BCH dengan algoritma Berlekamp.


---------------------------------------------
Fungsi Berlekamp :
Set N = 0

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Cari nilai N sebelumnya dengan 2N - L(N) terbesar dan d(N) <> 0,
dan nilai n yang terpilih adalah m = 0

Q(1) = Q(0) + d(0) * d(-1)^(-1) * x^[2*(0 - -1)] * Q(-1)


Q(1) = 1 + a^16 * (a^1)^(-1) * x^2 * (1)
Q(1) = a^16*x + 1
L(1) = 1

D(1) = S(3) + S(2) * Q1(2)


D(1) = a^15 + a^1 * a^16
D(1) = a^20

Set N = 1

Cari nilai N sebelumnya dengan 2N - L(N) terbesar dan d(N) <> 0,


dan nilai n yang terpilih adalah m = 1

Q(2) = Q(1) + d(1) * d(0)^(-1) * x^[2*(1 - 0)] * Q(0)


Q(2) = a^16*x + 1 + a^20 * (a^16)^(-1) * x^2 * (a^16*x + 1)
Q(2) = a^4*x^2 + a^16*x + 1

L(2) = 2

D(2) = S(5) + S(4) * Q1(3) + S(3) * Q2(3)


D(2) = a^23 + a^2 * a^16 + a^15 * a^4
D(2) = a^6

Set N = 2

Cari nilai N sebelumnya dengan 2N - L(N) terbesar dan d(N) <> 0,


dan nilai n yang terpilih adalah m = 2

Q(3) = Q(2) + d(2) * d(1)^(-1) * x^[2*(2 - 1)] * Q(1)


Q(3) = a^4*x^2 + a^16*x + 1 + a^6 * (a^20)^(-1) * x^2 * (a^4*x^2 +
a^16*x + 1)
Polinomial pendeteksi error yang diperoleh = a^2*x^3 + a^18*x^2 +
a^16*x^1 + 1

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Cari akar dari polinomial dengan metode Trial and Error.
---------------------------------------------------------
Tes setiap kemungkinan nilai a :
a^1 --> a^2 * (a^1)^3 + a^18 * (a^1)^2 + a^16 * (a^1)^1 + 1 = a^17
a^2 --> a^2 * (a^2)^3 + a^18 * (a^2)^2 + a^16 * (a^2)^1 + 1 = a^10
a^3 --> a^2 * (a^3)^3 + a^18 * (a^3)^2 + a^16 * (a^3)^1 + 1 = a^25
a^4 --> a^2 * (a^4)^3 + a^18 * (a^4)^2 + a^16 * (a^4)^1 + 1 = a^12
a^5 --> a^2 * (a^5)^3 + a^18 * (a^5)^2 + a^16 * (a^5)^1 + 1 = a^14
a^6 --> a^2 * (a^6)^3 + a^18 * (a^6)^2 + a^16 * (a^6)^1 + 1 = a^7
a^7 --> a^2 * (a^7)^3 + a^18 * (a^7)^2 + a^16 * (a^7)^1 + 1 = a^19
a^8 --> a^2 * (a^8)^3 + a^18 * (a^8)^2 + a^16 * (a^8)^1 + 1 = 0 --
> akar
a^9 --> a^2 * (a^9)^3 + a^18 * (a^9)^2 + a^16 * (a^9)^1 + 1 = a^8
a^10 --> a^2 * (a^10)^3 + a^18 * (a^10)^2 + a^16 * (a^10)^1 + 1 =
0 --> akar
a^11 --> a^2 * (a^11)^3 + a^18 * (a^11)^2 + a^16 * (a^11)^1 + 1 =
0 --> akar

Ambil nilai invers dari akar polinomial.


-----------------------------------------
Invers dari a^8 = a^23
Invers dari a^10 = a^21
Invers dari a^11 = a^20
Jadi, posisi bit error = 23,21,20
Bit pesan hasil koreksi = 0110000101100010
Check bit hasil koreksi = 110000010001010
Pesan = 'ab'

4.4 Evaluasi Performansi Kode BCH

Ide dari evaluasi performansi menggunakan model Jacobs-Viterbi adalah

untuk mensimulasikan berbagai macam kondisi saluran dan menemukan

performansi dari sistem pengkodean, yang dibandingkan dengan sistem yang tidak

dikodekan dan membuat grafik BER (Bit Error Rate) vs Eb/No (energy per bit to

noise power spectral density ratio)

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Untuk itu, digunakan model komunikasi Shannon dan di-input sebuah

deretan bit acak, yang akan dikodekan, dimodulasikan dan dilewatkan melalui

sistem. Selanjutnya, akan digunakan simulasi yang sama untuk berbagai nilai

Eb/No, yang akan digunakan untuk menggambar grafik.

Sekarang, untuk setiap percobaan, akan dihitung jumlah error antara

output dari encoder dan decoder. Ini berarti, secara mendasar, dihitung BER

dengan membagikan total jumlah error untuk Eb/o ini, dengan total jumlah bit

yang ditransmisikan. BER = n (errors) / n (bits)

Untuk setiap percobaan yang dijalankan pada Eb/No tertentu, akan

diperoleh sebuah BER yang spesifik. Dengan menggunakan cara ini maka akan

dapat dihitung dan digambarkan kurva Eb/No vs BER untuk sistem pengkodean

yang digunakan.

Secara singkat, metode Jacobs-Viterbi(12) dapat dituliskan dalam bentuk

algoritma berikut:

a. Untuk setiap nilai Eb / No dalam dB. Nilai Eb / No ditetapkan pada nilai 1, 2,

3,…, 10.

b. Hitung SNR, menggunakan rumus :


(12)
…(4.1)

dengan fb adalah data rate dan B adalah bandwidth kanal atau carrier rate.

c. Modulasikan bit kode, dengan menggunakan energi,

d. Tambahkan noise pada sinyal analog yang dimodulasikan, dengan

menggunakan metode Box Muller

e. Demodulasi sinyal pada energi yang sama, Ec

f. Dekodekan bit yang diperoleh

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


g. Hitung jumlah error

h. Hitung BER untuk setiap Eb / No

i. Ulangi untuk setiap nilai SNR dalam Db

j. Gambarkan grafik Eb / No vs BER

4.5 Faktor yang Mempengaruhi Simulasi

Adalah kenyataan bahwa simulasi dari sistem pengkodean memerlukan

jumlah bit yang besar (106) untuk disimulasikan pada sistem. Ini untuk

memastikan sebuah akurasi tinggi dan memungkinkan kita untuk mendapatkan

BER rate dengan order 10-5. Untuk semua sistem, agar dapat mencapai sebuah

BER 1/R, maka perlu mentransmisikan paling sedikit 10 * R bit, melalui channel.

Juga terdapat kemungkinan munculnya kesalahan dalam simulasi, jika

tidak diperoleh BER, atau BER = 0 maka itu berarti terjadi salah satu dari

kemungkinan berikut:

1. BER memang 0.

2. Jumlah bit yang ditransmisikan melalui channel terlalu sedikit.

3. Eb/No terlalu rendah, atau noise floor terlalu rendah.

4.6 Hasil Simulasi

Berikut diberikan contoh dari hasil simulasi:

a. Grafik BER vs Eb / No dari data input : carrier rate = 20 ; data rate = 10 dan

total chunk = 100.

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Gambar 4.4 Hasil Simulasi untuk carrier rate = 20

Grafik berwarna biru pada Gambar 4.4 menunjukkan nilai BER untuk

sinyal BPSK yang belum dikodekan oleh Kode BCH. Grafik berwarna merah

menunjukkan nilai BER untuk sinyal BPSK yang telah dikodekan oleh Kode

BCH. Terlihat dari Gambar 4.4, perolehan nilai BER =0 pada sinyal dengan

pengkodean BCH terjadi pada nilai Eb / No yang lebih sedikit dibandingkan

dengan nilai BER pada sinyal yang belum dikodekan oleh BCH.

b. Hasil perhitungan SNR untuk setiap nilai Eb / No

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Gambar 4.5 Nilai SNR untuk Setiap Eb / No

Tabel pada Gambar 4.5 memperlihatkan nilai BER = 0 didapat pada saat

Eb/ No =7.

4.7 Perhitungan Daya Transmisi

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


Setelah nilai SNR diperoleh, maka untuk selanjutnya, bisa dihitung daya

transmisi yang diperlukan untuk mentransmisikan bit bit informasi. Adapun

langkah langkahnya adalah sebagai berikut :

a. Hitung Daya Noise menggunakan persamaan 4.2 :


(13)
…(4.2)

dimana, k= konstanta Boltzman = 1.380650x10-23 J/K,

T= Suhu efektif, dalam satuan Kelvin

B= Bandwidth pada sisi penerima

b. Kemudian ,hitung Daya Sinyal carrier pada sisi pengirim dengan

menggunakan persamaan 4.3 :


(13)
…(4.3)

c. Untuk mendapatkan daya transmisi, perlu diperhitungkan rugi rugi

transmisi dan batas fading yang mungkin timbul selama

pentransmisian. Sebagai contoh, rugi rugi transmisi pada udara bebas

dapat dihitung menggunakan persamaan 4.4. :


(13)
…(4.4)

dimana, = rugi rugi transmisi (dB),

d = jarak pengirim ke penerima,

= panjang gelombang dari carrier RF, dihitung dengan

cara : …(4.5)

d. Untuk mendapatkan daya transmisi, jumlahkan hasil pada point b, c,

dengan nilai batas fading, yaitu :


(13)
…(4.6)

BAB V

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah menyelesaikan tugas akhir ini, penulis menarik beberapa

kesimpulan sebagai berikut :

1. Jika jumlah frame yang dikirimkan ada sebanyak 100 buah, dan per frame

mengandung 16 bit informasi, maka jumlah error maksimal yang dapat

diperbaiki adalah 300 bit.

2. Nilai BER sama dengan 0 diperoleh pada saat nilai Eb / No sama dengan 7.

3. Hasil analisis menunjukkan terjadi penurunan nilai Eb / No yang diperlukan

untuk memperoleh BER sama dengan 0. Pada transmisi yang disertai

pengkodean BCH, nilai Eb / No yang diperlukan adalah 7, sedang pada

transmisi tanpa pengkodean sama dengan 8.

5.2 Saran

Penulis ingin memberikan beberapa saran yang mungkin berguna untuk

pengembangan lebih lanjut, yaitu :

1. Simulasi ini dapat dikembangkan lebih lanjut dengan membuat metode BCH

Code untuk jumlah error yang lebih besar dari 3.

2. Analisis dapat dikembangkan lebih lanjut dengan membandingkan kode BCH

dengan metode pengkodean lainnya, seperti metode Reed-Solomon.

DAFTAR PUSTAKA

Edy Susanto : Analisis Kinerja Kode BCH, 2010.


1. Berlekamp, E.R., “Algebraic Coding Theory”, McGraw-Hill, New York,

1968

2. Djoko Pramono, “Mudah menguasai Visual Basic 6”, PT. Elex Media

Komputindo, 2002

3. Gallager, Robert G., “Information Theory and Reliable Communication”,

John Wiley and Sons Inc, Massachusetts, 1968

4. Green, D.C., “Komunikasi Data”, Andi, Yokyakarta, 2000

5. MacWilliams, F.J., Sloane, N.J.A., “The Theory of Error-Correcting

Codes”, North Holland, Amsterdam, 1977

6. Man Young Rhee, “Error Correcting Coding Theory”, McGraw-Hill Inc,

1989

7. Panjaitan, Sihar P.,Ir.,MT.,”Diktat Kuliah Kinerja SistemTelekomunikasi”,

… , Medan, 2002

8. Panjaitan, Ir. Sihar P.,MT.,”Diktat Kuliah Sistem Pengkodean”, … , Medan,

2002

9. Shu Lin, and Costello, Daniel J., “Error Control Coding : Fundamental and

Application”, Prentice Hall Inc, Englewood Cliffs, New Jersey, 1983

10. Wallace, Hank, “Error Detection and Correction Using the BCH Code”,

Virginia, 2001

11. Shannon, CE, “The Mathematical Theory of Communication”, …,1949

12. http://en.wikipedia.org/wiki/Eb/No

13. http://www.sss-mag.com/ebn0.html

Edy Susanto : Analisis Kinerja Kode BCH, 2010.

Anda mungkin juga menyukai