Oleh :
NIM : 030402002
Oleh :
EDY SUSANTO
030402002
Disetujui oleh,
Pembimbing
Diketahui oleh,
Ketua Departemen Teknik Elektro FT USU
Oleh :
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.
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas kasih
Laporan Tugas Akhir ini dibuat sebagai salah satu syarat untuk
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,
4. Bapak Ir. Sihar P. Panjaitan, MT, selaku dosen pembimbing Tugas Akhir,
5. Bapak Ir. Nasrul Abdi, MT. dan Bapak Rahmad Fauzi,ST,MT. selaku
6. Bapak Soeharwinto, ST. MT. selaku Dosen Wali penulis atas segala
akademik.
ilmu.
10. Serta semua pihak yang telah banyak membantu penulis dalam
menyelesaikan Tugas Akhir ini yang tidak dapat disebutkan satu persatu.
Penulis menyadari bahwa Tugas Akhir ini tidak luput dari kekurangan-
kekurangan. Oleh karena itu, dengan segala kerendahan hati penulis memohon
maaf, dan penulis menerima saran dan kritik untuk perbaikan Tugas Akhir ini.
Akhir kata semoga Tugas Akhir ini bermanfaat bagi kita semua.
Penulis
Abstrak .............................................................................................................. i
kesalahan atau error yang terjadi. Akan tetapi, masalah yang timbul
pengkodean dan pengdekodean yang efisien. Menurut teori Shannon, sebuah kode
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
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
Rumusan masalah yang akan dibahas pada Tugas Akhir ini adalah :
penurunan nilai energy per bit Eb/No yang diperlukan untuk menghasilkan BER
=0, bila dibandingkan dengan transmisi data tanpa disertai pengkodean BCH.
b. Kanal pentransmisian merupakan kanal diskrit tanpa memory, dan Noise yang
data
Metode pembahasan yang digunakan dalam Tugas Akhir ini adalah Studi
b. Diskusi dengan dosen yang menguasai ataupun memahami Tugas Akhir ini.
BAB I PENDAHULUAN
keseluruhan.
Bab ini berisi Pengertian dan Prinsip Dasar kode BCH, Pembentukan
BAB IV SIMULASI
Bab ini berisi analisis hasil numerik yang didapatkan dari model
BAB V PENUTUP
handphone).
media elektrik, optik, wireless antara komputer atau prosesor jaringan. Transmisi
suara dapat saja dijadikan transmisi data jika informasi suara tersebut dirubah
bawah ini ada beberapa faktor yang harus diperhatikan pada komunikasi data:
c. Tipe transaksi.
a. Source (Sumber)
b. Transmitter (Pengirim)
dan menandai informasi dengan cara yang sama seperti menghasilkan sinyal-
suatu digital bit stream dari suatu alat yang sebelumnya sudah dipersiapkan
destination (tujuan).
d. Receiver (Penerima)
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 memperngaruhi mutu atau kualitas dari sinyal yang diterima pada
bagian receiver. Untuk lebih detailnya, Noise dibahas pada sub-bab 2.2
f. Destination (Tujuan)
Sumber Noise
Analog Analog
Digital bit signal signal Digital bit
stream stream
Transmission
Source Transmitter Receiver Destination
System
1 2 3 4 5 6
Keterangan :
5. Data output.
6. Informasi output.
suatu PC, user bermaksud mengirim suatu pesan m ke user yang lain. User
misalnya sebuah local network atau jaringan telepon, lewat suatu perangkat I/O
(transmitter), dalam hal ini berupa local network transceiver atau modem. Data
yang menunjukkan bit – bit pada communication bus atau kabel. Transmitter
dihubungkan secara langsung ke media dan merubah aliran yang masuk menjadi
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
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.
Kekuatan sinyal berkurang bila jaraknya terlalu jauh melalui media transmisi.
Untuk guided media, penurunan dalam hal kekuatan, atau atenuasi, pada
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
ujung ke ujung, kekuatan sinyal sebuah transmitter harus cukup kuat agar
dapat diterima dengan jelas, namun juga tidak perlu terlalu kuat agar tidak
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
frekuensi dan turun mengarah pada kedua sisi band. Sehingga berbagai
komponen frekuensi suatu sinyal akan mencapai receiver pada waktu yang
berbeda-beda.
Efek ini menunjuk pada distorsi tunda, akibat sinyal yang diterima mengalami
Distrosi tunda sangat kritis bagi data digital. Anggap saja, suatu rangkaian bit
digital. Karena mengalami distrosi tunda, beberapa komponen sinyal dair satu
posisi bit meluap (spill over) ke posisi bit yang lain, dan menimbulkan
c. Derau
Untuk suatu peristiwa pentransmisian data, sinyal yang diterima akan berisikan
i. Derau suhu
dihilangkan dan karena itu menempatkan suatu batas atas pada unjuk kerja
sistem komunikasi.
Derau intermodulasi akan terjadi bila terdapat beberapa sifat tidak linear
output sama dengan input kali suatu konstanta. Pada suatu sistem
nonlinear, output merupakan fungsi yang lebih kompleks dari input. Sifat
iii. Crosstalk
yang terjadi di antara sinyal. Dapat pula terjadi karena kopel elektrik di
antara twisted pair yang berdekatan. Crosstalk dapat pula terjadi bila
Sebagai contoh, transmisi suara dapat diganggu oleh bunyi klik dan
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
mengalami berbagai macam jenis gangguan, distorsi dan interferensi, output dari
saluran komunikasi atau media penyimpanan dapat berbeda dari input. Hal ini
proses transmisi. Oleh karena itu, kebutuhan akan pengontrolan kesalahan (error
yang muncul pada saat transmisi atau penyimpanan data. Perhatian utama dari
informasi digital melalui suatu sistem pengkodean. Untuk sistem ini, semua
Digital source
Channel
Noise
(storage medium)
Digital
source) akan diproses pertama kali oleh suatu pengkodean sumber (source
kode. Biasanya, source encoder akan mengubah output sumber menjadi sebuah
deretan bit biner yang disebut sebagai deretan informasi (information sequence) d.
atau sebuah deretan dari simbol diskrit (sequence of discrete symbols). Dalam
kasus output analog, source encoder harus memiliki kemampuan konversi dari
baru dan lebih panjang yang berisi redundansi dari simbol cek paritas (parity-
check symbols). Setiap simbol dalam code word dapat diwakili oleh suatu bit
ataupun kelompok bit. Secara umum, digit biner tidak cocok untuk proses
Digit biner pada sebuah code word dari channel encoder dimasukkan ke
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
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
Dalam sistem koheren, skema modulasi biner dari BPSK yang sering
(7)
…(2.1)
(7) …(2.2)
(7)
…(2.3)
.
(7)
…(2.4)
dan
(7)
…(2.5)
gangguan dari berbagai jenis noise. Beberapa kegaduhan acak (random noise)
selama proses transmisi. Distorsi dapat diakibatkan oleh penyaringan padat atau
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,
memoryless channel, noise akan memiliki efek terhadap setiap bit yang
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
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
(SNR) pada data bandwidth, banyaknya distorsi signal yang terjadi sebagai akibat
dari penyaringan dan efek nonlinier, dan skema deteksi yang digunakan.
deretan biner d, atau deretan informasi yang diperkirakan. Karena noise dapat
Channel decoder menggunakan sindrom dasri code word r yang diterima untuk
perkiraan dari output sumber dan mengirimkan perkiraan ini kepada pemakai.
data terkorupsi (data error). Data error tersebut akan diperbaiki oleh receiver
melalui proses error detection dan error correction. Proses error detection
(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)
informasi yang lebih besar. Suatu sumber informasi yang mengirimkan satu dari
informasi yang terkandung dalam pesan ke-i yang dilambangkan dengan Ii akan
1 dan I tidak boleh bernilai negatif karena setiap pesan mengandung informasi.
untuk
…(2.1a)
untuk
…(2.1b)
untuk
….(2.1c)
Untuk sumber yang mengeluarkan dua pesan berurutan yang independent : xA dan
...(2.2)
logaritmik.
logaritma bilangan natural (e) menghasilkan informasi dengan satuan nat, basis 10
...(2.4)
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
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
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)
Elemen sistem komunikasi (digital biner) bisa dibagi dalam tiga bagian
utama, yaitu pemancar, penerima, dan kanal fisik. Istilah kanal komunikasi
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
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
disebabkan oleh karakteristik kanal yang tidak linear. Kanal juga memberikan
redaman yang melemahkan amplitudo sinyal. Selain itu, adanya noise juga
munculnya perbedaan antara sinyal yang dikirim dan yang diterima, sehingga
terkena noise, dan diterima sebagai r(t) pada penerima. Shannon menyatakan
bahwa transmisi informasi tanpa error pada kanal komunikasi ber-noise bisa
Model kanal kontinyu yang paling umum dikenal adalah kanal AWGN (
berikut :
2. Kanal membatasi input dari sumber sebagai sinyal pita terbatas x(t)
dengan white gaussian noise n(t) dengan bandwidth B, dan daya noise
...(2.8)
Noise n(t)
memberikan batas atas untuk transmisi informasi dalam kanal AWGN pita
terbatas, yaitu :
(11)
…(2.10)
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
berikut :
P(y1|x1)
1 1
P(yo|x1)
X Y
P(y1|xo)
0 0
P(yo|xo)
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
diterima salah.
Error terjadi secara acak, tetapi bisa dimodelkan secara statistik dengan
...(2.11)
symmetric channel.
aljabar dan toeri matematika lainnya yang diperlukan untuk memahami teori
2.6.1 Group
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
sejumlah elemen tertentu disebut sebagai sebuah finite field, jika tidak maka
disebut sebagai infinite group. Jumlah elemen pada sebuah finite group G disebut
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
Terdapat tiga buah group utama yang sangat disukai oleh para ahli
matematika yaitu:
mencari logaritma diskrit pada GF(p) pada dasarnya sama dengan memfaktorisasi
sebuah integer n, dimana n adalah pemangkatan dari dua buah bilangan prima
Sebuah ring R adalah sebuah set yang memiliki dua buah operasi yang
berikut dipenuhi(9):
distributif).
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
dalam field tersebut dengan pengecualian pembagian dengan bilangan nol yang
tidak terdefinisi.
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
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
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
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
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
Derajat dari polinomial hasil perkalian dari dua buah polinomial sama dengan
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
dibagi oleh p(x) itu sendiri disebut sebagai irreducible polynomial (sebuah
polynomial disebut sebagai sebuah primitive polynomial. Semua r(x) yang dapat
…(2.17)
dengan ketentuan bahwa a(x) dan b(x) harus memiliki pangkat nol. Jadi,
(6)
…(2.18)
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.
sebuah pasangan unik dari polinomial q(x), polinomial hasil bagi dan s(x),
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
dimana derajat dari s(x) lebih kecil dari 1. Misalkan, diperoleh s(x) = c, untuk c ∈
F, maka:
(6)
…(2.22)
Karena f(a) = 0 untuk a ∈ F, maka:
(6)
…(2.23)
Agar persamaan di atas memiliki hasil, maka c harus sama dengan 0, sehingga
diperoleh:
(6)
…(2.24)
Maka, x – a adalah sebuah faktor dari f(x). Kebalikannya, jika x – a adalah sebuah
faktor dari f(x) pada F[x], dimana a ∈ F, maka f(a) = 0 dan q(a) = 0.
aplikasi iteratif dari algoritma pembagian. Jika derajat dari s(x) lebih besar
(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
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
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
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
Setiap Galois Field GF(q) memiliki paling sedikit satu elemen primitif
sedemikian sehingga setiap elemen field kecuali nol dapat diekspresikan sebagai
field, karena dapat diperoleh elemen field dengan melakukan operasi perkalian
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.
jika dan hanya jika dapat membagi xn + 1 untuk n yang lebih besar atau sama
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
m p(x)
2 x2 + x + 1
3 x3 + x + 1
4 x4 + x + 1
5 x5 + x2 + 1
6 x6 + x + 1
7 x7 + x3 + 1
8 x8 + x4 + x3 + x2 + 1
9 x9 + x4 + 1
10 x10 + x3 + 1
11 x11 + x2 + 1
12 x12 + x6 + x4 + x + 1
13 x13 + x4 + x3 + x + 1
14 x14 + x10 + x6 + x + 1
15 x15 + x + 1
16 x16 + x12 + x3 + x + 1
17 x17 + x3 + 1
18 x18 + x7 + 1
19 x19 + x5 + x2 + x + 1
20 x20 + x3 + 1
21 x21 + x2 + 1
22 x22 + x + 1
23 x23 + x5 + 1
24 x24 + x7 + x2 + x + 1
25 x25 + x3 + 1
26 x26 + x6 + x2 + x + 1
27 x27 + x5 + x2 + x + 1
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
adalah 2.
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
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
(6
…(2.30)
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.
biner c dengan ketentuan n > k. Set data biner-n c ini disebut sebagai
code word dari d. Karena ada kemungkinan pesan sebanyak 2k-buah, maka
terdapat 2k code word, yang disebut sebagai kode block. Setiap 2k code word
yang dihasilkan haruslah berbeda, oleh sebab itu hubungan antara d dan c
berkorespondensi satu-satu.
Untuk setiap kode block dengan 2k code word dan panjang n, kecuali
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)
k x ( n-k). Panjang baris menentukan banyak bit k dalam satu blok data dan
panjang
Untuk memeriksa apakah kode yang diterima berisikan vektor kode yang
(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
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
mendeteksi error secara acak sekaligus mengoreksi error tersebut. Jarak minimum
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
kali ke arah kanan, akan diperoleh sebuah set data-n yang baru:
(9)
…(2.37)
yang disebut sebagai pergeseran siklis V. Demikian juga sebaliknya, jika set data-
2. Cari digit parity-check, yaitu nilai sisa b(X) yang diperoleh dari membagi
(6)
…(2.38)
dimana = polinomial yang diterima. Jika nilai = 0, maka tidak ada error
yang terjadi.
checking, yaitu menambahkan satu bit parity pada blok data. Bit parity ini
Panjang kode :
Jumlah simbol informasi :
Jumlah simbol pariti-check :
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 ).
sebanyak k bit data yang dikalikan dengan generator matriks. Oleh karena itu
Bentuk umum generator matriks dari Kode Hamming yang sistematik sesuai
persamaan (2.32).
…(2.39)
dimana,
2. Untuk menghasilkan baris kedua, lakukan pergeseran bit yang ada di baris
…(240)
, dan
sehingga Generator matriks sesuai persamaan (2.39) untuk Kode Hamming (7,4)
adalah :
(2.32). Untuk generator matriks pada persamaan 2.34, matriks H yang dihasilkan
adalah:
atau tidak. Jika sindrom yang dihasilkan bernilai nol, maka tidak ada error yang
terdeteksi. Jika sindrom tidak bernilai nol, maka ada error terdeteksi.
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
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
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:
Untuk kode non biner, jarak antara 2 buah codeword adalah banyaknya
jumlah simbol yang berbeda antara kedua buah codeword. Untuk Reed-Solomon
dimana x berarti bilangan integer terbesar yang tidak melebihi x. Dari
persamaan tersebut, dapat disimpulkan R-S code membutuhkan tidak lebih dari 2t
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
derajat yang terendah hingga yang tertinggi dan mengubah tanda minus (-)
extension field GF(2m). Setelah itu, data yang telah diubah menjadi simbol,
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
memperbaiki error pada codeword terlebih dahulu jika ada. Error yang terjadi
(5)
…(2.49)
menggunakan decoding biner, maka yang perlu diketahui hanya lokasi error-
nya saja. Dengan mengetahui lokasi error, maka yang harus dilakukan adalah
mengubah bit pada lokasi tersebut dari 0 menjadi 1 atau dari 1 menjadi 0.
tidaklah cukup, tetapi harus juga mengetahui nilai simbol yang sebenarnya
Perbedaan utama antara Kode BCH dan Kode RS terletak pada struktur
Algoritma Reed-Solomon
Algoritma BCH
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
m). Oleh sebab itu, Kode konvolusi memiliki struktur yag lebih rumit
dibandingkan dengan Kode Block. Di sisi lain, meskipun Kode Konvolusi lebih
pendekatan :
i. Pendekatan Trellis
pengoreksi error yang terjadi secara acak yang mampu untuk mengoreksi
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
Metode BCH Code ini dapat diimplementasikan untuk m≥ 3 dan t < 2m-1
(8)
dan memiliki properti sebagai berikut :
Bit Informasi : k
iv. Tambahkan bit 0 di belakang bit biner dari pesan dengan panjang sebesar
vi. Sisa bagi dari operasi pembagian biner di atas merupakan checkbit.
Peterson-Berlekamp(1) berikut:
σ(-1)(x) = 1
σ(0)(x) = 1
l-1 = 0
l0 = 0
d-1 = 1
d0 = s1
, dan ...(2.50)
...(2.51)
berikutnya adalah :
(2.52)
dan
error.
Berlekamp-Massey(6):
, dan …(2.53)
…(2.54)
berikutnya adalah :
…(2.55)
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:
Checkbit : c = m * t = 5 * 3 = 15 bit
Proses kerja dari metode BCH Code ini dapat dibagi menjadi 2 bagian
besar, yaitu:
dalam pesan. Proses ini memiliki input berupa kumpulan bit biner pesan p(x).
Hitung checkbit
c(x) = b(x) mod g(x)
End
2. Proses Decoding, yaitu proses pendeteksian error pada blok bit yang diterima
Hitung nilai
Proses [p(x) | c(x)] mod g(x)
pendeteksian
error Ya
Sisa modulo = 0
Tidak
Tentukan 6 buah minimal polinomial
Tidak terdapat error
m1(x), …, m6(x)
End
Agar dapat lebih memahami proses kerja dari metode BCH Code
dipergunakan adalah :
gantikan X dengan α : ,
sehingga : ,
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
g(x) = 1000111110101111
b(x) = 0000000001000001000000000000000
c(x) = 100101000100010
2. Proses Decoding(10):
Misalkan terdapat gangguan pada saat transmisi data, sehingga blok bit yang
sebagai berikut:
v(x) = 1111110111010
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
s1(x) = 100 = x2
s1(x) = 100 = x2
s1(x) = 11011 = x4 + x3 + x + 1
s1(x) = 100 = x2
s1(x) = 11011 = x4 + x3 + x + 1
s1(α) = α2
s2(α2) = (α2)2 = α4
s4(α4) = (α4)2 = α8
σ(-1)(x) = 1; σ(0)(x) = 1;
l-1 = 0; l0 = 0;
d-1 = 1; d0 = s1;
n = 3,
d4 ≠ 0 , n = 4, m = 2,
n
- 1 1 0 -1
0 1 0 0
1 0 1 0
2 1 1
3 0 2 1
4 2 2
5 0 3 2
6 - - -
dengan ≤
ketentuan 0 k ≤ 31, dan
i. Maka posisi bit yang error adalah nilai kebalikan dari ketiga nilai akar di
atas:
j. Perbaiki bit pada posisi error dengan membalikkan nilai bit pada posisi
tersebut.
30 27 23 19 15 11 7 3 0
000 1000 0110 0000 1100 1000 0010 0010
Transmitter
Source Channel
Modulator
Encoder
Destination Channel
Demodulator
Decoder
Receiver
berikut:
1. Sumber (source)
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,
Pada pembahasan kali ini, binary BCH(31, 16) yang disimulasikan dan
polinomial seperti yang dijabarkan pada subbab 3.1 di atas. Secara mendasar,
encoder menghasilkan sebuah blok dengan panjang 31 bit untuk setiap 16 bit
3. Modulator
Untuk kasus simulasi kali ini, digunakan BPSK Modulator, yang akan
menghasilkan sebuah [fc / fb], gelombang cosinus untuk setiap bit data,
pembawa (carrier frequency) dan fb adalah data rate. Secara mendasar, BPSK
menemukan fase dari signal pada receiver. Secara sederhana, modulator akan
+ 1 dan 0 menjadi – 1.
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
dan jika sinyal hasil lebih besar dari 0 maka akan dikodekan sebagai 1 dan jika
Secara matematis, jika diasumsikan r(t) adalah sinyal yang diterima, maka bit
diputuskan pada akhir periode waktu, apakah bit tertentu adalah satu atau nol.
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
7. Tujuan (destination)
didekodekan dari channel encoder dan mengekstrak bit pesan dari code word
Pada tugas akhir ini, akan dibahas mengenai analisis kinerja dari kode
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
dengan merancang beberapa fungsi untuk membentuk suatu model sistem. Berikut
Proses simulasi pada tugas akhir ini menggunakan pesan input yang terdiri
dari deretan perulangan bit 0 dan 1 yang dibangkitkan secara acak dengan
seperti berikut:
Fungsi CreateMessage(pnBitLen)
For nF = 1 To pnBitLen Step 8
cTemp cTemp + FDec2Biner(Int(Rnd * 100) + 50, 8)
CreateMessage = cTemp
pengoreksian apabila terjadi error pada saat transmisi. Pada tugas akhir ini,
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
BPSK (Binary Phase Shift Keying). Pemodelan modulator pada tugas akhir ini
FBPSKMod cTemp
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
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)
kembali menjadi bentuk sinyal digital agar dapat dibaca oleh penerima pesan.
Proses simulasi pada tugas akhir ini menggunakan sebuah fungsi untuk
nBit Int((Sign(nTotal) + 1) / 2)
cOutput cOutput + nBit
FBPSKDemod cOutput
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.
data dan proses pengoreksian error apabila terdapat error pada saat transmisi
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)
GF_Mod cSisa
Berlekamp yang berfungsi untuk membentuk tabel BCH. Prosedur kerja dari
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 nI = 3 sampai 0
Jika nQ(nN + 2, nI) > 0 maka
nL(nN + 2) nI
Keluar dari looping
nD(nN + 2) cSindromeA(2 * nN + 3)
Untuk nI = 1 sampai nL(nN + 2)
nD(nN + 2) ArrTF(nD(nN + 2) + 1) +
(ArrTF(cSindromeA(2 * nN + 3 - nI) +
nQ(nN
+ 2, nI) + 1) - 1
cHasil ""
Untuk nI = 3 sampai 0
Jika nQ(3, nI) > 0 maka
cHasil cHasil + " + a^" + nQ(3, nI) + "*x^" + nI
Berlekamp cHasil
lunak:
diperlukan dalam proses pembelajaran kode BCH. Pada form ini terdapat dua
kode BCH. Pada form ini terdapat sebuah objek untuk mengatur kecepatan dari
pergantian langkah. Selain itu, juga terdapat dua buah tabel yang digunakan untuk
digunakan untuk menampilkan hasil proses perhitungan dan objek ‘Cek’ yang
dapat dipilih apabila ingin menampilkan proses perhitungan jika terjadi kesalahan
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.
dengan data pesan input = ‘0000000001000001’ dan tidak terdapat error pada
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
Error Detection.
Set N = 1
L(2) = 2
Set N = 2
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
deretan bit acak, yang akan dikodekan, dimodulasikan dan dilewatkan melalui
sistem. Selanjutnya, akan digunakan simulasi yang sama untuk berbagai nilai
output dari encoder dan decoder. Ini berarti, secara mendasar, dihitung BER
dengan membagikan total jumlah error untuk Eb/o ini, dengan total jumlah bit
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.
algoritma berikut:
3,…, 10.
dengan fb adalah data rate dan B adalah bandwidth kanal atau carrier rate.
jumlah bit yang besar (106) untuk disimulasikan pada sistem. Ini untuk
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.
tidak diperoleh BER, atau BER = 0 maka itu berarti terjadi salah satu dari
kemungkinan berikut:
1. BER memang 0.
a. Grafik BER vs Eb / No dari data input : carrier rate = 20 ; data rate = 10 dan
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
dengan nilai BER pada sinyal yang belum dikodekan oleh BCH.
Tabel pada Gambar 4.5 memperlihatkan nilai BER = 0 didapat pada saat
Eb/ No =7.
cara : …(4.5)
BAB V
5.1 Kesimpulan
1. Jika jumlah frame yang dikirimkan ada sebanyak 100 buah, dan per frame
2. Nilai BER sama dengan 0 diperoleh pada saat nilai Eb / No sama dengan 7.
5.2 Saran
1. Simulasi ini dapat dikembangkan lebih lanjut dengan membuat metode BCH
DAFTAR PUSTAKA
1968
2. Djoko Pramono, “Mudah menguasai Visual Basic 6”, PT. Elex Media
Komputindo, 2002
1989
… , Medan, 2002
2002
9. Shu Lin, and Costello, Daniel J., “Error Control Coding : Fundamental and
10. Wallace, Hank, “Error Detection and Correction Using the BCH Code”,
Virginia, 2001
12. http://en.wikipedia.org/wiki/Eb/No
13. http://www.sss-mag.com/ebn0.html