Anda di halaman 1dari 69

1

SISTEM KOMUNIKASI DIGITAL


Berikut ini digambarkan salah satu blok diagram sistem komunikasi sederhana.

Sumber Koder Koder Modulator


Informasi Sumber Kanal Gelombang

Kanal
Gelombang

Pengguna Dekoder Dekoder Demodulator


Informasi Sumber Kanal Gelombang

Gbr. 1 : Salah satu model sistem komunikasi

 Fungsi sistem komunikasi adalah memancarkan informasi secara andal dari


sumber informasi ke pengguna informasi
 Dari blok diagram diatas dapat dilihat bahwa :
o keluaran dari sumber informasi adalah sudah berbentuk signal-
signal digital , yaitu berupa urutan simbol-simbol dari berbagai abjad
(yang sudah dibuat menjadi signal-signal diskrit)
 Simbol-simbol ini diproses oleh koder sumber menjadi simbol-simbol
bentuk lain (atau disebut kelompok simbol) agar supaya :
o dapat dibuat menjadi simbol-simbol yang pada saat dipancarkan ke
pengguna informasi , banyaknya simbol tersebut adalah menjadi
seminimal mungkin ; d.k.l. banyaknya bit-informasi yang
dipancarkan dibuat minimal (untuk menghemat bandwidth)
 Keluaran dari koder sumber menjadi masukan bagi koder saluran dimana :
o koder saluran tersebut berfungsi untuk memperbesar efisiensi
komunikasi , yaitu dengan jalan :
mengubah urutan bit keluaran koder sumber menjadi
urutan bit simbol yang berbeda dibandingkan dengan abjad
yang dikirim dari sumber informasi
 Keluaran koder saluran masuk ke modulator , kemudian dipancarkan lewat
Kanal Diskrit Tanpa Memori = DMC (Discrete Memoryless Channel) menuju
ke demodulator (yang menjadi bagian sistem penerima), terus masuk ke
dekoder kanal sistem penerima
 Manfaat DMC ini mencakup :
o melakukan pengurangan pengaruh distorsi ( cacat) signal
sewaktu melewati kanal komunikasi gelombang
 detektor kanal yang mendapat masukan dari demodulator , akan beru-
paya untuk :
2

o merekonstruksi (menghasikan kembali bentuk signal aslinya )


urutan keluaran yang berasal dari koder sumber , menjadi
urutan bit yang serupa mungkin dengan bit aslinya
 Dengan menggunakan disain enkoder-dekoder yang tepat, maka akan dapat :
o mengoreksi beberapa kesalahan transmisi yang terjadi
di Kanal Diskrit Tak Bermemori (DMC) tadi, sehingga
dapat memperbaiki keandalan komunikasi
 Dengan memakai keluaran dekoder kanal, maka dekoder sumber akan dapat
membuat perkiraan urutan bit informasi yang dipan-
carkan

KODE KELOMPOK YANG LINIER


(LINEAR BLOK CODES)

 Pada bagian ini akan dibahas tentang:


– 𝒔𝒊𝒇𝒂𝒕 − 𝒔𝒊𝒇𝒂𝒕 (𝒑𝒓𝒐𝒑𝒆𝒓𝒕𝒊𝒆𝒔)
{ → 𝒌𝒐𝒅𝒆 𝒌𝒆𝒍𝒐𝒎𝒑𝒐𝒌
− 𝒑𝒆𝒓𝒘𝒖𝒋𝒖𝒕𝒂𝒏 (𝒊𝒎𝒑𝒍𝒆𝒎𝒆𝒏𝒕𝒂𝒕𝒊𝒐𝒏)
 Awal pembahasan adalah tentang suatu matrix yang menggambarkan tentang
proses pengenkodean (encoding process) :
o yang membangkitkan bit-bit penguji (check bits) bagi suatu blok bit-bit yang
mana blok bit-bit tersebut menggambarkan berita tertentu
o selanjutnya digunakan penggambaran dengan matrix (matrix representation)
untuk menyelidiki metode-metode 𝒑𝒆𝒏𝒅𝒆𝒌𝒐𝒅𝒆𝒂𝒏 (decoding methods)
untuk {−𝒅𝒆𝒕𝒆𝒌𝒔𝒊 𝒌𝒆𝒔𝒂𝒍𝒂𝒉𝒂𝒏
−𝒌𝒐𝒓𝒆𝒌𝒔𝒊 𝒌𝒆𝒔𝒂𝒉𝒂𝒏

 Kode kelompok adalah salah satu kode yang dapat mengoreksi kesalahan
bit secara mandiri (self error correction = automatic error corection) , dimana :
 bentuk kode terdiri atas :
o kode yang menggambarkan suatu kharakter (simbol , signal ,
atau data) , yang banyaknya k buah bit
o disamping kode untuk kharakter yang banyaknya = k tadi, pada
sistem kode blok ini :
 ditambahkan dengan kode yang digunakan sebagai kode
uji paritas (untuk tujuan pengamanan kode) sebanyak q bit
 Dapat diketahui bahwa :
o kemungkinan kharakter atau data yang mungkin terjadi = m
buah data = 2 k buah data
 Pada kode kelompok :
o banyaknya bit keseluruhan (bit untuk kharakter + bit untuk paritas) atau
banyaklnya bit untuk kata kode , menjadi k + q = n bit
 Jika salah satu urutan bit kharakter (= bit data) tersebut
adalah :
d  d1 d2      dk  …………………………..( II .1 )
d1 s.d. dk bernilai 0 atau 1
3

maka :
dengan memakai enkoder (alat untuk membuat kode) :
o kode kharakter atau kode data yang terdiri atas k bits tersebut
diubah menjadi kharakter baru yang terdiri atas n bits
o tambahan bit sebanyak  q  n  k  bits, merupakan bit uji paritas
 Kata kode (word) –nya ditulis dengan kode (n , k)
 Tujuan penambahan q bits paritas tersebut adalah :
o untuk membuat kode yang terdiri atas n bits , sehingga :
 kode data tadi menjadi kode yang dapat mendeteksi dan
mengoreksi kesalahan bit secara mandiri (self
detection and correcting code)
 Kesalahan bit tersebut dapat terjadi karena :
o signal-signal biner tersebut melalui media transmisi dalam
perjalanannya dari sumber (souce) ke tujuan (destination)
 Data yang keluar dari encoder tersebut , yang disebut dengan kata kode (code
word), dinyatakan sebagai berikut :

x  x1 x2      xk xk 1 xk  2      xk  q 
………..….( II . 2 )
data paritas
x  x1 x2      xk xk 1 xk  2      xn 

Untuk kode sistematis, maka :

x1  d1 x2  d2 x3  d3        xk  dk ………………( II . 3 )
Banyaknya bit uji paritas = q buah
Banyaknya seluruh bit setiap kode baru  n  k  q …..( II . 4 )
Bit-bit uji paritas untuk kode sistimatis tersebut dibuat memenuhi hubungan
yang sesuai dengan persamaan berikut ini :
x k 1  h11 d1  h12 d2  h13 d3        h1k dk
xk  2  h21 d1  h22 d2  h23 d3      h2k dk
........................................................................
xk  q  xn  hq1 d1  hq2 d2  hq3 d3      hqk dk

 xk1  h11 h12  h1k  d1 


 x  h h22  h2k  d2 
Bit uji paritas   k2 
  21  
            ……( II . 5 )
    
 xn  hq1 hq2  hqk  dk 
Persamaan matrix uji paritas ( II .5 ) dapat ditulis menjadi :
4

x   H d 
q
T
k
T
…………………………..( II . 5a )

Contoh :

Suatu kode (n,k) yaitu kode (15,11), salah satu data tersebut mempunyai kode data :
d  0 1 0 1 1 1 0 1 0 1 1 , dengan n = 15 ; q=4 dan k = 11 ;
Misalkan kode uji paritas dinyatakan dengan persamaan matrix sebagai berikut :
 xk 1   x111   x12   h11 h12  h1k   d1 
 x   x   x  h h22  h2 k  d 2 
 k  2  11 2  
13  21
 
    x11 3   x14       
        
 xn   x11 4   x15  hq1 hq 2  hqk  d k 
 h11 h12  h1k  1 1 1 1 0 1 0 1 1 0 0
h h22  h2 k  0 1 1 1 1 0 1 0 1 1 0
Dimisalkan   
21

     0 0 1 1 1 1 0 1 0 1 1
   
hq1 hq 2  hqk  1 1 1 0 1 0 1 1 0 0 1
 x12   h11 h12  h1k   d1  1 1 1 1 0 1 0 1 1 0 0  d1 
 x  h h  h2 k  d 2  0 1 1 1 1 0 1 0 1 1 0 d 2 
 13    21 22  
 x14           0 0 1 1 1 1 0 1 0 1 1   
       
 x15  hq1 hq 2  hqk  d k  1 1 1 0 1 0 1 1 0 0 1 d k 
0 
1
 
0 
 
 x12  1 1 1 1 0 1 0 1 1 0 0 1  0  1  0  1  0  1  0  1  0  0  0  0
 x  0 1 
 13    1 1 1 1 0 1 0 1 1 0   0  1  0  1  1  0  0  1  0  0  0 0
 x14  0 1   
0 1 1 1 1 0 1 0 1 1 0  0  0  0  1  1  1  0  1  0  1  1  0
   
 x15  1 1 1 0 1 0 1 1 0 0 1   0  1  0  0  1  0  0  1  0  0  1 0
1
0 
 
1
 
1
Maka kode sistimatis lengkap yang dikirimkan adalah :
x  x1 x2  x11 x12 x13 x14 x15   0 1 0 1 1 1 0 1 0 1 1 0 0 0 0

Tugas :

Suatu kode (n,k) yaitu kode (15,11), salah satu data tersebut mempunyai kode data :
d  0 1 0 1 1 1 0 1 0 1 1 , dengan n = 15 ; q=4 dan k = 11 ;
 h11 h12  h1k  1 1 1 1 0 1 0 1 1 0 0
h h22  h2 k  0
 1 1 1 1 0 1 1 1 1 0
Dimisalkan  H  
21

     1 0 1 1 1 1 0 1 0 1 1
   
hq1 hq 2  hqk  1 1 1 0 1 0 1 1 0 0 1
5

Bagaimanakah bentuk kata kode selengkapnya ?

 Jika m adalah salah satu dari 2k buah kode keseluruhan untuk data yang
mungkin terjadi, maka :
o salah satu kode data yang dimaksudkan adalah xm1 , xm2 ,.....,xmk .
o Jika setiap signal data terdiri atas k buah bit , maka signal data yang
mungkin terjadi = 2 k
o Contoh : k  3  signal data yang mungkin te rjadi 23  8 , yaitu :
000
001
010
011
100
101
110
111

 Dengan kata lain salah satu kode untuk data , tanpa kode paritas (misalkan data
yang ke-m ) tesebut adalah :

xdm  xm1 , xm 2 ,  , xmk  ……………...……( II . 6 )

 Untuk membuat kode yang dapat mengoreksi secara mandiri jika akibat sesuatu hal
terjadi kesalahan data , maka :
o kode tersebut diberi tambahan dengan bit uji paritas ( parity checking bit )
yang banyaknya q buah bit
o dengan demikian keseluruhan bit keluaran dari enkoder (alat pembuat
kode) yang menggambarkan suatu kharakter + paritas, yang juga disebut
dengan :
 kata kode (code word) , banyknya bit menjadi sebanyak n = k + q
bit, sehingga :
 urutan bit untuk salah satu kata kode menjadi :
xdm  xm1 xm 2  xmn  ……………..( II . 7 )
 Jika digambarkan secara blok diagram , maka akan terlihat sebagai berikut :
Masukan Keluaran
Enkoder
k bit n bit
 Operasi enkoder (operasi pembuat kode) yang dikerjakan dalam suatu enkoder
blok biner linier dapat digambarkan sebagai :
o himpunan n buah persamaan dalam bentuk matrix dapat
dinyatakan sebagai berikut :
cm j  xm1 g1 j  xm 2 g 2 j    xm j g k j ……………….( II . 8 )
dengan :
j  1, 2,, n ; m  1, 2,    2k
6

 0

dimana nilai daripada g i j adalah atau
 1

Contoh :
Kode (n, k)= kode ( 7, 4 ) ; maka m j adalah salah satu dari 2 4 kemungkina n kode
Data yang mungkin terjadi jika setiap data terdiri atas 4 bit = 24 =16
Kode-kode bit paritas yang terkait tergantung dari matrix H.
Kode data yang mungkin terjadi secara lengkap adalah sebagai berikut :
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
] 1 1 1 1

 Seperti sudah dibahas sebelumnya, kata kode dinyatakan dengan :


x  x1 x2      xk xk 1 xk  2      xn 
 Kode data yang ke-m dinyatakan dengan d  d m1 d m 2 d m3 .........d mk 
dimana :
k
mj adalah salah satu dari 2 buah jenis kata kode yang mungkin terjadi
 Selanjutnya dapat ditulis :
x  dG …………………………………….( II . 9 )
dapat juga ditulis :
c  dG …………………………………...(II . 10 )
dimana penulisan x diganti dengan c )
dimana :
G = matrix generator kode dan merupakan matrix k x n
Matrix generator G dinyatakan dengan persamaan matrix :
G  I k P  ………………………………..( II . 11 )
dengan I k  matrix identitas
dan
h11 h21  hqn 
h 
 12 h22  hq2 
P  H T  h13 h23  hq3  …………………….( II . 12 )
 
     
h1k h2k  hqn 
 
Contoh :
7

Suatu kode (7,4) dengan generator matrix : G  I k P


Disini n = 7 ; k = 4 ; q = 3 1 0 0 0 1 0 1 
1 1 1 0 0 1 0 0 1 1 1 
Dimisalkan H  0 1 1 1 G  
  0 0 1 0 1 1 0 
1 1 0 1  
0 0 0 1 0 1 1 
Matrix Data Ik P  HT
Dari contoh ini, karena :
 banyaknya bit untuk setiap kode adalah k = 4
 banyak bit untuk paritas adalah q = 3 , maka :
o dapat digambarkan kemungkinan seluruh kode blok yang terjadi adalah :
0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 0 1 0 1 1 
   
0 0 1 0 0 0 1 0 1 1 0 
   
0 0 1 1  
0 1 0 0  
   
0 1 0 1  
0 
0 1 1
1 0 0 0 1 0 1  


1 0 1 0 0 1 1 1  
x  dG  0
1
1
0
1
0 0 0 0 1 0 1 1 0




    
1 0 0 1 0 0 0 1 0 1 1  
   
1 0 1 0  
1 0 1 1  
   
1 1 0 0  
1 1 0 1  
   
1 1 1 0  
1 1  
 1 1   

JIKA DICARI DENGAN PROGRAM MATLAB

>> d=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 0;1 0 0 1;1 0 1 0;1 0
1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1;]

d=

0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
8

>> G=[1 0 0 0 1 0 1;0 1 0 0 1 1 1;0 0 1 0 1 1 0;0 0 0 1 0 1 1;]

G=

1 0 0 0 1 0 1
0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1

>> x=d*G

x=

0 0 0 0 0 0 0
0 0 0 1 0 1 1
0 0 1 0 1 1 0
0 0 1 1 1 2 1
0 1 0 0 1 1 1
0 1 0 1 1 2 2
0 1 1 0 2 2 1
0 1 1 1 2 3 2
1 0 0 0 1 0 1
1 0 0 1 1 1 2
1 0 1 0 2 1 1
1 0 1 1 2 2 2
1 1 0 0 2 1 2
1 1 0 1 2 2 3
1 1 1 0 3 2 2
1 1 1 1 3 3 3
 Berdasarkan aturan penjumlahan modulo-2 , dimana jika bilangan biner
dijumlahkan , maka :
o apabila penjumlahan dari seluruh bit tersebut adalah :
 genap , maka hasil penjumlahan tersebut = 0 , atau diberi bit “0”
 ganjil , maka hasil penjumlahan tersebut = 1 , atau diberi bit “1”
Maka :

0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 0 0 0 1 0 1 1
0 0 1 0 1 1 0 0 0 1 0 1 1 0
0 0 1 1 1 2 1 0 0 1 1 1 0 1
0 1 0 0 1 1 1 0 1 0 0 1 1 1
0 1 0 1 1 2 2 0 1 0 1 1 0 0
0 1 1 0 2 2 1 0 1 1 0 0 0 1
0 1 1 1 2 3 2 0 1 1 1 0 1 0
1 0 0 0 1 0 1 1 0 0 0 1 0 1
1 0 0 1 1 1 2 1 0 0 1 1 1 0
1 0 1 0 2 1 1 1 0 1 0 0 1 1
1 0 1 1 2 2 2 1 0 1 1 0 0 0
1 1 0 0 2 1 2 1 1 0 0 0 1 0
1 1 0 1 2 2 3 1 1 0 1 0 0 1
1 1 1 0 3 2 2 1 1 1 0 1 0 0
1 1 1 1 3 3 3 1 1 1 1 1 1 1
9

Jika rumus-rumus yang ada diuraikan lebih lanjut :


 1 0  0  h11 h12  h1k T  
    
 0 1  0 h21 h22  h2 k   
c  dG  d I k P  d1 d 2 d k  
         
    
 0 0  1 hq1 hq 2  hqk   
  
 1 0  0 h11 h21  hq1  
  
 0 1  0 h12 h22  hq 2  
c  d1 d 2  d k    d1 d 2  d k d1 d 2  d k P   d
         
  
 0 0  1 h1k h2 k  hqk  
matrix uji bit paritas

Maka urutan bit kata kode adalah :

c  dG  d I k P   dI k dP   d dP   c c p  ……….…( II . 13 )

Jadi urutan bit uji paritas adalah :

c p  dP …………………………………( II . 14 )

Jika urutan bit yang diterima adalah kata kode yang tepat , maka :
dP  c p  0
Urutan bit Urutan bit
yang dihitung uji paritas
di dekoder yang diterima

P 
0  dP  cp  d cp    ………………………..( II . 15 )
Iq 
hal ini karena
c p I q   c p
Jika tak terjadi kesalahan bit di pesawat penerima , maka :
dP  c p  0 ……………………………( II . 16)

dengan P  H T dan c  d c p 
Dengan demikian jika dihitung nilai daripada cH T , maka pada saat tidak
terjadi kesalahan bit , akan dapat diperoleh hasil sebagai berikut :

  P 
cH T  d c p P  d c p     P  0P  0 ………………..( II . 17 )
  I q  
10

Syarat urutan bit yang diterima oleh dekoder tidak terjadi kesalahan bit
adalah :
cH T  0 …………………………………( II . 18 )
Didalam hal ini , sesuai dengan perhitungan diatas , yang dimaksudkan dengan H T adalah :
P
 
H  PT I q  H T   
Iq 
Dalam persamaan matrix
h11 h12  h1k 
h  h2k 
 12 h22
Matrix uji paritas  H        …………..( II . 19 )
 
     
hq1 hq2  hqk 

Contoh :
Kode (7, 3) dengan matrix uji paritas :
1 1 0 0
0 1 1 0 
1 0 1 1 0 0 0  
1 1 1 0 1 0 0 1 1 1 1 
Misalkan H   T 
  p  H  1 0 0 0
0 1 1 0 0 1 0   
   0 1 0 0 
0 0 1 0 0 0 1   
0 0 1 0 
0 0 0 1 
 
Kata kode : c  dG (lihat rumus II. 10)
Bila tanpa kesalahan bit maka : cH T  0 (lihat rumus II . 18)
Bila terjadi kesalahan bit yang diterima di dekoder , maka :
r  vektor kode yang diterima adalah :
r  c e
Jika terjadi kesalahan bit , maka : r  c  e  e  0 0  0
Jika tidak terjadi kesalahan bit , maka : r  c  e  0 0  0

Sindrome
 Dapat dihitung bahwa rH T
 c  e H T  cH T  eH T
 Yang dinamakan Syndrome adalah :

Syndrome  s  eH T ………………..………( II . 18 )

Jika kesalahan bit , maka : s  0 0  0


Jika ada kesalahan bit , maka : s  0 0  0
 Anggaplah bahwa terjadi kesalahan pada bit ke-i
vektor kesalahann ya adalah e  0 0 0  1  0
digit
kei
11

 Jika diambil hubungan dalam persamaan matrix sebagai berikut ini :


h11 h12  h1k 1 0  0 
h h22  h2k 0 1  0 
 21
          …………( II . 19 )
H'  H I k    
         
         
 
hq1 hq2  hqk 0 0  1 

Maka yang disebut syndrome sebagaimana persamaan ( II . 18) akan berubah


menjadi sebagai berikut :

Syndrome  s  eH'  …………………..( II . 20 )


T

 h11 h21    hq1 


h h22    hq 2 
 12
      
h h2i    hqi 
 1i 
  
 h1i    hqi 
   
s  0 0  1  0  
hqk 
h2i
h h2 k   
 1k1 
1 0    0
0 1    0
 
       
 
0 0    1

 Kode blok telah dilakukan penyempunaan oleh Hamming pada tahun 1950
dan disempurnakan lebih lanjutoleh Slepian (1956)
 Selanjutnya akan dibahas tentang kode Hamming

KODE HAMMING

 Pada tahun 1950 Hamming menyempurnakan bentuk kode blok menjadi sistem kode
yang lebih baik , yang selanjunya disebut sebagai kode Hamming
 Seperti diketahui bahwa suatu kode blok adalah kode yang kompak dan mengarah
pada pengimplementasaian (pewujudan atau penggunaan) perangkat keras enkoder
dan dekoder yang banyak
 Kelemahan daripada kode blok adalah , kode blok tersebut :
o tidak dapat memberikan petunjuk bagaimana caranya mengambil
elemen-elemen daripada matrix pembantu (lihat rumus II . 5a :
xq T  H dk T )
o Berdasarkan rumus ( II . 10 ) , matrix generator G  I k P
o Berdasarkan rumus ( II . 11) didapatkan :
12

h11 h21  hqn 


h h22  hq2 
 12
P  H T  h13 h23  hq3 
 
     
h1k h2k  hqn 

 untuk dapat mencapai parameter-parameter kode tertentu , dimana :
o banyak bit untuk suatu kata kode = n
o banyaknya bit uji paritas = q
o banyaknya bit kode data = k
o Dimisalkan bahwa :
 jarak Hamming minimum = dmin  3
 artinya terdapat 3 bit kesalahan , yaitu terdapat 3 bit yang
berbeda antara katakode yang dikirim dengan katakode
yang dihasilkan pendekode (decoding) penerima
k
 efisiensi kode atau nilai kode = R 
n
o Yang dimaksudkan dengan jarak Hamming adalah :
 banyaknya lokasi bit yang berbeda diantara 2 buah kode
 misalnya kata kode a  10110 dan kata kode b  11111 ;
karena ada 2 buah lokasi dimana bit-nya berbeda , maka
jarak Hamming = da,b  2
 kode-kode yang bagus adalah :
k
 kode yang efisiensi kodenya = R  adalah tinggi
n
 maksudnya dengan menggunakan kode blok , maka :
o untuk mendapat kode yang bagus , hanya bisa
ditemukan dengan :
 mengerahkan segala daya dan upaya dan
pemikiran yang konstruktiv
 megembangkan inspirasi-inspirasi cemerlang
yang mempunyai derajat kesulitan yang tinggi ,
yang dipandu dengan analisa matematik yang
rumit
o Jika kesalahan yang terjadi adalah t bit, maka :
 untuk mengecek apakah suatu kode yang mempunyai kesalahan t
bit , dapat dikoreksi atau tidak , misalkan saja :
 kode (7, 3)
o digunakanlah apa yang disebut dengan :
o Ketidaksamaan Hamming dinyatakan dengan
persamaan : dH  2 t  1 atau dH min  2 t  1
Karena banyaknya kesalahan bit minimal = t = 1 (kalau kurang
ari 1 berarti tidak terjadi kesalahan), maka :
Jarak Hamming minimum  dHmin  2 1  1  3
 Dengan demikian , yang disebut dengan Kode Hamming adalah :
o suatu kode blok linier (n,k) dengan bit uji paritas q  3
o banyaknya bit kata kode = n , harus memenuhi hubungan :
13

n  2q  1 …………………………( II . 21 )
 Jadi jika q  3  n  23  1  7 ;
 jika diambil n  7  banyaknya bit untuk data  k  n  q  7  3  4
k nq
 Efisiensi kode = nilai kode (code rate) , untuk kode Hamming = Rc  
n n
q q 2  q 1
q
Rc  1   1  q 
n 2 1 2q  1
Kurva efisiensi kode sebagai fungsi dari banyaknya bit uji paritas  Rc  f q  ,
dapat dilukis dengan menggunaka n program Matlab yang perintahny a sebagai
berikut :
>> q = 0 : 0.01 : 15; r = (2.^ q - q - 1)./(2.^ q - 1); plot(q, r) 
Rc
Berdasarka n kurva disamping kiri terlihat
bahwa Rc  1 jika q  12
Namun karena nilai n  k  q hanya bernilai 7 ,
maka tidak mungkin dipenuhi efisiensi Rc  1 .
Dengan banyaknya bit uji paritas q  3 , maka
n  2 q  1  23  1  7 ; k  n  q  7  3  4
q k 4
Efisiensi kode  Rc    57%
n 7
Sudah diketahui bahwa sebelumnya bahwa d H min  2 t  1
Agar tidak ada ketergantungan terhadap q , maka dibuat nilai dmin  3 , berarti
bahwa banyaknya kesalahan bit = t = 1 ; jadi hanya terjadi kesalahan tunggal saja.
 Jadi sebuah kode Hamming dapat digunakan untuk :
o mengoreksi kesalahan tunggal
o mendeteksi kesalahan ganda (double)
 Untuk membuat kode Hamming yang sistematis , perhatikan matrix P
yang sesuai dengan rumus ( II . 11) adalah sebagai berikut :
h11 h21  hq1 
h 
 12 h22  hq2 
P  H T  h13 h23  hq3 
 
     
h1k h2k  hqn 
 
 Matrix P terdiri atas k buah baris dan q buah kolom
 Per difinisi , kode Hamming adalah kode yang memenuhi persamaan n  2q  1 ,
dimana :
n  k  q  banyaknya bit suatu kata kode ; k  banyaknya bit untuk data
o
q  banyaknya bit uji paritas
o Misalkan q  4  n  24  1  16  1  15  ambillah n  15
o k  n  q  15  4  1 1
14

o Matrix generator G  I k P  ……..(lihat rumus II . 10)


1 0 0 0 0 0 0 0 0 0 0 h11 h12 h13 h14 
0 1 0 0 0 0 0 0 0 0 0 h h h h 
 21 22 23 24 
0 0 1 0 0 0 0 0 0 0 0 h31 h32 h33 h34 
 
0 0 0 1 0 0 0 0 0 0 0 h41 h42 h43 h44 
0 0 0 0 1 0 0 0 0 0 0 h h h h 
G  I k P   
51 52 53 54

0 0 0 0 0 1 0 0 0 0 0 h61 h62 h63 h64 
0 0 0 0 0 0 1 0 0 0 0 h h h h 
 71 72 73 74 
0 0 0 0 0 0 0 0 1 0 0 h81 h82 h13 h14 
 
0 0 0 0 0 0 0 0 0 1 0 h91 h92 h93 h94 
0 0 0 0 0 0 0 0 0 0 1 h101 h10 2 h10 3 h10 4 
 
 4 kolom terakhir daripada matrix generator diatas adalah matrix uji
paritas , dimana masing-masing matrix uji paritas tersebut dibuat
mengandung bit 1 , yang jumlahnya setidak-tidaknya sebanyak =
q  1  1  4  2  2 buah bit 1
o Jadi dapat dibuat matrix generator sebagai berikut :
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 
0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 
 
0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 
 
0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 
0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 
G  I k P    
0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 
0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 
 
0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 
0 0 0 0 0 0 0 0 0 1 0 1 0 11 
 
0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 
x  dG
Tugas : Carilah x jika d =(11 00 1010111) !

 Persyaratan suatu kode dapat dikoreksi bilamana terjadi


1 kesalahan bit adalah :
o Semua kolom matrix H sudah ditentukan nilainya dengan pasti
o Semua isi kolom ke-1 s.d. ke-k sudah tertentu nilainya dengan pasti
o Isi q kolom berikutnya merupakan matrix identitas Ik
o Agar matrix identitas Ik dapat membuat syndrome yang dapat
ditentukan nilainya, maka harus memenuhi syarat :
2q  q  1  k ………………………………( II . 18 )
o Misalkan q  3  23  3  1  8  2  6  k
o Jadi kode blok (7, 4) , yang berarti bahwa :
15

o k  4  q  3  2 q  q  1  23  3  1  6  k  4  kode7,4 memenuhi syarat kode yang


dapat dikoreksi jika hanya terjadi 1 kesalahan

Untuk kode yang kesalahannya tunggal , maka untuk dapat


dikoreksi harus dipenuhi ketidak samaan (inequity) :
Bobot Hamming q  1  k
2q (Hamming Weight)
Dan
Jarak Hamming (Hamming Distance)

 Misalkan c  sebuah kata kode dengan panjang n


o wc  bobot Hamming  banyaknya bit 1 yang terdapat pada katakode c
 Contoh :
1. c  11000101  Bobot Hamming kata kode c  wc  4
 Jika a dan b masing - masing adalah katakode dengan panjang n
o d a , b  jarak Hamming  banyaknya posisi dimana bit a dan bit b berbeda
 Contoh :
1. a  10110 ; b  11111  jarak Hamming antara a dan b  d a, b  2

a  10110 ; b1  0  00000  d a, b1   d a,0  3  wa 


2. Jadi bobot Haming  jarak Hamming antara
 
suatu kata kode c  c dan 0  wc   d c,0
o Jarak minimum (Minimum Distance) = dmin daripada kode linier C ada-
lah :
 jarak Hamming terkecil diantara setiap pasang kata kode di kode
linier C
 Note : yang dimaksudkan dengan kode linier C dapat diterangkan seba-
gai berikut :
o jika a  a1, a2 ,, an  dan b  b1 , b2 ,, bn  masing-masing
adalah kata kode , maka a  b  a1  b1, a2  b2 ,, an  bn 
o kode C dikatakan linier jika jumlah 2 buah kata kode adalah
juga kata kode (dalam kode C tersebut)
o kode linier C harus mengandung kata kode nol (zero code
word) 0 = (0,0,…,0) , sebab a  a  a1, a2 ,, an   a1, a2 ,, an   0
 Sifat-sifat jarak Hamming :
a. Jarak Hamming d a, b  0  jika dan hanya jika a  b
b. d a, b  d b, a
c. d a, c  d a, b  d b, c

Persyaratan Bagi Kode Yang Mengalami


t Buah Kesalahan Dapat Dikoreksi

 Sudah dinyatakan sebelumnya bahwa signal yang diterima r  c  e , dimana :


r  kata kode yang diterima ; c  kata kode yang dikirim ;
e  corak atau pattern kesalahan yang terjadi
16

 Dengan penjumlahan modulo-2 , dapat ditulis pula e  r  c


 Jika terjadi t buah kesalahan per kata kode , maka kode blok linier
(n, k) , akan dapat dikoreksi jika memenuhi batas Hamming
(Hamming bound) sebagai berikut :
t
n t n!
2 nk       ………………….( II . 19 )
i 0  t  i 0 n  t ! t!

dimana :
n n!
   …………………..( II . 20)
 t  n  t  ! t !
Contoh soal :

1. Buktikanlah bahwa jarak minimum suatu kode linier adalah bobot Hamming
terkecil daripada vektor-vektor kode yang bukan nol didalam kode tersebut !
Bukti :
Dari hubungan jarak Hamming antara kode ci dan c j  d ci , c j  adalah sama
dengan :
bobot Hamming daripada kode ci  c j   wci  c j  , maka :
jarak Hamming dci ,c j   wci  c j 
dmin  min dci , c j   min wci  c j 
ci  c j ci  c j

Berdasarkan difinisi kode linier , dimana c  ci  c j , maka :


dmin  min wc 
c0

2. Buktikanlah bahwa suatu kode linier C dengan jarak minimum dmin dapat men-
deteksi s.d. t kesalahan , jika dan hanya jika :
dmin  t  1
Bukti :
Misalkan e  pattern kesalahan bukan nol didalam suatu kode linier C.
dengan bobot Hamming we  t  we  dmin  1
Dengan adanya kesalahan kodenya menjadi c  e ; jarak Hamming antara c
dengan c  e adalah dc,c  e .
Berdasarkan rumus d ci , c j   wci  c j  , maka :
dc,c  e  wc, c  e  wc  c  e  we  t  dmin
Maka kata kode yang diterima adalah r  c  e adalah bukan
didalam kode linier C . Karena itu C dapat mendeteksi kesalahan
e ; jadi C dapat mendeteksi s.d. t buah kesalahan , dimana
t  dmin  1 , jika dan hanya jika : dmin  t  1

3. Buktikanlah bahwa suatu kode linier C dengan jarak minimum dmin dapat me-
d 1
ngoreksi s.d. t buah kesalahan , jika dan hanya jika dmin  2t  1  t  min
2
Bukti :
Misalkan e  suatu pattern kesalahan yang bukan nol .
17

Bobot Hamming daripada kesalahan = we   t  we   d min  1 .


1
2
Misalkan a dan b adalah kata-kata kode didalam kode linier C dengan a  b .
 Jarak Hamming antara kata kode a dan a  e adalah da , a  e
 Jarak Hamming antara kata kode b dan b  e adalah db , b  e 
 Jarak Hamming terbagi menjadi 2 macam, yaitu :
o da , a  e  d a  e,b  da,b  dmin
o db , a  e  d b  e,a  db,a  dmin
 Selanjutnya besarnya bobot Hamming untuk kesalahan adalah
we  d a  e,a ; dari rumus sebelumnya , yaitu : we   d min  1 , maka :
1
2
2we   d min  1  2we   1  dmin  1  1  d min
Dengan demikian didapatkan db , a  e   we   d min  d b  e,a
4. Didalam suatu kanal BSC (= Binary Symmetric Channel) , dianggap bahwa untuk
suatu skema (rangkaian) koding sederhana , yang mencakup digunakannya kode
berulang-ulang , maka setiap simbol biner diulang-ulang beberapa kali.
Sebagai misal ambilah setiap simbol (0 atau 1) diulangi n kali , dimana n = 2m+1
adalah interger ganjil.
Untuk pendekodean digunakan suatu aturan mayoritas , yang berarti bahwa jika
didalam suatu blok daripada n buah bit yang diterima , banyaknya bit 0
melebihi banyaknya bit 1, maka dekoder memutuskan lebih menyukai
untuk menentukan bit 0 sebagai keluarannya . Kalau tidak
demikian maka dekoder tersebut akan menentukan 1 sebagai
kelurannya.
Dengan demikian sebuah kesalahan akan terjadi jika m+1 bit
atau lebih diluar dari n = 2m + 1 bit diterima salah.
Buktikanlah bahwa probabilitas kesalahan akan sama dengan
n
n
Pe    t  p 1  p
i i

i m1  
a. Hitunglah Pe jika p  0.01 untuk n  3, 5 dan 7
Jawab :
n
a. Probabilitas bit ke-i diterima salah adakah   pi 1  p n - i
i
n
n
Jadi probabilitas kesalahan adalah Pe     pi 1  p n - i
i  m 1  i 

n 1 3 1
b. untuk p  0.01 untuk n  3 dan m    1 , maka :
2 2
3
3  3  3 
Pe    0.01  1  0.01  n - i   0.01  0.99  3 - 2   0.01  0.99  3 - 3
i 2 3

i
i 11  2
  3
 

3! 3
10 - 4 0.99  3! 10 -6 1   1 2.97 10 4  1 0.000001
3  2! 2! 3  3! 3! 1 1
 
 3 10- 4  berarti setiap dikirim 10000 buah bit , bit yang diterima maximal
hanya boleh terj adi 3 kesalahan
18

n 1 7 - 1
untuk p  0.01 untuk n  7 dan m   3 , maka :
2 2
7
7 
  i 0.01 1  0.01 
i n -i
Pe 
i  m 1  
7  7  7  7 
     
   10 - 2 0.99     10 - 2 0.99     10 - 2 0.99     10 - 2
4 3 5 2 6 1
  0.99 
7 0

4  5  6  7 
n n!
Karena    , maka:
 t  n  t  ! t !
10 8 0.99   10 10 0.99   10 12 0.99 
7! 7! 7!
Pe 
3 2 1

7  4! 4! 7  5! 5! 7  6! 6!


10 14 0.99 
7!

0

7  7 ! 7 !

567 10 8 0.993  67 10 10 0.992  7 10 12 0.993  1 10 14 1
123 12 1 1
10 0.99   10 0.99   7 10 12 0.99   10 14
210 8 42 10

3 2

6 2
 350.97 10 8  210.9810 10  70.99 10 12  10 14
    
 3.395 10 7  0.02058 10 7  0.0000693 10 7  3.4156493 10 7   
 3.41610  7

Ini berarti bahwa setiap dikirim 10 7 bit , yang salah adalah 3.416 bit
atau BER  Bit Error Rate  0.342 x 10 -6

Ketidaksamaan Hamming :

 Rumus ketidaksamaan Hamming adalah :

d H  2 t  1  d H min  2 t  1

 Ketidak samaan Hamming d H  2 t  1 yang dapat digunakan secara umum untuk :


o melakukan pengoreksian kode yang mengalami kesalahan t buah bit
o Hal itu dapat diterangkan dengan contoh berikut ini :
 Misalhan suatu kode blok ( 7, 3 ) berarti n = 7 ; k = 3 ; q = 4 .
 Penerapan ketidak samaan diatas untuk kode yang dapat dikoreksi
bagi kesalahan tunggal , adalah sesuai dengan rumus ( II . 18) ,
2 q  q  1  k  2 4  4  1  13  k  3
 Dengan mengacu pada hasil diatas , maka :
 kode blok ( 7, 3 ) adalah salah satu jenis kode yang dapat
mengoreksi kesalahan tunggal
o Contoh kode blok yang tak dapat mengoreksi meskipun
kesalahan tunggalnya , misalkan adalah :
 kode blok ( 6, 4) , yang berarti k = 4 ; q =2
 dengan memasukkan ke ketidak samaan 2 q  q  1  k , sehingga
diperoleh 2 2  2  1  3  k  4
19

 karena kode yang dapat mengoreksi harus dapat memenuhi hubungan


2 q  q  1  k  2 q  q  1  4  kode (6,4) tidak dapat mengoreksi
kesalahan , meskipun kesalahann ya tunggal ; dengan kata lain kode (6,4) ini
tidak dapat mengoreksi kesalahan sama sekali (kesalahan minimal
adalah 1)

t
n t n!
 Hamming bound [lihat persamaan (II . 19 ) : 2 nk       dan
i 0  t  i 0 n  t ! t!

n n!
( II . 20 ) :    ], dapat digunakan untuk menentukan :
 t  n  t  ! t !
o Kode dengan kesalahan yang lebih besar dari 1 , misalnya bila
terjadi kesalahan t bit , yang mana :
 salah satunya yang khusus adalah rumus ketidak samaan
Hamming 2 q  q  1  k
o Banyaknya pattern (corak) bit uji paritas yang mungkin terjadi harus :
 setidak-tidaknya sama dengan banyaknya cara , dimana :
 kesalahan dapat terjadi sampai dengan t buah kesalahan bit
o Untuk kode ( n, k ) berlaku hubungan untuk Hamming Bound sebagai berikut :
t
n t n!
2 nk      
i 0  i  i 0 n  i  ! i !

dimana :
 n n!
  
 i  n  i  ! i !
Untuk kode (7, 4) dan t  3 , berarti bahwa :
7! 7! 7! 7!
2n k  27  4 8   
7  0! 0! 7  1!1! 7  2! 2! 7  3! 3!
1 7 
67   567   8  21  35  64
2 6
Karena 8  64  Kode tersebut tidak dapat mengoreksi 3 buah kesalahan
Contoh :

Untuk kode (10,4) , berarti n = 10 ; k = 4 ; q = 6 ; banyaknya kesalahan bit = t = 2 .


t
n t n!
2 n k      
i 0  i  i  0 n  i ! i!

10! 10! 10!


2n k  210 4  64    
10  0! 0! 10  1!1! 10  2! 2!
9 10
 1  10   11  45  56
2
Karena 64  56  Kode tersebut dapat mengoreksi t  2 buah kesalahan

 Untuk kode (10,2) , berarti n = 10 ; k = 3 ; q = 7 ; banyaknya kesalahan bit = t = 3 .


 Jika banyaknya kesalahan bit = t = 3 , maka :
20

10! 10! 10! 10!


2n k  210   128     
10  0! 0! 10  1!1! 10  2! 2! 10  3! 3!
910 8910
 1  10    11  45  120  176
2 6
 Untuk kode (24,12) , berarti n = 24 ; k = 12 ; q = 12.
 Jika banyaknya kesalahan bit = t = 3 , maka :
24! 24! 24! 24!
22412  212  4096     
24  0! 0! 24  1!1! 24  2! 2! 24  3! 3!
2324 222324
 1  24    25  276  2024  2325
2 6
Karena 4094  2325 Kodetersebut dapat mengoreksi3 buah

kesalahan

Penyelesaian persamaan diatas dapat digunakan untuk membuat


tabel berikut ini :
Tabel kode-kode yang dapat mengoreksi kesalahan
Kode - kode yangdapat mengoreksikesalahan tunggal
( t 1 )
n kmax Kode Efisiensi
4 1
5 2 5, 2  0.4
6 3 6, 3  0.5
7 4 7, 4  0.57
15 11 15, 11  0.73

Kode - kode yang dapat mengoreksi kesalahan ganda ( t  2 )


n kmax Kode Efisiensi
10 4 10, 4  0.4
11 4 11, 4  0.36
15 8 15, 8  0.53
20 11 20, 11  0.55
25 13 25, 13  0.52

Kode - kode yang dapat mengoreksi kesalahan ganda ( t  3 )

n k max Kode Efisiensi


10 2 10, 2 0.2
15 5 15, 5 0.33
23 12 23, 12 0.52
24 12 24, 12 0.55
 Jarak Hamming : banyaknya posisi yang berbeda diantara 2 kata kode apa saja
 Jarak Hamming ini memegang peranan kunci didalam penaksiran kapasitas atau
kemampuan kode-kode mengoreksi kesalahan
 Rumus Jarak Hamming = dH  2 t  1  dHmin  2 t  1

dimana :
t  banyaknya bit yang salah dan dapat dikoreksi
21

 Kode-kode yang dapat mengoreksi kesalahan tunggal :


t  1  d H min  21 1  3
o Jadi ada terdapat minimal 3 posisi yang berbeda diantara 2 buah kode yang
berlainan
 a  1 0 11 0
o Misal   terdapat 3 posisi kode yang berbeda nilainya
b  0 1 0 1 0
o jarak Hamming antara kode diatas = 3 ;
o kesalahan yang dapat dikoreksi adalah t  1
 Pada tabel berikut dapat dilihat bahwa setiap kata kode (setelah dibalik cara penulisannya ) berbeda
satu-sama lain , dengan perbedaan paling tidak 3 posisi , yang dapat dilihat pada tabel dibawah ini :

Tabel kode blok khusus


No berita Berita Kata kode Berita Kata kode
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0
   
2 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 0 0
       
3 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0
4 0 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0
       
5 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 ` 1 0 1 0
6 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0
       
7 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0
1  dibalik menjadi 
8 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1
       
9 1 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1
       
10 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1
11 1 0 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1
       
12 1` 1 0 0 1 1 0 0 0 1 0 0` 0 1 1 0 1 0 0 0 1 1
13 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1
       
14 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 1 1 1
1 1 1 1 1 1 1 1
15  1 1  1 1 1 1 1  1 1  1 1 1 1 1

 Jadi jika terjadi kesalahan bit sampai dengan 2 buah , maka :


o kesalahan tersebut tidak akan menyebabkan kodenya menjadi kode yang
sama dengan setiap kode lainnya , apapun juga kode lain itu
 Didalam hal ini penulisan kata kode yang telah dibalik susunannya akan mampu
memberi tahu pengguna bahwa :
o kesalahan transmisi telah terjadi , meskipun tidak dapat mengoreksi
kesalahan-kesalahan tersebut
Contoh :
Kode blok(7, 4) ; kode datanya terdiri atas k bit atau 4 bit ; kode paritasnya terdiri atas q bit
atau 3 bit
0 0 0 0
0 0 0 1
 
0 0 1 0
 
0 0 1 1
0 1 0 0
 
0 1 0 1
0 1 1 0
 
0 1 1 1
1 0 0 0
 
1 0 0 1
 
1 0 1 0
1 0 1 1
 
1 1 0 0
1 1 0 1
 
1 1 1 0
1 1
 1 1 
22

Jenis kode data yang terdiri atas 4 bit , banyaknya jenis kode adalah 2k = 24 = 16 buah .
Semua jenis kode data yang masing-masing terdiri atas 4 bit , terlihat pada gambar dihalaman
sebelumnya

Misalkan matrik uji paritas adalah :


 h11 h12 h13 h14 
H  h21 h22 h23 h24 
h31 h32 h33 h34 
Bit uji paritasnya adalah :
c5   h11 h12 h13 h14   h11d1  h12 d 2  h13d 3  h14 d 4 
c   dH  d d2 d3 d 4 h21 h22 h23 h24   h21d1  h22 d 2  h23d 3  h24 d 4 
 6 1

c7  h31 h32 h33 h34   h31d1  h32 d 2  h33d 3  h34 d 4 


1 1 1 0 c5   d1  d 2  d 3 
Jika H  0 1 1 1  c6   d 2  d 3  d 4 
1 1 0 1 c7   d1  d 2  d 4 
Rumus untuk kata kode adalah c  dG  dI k P   dI k H T  
c = Seluruh kata kode yang mungkin terjadi

W x 
d c non  zero weight

0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 1 0 0 0 1 0 1 1 3
 
0 0 1 0 0 0 1 0 1 1 0  3
     
0 0 1 1 0 0 1 1 1 0 1   4
0 1 0 0 P 0 1 0 0 1 1 1   4
  Ik    
0 1 0 1 0 1 0 1 1 0 0  3
0 1 1 0 1 0 0 0 1 0 1  0 1 1 0 0 0 1   3
     
0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0  4
1  
0 0 0  0 0 1 0 1 1 0 1 0 0 0 1 0 1   3
      
1 0 0 1  0 0 0 1 0 1 1 1 0 0 1 1 1 0  4
     
1 0 1 0 1 0 1 0 0 1 1   4
1 0 1 1 1 0 1 1 0 0 0  3
     
1 1 0 0 1 1 0 0 0 1 0  3
1 1 0 1 1 1 0 1 0 0 1   4
     
1 1 1 0 1 1 1 0 1 0 0  4
1 1 1 1 7
 1 1  1 1 1 1 1

W x  non-zero weight = pembobot bukan nol = banyaknya bit bukan nol dalam 1 kata
kode
W x min  dH min  dmin

dHmin  2 t  1 3
jika terjadi kesalahan bit , maka banyaknya kesalahan min adalah t  1

dHmin  dmin  3
 Untuk kode blok (n, k) ; berarti q= n - k
 Misalkan n = 7 ; k = 4 , berarti q = 3 ; khusus kode ini memenuhi hubungan :
n  2 q  1  7  23  1  8  1
23

O Tidak semua jenis kode blok memenuhi hubungan itu ; misalnya kode
blok (7, 3)
O jika diterapkan rumus diatas , maka n  2 q  1  2 4  1  16  1  15  7
k nq q
 Efisiensi kode = code rate =   1
n n n
k q
O Untuk kode blok khusus sebagaimana contoh diatas :  1  q
n 2 1
Perhatikanlah bahwa untuk kode khusus ini telah disebutkan sebelumnya
bahwa kode khusus tersebut berlaku hubungan n  2 q  1 sehingga
k q
diperoleh hubungan  1  q
n 2 1
k
O Untuk efisiensi kode  1   1
n
k q q
O Untuk kode blok khusus  1  1  q  q  0  2q 1    2q  
n 2 1 2 1
Berarti bahwa kode khusus ini hanya bisa terjadi jika q  1
(Note : ini bertentangan dengan kode blok biasa , dimana agar efisiensi
kode mendekati 1 atau 100 % , maka banyaknya bit paritas q  0)
 Kata kode yang ke-i adalah xi yang terdiri atas :
o mi buah bit berita , dimana i = 1, 2, 3 …… k
o ci - k buah bit koreksi, dimana i = k+1, k+2, ……n.
 Sebagai contoh adalah sebuah kata kode ( 7,4 )
o ini berarti n = 7 dan k = 4 ; q = banyaknya bit uji paritas = 3
o Dengan 7 bit per kata kode berarti bahwa :
 banyaknya kode yang bisa terjadi adalah = 27 = 128 jenis kata kode
yang berbeda satu sama lain
o Namun karena kode untuk data hanya terdiri atas 4 bit
saja, maka :
 hanya terdapat 24 = 16 jenis kata kode saja yang
digunakan, dari 128 buah jenis kata kode yang mungkin terjadi
o Bentuk kata kode tersebut adalah :
x  [m1 m2 m3 m4 c1 c2 c3 ] T
o Jika H = matrix uji paritas, maka :
 H adalah matrix persegi q x n yang bentuknya sebagai berikut :
k q

 h11 h12  h1k 1 0 0  0


h h22  h2 k 0 1 0 0 0
H   q
21

         
 

hq1 hq 2  hqk 0 0 0  1

dimana:
bagian kanan dari matrix tersebut adalah matrix satuan (unit matrix) q x q

o Dengan pemilihan matrix uji paritas tersebut maka harus dipenuhi :


Hx=0
24

( dimana x = kode tertentu )

Dengan demikian :

 h11 h12  h1k 1 0 0  0


h 0 0 0
Hx  
 
21 h22  h2 k
  
0

1
    1

m m2  mk c1 c 2  c q  T

 
hq1 hq 2  hqk 0 0 0  1
 m1 
m 
 2
 h11 h12  h1k 1 0 0  0     0 
h  
h22  h2 k 0 1 0  0 mk  0
  
21

            c1    
    
hq1 hq 2  hqk 0 0 0  1  c 2  0
  
 
 c q 

Maka : h j1 m1  h j 2 m2    h jk mk  c j  0 ; j  1, 2,  q
Contoh 2 :

Didalam suatu enkoder (pembuat kode) komunikasi , setiap bit data yang dikirim diulangi
5 kali dan pada penerima :
- pilihan mayoritas (mayority vote) memutuskan :
o nilai setiap bit data , jika probabilitas kesalahan bit yang tak dibuat kode
atau kata kode tersebut adalah tanpa tambahan bit paritas (unencoded bit
3
error probibility) adalah p  10
o hitunglah probabilitas kesalahan bit yang dibuat kode (coded bit error
probibility) jika digunakan 5 kode yang terbaik (the best five-code)

Jawab :

Sebuah kesalahan kode akan dibuat jika 3 atau lebih ulangan diterima salah
Pe = Probabilitas kesalahan kata kode yang dikode (kata kode yang mengandung bit-bit
uji paritas )
n  banyanyapengulangan pengirimantotal  5 ; m  banyaknyajenis bit  2
i  3 s/d 5  pengulangan minimals/d maximal
25

5 5
  5i  p 1 p ni  3 1103 53  4 1103 54
n 5
 n  i n i
    10 3    10 3
i
Pe    p p 
i  m 1  i  i  2 1   3  4
5 5 5 5

   10 3 5 1103 55  
   10 9 110 3 2    
   10 12 110 3    10 15 10 3  0
5  3  4 5


5!
5  3 !3!
9
10 1  5!
5  4 ! 4! 10
12
1  
5!
5  5 !5! 10
15
1 
120
 2 6 

9
10  10
12
 10
15
 10
8

Contoh 3 :

Didalam suatu kode-uji-paritas-tunggal (single-parity-bit-check code) , sebuah


bit paritas tunggal dihadirkan ke suatu blok yang terdiri atas k buah bit data
(d1 , d2,…, dk ).
- Bit paritas tunggal = bit paritas yang banyaknya hanya 1 , yaitu c1 , dipilih ,
sehingga :
- kata kode (yang terdiri atas n bit) memenuhi aturan paritas genap (even parity
rule) , yaitu :
bit paritas C 1 yang hanya sebuah tersebut , diperloleh dari hubungnan :

d1  d 2    d k  C1  0
a. Untuk k  3 , tentukanlah semua kata kode yang mungkin terjadi untuk kode
(4, 3)
b. Corak kesalahan (error pattern) yang dapat mendeteksi kode (4, 3) ?
c. Hitunglah probabilitas kesalahan simbol yang tak dikode , dengan
menganggap bahwa semua kesalahan simbol adalah bebas dan bahwa
probabilitas kesalahan simbol adalah p  0.01

Jawab :
a. Karena banyaknya kode untuk data = k = 3 , maka kata kode yang mungkin
terjadi adalah k 3
2  2 8
Dengan demikian dapat dibuat tabel tentang bit data dan bit paritas yang
mungkin terjadi pada data dengan banyaknya bit = 3 tersebut , sebagai
gambar dibawah ini :

Urutan bit yang Bit paritas yang mungkin Kata kode yang
mungkin terjadi terjadi mungkin terjadi
d 1 d 2 d 3 c1
d1 d 2 d 3 d1  d 2  d 3  c1  0  c1  ?

0 0 0 0
0 0 0 0  0  0  c1  0  c1  0
0 0 1 1
0 0 1 0  0  1  c1  0  c1  1
0 1 0 1
0 1 0 0  1  0  c1  0  c1  1
0 1 1 0
0 1 1 0  1  1  c1  0  c1  0
1 0 0 1
1 0 0 1  0  0  c1  0  c1  1
1 0 1 0
1 0 1 1  0  1  c1  0  c1  0
1 1 0 0
1 1 0 1  1  0  c1  0  c1  0
1 1 1 1
1 1 1 1  1  1  c1  0  c1  1
26

b. Kode (4, 3 ) mampu mendeteksi kesalahan tunggal (t = 1) dan kesalahan 3


(t = 3 = triple-error)

c. Probabilitas suatu kesalahan simbol yang tak dikode Pue , adalah sama
dengan probabilitas bahwa 2 atau 4 kesalahan terjadi dimanapun pada
suatu kata kode
n 4

Rumus probabilitas kesalahan simbol tak dikode = Pue    ni  pi 1  pni ,
i 2  

dimana nilai i hanya 2 dan 4 saja.


n 4  4 2  4 4
Karena itu
Pue   n i
  p 1  p ni
   p 1 p   4 2    p 1 p   4 4
i 2 i  2  4
 4  4

Pue    0.01 1 0.01
2
2 4

   0.01 1 0.01 
0
 4 

4!
2 ! 2!
104 0.99  2  4 44!! 4! 108 1
 2  
4


24
 4 
2  2 10 0.99
2 
24
1  24 
     8

108 1  6 104 0.9801  10  5.8806 104  

Contoh 4 :

 
Buktikan bahwa kata kode c  0 0 0 , 111 adalah suatu kode linier !
Bukti :
Karena kesemua 4 penjumlahan :
0 0 0  0 0 0  0 0 0 0 0 0  1 1 1  1 1 1
1 1 1  0 0 0  1 1 1 1 1 1  1 1 1  0 0 0
adalah didalam c , maka c adalah kode linier

Contoh 5 :

Buktikan bahwa ukuran jarak Hamming mempunyai sifat-sifat sebagai berikut :


(1). d a, b  0 dengan d  0 jika dan hanya jika a  b
(2). d a, b  d b, a 
(3). d a, c  d a, b  d b, c
Bukti :
 jika a  b  wa  b   0
(1). Berdasarkan persamaan : d a, b   wa  b   
 jika a  b  wa  b   0
Dengan sendirinya jika dan hanya jika a  b  d a, b  wa  a  0
(2). Karena a  b  b  a , maka d a, b  d b, a 
 ai , ci : elemen
n

(3). d a, c   wa  c    ai  ci  dimana :  K   0,1
i 1 n : panjang kode
27

Dengan demikian

 Untuk kode Hamming yang menggunakan bit uji paritas sebanyak q  3


Contoh :

Kode ( 7,4 ) berarti k = 4 ; n = 7 ; q =3

Kode paritas untuk setiap berita adalah :


k q

q
h11 h12  h1k 1 0 0  0
hHc = 0h( dimana
c =h
kode 0 1yang0dikirim)
tertentu 0 0 
H 
21 22 2k
q
         
 
hq1 hq2  hqk 0 0 0  1 
Dengan demikian :

h11 h12  h1k 1 0 0  0


h h22  h2k 0 1 0 0 0 
Hc 
 
21

        1
d d2  dk c1 c2  cq  T
 
hq1 hq2  hqk 0 0 0  1 

 d1 
d 
 2
 h11 h12  h1k 1 0 0  0     0 
h  
h22  h2 k 0 1 0  0 d k  0
Hc    
21

            c1    
    
hq1 hq 2  hqk 0 0 0  1  c 2  0

 
 c q 
Hc  h j1d1  h j 2 d 2    h jk d k  c j  0 ;
j  1, 2,  q
Untuk : q  3 ; k  4 ; d1  0 d 2  1 d3  1 d 4  0
j  1  h11 0  h121  h131  h14 0  c1  0  h121  h131  c1  0
 Matrix Uji Paritas adalah :
28

 ck 1   h11 h12  h1k   d1 


 c    h2 k   
 k 2    h21 h22  d 2 
           
     
cn  ck  q 
  
 hq1 hq 2  hqk   d k 
d 
c5   h11 h12 h13 h14   1 
 
 c6   
 h21 h22 h23 h24  d 2 
 d 

c7 
 
 h31 h32 h33 h34 
 d 
3

 4
c5  h11d1  h12 d 2  h13 d 3  h14 d 4
c6  h21d1  h22 d 2  h23 d 3  h24 d 4
c7  h31d1  h32 d 2  h33 d 3  h34 d 4

 Nilai syndrome atau s ini sama dengan isi kolom ke-j dari kolom matrix uji
 h11 h12  h1k 
h h22  h2 k 
paritas = H   isi kolom ke-j
21

    
 
hq1 hq 2  hqk 
 Karena itu syndrome memberikan informasi bahwa seolah-olah tidak ada
kesalahan yang terjadi (no error) , maka ini sama saja artinya jika :
o posisi sebuah kesalahan ada ,asalkan :
berbeda
 semua kolom matrix uji paritas H 
bukan nol
 Dengan demikian didapatkan kode pengoreksi kesalahan tunggal ( jika kesalahan
yang terjadi hanya 1, maka langsung dikoreksi )
 Jika digunakan dengan model ini, maka suatu kode (n,k) akan mempunyai Probabilitas
Kesalahan :
Pe , word  Pn 2
2 Pn 2  k  n  1  c 2
k
Pe , bit 
n
 Namun jika kesalahan-kesalahan yang terjadi berulang-ulang (multiple errors)
maka akan menyebabkan keruwetan atau komplikasi :
o karena meskipun kesalahan-kesalahan yang sebenarnya itu bisa
dihilangkan, tapi akibatnya akan salah didalam membetulkan
digit berita lainnya
 yang mana menyebabkan beritanya akan menjadi lebih jelek
o Akibatnya dikehendaki kode yang lebih kuat (kode dengan efisiensi kode
yang tinggi)
 kecuali jika banyaknya bit uji patitas = c sedemikian
kecilnya sehingga :
 kesalahan-kesalahan yang berulang akan amat
jarang terjadi
29

 Sayangnya dengan melengkapi suatu syndrome dan matrix uji paritas yang
tepat untuk mengoreksi kesalahan yang berulang-ulang adalah :
o suatu pekerjaan yang jauh lebih ruwet
o oleh karena itu kode pengoreksi dua kesalahan yang pertama kali dibuat
orang :
 lebih didasarkan pada coba-coba (trial-and-error) daripada dirancang
berdasarkan metode tertentu.
 Akhirnya Slepian pada tahun 1956 mengambil teori koding yang berdasarkan
sepenuhnya pada matematika, pada saat dia :
o berhasil menemukan relasi konsep koding dengan aljabar modern.
 Segera setelah itu , dengan memakai teori medan Galois, para ahli yang bernama :
o Bose, Chaudhuri dan Hocquenghem mengembangkan kelompok kode yang
dapat mengoreksi kesalahan yang berulang-ulang (sekarang disebut
dengan kode BCH (singkatan dari Bose-Chaudhuri-Hocquenghem) yang :
 efisien
 mempunyai hubungan relative sederhana dengan persyaratan
coding
perangkat keras bagi 
dekoding
Syndrome Decoding

Teori :

 Jika urutan bit yang dikirim adalah vektor kode 𝑿 dan urutan bit yang
diterima adalah vektor kode 𝒀 , maka :
o akan terjadi kesalahan transmisi jika 𝒀 ≠ 𝑿
o dekoder akan mendeteksi atau mengoreksi kesalahan yang terjadi
vektor kode 𝒀 , menggunakan :
 informasi yang tersimpan tentang kode
 Cara langsung didalam mendeteksi kesalahan adalah :
o dengan membandingkan vektor kode 𝒀 dengan setiap vektor yang
terdapat pada kode (maksudnya setiap vektor kode yang mungkin
terjadi dan tersimpan di rangkaian memory)
o metode ini memerlukan 2𝑘 vektor kode dibagian penerima dan mela-
kukan 𝟐𝒌 kali pembandingan
o namun kode yang efisien biasanya menggunakan nilai
𝒌 𝒚𝒂𝒏𝒈 𝒃𝒆𝒔𝒂𝒓 , yang berarti :
 memerlukan perangkat keras dekoding yang mahal
 Sebagai misal :
 Jika digunakan kode dengan 𝑞 ≥ 5 𝑢𝑛𝑡𝑢𝑘 𝑚𝑒𝑛𝑑𝑎𝑝𝑎𝑡 𝑘𝑜𝑑𝑒
𝑑𝑒𝑛𝑔𝑎𝑛 𝑒𝑓𝑖𝑠𝑖𝑒𝑛𝑠𝑖 80 % dengan memakai kode Ham-
ming
 Maka untuk kata kode dengan 𝑛 ≥ 31 dengan 𝑞 ≥ 5
tersebut perangkat kerasnya harus menangani signal
yang terdiri atas 𝑘 ≥ 26
 Ini berarti bahwa pesawat penerima harus mampu
menyimpan bit sebanyak 𝑛(2𝑘 ) ≥ 31(226 ) ≫ 109 buah
30

 Metode dekoding yang lebih praktis untuk kode dengan 𝒌 𝒚𝒂𝒏𝒈 𝒃𝒆𝒔𝒂𝒓 yang
mencakup pula informasi uji paritas , diturunkan dari :
o matrix bantunya kode 𝑷
 Hubungannya dengan setiap kode blok linier simetrik , adalah dengan
suatu matrix 𝑯 𝒒𝒙𝒏 , yang disebut dengan 𝑚𝑎𝑡𝑟𝑖𝑥 𝑢𝑗𝑖 𝑝𝑎𝑟𝑖𝑡𝑎𝑠

Kode Siklis
 Difinisi :

Kode siklis adalah kode , dimana bila :


- suatu kata kode adalah c = (c0 , c1 , ……,cn-1) , maka :
o pergeseran siklisnya adalah :
σ(1)(c) = c(1)= (cn-1 , c0 , c1 , ….., cn-2 ) ;
σ(2)(c) = c(2)= (cn-2 , cn-1 , c0 , ….., cn-3 ) ;

σn(c) = c
o c dikatakan kode siklis jika pergeseran siklis daripada setiap kata
kode adalah kata kode juga

Pendeteksian Kesalahan Dengan Kode Siklis

 Meskipun sebagian besar daripada teknik penkodean (coding) yang telah dipelajari
sudah mencakup tentang :
o Apa-apa yang berkaitan dengan kode-kode FEC = Forward Error Correction
code , namun :
 pendeteksian kesalahan (error detection) juga dipakai secara luas
didalam komunikasi data modern
 Pendeteksian kesalahan tersebut biasanya memerlukan :
o lintasan catubalik (feedback path) dari sisi penerima informasi ke sisi
pemancar , yang mana lintsan catu balik tersebut dapat memberi tahu bahwa :
 telah terjadi kesalahan bit yang diterima , yaitu bahwa :
 urutan bit informasi tidak cocok dengan urutan bit paritasnya
o Selanjutnya pemancar akan mengirim ulang urutan bit katakode
yang benar
 Beberapa versi implementasi FEC (= Forward Error Correction) adalah dengan cara :
o Pengenalan negatip (NAKs = Negative Acknowledments) berarti :
 lintasan catubalik hanya diterapkan terhadap signal yang diterima
salah saja , dimana :
31

 pemancar akan mengirim ulang signal informasi jika signal


NAK diterima
o Pengenalan positip (ACKs) berarti bahwa :
 lintasan catubalik hanya diterapkan terhadap signal yang diterima
dengan benar saja , dimana :
 akan secara otomatis dikirim ulang signal informasi yang
benar dari pemancar jika tidak diterima signal ACK , selama
interval waktu tertentu
o Kombinasi ACK dan NAK
 Cara seperti yang disebutkan diatas disebut dengan :
o ARQ = Automatic Repeat reQuest , atau pengenalan dengan cara :
 teknik pengiriman kembali (retransmission)
 Teknik ARQ digunakan pada :
o semua jaringan switching data-paket
o semua jaringan komputer
 Contoh jaringan-jaringan komunikasi data adalah :
o jaringan-jaringan dengan pembagian waktu (time-shared networks)
o jaringan-jaringan data untuk masyarakat (public-data networks)
o jaringan-jaringan perusahaan swasta (private corporate networks) , misalnya :
 jaringan data yang digunakan untuk :
 perbankan
 pemesanan tiket pesawat udara
 penjualan produk manufacture secara eceran
 jaringan-jaringan yang terus berkembang , yang menggunakan
banyak komputer untuk komunikasi data secara bersama
 dan sebagainya
 Jaringan-jaringan komunikasi data tersebut terdiri atas :
o banyak saluran komunikasi (jalur komunikasi = communication link) yang
dihubungkan dengan berbagai topologi jaringan , dengan :
 pendeteksian kesalalahan dilakukan secara umum terha-
dap jalur-lalur tersebut
 Kode siklis digunakan paling sering digunakan didalam melakukan fungsi
pendeteksian kesalahan
 Blok-blok data yang dikirimkan didalam jaringan-jaringan ini sering kali disebut
dengan paket
 Paket-paket tersebut dapat berentang dari 500 sampai dengan 1000 bit panjang-
nya , bahkan lebih
 Pengkoreksian kesalahan untuk kata-kode kode sepanjang itu bukanlah pekerjaan
yang mudah
 Pendeteksian kesalahan terhadap :
o kata-kata kode yang bit uji paritasnya tetap dapat mudah dilakukan
 Adanya q buah bit uji paritas memungkinkan :
32

o setiap kesalahan lonjakan (burst error) sepanjang q buah bit (ataupun


kurang) tersebut untuk dideteksi kesalahannya (jika terjadi kesalahan)
o Pendeteksian tersebut tidak tergantung pada panjang paket data
 Karena pada umumnya dirancang agar banyaknya bit data k  q (agar efisiensi
pengkodean tinggi) , maka :
o pada umumnya digunakan deret generator g x , atau enkoder siklis
jenis-sisa (remaider-type cyclic encoder) didalam aplikasi pendeteksian
kesalahan tersebut
 Misalkan kode siklis (n, k) , dengan n  10 ; k  6 ; q  4
 Pada pendeteksian ini , k buah bit data tersebut dikelompokkan menjadi
 Perlu untuk dicatat bahwa :
o hanya terdapat 1 bit saja didalam setiap b buah lonjakan bit (ataupun kurang)
yang akan mempengaruhi setiap bit uji paritas ,
o selanjutnya kesalahan 1 bit tersebut yang dideteksi
 Lonjakan-lonjakan bit tersebut dapat terjadi pada salah satu daripada b buah lonjakan
bit tadi , dimana :
o sebelumnya urutan data telah dikelompokkan , ataupun telah bertumpang
tindih sampai meluberi 2 buah data yang berturutan
 Sebagai tambahan terhadap pembahasan tentang pendeteksian sebuah lonjakan
didalam b buah bit (ataupun kurang dari b) , maka :
o suatu kode linier dengan bit uji paritas sebanyak q = b buah
bit :
 akan mendeteksi lonjakan-lonjakan yang lebih panjang
dengan prosentasi kebenaran yang tinggi
- Jika sebagian daripada lonjakan b buah bit tersebut menyebabkan :
o b > q , maka yang tetap tak terdeteksi pada kode siklis (n, k) adalah
2 q , jika b > q + 1
o Jika b = q + 1 maka yang tetap tak terdeteksi pada kode siklis (n, k)
adalah 2q 1
- Teorema
o Jika banyaknya kode paritas q cukup banyak , maka hampir
semua kesalahan dapat terdeteksi
o Sebagai misal jika q  16 , maka semua lonjakan kesalahan sebanyak 16 buah
ataupun kurang akan dapat dideteksi
o Jika bagian dari lonjakan kesalahan yang terjadi menyebabkan b  17 , maka
yang tetap tak dapat dideteksi adalah 216 s.d . 4 x106 (suatu jumlah yang betul-
betul kecil)
o Untuk membuktikan teorema tersebut , misalkan suatu lonjakan kesalahan
terjadi di pengelompokan b buah bits , mulai dari bit yang ke-i dan berakhir
dengan bit yang ke- i  b  1
o Dalam bentuk deret lonjakan kesalahan (burst polynomial : bx  x' b1 x
o b1 x  deret berpangkat tertinggi b 1  b1 x   xb 1  xb  2    xi  xi 1    xb b 1  1
o Jika diperlihatkan dengan gambar , dimana adanya kesalahan ditunjukkan
dengan bit 1 , yang terjadi pada bit i dan bit diakhir lonjakan , yaitu bit
i  b 1 sebagai berikut ini :
33

1  1  Pattern Kesalahan


    
bit i  b  1  bit i
o Lonjakan kesalahan sepanjang b buah bit mempunyai kemungkinan sebanyak
2b  2 buah simbol (1 atau 0) diantara permulaan dan akhir , yang bedasarkan
difinisi , masing-masing dikendalai dengan bit 1 (untuk menyatakan bahwa
pada urutan bit tersebut terjadi kesalahan)
o Hal ini sesuai dengan 2b  2 kemungkinan pattern lonjakan kesalahan disepan-
jang b buah bit tadi , atau kemungkinan terjadinya 2b  2 buah bentuk daripada
deret b1 x 
o Oleh karena perhitungan bit uji paritas di penerima dilakukan dengan jalan
pembagian oleh deret generator g x yang mempunyai pangkat tertinggi r ,
satu kesalahan tetap tak terdeteksi , jika dan hanya jika b1 x  dapat
dibagi oleh g x
o Dari sini persyaratan bagi suatu pattern kesalahan lonjakan untuk tetap tak ter-
deteksi adalah bahwa b1 x  mempunyai b1 x  g xQx
o Karena b1 x  adalah deret dengan pangkat tertinggi b  1 dan g x adalah deret
dengan pangkat tertinggi q , maka Qx  adalah deret dengan pangkat tertinggi
b 1  q
o Kemungkinan yang bisa terjadi adalah :
 Yang pertama adalah : lonjakan kesalahan sepanjang b 1  q ,
sehingga pangkat tertinggi daripada Qx adalah b  1  q  0 , sehi-
ngga Qx   1 ; dengan demikian hanya terdapat 1 pattern
lonjakan yang tak dapat terdeteksi
 Bagian lonjakan yang tak terdeteksi secara sederhana dirumuskan sebagai
1
Bagian dari lonjakan kesalahan yang tak terdetekasi = b  2
2
  q 1 b  1  q
=2 dimana
 Yang kedua adalah jika b  1  q ; oleh karena pangkat tertinggi deret
Qx adalah b 1  q , dan harus berakhir dengan 1 , maka suku dari-
pada deret Qx  adalah sebanyak b  1  q  1 , yang masing-masing
dengan koefisien 1 atau 0
2b 1 q 1
Bagian dari lecutan kesalahan bit yang tak terdetekasi =  2q
2b  2
 Dua kemungkinan hasil yang diperoleh diatas membuktikan bahwa
kode yang dapat mendeteksi kesalahan dengan bit uji paritas moderat
atau cukup , akan mendeteksi kejadian pada sebagian besar pattern
lonjakan kesalahan
o Karena semua jaringan data maupun komputer yang modern menggunakan beberapa
bentuk deteksi kesalahan dengan teknik ARQ bila menerima paket data yang salah ,
maka :
 Pemakaian teknik pendeteksi kesalahan akan dapat mengurangi probabilitas
terjadinya kesalahan suatu paket data , sehingga menjadi 2 q
 Prosedur deteksi kesalahan yang khusus , mempunyai bit uji paritas dengan
rentang antara 8 s.d. 32 buah bit
34

 Standard internasional untuk pengontrolan jalur data (link data control) ,


adalah menggunakan protokol HDLC (High-Level Data Link Control) , dima-
na pada pengontrolan jalur ini menggunakan :
 bit uji paritas sebanyak 16 bit dan deret generator
g x   x16  x12  x5  1
o Perhitungan sebenarnya daripada probabilitas kesalahan suatu paket atau
blok data yang dilindungi oleh suatu bit uji paritas siklis ada-lah :
 sulit dilakukan karena masih kurangnya pengetahuan tentang mekanis-
me yang menghasilkan ledakan-ledakan kesalahan khusus
 Jika mekanisme yang dimaksudkan adalah :
 noise suhu yng terus-menerus terjadi dan pengaruh-penga-
ruhnya diberi model sebagai AWGN = Additive White
Gaussian Noise , maka :
o kesalahan-kesalahan bit yang berturut-turut
didalam suatu burst (lecutanan bit) akan bebas
satu sama lain
o Probabilitas bahwa suatu paket atau blok sepanjang n bit akan diterima salah
adalah :
1  1  p n np ; np  1 ; p  probabilit as kesalahan bit
 Namun pada kanal telepon band terbatas , yang paling sering
dipakai sebagai tulang punggung jalur komunikasi untuk jaringan-
jaringan data , noisenya tidak dimodelkan sebagai kanal AWGN
 Lecutan-lecutan kesalahan pada kanal ini berpengaruh terhadap :
 memory
 menimbulkan kesalahan yang tergantung pada :
o bit-bit yang berturut didalam suatu aliran data (data
stream)
o Hal ini membuat perhitungan probabilitas-probabilitas kesalahan sangat sulit
o Namun demikian , pengujian-pengujian telah menunjukkan bahwa :
 pengaruh kesalahan terhadap blok-blok data :
 membuat suatu kesalahan blok bergerak sebanding
sewaktu panjang blok bertambah
o hal ini adalah model yang tepat untuk :
 probabilitas kesalahan blok yang mempu-
nyai hubungan yang sebanding dengan
panjang blok
o Dengan demikian dapat dirumuskan :

Probabilitas kesalahan blok  Pb  np


dimana :
p  suatu parameter yang ditentukan berdasarkan pengamatan
o Jadi semakin panjang blok , maka semakin besar kesalahan yang
terjadi
35

 Jika dilakukan pengujian siklis , hasil yang sederhana adalah 2 q kejadian kesalahan
tak dapat dideteksi (hal ini dilakukan dengan menganggap panjang lonjakan b > q ,
atau q >> 1
 Probabilitas kesalahan blok keseluruhan dapat didekati dengan :
Pe  np 2 q
 Contoh :
500 105
1. p  105 ; n  500 bits ; q  8 bits  Pe  500 105 28   256  2 x105

  
p  10 5 ; n  1000 bits ; q  32 bits  Pe  1000 10 5 2 32 
   4 10   4 10   4 x10
1000 10 5 5 14 12
2. 2 
8 4
2563
64

 Diagram Pohon (Tree Diagram)


o Diagram pohon menambahkan diagram waktu ke diagram keadaan
o Diagram pohon untuk rangkaian ekoder konvolusi berikut ini :

Rangkuman

- Tekanan pembahasan sistem komunikasi digital ini adalah :


o mengenai pengoptimalan rancangan sistem
 dengan memaximalkan kecepatan transmisi informasi , yang
menghadapi kendala-kendala berupa ;
 daya signal terbatas
 adanya noise
 lebar pita terbatas
- Beberapa aspek optimisasi dibahas dari berbagai sudut pandang
- Dalam pembahasan tentang komunikasi biner , diutarakan tentang :
o pengaturan ambang pengambilan keputusan , apakah suatu signal diputuskan
bernilai 0 atau 1
- Konsep matched filter dibahas untuk :
o pemaximalan SNR pada transmisi biner
- Ketidak samaan Schwarz digunakan didalam membicarakan jaringan emphasis
(preamphasis dan deemphasis) yang optimal untuk transmisi analog FM dan AM
- Pembahasan tentang SNR , perubahan lebarpita pada sistem PCM
- Teori Shanon tentang sistem transmisi digital optimum
- Pembahasan transmisi optimum dengan cara yang lebih statistik didalam sistem komu-
nikasi digital
- Prosedur optimisasi pada sistem komunikasi digital berdasarkan minimisasi proba-
bilitas terjadinya kesalahan bit , dalam keadaan adanya AWGN
- Prosedur ini akan menjawab pertanyaan “apakah ada gelombang-gelombang biner
yang optimum dan mekanisme penerima yang optimum untuk meminimalkan
probabilitas terjadinya kesalahan
- Pembahasan dimulai dari sample-sample signal tunggal yang diterima dan selanjutnya
melakukan generalisasi terhadap sample-sample yang berulang (multiple) secara bebas
36

- Dari probabilitas distribusi yang diketahui dapat diperoleh prosedur pemrosesan opti-
mum , yang terdiri atas peningkatan pengaturan perbandingan kemungkinam (like-
lihood ratio) dan menentukan apakah perbandingan tersebut lebih besar atau lebih kecil
dibandingkan dengan suatu konstanta yang diketahui
- Sebagai alternatip , prosedur optimum terdiri atas sample-sample signal terima ruang
berdimensi-m , yang dapat dibagi menjadi 2 daerah untuk pengambilan keputusan yang
tidak tumpang tindih (disjoint decision regions)
- Dengan melakukan pensignalan multidimensi yang menggunakan signal-signal ortho-
gonal M-susun , maka :
o dapat diperoleh penurunan probabilitas kesalahan , namun :
 memerlukan lebarpita yang lebih lebar
 rangkaian memjadi bertambah komplex
- Cara diatas adalah hal yang khusus daripada teorema kapasitas kanal Shanon ,
dimana :
 secara teoritis dapat dibuat sistem komunikasi dengan probabilitas kesalahan
rendah , meskipun terdapat adanya noise AWGN , sehingga :
o dapat dilakukan operasi pengkodean dan pendekodean seca-
ra memuaskan
o Hal diatas dimungkinkan asalkan :
 kecepatan transmisi bit = R bps tidak melebihi kapasitas kanal , yang
mana :
 kapasitas kanal tersebut ditentukan oleh :
 lebarpita kanal transmisi , daya signal rata-rata dan kerapatan
spektral
- Penggunaan metode-metode untuk mendeteksi dan mengoreksi
kesalahan bit adalah :
o sebagai suatu cara untuk memperbaiki kinerja sistem komunikasi digital
- Cara yang umum dilakukan untuk mendeteksi dan mengoreksi kesalahan bit adalah :
o dengan jalan menyisipkan bit-bit uji paritas dalam aliran biner (binary stream) ,
sehingga dimungkinkan untuk :
 mendeteksi dan mengoreksi kesalahan dalam jumlah tertentu
- Langkah yang diambil dalam hal ini adalah :
o memilih kode yang mendekati kinerja kesalahan yang diramalkan oleh Shanon
m
PEMBUATAN KODE SIKLIS

 Deret generator g x langsung dapat digunakan untuk pembuatan kode siklis
 Pembuatan kode secara serial dapat dilakukan dengan mengimplementasikan register
geser
 Dasar pemikirannya sebagai berikut :
 Berdasarkan rumus untuk deret katakode = cx  axg x , dimana :
o deret urutan data : d x   d1 x k 1    d k 1 x  d k ; derajat (pangkat tertinggi)
deret ini adalah k  1
o namum derajat deret urutan data bisa menjadi kurang dari k  1 jika d1  0
 hal ini tergantung pada nilai-nilai bit data
o operasi x n k d x  akan menghasilkan deret berderajat n  k   k  1  n  1 ,
atau lebih kecil bila koefisien dari suku deret yang berpangkat n  1 adalah 0
37

x n  k d x 
o  hasil pembagian  sisa hasil pembagian  qx   r x 
g x 
x nk d x 
o Derajat deret adalah :
g x 
n  k   k  1  pangkat te rtinggi gx q   n  1  q  k  1
o Deret kata kode = cx   ax g x   x n  k d x   r x 
x n  k d x  x n  k d x 
r x   rem  sisa hasil pembagian
g x  g x 
Contoh :
Buktikan bahwa kode 7, 3 jika kode datanya = d  111 , maka kata kodenya
adalah : c  1110100
Bukti :
d  111  d x   x  x  1
2

x n  k d x  x7 3 x 2  x  1 x6  x5  x 4
r x   rem  rem 4 
g x  x  x3  x 2  1 x 4  x3  x 2  1
x2
x 4  x3  x 2  1 x 6  x5  x 4
x6  x5  x 4  x 2
rem  x 2
x n  k d x 
r x   rem  x 2  1x 2  0 x  01
g x 
Jadi c  d , koefisien - koefisien rem  1110, 100  1110100

Arithmatika polynomial

Sebelum menentukan deret generator g x , akan dibahas lebih dahulu tentang arithmatika
(perhitungan aljabar) perkalian dan pembagian polynomial sebagai berikut :
 Misalkan wD   w0  w1 D  w2 D 2    wk 1 D k 1 adalah deret ukur , dimana nilai

setiap w j  0 atau 1
j  0, 1, 2k 1

 Jika semua nilai w j  1  wD   1  D  D 2    D k 1


j  0 , 1, 2k 1

o Jika k  4  wD   1  D  D 2  D 3

 Jika untuk k  6 tidak semua w j bernilai 1 , misalnya :


j  0 , 1, 2k 1

o w0  1 ; w1  1 ; w2  0 ; w3  0 ; w4  1 ; w5  1 , maka :
 wD   1  D  w4 D 4  w5 D 5
38

 Polynomial tersebut memberi gambaran yang sesuai dengan vektor informasi – k bit :
w  w0 w1 w2  wk 1
 Perhatikanlah beberapa polynomial berikut :
g D   g 0  g1 D  g 2 D 2    g n 1 D n 1
y D   y 0  y1 D  y 2 D 2    y n 1 D n 1
xD   x0  x1 D  x 2 D 2    x n 1 D n 1
eD   e0  e1 D  e2 D 2    en 1 D n 1
 Penjumlahan modulo-2 daripada 2 buah polynomial , misalnya :
yD  xD  eD
y D   x0  x1 D  x 2 D    x n 1 D n 1  e0  e1 D  e2 D 2    en 1 D n 1
2

y D   y 0  y1 D  y 2 D 2    y n 1 D n 1  x0  e0   x1  e1 D  x 2  e2 D 2    x n 1  en 1 D n 1
Jadi :
y 0  x 0  e0
y1  x1  e1

y n 1  x n 1  en 1
Secara umum : y j  x j  e j
 Perkalian daripada 2 polynomial , misalnya :
g D wD   g 0  g1 D  g 2 D 2    g n 1 D n 1 w0  w1 D  w2 D 2    wn 1 D n 1 
g D wD   g 0 w0  g 0 w1 D  g 0 w2 D 2    g 0 wn 1 D n 1  g1 w0 D  g1 w1 D 2  g1 w2 D 3    g1 wn 1 D n
   g n 1 w0 D n 1  g n 1 w1 D n  g n 1 w2 D n 1    g n 1 wn 1 D 2 n 2
g DwD  g 0 w0 D 0  g 0 w1  g1 w0 D  g 0 w2  g1 w1   g 2 w0 D 2  g 0 w3  g1 w2  g 3 w0 D 31 wn1 D n
 g 0 wn 1  g1 wn 2  g 2 wn 2    g n 1 w0 D n 1  g 0 wn2  g1 wn 3  g 2 wn 4  D n2  
Dapat ditulis :
g D wD   g n  k wk 1 D n 1
 g n  k wk  2  g n  k 1 wk 1  D n 2
 g n  k wk 3  g n  k 1 wk  2  g n  k 2 wk 1 D n 3

 g 0 w0 D 0
Kata kode keluaran adalah :
q
xq   wi g q i
i 0
dimana perhitungan dan rangkaian berikut ini secara konsep dapat digunakan untuk me-
nggambarkan perkalian xD  wDg D
q  0  x0  w0 g 0
q  1  x1  w0 g1  w1 g 0
q  2  x2  w0 g 2  w1 g1  w2 g 0
q  3  x3  w0 g3  w1 g 2  w2 g1  w3 g 0
q  4  x4  w0 g 4  w1 g3  w2 g 2  w3 g1  w4 g 0
39

Untuk menghitung persamaan diatas dapat dilakukan dengan menggunakan rangkaian


logika berikut :

Keluaran
x0 , x1 , , xn2 , xn1

   

X g nk X g nk 1 g nk 2 g nk 3 g0


X X X

1 2 3 n-k

Masukan
w0 , w1 ,  , wk  2 , wk 1

k
Cara kerjanya :

 Koefisien-koefisien wD adalah masukan pertama pada saat awal dengan wk 1


 Keluaran pertama adalah xn 1  wk 1 g n  k
 Register geser (shift-register) selanjutnya dikunci sekali sehingga wk 1 disimpan di
register 1
 Keluaran xn  2  wk  2 gn  k  wk 1gn  k 1
 Register geser totak dikunci sebanyak n  1 kali , untuk menghasilkan semua
koefisien daripada xD
 Setelah koefisien masukan yang ke-k , maka bit-bit 0 adalah masukan ke register ge-
ser ; cara ini akan sangat menyederhanakan pengenkodea kode-kode siklis
 Selanjutnya perhatikan hasil-bagi daripada xD  g D
 Sebagai misal xD   1  D  D2  D4  D5 ; g D   1  D  D3 , maka :
D 2  D  1  Hasil bagi
D3  D  1 D5  D 4  D2  D  1
D5  D3  D 2
D 4  D3  D 1
D 4
D D
2

D3  D 2  1
D3  D 1
D 2  D  Sisa
 Perlu untuk diperhatikan bahwa hampir dalam semua kasus , hasil bagi polynomial
menghasilkan sisa
 Sisa hasil bagi ini ditulis dengan : Rg  D  xD    D 

SIFAT-SIFAT KODE SIKLIS


40

 Untuk setiap kode siklis n, k  , semua vektor kode ( deret ukur kode = code-
polynomial ) dapat dinyatakan sebagai :
o Hasil kali dari suatu deret generator g D , yang mempunyai derajat q  n  k
dengan deret berita wD yang mempunyai derajat k  1
o Hasilkali xD  wDg D mempunyai derajat k 1  n  k   n 1
o Karena setiap berita terdiri atas k buah bit , maka akan terdapat 2 k buah
kemungkinan berita , sehingga akan terjadi 2 k buah deret ukur yang berbeda
wD   w0  w1D  w2 D 2    wk 1D k 1 , sesuai dengan semua bilangan biner
yang mungkin terjadi untuk mengisi nilai koefisien w j
o Terdapat 2 k buah katakode yang munkin terjadi
 Kata kode untuk suatu kode siklis biner dapat mudah dihasilkan dengan menggunakan
rangkaian sebagai berikut : Keluaran
x0 , x1 , , xn2 , xn1

   

X g nk X g nk 1 g nk 2 g nk 3 g0


X X X

1 2 3 n-k

Masukan
w0 , w1 ,  , wk  2 , wk 1
 Beberapa sifat penting daripada deret generator adalah sebagai berikut :
o Deret generator untuk setiap kode siklis adalah suatu faktor daripada D n  1
o Karena itu akan tidak terdapat sisa jika dilakukan proses pembagian yang
panjang daripada D n  1 oleh g D
o Setiap deret berderajat n  k , yang mana adalah sebuah faktor daripada
D n  1, adalah generator polynomial untuk suatu kode siklis n, k 
o Derajat dari deret generator selalu n  k
o Pergeseran siklis ke-q daripada suatu katakode , adalah sisa daripada hasilbagi
D q xD  oleh D n  1
 Deret generator g D   g 0  g1D    g n  k D n  k untuk kode siklis , adalah matrix
generator k x n sebagai berikut :
 g 0 g1   g n  k 0 0  0 
0 g g  g gnk 0  0 
 0 1 n  k 1

o G   0 0 g 0 g1  g n  k 1 gnk  0 
 
         
 0 0 0 0 0 g0 g1  g n  k 
 Matrix uji paritas untuk kode siklis adalah :
41

hk hk 1   h0 0 0  0
0 h hk 1  h1 h0 0  0 
 k

o H 0 0 hk hk 1  h1 0  0
 
        
 0 0 0 0 0 hk hk 1  h0 
Dimana hD   h0  h1D    hk D k , adalah hasil pembagian daripada D n  1
oleh g D
o tidak terdapat sisa jika dilakukan proses pembagian yang panjang daripada
D n  1 oleh g D (sesuai dengan sifat 2 )
2k  2

hk hk 1   h0 0 0  0
0 hk hk 1  h1 h0 0  0 

H 0 0 hk hk 1  h1 0  0 k 1
 
        
 0 0 0 0 0 hk hk 1  h0 

2q

 g0 g1   g nk 0 0  0 
0 g0 g1  g n k 1 g nk 0  0 

G0 0 g 0 g1  g n  k 1 g nk  0  q
 
         
 0 0 0 0 0 g0 g1  g n k 

 xD   1  D  D2  D4  D5 dibagi g D   1  D  D3

 Kode-kode Hamming adalah kode-kode sistematis siklis linier


 Kode-kode Hamming dengan n  2 j  1 dan k  n  j akan ada jika interger j  3
k 2 j 1 j
 Nilai kode atau Efisiensi kode = R  
n 2 j 1
 Tabel nilai kode atau efisienssi kode R :
42

j k n R  k /n
3 4 7 57 %
4 11 15 73 %
5 26 31 84 %
6 57 63 90 %
7 120 127 94 %
8 247 255 97 %
9 502 511 98 %
10 1013 1023 99 %
 Kode-kode Hamming selalu ditentukan oleh matrix uji paritas H , yang banyak
kolomnya = n  k  j dan banyak barisnya = n
 Kolom-kolom tersebut terdiri atas semua vektor komponen - j yang bukan nol
 Contoh :
o Matrix uji paritas untuk kode Hamming (7,4) adalah :
1 0 0 1 0 1 1
H  0 1 0 1 1 1 0
0 0 1 0 1 1 0
o Matrix generator untuk kode-kode Hamming diperoleh dengan menggunakan
hubungan :
x m  x m, 0 x m,1  x m,n  k 1 wm,0 wm,1  wm,k 1 
 g 0, 0 g 0,1  g 0,n k 1 1 0 0  0
 g g1,1  g1,n k 1 0 1 0  0
 1,0
x m  wm,0 wm,1  wm,n 1   g 2,0 g 2,1  g 2,n k 1 0 0 1  0
 
         
 g k 1,0 g k 1,1  g k 1,n k 1 0 0 0  1
 
x m  wm,0 wm,1  wm,n 1  G 
asalkan kode-kodenya linier sistematis
 Generator polynomial g D adalah :
o Anggota dari kelas polynomials tertentu yang disebut dengan polynomials
primitip
o Tabel singkat daripada polynomial primitip yang dapat digunakan sebagai
generator bagi kode-kode Hamming , sampai dengaan panjang = n  2 k  1
adalah sebagai beri-kut :

j j
3 1 + D + D2 14 1 + D + D6 + D10 +
4 1 + D + D4 15 D14
5 1 + D + D5 16 1 + D + D15
6 1 + D + D6 17 1 + D + D3 + D12 +
7 1 + D3 + D7 18 D16
8 1 + D2 + D3 + D4 +D8 19 1 + D3 + D17
9 1 + D4 + D9 20 1 + D7 + D18
10 1 + D3 + D10 21 1 + D2 + D3 + D4 +D8
11 1 + D2 + D11 22 1 + D3 + D20
12 1 + D + D4 + D6 + 23 1 + D3 + D21
13 D12 24 1 + D + D22
1 + D + D3 + D4 + 1 + D5 + D23
43

Pengenkodean Kode-kode Hamming

 Enkoder yang digunakan bagi kode-kode Hamming terdiri dari berbagai bentuk :
o Jika kecepatan pengenkodean tidak kritis , maka :
 Enkoder dapat diimplementasikan / dilakukan dalam software , dengan
jalan menghitung perkalian ma-trix generator secaaara langsung
o Jika kecepatan pengenkodean kritis , biasanya diguna-kan implementasi yang
lain
 Gambar berikut ini melukiskan implementasi secara langsung bagi suatu enkoder
Hamming , yang dapat dibuat dengan memakai rangkaian logika berkecepatan tinggi

 Register geser k  1bits dipuncak gambar menerima bit-bit in-formasi dari sumber
data
 Setelah register masukan terisi , maka keluaran modulo-2 adders adalah simbol-simbol
kata kode yang benar
 Setiap simbol adalah suatu “penjumlahan modulo-2” daripada bit-bit informasi
tertentu , yang ditentukan oleh matrix gene-rator
 Generator matrix dapat diperoleh daari generator polynomial , dengan cara sebagai
berikut :

 Biasanya, banyaknya bit uji paritas < banyaknya bit kharakter, agar efisiensi kode >
50 %
 Dengan demikian daya yang digunakan untuk pengiriman kode sebagian besar
digunakan untuk keperluan pengiriman kode kharatter.
 Bit uji paritas tersebut isinya tergantung pada kode kharakter
 Tiap-tiap kharakter mempunyai bit-bit penguji sendiri-sendiri
 Banyaknya bit uji paritas tersebut paling sedikit sebanyak 3 bit
 Banyaknya perbedaan bit tersebut disebut dengan jarak Hamming (Hamming
distance)
 Jadi untuk kode ( 7,4 ), dimana :
o banyaknya bit seluruhnya  n  7
o banyaknya bit untuk kharakter  k  4
o banyaknya bit uji paritas adalah  q  n  k  3
o karena itu untuk kode ( 7 , 4 ), jarak Hammingnya adalah  k  q  4  3  1
 Kode yang mengikuti aturan ini disebut dengan kode Hamming
 Syndrome s pada kode belitan (convolution code) terdiri atas q bit
 Sebagai contoh jika :
o banyaknya bit keseluruhan  n  7
o banyaknya bit uji paritas = q  4
o maka banyknya bit kharakter  k  n  q  7  4  3 .
 Jika tanpa kesalahan penerimaan bit, maka :
o syndrome nya adalah = s  000
o Jika syndromnya = s  001  maka terjadi kesalahan pada bit ke-1 (dari yang
paling kiri atau LSB)
44

o Oleh karena itu diperlukan petunjuk (n + 1) buah kesalahan (dibuktikan


pada contoh dihalaman berikutnya)
o Apa yang ditunjukan pada contoh itu adalah tentang kode yang :
 “tanpa kesalahan” (no error)
 satu kesalahan pada setiap digit dari kata kode
 lebih dari satu kesalahan pada setiap digit dari kata kode , sampai
dengan seluruh digit kata kode salah
 adanya 2q buah kemungkinan syndrom yang berlain-an
 Sebagai contoh, untuk menjelaskan pernyataan diatas , diam-bil :
o suatu kode yang banyaknya bit keseluruhan  n  k  q  3  4  7
o
Untuk kode kharakter 000 :
1. Jika tanpa kesalahan penerimaan, syndrome-nya  s  000
2. Jika terjadi kesalahan pada bit pertama (LSB)  s  001
3. Jika terjadi kesalahan pada bit kedua  s  010
4. Jika terjadi kesalahan pada bit ketiga  s  100
5. Jika terjadi kesalahan pada bit pertama dan kedua  s  011

6. Jika terjadi kesalahan pada bit pertama dan ketiga  s  101


7. Jika terjadi kesalahan pada bit kedua dan ketiga  s  110
8. Jika terjadi kesalahan seluruhnya  s  111
* Jadi diperlukan n  1 petunjuk kesalahan  k  q  1  3  4  1  8 petunjuk ke-
salahan
**Banyaknya bit uji paritas

*** maka dapat terjadi jenis syndrome berbeda-beda yang diakibat-


kan oleh bit uji paritas tersebut
 Note :
Banyaknya bit kharakter  k  3
 untuk kode
Semua kharakter
kharakter lainnya dapat
yang mungkin terjadidibuktikan akan
= 2k = 23 =8, diperoleh
yaitu : hasil syndrom yang
sama.
o 000, 001, 010, 011, 100, 101, 110, 111
 Maka pada kode Hamming ini :
 banyaknya bit uji paritas dan bit berita adalah sesuai dengan hubungan berikut :
2q  n  1
q  log 2 n  1
dimana
q = banyaknya bit uji paritas ;
n = banyaknya bit keseluruhan untuk kata kode
k nq
 1   1  log 2 n  1
q 1
 Efisiensi kode  R  
n n n n
 Jika nilai n semakin besar, maka effisiensi kode akan semakin tinggi sebagaimana
contoh berikut :
2
n  3 ; q  2  R  1   33.33 %
3
3 4
n  7 ; q  3  R  1    57.14 %
7 7
4 11
n  15 ; q  4  R  1    76.66 %
15 15
 Matrix uji paritas dapat dibentuk dengan lebih mudah
45

 Dengan hanya 1 kesalahan digit, misalkan digit yang ke-j, maka syndrome s 
kolom ke-j matrix H
 Untuk kata kode Hamming ( 7, 4 ), maka sebagai contoh matrix uji paritas = H adalah
:

0 0 0 1 1 1 1
H  0 1 1 0 0 1 1 Banyaknya baris = q = 7 – 4 = 3
1 0 1 0 1 0 1

Banyaknya kolom = n = 7
 Dibandingkan dengan matrix uji paritas pada kode blok sebelumnya, dapat dilihat
bahwa
o kode Hamming ini bukan kode yang sistematis
o Hal ini disebabkan bahwa posisi-posisi digit uji paritas harus sesuai dengan
kolom-kolom H yang hanya mempu-nyai sebuah digit 1
 dalam hal ini, jika dilihat dari matrix H diatas , maka kolom-kolom
yang memenuhi syarat adalah kolom ke-1 dan kolom ke-2 saja
 Untuk lebih jelas, perhatikan kata kode ( 7, 4 ) berbentuk sebagai berikut :
x  [c1 c2 m1 c3 m2 m3 m4 ] T
 Digit-digit paritasnya adalah sesuai dengan persamaan beikut :
c1  m1 m 2 m4
c 2  m1  m3  m4
c3  m2  m3  m4
 Contoh : Untuk kata kode dengan :
m1  0 ; m2  1 ; m3  1 ; m4  1
c1  0  1  1  10  diambil  0
c 2  0  1  1  10  diambil  0
c3  1  1  1  11  diambil  1

 Maka kata kode tersebut adalah :


x  [c1 c2 m1 c3 m2 m3 m4 ] T
 [0 0 0 1 1 1 1] T
 Perhatikan, bahwa kata-kode ini sama dengan baris pertama dari matrik H diatas tadi
 Selanjutnya dibuat tabel kode Hamming sebagai berikut :
o Jika n = 7, maka banyaknya kode blok yang mungkin terjadi adalah 27 = 128
buah
o Jika banyaknya bit untuk sebua berita adalah k = 4, maka hanya 24 = 16 buah
kode blok yang digunakan untuk mewakili seluruh berita yang mungkin terjadi
o Tabel untuk kode blok adalah sebagai berikut
Nomor Kode
Kata Kode
Berita Berita
0 0000 0000000
1 0001 1010001
2 0010 1110010
3 0011 0100011
4 0100 0110100
46

 Jika penulisan kode berita dilakukan secara pembacaan terbalik, artinya jika kode
untuk menyatakan nilai suatu level amplitudo, misalnya amplitudo yang terdiri atas 4
level, yang biasanya bilangan binernya adalah 0100 dibalik penulisannya menjadi dari
arah sebelah kanan sehingga menjadi 0010 , maka :
o tabelnya akan berubah menjadi tabel kode Hamming berikut ini :

No Berita Kata kode


0 0000 0000000
1 1000 1101000
2 0100 0110100
3 1100 1011100
4 0010 1110010
5 1010 0011010
6 0110 1000110
7 1110 0101110
8 0001 1010001
9 1001 0111001
10 0101 1100101
11 1101 0001101
12 0011 0100011
13 1011 1001011
14 0111 0010111
15 1111 1111111

Jika kata kode untuk berita nomor 2 yaitu 0110100 dikirimkan dan kesalahan
terjadi pada posisi 1, 2 dan 4, maka :
 signal yang salah tersebut adalah :“1011100” , yang mana berarti sama
dengan kata kode untuk berita nomor 3
 Karena itu detektor akan menganggap berita nomor 2 sebagai berita nomor
3
 Jadi dengan terjadinya 3 kesalahan, maka detektor tidak dapat mendeteksi
kesalahan tersebut
 Jika kesalahan lebih dari 3 bit, maka hanya akan dapat mende-teksi
kesalahan jika kata kode yang diterima (atau vetor yang diterima) tidak
47

Berdasarkan tabel kata kode yang terdapat pada halaman sebelum-nya, maka dapat dilihat
bahwa setiap kata kode yang digunakan un-tuk menyatakan sebuah berita, maka :
 Setiap kata kode yang berturutan nilainya berbeda 3 posisi
 Berita berbeda dapat mempunyai bit uji paritas yang sama
 Bit uji paritas ditulis mendahului bit data
 Dengan demikian 1 atau 2 kesalahan transmisi tidak akan dapat mengubah suatu kata
kode menjadi kata kode yang lain
 Karena itu dekodernya akan dapat memberitahukan kepada pengguna bahwa telah
terjadi kesalahan transmisi (meskipun tidak dapat mengoreksi kesalahan tersebut
 Namun jika terjadi 3 kesalahan transmisi maka akan dapat mengubah kata kode yang
dipan-carkan menjadi sebuah blok yang sama dengan kata kode yang memenuhi syarat
 Karena itu dekodernya tidak akan dapat mendekti dan mengo-reksi kesalahan.
Tabel tertentu yang dibuat sebagai contoh tersebut adalah termasuk kelompok kode Hamming
 Pada tabel tersebut terdapat 3 buah jarak Hamming minimum
 Ketiga jarak Hamming minimum tersebut dapat digunakan untuk mengoreksi sebuah
kesalahan transmisi tunggal didalam setiap blok kata kode yang dipancarkan
 Hasil penjumlahan kedua kata kode yang berturutan ini dinamakan dengan jarak
Hamming.
Jadi :
Kata kode nomor 2 = x2 = 0110100
Kata kode nomor 3 = x3 = 1011100 +

Jarak Hamming = dH = 1101000


Bobot Hamming (Hamming-weight) = banyaknya angka 1 pada setiap kata kode

Contoh :
Kode Hamming ( 7,4 ) sebagaimana diberikan pada tabel kode Hamming diatas, misalkan
mempunyai keluaran kanal simetrik biner seperti yang dituliskan berikut ini :
y = 1011010
Detektor menghitung jarak-jarak Hamming antara y dan semua kata kode yang mungkin
terjadi xm .
Keluaran dekoder mengistimasikan x adalah x m yang mempunyai jarak minimum dari y.
Dari tabel kode Hamming, kata kode nomor lima adalah :
x5 = 0011010.
Jarak Hamming antara y dan x5 adalah pertambahan modulo-2 antara y dengan kata kode x5,
yaitu 1011010 + 0011010 = 1000000.
Bobot Hamming-nya = 1 = jarak Hamming minimum.
48

Jadi jarak Hamming minimum antara y dan xm akan terjadi antara y dengan kode berita untuk
x5 = 0011010 .

Probabilitas Kesalahan Blok

Probabilitas kesalahan blok = PB daripada kode-kode yang dapat mengoreksi kesalahan


tunggal adalah :
 Probabilitas dua atau lebih kesalahan terjadi selama transmisi
2 j 1
PB  1  1  p    p1  p  n1
n
 Probabilitas kesalahan Blok =
j 1
 Terdapat sebuah “pattern kesalahan” tunggal , dengan tanpa kesalahan , yang mana
terjadi dengan probabilitas = p1  p  n
 Terdapat 2 j  1 pattern kesalahan dengan sebuah kesalahan tu-nggal , yang mana terjadi
dengan probabilitas = p1  p  n1
 Berikut ini gambar yang melukiskan probabilitas kesalahan blok PB sebagai fungsi
daripada p  probabilitas daripada fungsi pin-dah silang (crossover) BSC (Binary
Symetric Code) , untuk kode-kode Hamming , berdasarkan tabel berikut :

Vektor Kesalahan

Jika kata kode xm ditransmisikan menggunakan Kode Simetrik Biner ( BSC = Binary Sym-
metric Code ) , maka selama transmisi kesalahan dapat terjadi.
Vektor kesalahannya dapat ditulis sebagai e  e0 e1 e2      en1
Jika salah satu atau lebih dari nilai vektor tersebut adalah “1”, maka telah terjadi kesalahan
transmisi diposisi bit tersebut.
Contoh :
Vektor kata kode  xm  0 1 1 0 1 0 0
Vektor kesalahan  e 1 1 0 1 0 0 0
Vektor yang diterima  y  1 0 1 1 1 0 0
Jika kanal dianggap tak bermemory, maka probabilitas terjadinya kesalahan pada setiap sim-
bol tertentu adalah tak tergantung pada semua simbol yang lainnya.
Jadi pada kode simetrik biner, probabilitas-probabilitas transisi ( transition probabilities
BSC ) adalah konstan untuk seluruh transmisi.
Maka :
Pr [ y x]   Pr  y n ' xn' 
n 1

n'

Untuk BSC, Pr(1 0)  Pr(0 1)  p  Pr(0 0)  Pr(1 1)  1  p


Dengan demikian probabilitas bahwa BSC menyebabkan terjadinya vektor kesalahan :
e  1101000 adalah : P [e  1101000]  p x p x (1  p) x p x (1  p) x (1  p) x (1  p)
Secara umum, probabilitas bahwa BSC menyebabkan kesalahan-kesalahan kanal e’ pada po-
sisi tertentu didalam blok kata kode yang panjangnya n adalah :
49

 kesalahan e' pada 


Pr lokasi  lokasi tertentu  p e ' (1  p) n e '
 dalam kata kode 
Hasil diatas tersebut digunakan untuk mencari Pr[ y xm ], yaitu Probabilitas y = signal ter-
tentu yang diterima jika signal yang dikirim adalah xm .
Rumus lainnya yang dapat digunakanadalah :
Pr[ y xm ]  p d H (1  p) d H
Pada kode Hamming ini untuk memeriksa kesalahan kode dilakukan secara kontinyu, dengan
cara yang dikenal dengan nama pembelitan atau konvolusi (convolution).
Untuk menggambarkan kode Hamming ini secara lebih jelas, dimisalkan setiap kharakter
yang dibuat menjadi kode terdiri atas k buah bit, dan disebut dengan kode asli. Setelah
masing-masing kharakter diberi bit-bit penguji-nya masing-masing, jumlah bit untuk
menggambarkan setiap kharakter menjadi n buah bit. Jadi banyaknya bit penguji adalah
sebanyak m = (n-k) buah bit.
k
Maka Efisiensi kode =   100 % .
n
Kelompok kode yang termasuk dalam kode Hamming ini dapat ditulis sebagai berikut :
 
n, k   2 m  1 , 2 m  1  m 
dimana :
n = jumlah bit total untuk menyatakan kharakter
m = banyaknya bit penguji
k = banyaknya bit asli
Jadi jika banyaknya bit penguji m  4 , maka :
kode seluruhnya adalah n  2 4  1  15
dengan jumlah bit penguji sebanyak k  2 m  1  m  2 4  1  4  11 bit
Dengan demikian kode aslinya adalah :
n, k   15,11
Jika m = 3 bit, maka n  2  1  7 dan m  23  1  3  4 ; kodenya =
3

Contoh kode (7,4) adalah :


1 0 0 1 0 0 1
k m

n
 Kode asli tersebut secara seri digeser melalui register geser sehingga pada
setiap penggeseran akan menghasilkan kode yang terdiri atas n buah bit
 Hal ini dapat dicapai dengan jalan membuat rangkaian tertentu yang dapat memenuhi
kebutuhan yang diinginkan
 Teknik yang diterapkan untuk mencapai keinginan itu adalah dengan menggunakan
rangkaian sebagai berikut :

Coding untuk Kanal Simetrik Biner


50

(BSC =Binary Symetric Channel)

 Shanon telah mendemonstrasikan jika kapasitas kanal transmisi melebihi ba-


nyaknya bit per detik yang melewatinya, maka : dimungkinkan diperoleh
transmisi bit-bit tanpa kesalahan
 Jadi jika C = kapasitas kanal transmisi ; R = banyak bit yang dikirimkan per detik
 maka jika C  R akan dimungkinkan transmisi bit-bit tanpa kesalahan

KODE BLOK

Suatu blok yang terdiri atas k buah bit informasi dinyatakan dalam k-vektor, sebagai :
wm  wm 0 wm1 wm 2        wm k 1
semua wmi bernilai 0 atau 1
Subcript m menyatakan berita tertentu yang sedang diperhatikan dari 2k buah berita yang
mungkin terjadi jika setiap berita terdiri atas k buah bits.
Jadi banyaknya kode untuk informasi atau kode untuk data yang mungkin terjadi = 2k
buah.
Jadi m = 1, 2, 3, ………………2k
Q
M(m) = probilitas berita yang keluar adalah berita ke-m.
Jika berita yang keluar mempunyai kemungkinan keluar yang sama , maka QM(m) = 2-k
Contoh :
Jika k =3, maka berita yang mungkin keluar adalah m = 2k = 23 = 8, yaitu
w0 = 000
w1 = 001
w2 = 010
w3 = 011
w4 = 100
w5 = 101
w6 = 110
w7 = 111
Jika m = 5, maka berita yang dimaksudkan adalah wm –1 = w4 = 1 0 0

Enkoder akan memetakan setiap berita tertentu , yaitu wm (yang terdiri atas k bits) , menjadi n
buah vektor biner tertentu atau berita yang terdiri atas n bits = ( k + q ) bits , yaitu :
x m  x m 0 x m1 x m 2          x m n 1
Disini yang dimaksud dengan n = jumlah bit berita ( = k bits) ditambah dengan bit paritas
( = m bits ).
Pemetaan ini adalah satu berita ke satu peta, sehingga setiap berita mempunyai satu peta
tersen-diri.
Kode blok (n,k) adalah himpunan dari semua simbol xm ( yang banyaknya 2n buah anggota
himpunan )
Dalam kode blok ini k < n, yang berarti banyaknya bit kode asli lebih kecil daripada banyak
seluruh bit dari kode blok.
Banyaknya bit paritas atau bit penguji = q = n – k
Banyaknya berita yang mungkin terjadi = 2k
Banyaknya kata kode yang mungkin terjadi jika setiap berita terdiri atas n bits = 2n > 2k
Maka tidak semua kata kode yang mungkin terjadi digunakan sebagai kata kode
( dari 2n buah kata kode yang mungkin terjadi hanya 2k buah saja yang digunakan sebagai
kata kode )
51

k
Efisiensi kode = Nilai kode (code-rate)  R  1
n
Singkatan :
1. Disain sistem baik harus efisien didalam hal :
- pemakaian sumber dayanya
- lebarpita frekuensinya
- kompak
- menghasilkan komunikasi informasi yang andal dari sumber informasi ke tujuan
informasi
o Untuk itu ukuran keandalannya adalah :
 besarnya probabilitas kesalahan adalah harus kecil dan dibawah nilai
max yang diijinkan.
2. Sumber koding harus :
- menggunakan kode redundance sekecil mungkin untuk memini-malkan penggunaan bit
untuk setiap kode yang dikomunikasi-kan
- Hal ini berarti dapat menghemat kebutuhan akan lebarpita frekuensi.
3. Kode kanal digunakan untuk memperbaiki sebanyak mungkIn kesalahan kode yang
terjadi pada kanal tersebut, yang pada gilirannya dapat memperbaiki keandalan
komunikasi.
4. Sumber signal diskrit tanpa menggunakan memory menggambarkan informasi yang
menggunakan urutan simbol-simbol bebas, wo , w1 , ….yang sesuai dengan simbol abjad
W = [0,1,2,…….qw – 1 ]. Probabilitas bahwa simbol keluaran DMS adalah = j eselama
interval I adalah Qw(j).
5. Kandungan informasi suatu simbol keluaran DMS tunggal j , adalah I(j) = -log2Qw(j).
Simbol-simbol keluaran DMS yang banyak kesamaannya mempunyai kandungan
informasi yang kecil dibandingkan dengan simbol-simbol yang sedikit kesamaannya.
Entropy sumber informasi adalah :
q w 1
H W     Qw  j  log 2 Qw  j 
j 0

yang mana adalah kandungan informasi rata-rata sumber. Intropy sumber adalah
banyaknya bit rata-rata minimum per simbol keluaran DMS, yang harus dipancarkan
lewat kanal. Jadi informasi sumber tidak dapat dikomunikasikan dengan memakai
jumlah bit rata-rata per simbol DMS yang lebih sedikit jumlahnya dibandingkan dengan
entropynya.
6. Prosedur Huffman adalah sesuatu yang secara intuitip memenuhi koding sumber.
Prosedur ini menggunakan urutan biner yang lebih panjang terhadap simbol-simbol
DMS yang rendah probabilitasnya, dibandingkan dengan simbol-simbol yang lebih
tinggi probabilitasnya.Simbol-simbol DMS dapat dibuat menjadi kode Huffman sebagai
simbol-simbol tunggal ataupun dalam kelompok-kelompok. Kode Huffman daripada
kelompok-kelompok simbol-simbol DMS menghasilkan hasil yang terbaik.
7. Kapasitas suatu kanal, yaitu C , adalah jumlah bit per detk yang teoritis dapat dipancar-
kan tanpa salah. Kapasitas tersebut adalah fungsi dari lebar pita kanal dan SNR (Signal
to Noise Ratio) yang diterima. Kapasitas Shannon adalah :
 P 
C  B log 2 1  
 N o 
B
Jika kecepatan transmisi yang dinginkan adalah Rm<C, maka akan diperoleh nilai
kesalalahan yang rendah jika menggunakan forward error correction, tanpa menambah
daya. Untuk Rm yang hampir sama debgan C , forward error correction yang lebih rumit
dapat dipertimbangkan.
52

Eb
8. yang diterima harus lebih tinggi dibanding dengan –1.6 dB. agar komunikasi andal
N0
E
sembarang dimungkinkan untuk dilakukan. Jika b < -1.6 dB maka tidak ada kode yang
N0
serumit apapun yang dapat menolong terjadinya komunikasinya.
9. Kapasitas kanal diskrit tanpa memory yang dinyatakan dengan CN adalah menyatakan
jumlah bit informasi maximum daripada informasi yang dikomunikasikan untuk setiap
simbol DMC yang dipancarkan.

Penyandian Belitan
(Convolution Coding)
Salah satu metode untuk mengontrol kesalahan didepan (forward error control) adalah dengan
menggunakan penyandian belitan.
 Pada teknik penyandian ini :
 simbol-simbol tidak dikelompokkan kedalam kelompok yang berbeda-beda
kemudian disandi (encoded) , namun :
 urutan bit-bit informasi yang kontinyu dipetakan kedalam urutan kontinyu
simbol-simbol keluaran penkoder (enkoder)
 Pemetaan ini disusun secara khusus, yang memungkinkan :
 metode pengdekodean (dekoding) sangat berbeda dibandingkan dengan metode
pengdekodean kelompok
 Dapat dibuktikan bahwa penyandian belitan dapat mencapai :
 gain penyandian yang lebih besar dibandingkan dengan yang dicapai dengan
menggunakan kode kelompok (block code) dengan keruwetannya (koplexitasnya)
yang serupa
 Apapun teknik yang digunakan, baik dengan penyandian kelompok maupun penyandian
belitan :
 mana yang lebih baik untuk digunakan adalah tergantung pada perincian (details)
dari penggunaannya serta teknologi yang ada pada saat itu.

KONSEP DASAR PENYANDIAN BELITAN


Banyak dari konsep kode blok langsung digunakan terhadap kode konvolusi, khususnya :
 urutan peta enkoder daripada keluaran pengkode sumber ke dalam urutan simbol kode
untuk transmisi melalui DMC (Discrete Memoryless Channel)
 Untuk menggambarkan konsep penyandian belitan secara mudah dapat digambarkan
sebagai berikut :
x1 D
g1 D   1  D  D 2

+
Urutan
wD kode
keluaran

g1 D   1  D 2 +

x1 D
Gbr. Pengkode belitan ½ kecepatan
(Rate ½ convolution encoder)
53

 Bit-bit masukan di”clock” kedalam rangkaian dari sebelah kiri


 Setelah setiap masukan diterima , maka keluaran koder dihasilkan dengan cara pencu-
plikan dan multiplexing keluaran-keluaran daripada penambah-penambah (adder)
modulo-2
 Untuk kode yang sederhana ini , simbol-simbol dihasilkan untuk setiap bit masukan ,
sehingga kecepatan kode adalah ½ nya
 Periksalah , bahwa suatu bit masukan tertentu akan mempengaruhi keluaran selama
intervalnya sendiri , maupun oleh 2 interval bit masukan
 Suatu kode belitan ditentukan oleh :
 banyaknya tahap pada register-register geser
 banyaknya keluaran (banyaknya penambah modulo-2)
 hubungan (koneksi) antara register geser dan penambah modulo-2
 Tahap (state) enkoder ditentukan sebagai :
 isi daripada register geser dan sepenuhnya ditentukan oleh 2 buah informasi
masukan daripada bit yang mendahuluinya
 Enkoder di gbr. pengkode belitan ½ kecepatan bisa mempunyai 4 keadaan yang
mungkin , sesuai dengan semua isi yang mungkin terjadi daripada register geser 2 tahap

 w(D) = w0 + w1D + w2D 2 +………..+ wjD j + ……. = urutan bit informasi masukan ;
wj  [ 0, 1]
 x1(D) = Keluaran adder modulo –2 bagian atas adalah hasil kali antara w(D) dengan
g1(D)
 w2 (D) = Keluaran adder modulo-2 bagian bawah adalah hasil kali antara w(D) dengan
g2 (D)
 Kode konvolusi disebut juga dengan kode sekuensial ataupun kode berulang-ulang
(recurrent codes)
 Pada kode konvolusi ini digit-digit uji paritas terus-menerus disisip-kan kedalam arus
bit (bit stream)
 Karena itu prosedure enkoding dan dekoding adalah proses yang kontinyu, yang
menghilangkan (eliminiting) pemisah (buffering) ataupun penyimpanan (storage)
perangkat keras yang diperlukan dengan kode-kode blok
 Prinsip kode konvolusi dapat disederhanakan dengan menggu-nakan prinsip rangkaian
enkoder konvolusi sebagai berikut ini :

 mi
( m)
mi mi - 1
xi
mi - 2 mi - 3 mi - 4
 mi 4  mi 2  mi
(c)
xi

+ +

 dimana mi s.d. mi –4 adalah shift register


 Rangkaian enkoder tersebut terdiri atas 5 buah shift register, 2 buah adder modulo-2.
dan sebuah switch
 Digit-digit berita bergerak dari kiri ke kanan
 Switch mengambil digit berita ke-i, yaitu xi( m )  mi dan digit uji paritas ke-I sebagai
beikut :
54

xic  mi  4  m1 2  mi
 xi  4  xi  2  xi
( m) (m) ( m)

 Digit-digit berita digeser satu cell dan prosesnya berulang


m  ( c )
 Karena itu digit-digit yang dipancarkan adalah x1 x1 x 2 x 2    
(m) (c)

 Jadi banyaknya digit yang dipancarkan menjadi 2 kali digit data yang masuk
 Hal ini dinamakan dengan “kode bercadangan tinggi “ (high redundancy codes)
 Sebagai akibatnya efisiensi kode konvolusi adalah rendah, yaitu R  50 %
 Di dekorder, dibuat digit syndrome ke-i dari dari urutan berita yang diterima dan
mungkin mengalami kesalahan, menggunakan rumus :
si  y i  4  y i  2  y i  y i ; i5
( m) ( m) ( m) (c)

dimana akibat adanya kesalahan maka : yi ( m)  xi ( m)  ei ( m)


 Maka persamaan digit syndrome ke-i dapat ditulis menjadi :
si  ei 4  ei 2  ei ; i5
( m) ( m) (c)

 Disini jika syndrom si  1, maka berarti pada digit tersebut mengalami kesalahan
 digit-digit yang benar ditandai dengan digit syndrome bernilai 0
 Untuk gejala peralihan awal (start up transient), ambillah 1  i  4
 Maka sindrome-nya adalah :
s1  e1  e1 s3  e1  e3  e3
(m) (c) (m) (m) (c)

s 2  e2  e2 s 4  e2  e4  e4
(m) (c) ( m) (m) (c)

Persamaan diatas ditampilkan secara grafis sebagai berikut :


( m) (c) ( m) (c) ( m) (c) ( m) (c) ( m) (c) ( m) (c)
e1 e1 e2 e2 e3 e3 e4 e4 e5 e5 e6 e6
s1 X X

s2
X X

s3
X
X X
s4 X

X
X X X
s5
X X X X
X

X
s6

 Dengan mempelajari gambar diatas dapat dilihat bahwa jika terdapat 2 atau 3 buah bit
“1” di s1 , s3 dan s5 , maka :
 1 , yang berarti y1
(m) (m)
 vektor kesalahan e1 mengan-dung kesalahan
dan harus dikoreksi
(m)
 Dengan cara serupa, y 2 harus dikoreksi jika terdapat lebih banyak bit “1” daripada
bit “0”; demikian seterusnya
 Algorithme seperti diatas dinamakan dengan pengdekodean ambang (threshold
decoding)
55

 pada pengdekodean ini akan dapat mengoreksi sampai 4 buah kesalahan berturutan
(termasuk juga digit uji paritas) asalkan 8 buah digit yang lain tidak mengalami
kesalahan
 Pengdekodean ambang ini efektip terutama jika kanal-kanalnya terisolasi dari dadakan
kesalahan (error burst) yang disebabkan oleh noise denyut, dan masalah utama
terjadinya kesalahan adalah berasal dari noise denyut tersebut.
 Algorithme pengdekodean yang lain untuk kode-kode konvolusi adalah :
 dengan menggunakan metode algorithme probabilistic atau metode algorithme
berurutan (sequential).
 Oleh karena teori kode-kode konvolusi tidak dikembangkan sebaik teori kode-kode
blok, maka :
 sulit untuk membuat tafsiran yang teliti relatip terhadap ke-baikannya.

Soal –soal :

1. Suatu sistem mempunyai persamaan : pt   sinc r 1   t ; 0    1 .


Kecepatan pensignalan kurang sedikit dibanding dengan kecepatan sinkron r 1    .
Datanya berupa urutan bit sebanyak 2M  1 buah, yang secara matematis dapat ditulis :
Ak  (1) k A ; k  0,  1,  2,      ,  M .
Buktikanlah :
bagian ISI (Inter Symbol Interference) dari persamaan :
mk 
y (t m )  Am   Ak p   n(t m )
k m  r 
jika m = 0 adalah :
 A  M
2 1     sin c k  2 M A jika M  1
k 1
2. Suatu sistem biner mengalami interferensi antar simbol (ISI). Tanpa adanya noise, nilai
y t m  dan probablitasnya ditabelkan berikut ini , jika yang dikirimkan adalah bit “ 1 “ :
yt m  : A   A A

P[ yt m ] :
1 1 1
4 2 4
Tabel diatas berlaku juga untuk bit yang dikirimkan “0”, apabila A diganti dengan – A .
(a). Dengan menganggap noisenya jenis Gaussian, carilah Pe !
A 
(b). Carilah Pe untuk  4.0 jika  0.05 dan 0.25 !
 A
Bandingakan dengan Pe untuk  = 0 !

JARAK BEBAS
(FREE DISTANCE)
&
PEROLEHAN PENYANDIAN
(CODING GAIN)
56

 Sebelumnya telah pernah dibahas bahwa daya pengontrol kesalahan (error control po-
wer) kode blok tergantung pada :
 jarak minimum yang ditentukan dari bobot-bobot kata kode (banyaknya bit 1
didalam setiap kata kode)
 Suatu kode konvolusi tidak dibagi lagi (subdivided) menjadi kata-kata kode ,
sehingga

PENDEKODEAN KODE-KODE KONVOLUSI

Dekoder mempunyai pengetahuan tentang struktur kode

ALGORITHME VITERBI
Algorithme Viterbi adalah :
 suatu metode yang sangat bagus untuk melakukan pendekodean (decoding =
membuat signal yang menggunakan urutan bit-bit menjadi pulsa tersampling
kembali) dengan kemungkinan kebenaran maximum terhadap kode-kode
konvolusi
 Pendekodean Kemungkinan Maximum = Pendekodean Dengan Kemungkinan
Benar Maximum = Maximum Likelihood Dekoding , mencakup :
 pencarian seluruh ruang kode
 biasanya tidak praktis , sebab adanya masalah banyaknya perhitungan yang
harus dilakukan
 Pengkodean yang mengikuti algorithme Vitebri memberikan :
 prosedur yang praktis untuk digunakan untuk :
 kode-kode konvolusi yang panjang kendalanya pendek

 Hal ini disebabkan bahwa enkoder (alat yang berfungsi untuk membuat kode
yang berupa orutan bit-bit) konvolusi adalah suatu peralatan keadaan yang
tertentu (finite state divice)
 Oleh A.J. Viterbi pada tahun 1967 algorithme tersebut telah digambarkan
secara mathematis
 Sejak itu algorithme tersebut terus menerus berkembang , misalnya apa yang
telah dilakukan oleh Forney, dimana dia membuat tulisan yang luas
wawasannya dan tinggi mutunya terhadap apa yang telah dilakukan oleh
Vitebri, baik :
 mengenai algorithmenya itu sendiri
 maupun tentang bagaimana pemakaiannya.
Dengan meninjau kembali terhadap fungsi dari suatu detektor dengan
kemungkinan kebenaran yang maximum, maka :
 apa yang dilakukan oleh Forney adalah :
 mencari urutan kode yang paling mirip dengan kode yang telah
dipancarkan sebelumnya ke kanal transmisi , sehingga membentuk
urutan kode keluaran kanal yang memenuhi syarat
57

 Kode itu mungkin diterima salah, sehingga harus secara otomatis dikoreksi (self
correction)
 Ini berarti bahwa :
 harus mencari lintasan dengan melalui trellis (terali) yang akan
dibahas kemudian , yang mana :
 urutan kodenya mempunyai fungsi kemungkinan logarith-
mis tertinggi
 Secara mathematis , rumus “kemungkinan log” (log-likehood) ditulis
sebagai berikut :

  

ln  Pr  y xm     ln Pr yn ' xm ,n '
n 1


Untuk BSC (Binary Symetric Code) :
 pemaximalan fungsi ini sama saja artinya dengan :
 mencari lintasan melalui teralis (trellis) yang urutan
kodenya paling dekat dengan jarak Hamming ke
urutan kode yang diterima
 Dengan algorithme Vitebri ini , dapat dilakukan pendekodean kode konvolusi
dengan jalan :
 memilih lintasan di diagram teralis sehingga :
 urutan kode yang sesuai dengan lintasan pilihan , adalah :
 berjarak minimal dari urutan kode yang diterima
 Algorithme pendekodean Vitebri sebenarnya menampilkan jarak minimum
dari urutan kode yang diterima
 Algorithme Vitebri ini dapat mengurangi banyaknya beban yang dialami
untuk melakukan perhitungan dengan jalan :
 mengambil keuntungan daripada struktur khusus pada tralis kode
 Dari diagram teralis berikut ini :
t1 t 2 00 t3 00 t 4 00 t t6
a  00  00    5 00
 Dapat dilihat bahwa masing-
11 11 11 11 11
masing daripada keadaan (a,
b  10    11  11  11
 b, c , d) dapat dicapai hanya
00
dengan 2 keadaan saja.
00 00
01
c  01 
01
  01

01
 Jadi hanya lintasan yang paling
10 10 10 10 10 10 10
d  11   01  01  01 

cocok dengan r = urutan bit yang diterima (lintasan jarak minimum) perlu
untuk ditetapkan (retained) untuk setiap keadaan.
 Lintasan yang ditetapkan (reatained path) disebut dengan survivor di
keadaan tersebut
 Dekoder Viterbi memberi tugas kepada setiap cabang daripada lintasan
penyelamat (suviving path) suatu ukuran (metric) , yang sama dengan
jarak Hamming , dari cabang r yang berkaitan
 Dengan menjumlahkan ukuran cabang , maka akan menghasilkan ukuran
lintasan dan :
 r akhirnya didekode sebagai lintasan penyelamat , dengan ukuran
yang paling kecil
58

 VA (Vitebri Alborithm) akan diterangkan pada contoh , untuk BSC


(Binary Symetric System) yang menggunakan ukuran jarak Ham-
ming
Contoh :

Untuk enkoder konvolusi dengan diagram berikut ini :


t1 t 2 00 t3 00 t 4 00 t t6
a  00  00    5 00

11 11 11 11 11

b  10    11  11  11

00 00 00
01
c  01 
01
  01

01

10 10 10 10 10 10 10
d  11   01  01  01 

digunakan pada kanal simetrik biner (BSC = Binary Symetric Channel).


Dianggap bahwa keadaan enkoder awal adalah 00.
Pada keluaran BSC , urutan yang diterima adalah r = (1100000111 , berakhir semuanya 00) .
1. Carilah lintasan kemungkinan maximum (maximum likelihood path) melalui diagram
teralis dan tentukanlah 5 buah bit data yang pertama kali didekode !
2. Diagram teralis berikut ini :
di 1 0 1 0 0 
ci 11 01 00 01 11 
ri 11 00 00 01 11 
t1 t2 t3 t4 t5 t6
a  00  2
 0
 0
 1
 2

11
0 2 2 2 1 1 0 0
b  10      
0 1 2
1
c  01
1
   2 0
 1
1
 
1 1 1 2
d  11
1
  1  0  1 

ditunjukkan ukuran-ukurannya pada setiap cabang ; diagram diatas menunjukkan jarak


Hamming antara kata keluaran cabang dengan urutan bit yang diterima.
Pertama :
- Kumpulkan ukuran lintasan (path metric) daripada suatu lintasan tertentu , pada ti
yang dihitung ; jika setiap 2 lintasan mengumpul menjadi sebuah keadaan tu-
nggal , maka :
o salah satu dari kedua lintasan yang mengumpul tadi , yang bernilai lebih besar
dihilangkan
-

3. m
59

PENDEKODEAN KEPUTUSAN KERAS

Perhatikanlah diagram teralis berbentuk kerucut terpotong berikut ini :

Kedalaman 1 2 3 4 5 6 8
Urutan 7
yang diterima 10 10 10 11 11 10 01 11

00 00 00 00 00 00 00 00
00 11 11 11 11 11 11 11 11
11 11
11 11
01 X  X  X  X 
10 10
10 10 10 10

10 01 01 01 01 01
01 01 01 01 01
10
11 10 10 10

Keadaan Gbr. Diagram teralis terpotong bagian atasnya


Dari gambar diatas , untuk memudahkan penjelasan :
 kedalaman (depth) kedalam teralis dinyatakan dengan diatas teralis
 Sigmen-sigmen (bgian-bagian) lintasan ditunjukkan dengan keadaan-keadaan (states)
teralis, yaitu :
 {S1, S2 ...} yang dilewati oleh lintasan
 Teralis tersebut dibentuk seperti kerucut yang terpotong (truncated) dengan jalan
mengosongkan (clearing) pengkoder (encoder), yaitu :
 dengan jalan memberikan masukan (inputting) 2 zeros (nol) yang diketahui, dima-
na dalam hal ini adalah bit nomor 7 dan nomor 8
 Alat pendekoder (decorder), yaitu alat yang berfungsi untuk membuat bit-bit kode
menjadi signal analog kembali, akan mengetahui bahwa:
 pada saat itu pengkoder telah dikosongkan
 urutan bit yang diterima dituliskan didekat garis-garis teralis
 Langkah pedekodean pertama adalah untuk :
 menghitung jarak Hamming antara 2 buah simbol pertama yang diterima , dan 2
buah simbol pada cabang-cabang teralis yang meninggalkan keadaan 00 pada
kedalaman 0 dan menuju ke kedalaman kadaan 1
 Jika diambil sigmen daripada gambar diatas :

Kedalaman 1 Jarak-jarak Hamingnya keduanya adalah 1 atau tunggal , dan


dituliskan diatas node-node keadaan.
Urutan bit Hal tersebut dapat dilihat pada gambar teralis yang berikutnya.
yang diterima 10
Sebagai diketahui bahwa jarak Hamming tersebut dapat dilihat
00 pada pertambahan modulo–2 berikut ini :
00 x1 0 11 0 1 0 0
60

00 00 00 00 00 00 00 00
00
11 11 11 11 11 11 11 11 11 11 11 11

01 X  X  X  X  10
10 10 10 10 10

10
01 01 01 01 01 01 01 01
11 10 10

 Jika penulisan kode berita dilakukan secara pembacaan terbalik, yaitu :


 jika kode untuk menyatakan nilai suatu level amplitudo, misalnya amplitudo yang
terdiri atas 4 level, maka :
 level amplitudo yang setinggi 4 buah level kuantisasi (quantization level), jika
kodenya dinyatakan dengan kode biner , yang diperoleh adalah 0100
 dengan dibalik penulisannya , maka kodenya menjadi 0010
maka tabelnya akan berubah menjadi tabel berikut ini
Contoh :

Misalkan enkoder terpotong bagian atas yang sama dengan yang digunakan untuk VA (
Viterbi Algorithm ) keputusan keras , diguna-kan pada sistem komunikasi keputusan lunak .
Masukan biner DMC (Discrete Memoryless Channel) tergambar se-bagai berikut :

0.80 0

0 0.15
0.04 1
0.01

0.01
0.04 2

0.15

3 0.80 3

Probabilitas-probabilitas transisi kanal adalah sebagai berikut :


ln Pr 0 0  ln Pr 3 3  ln Pr 0.80   0.22
ln Pr 1 0  ln Pr 2 3  ln Pr 0.15   1.90
ln Pr 2 0  ln Pr 1 3  ln Pr 0.04   3.22
ln Pr 3 0  ln Pr 0 3  ln Pr 0.0.01   4.61
Teralis enkoder tergambar sebagai berikut :
61

Gambar-gambar terali tersebut mencakup urutan keputusan lunak yang diterima , maupun
ukuran-ukuran cabangnya (branch metrics).
Ukuran-ukuran cabang tersebut dihitung dari urutan yang diterima dan fungsi kemungkinan-
log diatas .
Sebagai contoh :
Ukuran cabang untuk cabang diantara kedalaman keadaan nol (depth zero state) 00 dan
keadaan keadaan satu (depth one state) 10 , adalah :
   
ln Pr31  ln Pr2 3  0.22  1.90  2.12
Ukuran cabang adalah nomor diantara kurung (parenthesis) pada cabang .
Semua cabang diberi label.
Untuk penggambaran yang lebih jelas daripada proses penkodean itu , maka digambar lagi
berikut :

Pada gambar tersebut , ukuran kumulatip (cummulative metric)


 Untuk mempertahankan (surviving) sigmen lintasan yang menuju ke sebuah node,
segera ditulis diatas node tersebut
 Untuk node-node pada kedalaman satu , ukuran kumulatip betul-betul sama dengan
ukuran cabang pertama
 Untuk node-node pada kedalaman dua , ukuran kumulatip sama dengan jumlah dari
ukuran kedalaman satu dan ukuran yang diakumulasikan pada cabang , yang mengarah
dari kedalaan satu ke kedalaman dua
 Sebagai contoh , ukuran komulatip yang mengarah ke keadaan 01 di kedalaman dua
adalah ukuraan -2.12 pada kedalaman keadaan satu 10 , ditambah ukuran cabang -3.80
yang dikumula-sikan pada cabang diantara kedalaman keadaan satu 10 dan kedalaman
keadaan dua 01
 Sebagaimana sebelumnya , pendekodean menjadi lebih menarik pada kedalaman tiga ,
dimana sigmen-sigmen lintasan mulai menjadi terbuang (dicarded)
 Perhatikan dua buah sigmen lintasan yang mengarah kedalam keadaan 00 dikedalaman
tiga , dimana :
 Ukuran kumulatip untuk sigmen lintasan [ 00, 00, 00, 00] adalah : - 7.83 - 5.12 –
9.22 = - 22.17
 Ukuran kumulatip untuk sigmen lintasan [ 00, 10, 01, 00] adalah : - 2.12 – 3.80 –
0.44 = - 6.36
 Lintasan dengan ukuran terkecil adalah : -22.17 , dibuang dengan jalan
menempatkan suaatu “x” pada cabang
 Ukuran daripada lintasan yang mempertahankan ditulis diatas keadaan 00 ,
dikedalaman tiga
 Pendekodean berlanjut dengan cara ini , sampaai dengan terali terakhir
 Setelah pendekode mencapai kedalaman delapan , pendekode tersebut berbalik
arah , mengikuti lintasan yang mempertahankan , dengan tujuan untuk
menentukan lintas-an yang benar lewat terali
 Amatilah bahwa lintasan yang mempertahankan adalah identik dengan lintasan
yang diperoleh dengaan pendeko-dean keputusan keras
62

Probabilitas Kesalahaan Pendekodean

Probabilitas kesalahan pendekodean bagi pendekodean Vitebri terhadap kode-kode konvolusi


, dihitung dengan :
- memakai konsep dasar yang sama dengan yang digunakan untuk menghitung
probabilitas kesalahan bagi :
o pengdekodean kemungkinan maximum kode-kode blok
- Peristiwa-peristiwa kesalahan :
o dihitung satu-satu (enumerated)
o probabilitas-probabilitasnya dihitung
o hasilnya dipakai untuk menghitung batas-batas probabili-tas kesalahan
pengkodean
o pada pendekodean Vitebri untuk kode-kode konvolusi , maka ukuran keandalan
probabilitas yang tepat adalah :
 probabilitas bahwa lintasan yang tepat melalui tera-lis dibuang
dikedalaman j
o Ini berarti bahwa ukuran keandadalan yang benar ada-lah:
 probabilitas terbentuknya sebuah kesalahan pada setiap kesempatan
pendekodean kesalahan
 suatu kesempatan untuk membuang lintasan benar , timbul :
 msetiap saat dekoder bergerak satu unit lebih dalam ke teralis
tersebut
o Ukuran ini dibandingkan dengan ukuran yang digunakan pada kode-kpde blok ,
dimana :
 kempatan timbulnya kesalahan pada setiap
Singkatan :

1. Kode konvolusi berbeda sangat mendasar dibanding kode blok . Proses kode konvolusi ini
melalui urutan bit-bit informasi yang semi-infinite
2. Kode konvolusi dapat digambarkan dengan enkoder register ge-sernya , diagram transisi
keadaanya atau diagram teralisnya
3. Kemungkinan (Likelihood) maximum dekoder , menggunakan di-finisi kode, urutan simbol
yang diterima dan kharateristik kanal , untuk memperkirakan urutan simbol yang
dikirimkan , yang se-tara dengan untuk memperkirakan lintasan (path) yang diikuti
melewati teralis oleh enkoder . Perkiraan keluaran dekoder ada-lah urutan , yang mana :

ln Pr  y x m    ln Pr  y n ' x mn' 
n'
adalah maximum
Urutan informasi keluaran dekoder adalah urutan yang membangkitkan urutan keluaran
enkoder yang diperkirakan
4. Fungsi generator T(D , L , N) daripada kode konvolusi menggam-barkan bobot Hamming
(ukuran N = power of N ) , panjang Ham-ming ( ukuran L ) dan banyaknya informasi 1s
(ukuran N ) , untuk semua lintasan teralis , yang menyebar dari kembali memusat ke-
adaan teralis nol .
Fungsi generator dapat diperoleh dengan menyelesaikan himpun-an persamaan keadaan
untuk diagram transisi keadaan yang dimodifikasi .
4. Algorithme Vitebri (VA) memberikaan cara-cara yang mudah bagi pendekodean dengan
kemungkinan kebenaran maximum untuk kode-kode konvolusi
63

5. Probabilitas bahwa VA memilih lintasan yang salah (mengelemi-nasi lintasan yang benar)
pada setiap kedalaman ke teralis diba-tasi oleh :
Probabilitas Kesalahan :

PE  a
k  d free
k Pk

dimana a k dihitung dengan memakai fungsi pembangkit : T D, 1, 1  a k Dk


k  d free

dan probabilitas-probabilitas terjadi kesalahan :


untuk kanal-kanal keputusan keras
k 
k  e 1 k  e k/2 
    p 1  p  p 1  p   unt
k e
Pk    k  genap
e
e  k / 2   1  2  k / 2 
k  k  e k e 
Pk      p 1  p   unt. k  ganjil
e  k / 2   1  e 
untuk keluaran kontinyu kanal keputusan lunak

1   x2   2kREb 
Pk   exp   dx  Q 
  
2 kREb
2  2   N o 
No

6. Fungsi Q didifinisikaan sebagai



Qx   1  Px    Z t  dt
x
7. Uraian asiptotis untuk Q(x) yang berlaku untuk nilai x besar adalah :
Z x    1 1.3.5.    2n  1 
n
Q x  
1 1.3
1        Rn
x  x2 x4 x 2n 
dimana :
Z t 

Rn   1 1.3.5      2n  1 2 n 2 dt
n 1

x t

 yang mana nilai absolutnya adalah lebih kecil dibandingkan dengan nilai suku pertama
diabaikan
 Untuk nilai x yang moderat (tidak terlalu besar), terdapat bebe-rapa pendekatan yang
rational. Salah satu pendekatan tersebut adalah :
1  Qx   Px   1  Z x b1t  b2 t  b3t  b4 t  b5t    x 

;  x   7.5 10 8  , dengan nilai-nilai :


1
dimana t 
1  px
p = 0.2316419
b1 = 0.319381530
b2 = -0.356563782
b3 = 1.781477937
b4 = -1.8212559978
b5 = 1.330274429
8. Fungsi kesalahan dapat dikaitkan dengan fungsi Q, sesuai rumis berikut ini :
64

 
x
erf x 
2
 
t2
e dt  1  2Q 2 x
0
9. Fungsi kesalahan pelengkap (complementary error function) dapat didekati serupa
dengan fungsi-Q
Tabel : tabel singkat nilai-nilai Q(x) dan Z(x)
x Q(x) Z(x) x Q(x) Z(x)

0.0 0.50000 0.39894 1.1 0.13567 0.21785


0.1 0.46017 0.39695 1.2 0.11507 0.19419
0.2 0.42074 0.39104 1.3 0.09680 0.17137
0.3 0.38209 0.38138 1.4 0.08076 0.14973
0.4 0.34458 0.36827 1.5 0.06681 0.12952
0.5 0.30854 0.35206 1.6 0.05480 0.11092
0.6 0.27425 0.33322 1.7 0.04457 0.09405
0.7 0.24196 0.31225 1.8 0.03593 0.07895
0.8 0.21186 0.28969 1.9 0.12872 0.06562
0.9 0.18406 0.26608 2.0 0.02275 0.05399
1.0 0.15866 0.24197 2.1 0.1786 0.04398

 x 
Note : tabel diatas berdasarkan pada rumus untuk Probabilitas Kesalahan Pe  x   Q x  
1
erfc 
2  2
Contoh jika x  2 ; untuk mencari besarnya probabilitas kesalahan dapat diselesaikan dengan program
Matlab , dengan perintah sebagai berikut :
>> 0.5.*erfc(2./(2.^0.5))

ans =

0.0228 ; hasilnya boleh dikatakan sama dengan 0.02275 (yang terdapat pada tabel)
10. Probabilitas Kesalahan Bit untuk pendekodean Vitebri terhadap kode-kode konvolusi ,
dibatasi dengan persyaratan sebagai beri-kut :

Pb  c
k  d free
k Pk

dimana Pk dihitung dari hubungan :



d
T D, 1, 1    ck Dk
dN k  d free

11. Diketahui banyak kode konvolusi yang bagus , dimana sebagian besar diperoleh dengan
mencari lewat komputer .
Gain pengkodean untuk kode konvolusi yang bagus dapat setinggi nilai pendekatan ,
yaitu 6 dB , dengan cara memakai pengdekodean keputusan lunak .
Beberapa yang terbaik adalah kode konvolusi bernilai 1/2 dan dan bernilai 1/3 , telah
dibuat petanya .
12. Kode-kode konvolusi dapat didekode memakai pendekodean sekuensial .
Keruwetan pendekodean sekuensial adalah bebas dari panjang kendala , sehingga kode-
kode dengan panjang kendala yang tinggi , dapat didekode .
13. Pendekodean blok daripada kode konvolusi berentetan (con-cantenated convolution)
serta kode Reed-Solomon dapat digu-nakan jika dikehendaki untuk yang gain
penkodeanya besar (large coding gain) .
Sistem-sistem penkodean berentetan telah digunakan misi ruang angkasa .
65

Soal-soal tentang VA :

1. Dengan menggunakan kode yang ditentukan oleh teralis sebagai gambar berikut :

lakukan dekode memaakai pendekodean Vitebri keputusan keras


Perhatikan 4 buah vektor-7 berikut ini :
g 0  1101000
g1  0110100
g 2  1110010
g 3  1010001
Dengan 4 buah vektor tersebut akan terdapat 24 = 16 buah kombinasi linier ; hal ini sesuai
dengan 16 jenis kombinasi urutan bit , yang masing-masing kombinasi terdiri atas 4 buah bit
yang tersusun secara seri.
Contoh :
Kombinasi linier yang disebabkan oleh w  w0 w1 w2 w3   1 0 1 1 adalah :
x  w g  1 . g 0   0 . g1   1 . g 2   1 . g 3 
 1101000  0000000  1110010  1010001
 1001011
Secara lengkap terdapat 16 jenis urutan bit , yang urutan–urutan bit tersebut berbeda satu sa-
ma lain.
Jika disusun tabel kombinasi linier dan secara lengkap, maka didapatkan hasil yang persis
sama , sebagaimana tabel kode blok , sebagai berikut :

Kombinasi
w0 w1 w2 w3 Linier

0 0 0 0 0000000
1 0 0 0 1101000
0 1 0 0 0110100
1 1 0 0 1011100
0 0 1 0 1110010
1 0 1 0 0011010
0 1 1 0 1000110
1 1 1 0 0101110
0 0 0 1 1010001
1 0 0 1 0111001
0 1 0 1 1100101
1 1 0 1 0001101
0 0 1 1 0100011
1 0 1 1 1001011
0 1 1 1 0010111
1 1 1 1 1111111

Fungsi denyut : semua fungsi yang memenuhi hubungan


  t  t xt   xt 

0 0
66

maka  t  t0  adalah fungsi denyut yang terjadi pada t  t 0


Fungsi periodic :

Jika fungsi periodic ht   A cos2 f 0 t   H  f    A cos2 f 0 t  e  j 2 f t dt

 
  
H  f    e i 2 f 0 t  e i 2 f 0 t e 2 f t dt   e i 2  f 0  f  t  e i 2  f 0  f  t dt
A
2 
A
2 

A  i 2  f  f 0 t  A
 
H f    e dt   e i 2  f 0  f  t dt     f  f 0     f  f 0 
2     2
  
Note :   f     t e i 2 f t
dt   1 e
i 2 f  t
dt  e
i 2 f t
dt
  

Kebalikan H  f   ht  adalah :


A  
  
ht      f  f 0     f  f 0  e j 2 f t df      f  f 0  e j 2 f t df     f  f 0  e j 2 f t df 
A
2  2    

ht   e j 2  f t  e  j 2  f t  A cos 2  f t
A A
2 2
 

   f ) f 0 e df  e    f  f e
j 2 f t 2 f t j 2 f t
Note : dan 0 df  e  j 2 f t
 

 Jadi A cos 2 f t    f  f 0     f  f 0 
A
2
 Jika kendala panjang (length constraint) = M , relatip pendek , yaitu jika M  8 , maka :
 dekoder dapat melakukan “pendekodean” secara optimal relatip dengan sedikit
perhitungan saja .
Pengdekodean yaang dilakukaan adalah :
 pengdekodean keputusaan keras (hard dececion decoding)
 pengdekodean keputusaan lunak (soft dececion decoding)
- Dekoder keputusaan keras : menerima keputusan bit (bit dececion) dari demodulator .
Setiap bit yang diterima diputus-kan “0” ataau “1”
- Dekoder keputusaan lunak : meliputi pemakaian dari keluaran demodulator yang
sebanding dengan “kemungkinan log” (log- likehood) daripada bit yang dimodulasi ,
baik yang “0” maupun “1” .
- Kemungkinan log (loglikehood) adalah : logarithme dari proba-bilitas menjadi suatu
bit 0 ataupun 1
- Rumus : loglikehood = log (Pr< x = 0z = 1 >)
- Sebagai misal , jika bit yang didemodulasi adalah 1 , maka bit hasil demodulasi adalah
0.
- Jika bit yang dipancarkan adalah variable x dan yang didemo-dulasi adalah variabel z ,
maka expresi ini adalah loglikehood , bahwa x adalah 0 asalkan z adalah 1 .
 Pendekodean keputusaan lunak biasanya menghasilkan kinerja yang lebih baik , namun
lebih komplex

Pendekodean Keputusaan Lunak


Pada pendekodean ini , kata kode yang diterima bisa berupa setiap bilangan riil apapun juga .
Oleh karena adanya :
67

 kekaburan kanal (channel fading)


 noise
 interferens
 faktor-faktor lain
maka bit yang lewat media transmisi bisa berubah , misalnya 0 men-jadi bukan nilai nol ,
ataupun sebaliknya .
Misalnya : akibat terjadinya kesalahan , dari bit “0” berubah menjadi nilai riil bukan nol ,
yang diberi simbol dengan “x” .
Jika probalitas “0” menjadi (-Inf s.d. 1/10) adalah 2/5
probalitas “0” menjadi (1/10s.d 1/2) adalah 1/3
probalitas “0” menjadi (1/2 s.d. 9/10) adalah 1/5 2/5+1/3+1/5+1
probalitas “0” menjadi (9/10. Inf) adalah 1/15 /15=1
Jika probalitas “1” menjadi (-Inf s.d. 1/10) adalah 1/16
probalitas “1” menjadi (1/10 s.d. 1/2) adalah 1/8 1/16+1/8+3/8+
probalitas “1” menjadi (1/2 s.d. 9/10) adalah 3/8 7/16=1
probalitas “1” menjadi (9/10 s.d. Inf) adalah 7/16
Penulisan secara matematis adalah sebagai berikut :
Probabilitas Penerimaan Probabilitas Penerimaan
Jika Mengirim 0 Jika Mengirim 1
P((-Inf. 1/10)0) = 2/5 P((-Inf . 1/10)1) = 1/16
P((1/10 . 1/2)0) = 1/3 P(( 1/10. 1/2)1) = 1/8
P((1/2 . 9/10)0) = 1/5 P((1/2 . 9/10)1) = 3/8
P((9/10 . Inf)0) = 1/15 P((9/10 . Inf)1) = 7/16
Limtasan optimum (Optimum path) untuk keputusaan lunak (soft de-cision) ini adalah
memaximalkan matrix signal yang diterima r dan signal yang dikoreksi c .
Untuk panjang kata kode sebanyak N transmisi (=N buah bit) , maka matrix
M r c    log Pri / ci 
N

i 1

 1 1 9
 
 LB1 LB 2  10 2 10 
   2 1 1
Transfer Probability   P LB1.LB 2 0  P LB 2.LB3 0   
1

 P LB1.LB 2 0   5 5 15 
P LB 2.LB3 0    1
3
1 3 7
 16 8 8 16 

APLIKASI FFT

Jika fungsi e  t dihitung dengan menggunakan pendekatan FFT , untuk transfomasi Fourienya
, maka :
 Langkah ke-1 didalam penggunaan DFT adalah :
 Menentukan N = tinggi maximum sample dan T = interval sample
68

 Sebagai contoh , N = 32 , maka setiap sample dinyatakan dengan 5 buah bit ; jika T
= 0.25 detik , maka pada waktu tersebut nilai e t  0
 Hal tersebut digambarkan dengan kurva e  t , yang dilukis berdasarkan program
Matlab berikut ini :
» t=0:0.01:7;
» x=[exp(-t)];
» plot(t,x);
» plot(t,x)

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7

 Berdasarkan kurva diatas , maka e t  0 (menurut perhitung-an ,


t 6

e 6  0.0025  0 )

INFORMASI & KODING

Koding sumber :
Konversi keluaran DMS = Discrete Memoryless Signal menjadi suatu urutan
symbol biner (kata kode biner = binary code word) dinamakan dengan :
koding sumber
- Alat yang melakukan proses konversi ini disebut dengan encoder sumber
- Tujuan digunakannya koding sumber adalah :
o Meminimalkan kecepatan bit rata-rata yang digunakan untuk
menyatakan sumber , dengan mengurangi berlebihannya (redun-
dancy) sumber informasi

Panjang Kode
69

Anda mungkin juga menyukai