Anda di halaman 1dari 100

ANALISIS KINERJA KODE BCH

Oleh :

NAMA NIM

: EDY SUSANTO : 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 NIM

: EDY SUSANTO : 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 1. 2. 3.

di depan penguji

Diketahui Oleh: Ketua Departemen Teknik Elektro

Disetujui Oleh: Pembimbing Tugas Akhir

IR.NASRUL ABDI,MT. NIP : 131 459 554

IR.SIHAR P. PANJAITAN 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 kekurangankekurangan. 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 Polinomial30 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 Konvolusi42 2.12 Metode BCH Code48 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 4.1.4 4.1.5 4.1.6 Fungsi Modulator .............................................................. 70 Fungsi Pembangkitan Kesalahan Bit..71 Fungsi Demodulator..72 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 Tabel 2.2 Tabel 3.1 Tabel 3.2 Primitive Polynomial pada GF(2) ................................................ 34 Rincian Minimal Polynomial........................................................ 36 Galois Field GF (25) ...................................................................... 57 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 sinyalsinyal 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 Informasi Pengirim (Transmitter) Sinyal yg Pesan dikirm Penerima (Receiver)

Tujuan

Sinyal yg 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 signal Analog signal

Digital bit stream

Digital bit stream

Source
1 2

Transmitter
3

Transmission System
4

Receiver
5

Destination
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 encoderdecoder 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

Source Encoder

Channel Encoder
Encoder

Modulator (writing unit)

Digital source Noise

Channel (storage medium)

User

Source Decoder

Channel Decoder
Decoder

Demodulator (reading unit)

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 (paritycheck 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 : : mempunyai probabilitas total dengan probabilitas kemunculan . 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 noise Penerima

Channel encoder B

modulator C

Media transmisi D

demodulato r F

Channel decoder

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.

1 P(yo|x1) X P(y1|xo) 0

P(y1|x1) 1

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 encoderdecodernya 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: (2.23) Agar persamaan di atas memiliki hasil, maka c harus sama dengan 0, sehingga diperoleh:
(6) (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
1

derajat m adalah sebuah faktor dari x2

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

maka: (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 nbiner 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) adalah matriks identitas k x k dan mengindikasikan matriks

dengan

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 kali ke arah kanan, akan diperoleh sebuah set data-n yang baru:
(9)

digeser satu

(2.37)

yang disebut sebagai pergeseran siklis V. Demikian juga sebaliknya, jika set datan 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 berderajat n k 1 atau kurang adalah :
(6)

kode siklis, sindrom polinomial

(2.38)

dimana yang terjadi.

= polinomial yang diterima. Jika nilai

= 0, maka tidak ada error

2.8 Kode Hamming Ide dasar pengkodean Hamming adalah menggunakan metode paritychecking, 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 paritycheck 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 errornya 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. ii. iii. Pendekatan generator sekuens dan stage-register Pendekatan konvolusi diskrit Pendekatan matriks skalar

Edy Susanto : Analisis Kinerja Kode BCH, 2010.

iv.

Pendekatan polinomial untuk pengdekodean Kode Konvolusi, terdapat tiga

Sementara, pendekatan : i. ii. iii.

Pendekatan Trellis Pendekatan Pohon / Tree, yang mempergunakan diagram state 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 dan memiliki properti sebagai berikut Panjang blok yang dikirimkan Bit Informasi Jumlah error maksimal Checkbit : : : :
(8)

: n = 2m 1 k t 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. ii. Bentuk Galois Field, GF(2m) 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. vii. Sisa bagi dari operasi pembagian biner di atas merupakan checkbit. 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. iii. b. Jika sisa pembagian = 0, berarti tidak terdapat error. Jika tidak, berarti terdapat error.

Prosedur pengoreksian kesalahan (error correction).

Edy Susanto : Analisis Kinerja Kode BCH, 2010.

i. ii.

Tentukan 2t buah minimal polynomial. 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 iii. Jika , cari , nilai maksimum, sebelum , dan nilai kemudian ...(2.50)

sedemikian sehingga memiliki

hitunglah nilai berikut:

...(2.51) iv. Untuk setiap berikutnya adalah : (2.52)


Edy Susanto : Analisis Kinerja Kode BCH, 2010.

atau

, variansi d

dimana: dan . iv.

adalah koefisien ke-i dari

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 berikutnya adalah :

atau

, variansi d

(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 Bit informasi Jumlah error maksimal Checkbit : n = 2m 1 = 25 1 = 31 bit : k = 16 bit :t=3 : 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

Proses pendeteksian error

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

Sisa modulo = 0 Tidak Tentukan 6 buah minimal polinomial m1(x), , m6(x) Hitung nilai sindrome s1(x), , s6(x) Bentuk tabel BCH dengan algoritma Peterson-Berlekamp

Ya

Tidak terdapat error

Proses pengoreksian error

polinomial pendeteksi lokasi error O(n)(x) 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) = 000 1000011000001 | 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; l-1 = 0; d-1 = 1; (0)(x) = 1; l0 = 0; 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 0 1 2 3 4 5 6

1 1

1 0 0 0 -

0 0 1 1 2 2 3 -

-1 0 0 1 1 2 2 -

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

000 000

1000 0000

0110 0010

0000 0000

1100 1100

1000 1010

0010 0010

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 Encoder

Modulator

Noise

Communication Channel

Destination

Channel Decoder
Receiver

Demodulator

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 (2fct), 0 t k/fc s2(t) = Eb/No cos (2fct), 0 t k/fc Persamaan 3.1 dan 3.2 merupakan persamaan korespondensi ...(3.1) ...(3.2) 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:
0 kTc

r(t) c(t) dt =

0 <0

1 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) sebuah karakter cPesan(nJ)) Jika tidak, maka cPesanT(nJ) cPesanT(nJ) + Ambil sebuah karakter cPesan(nJ) Untuk nI 1 sampai Panjang karakter dari cCheck(nJ) Jika nI + 16 termasuk dalam cPos maka cCheckT(nJ) sebuah karakter cPesan(nJ)) Jika tidak, maka cCheckT(nJ) cCheckT(nJ) + Ambil sebuah karakter cCheckT(nJ) pada posisi nI dari pada posisi nI dari cCheckT(nJ) + Not(Ambil pada posisi nI dari pada posisi nI dari cPesanT(nJ) + Not(Ambil

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 nOStream(nJ) nK nK + 1 FBPSKMod cTemp cTemp + IIf(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 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 * nN + 3 nI) +

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 Pesan yang Diterima Check bit Asli = 0110000101100010 = 0110000000000010 = 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. d. Modulasikan bit kode, dengan menggunakan energi, Tambahkan noise pada sinyal analog menggunakan metode Box Muller e. f. Demodulasi sinyal pada energi yang sama, Ec Dekodekan bit yang diperoleh yang dimodulasikan, dengan

Edy Susanto : Analisis Kinerja Kode BCH, 2010.

g. h. i. j.

Hitung jumlah error Hitung BER untuk setiap Eb / No Ulangi untuk setiap nilai SNR dalam Db 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= T= B=

konstanta Boltzman = 1.380650x10-23 J/K, Suhu efektif, dalam satuan Kelvin 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,

= d = =

rugi rugi transmisi (dB), 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