Anda di halaman 1dari 13
PETUNJUK PRAKTIKUM TEORI INFORMASI DAN PENGKODEAN Edisi Ganjil 2010/2011 Laboratorium Komputer Jurusan Teknik Elektro

PETUNJUK PRAKTIKUM TEORI INFORMASI DAN PENGKODEAN

Edisi Ganjil 2010/2011

Laboratorium Komputer Jurusan Teknik Elektro

FAKULTAS TEKNIK UNIVERSITAS TARUMANAGARA

PETUNJUK PRAKTIKUM TEORI INFORMASI DAN PENGKODEAN

Edisi Ganjil 2010/2011

Tim Penyusun:

Joni Fat, ST. ME.

LABORATORIUM KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS TARUMANAGARA

P1

Linear Binary Block Codes

A. Tujuan Instruksional

Mempelajari cara encoding dan decoding dengan menggunakan Block Codes.

B. Teori Percobaan

B.1. Matriks Generator G Linear code merupakan sebuah ruang vektor, di mana masing-masing code word merupakan vektor. Jadi, himpunan vektor-vektor dengan panjang n ini dinamakan linear block code jika dan hanya jika himpunan tersebut merupakan subspace dari vektor space n- tuples.

Representasi matriks dari sebuah code merupakan cara ideal untuk menggambarkan code itu dengan ringkas dan menyeluruh. Sebuah linear code berukuran (n,k) dinyatakan dengan matriks generator G berdimensi k x n. Masing-masing baris G merupakan n-tuple, dan masing-masing kolom merupakan k-tuple. Oleh karena ruang baris G adalah himpunan basis vektor untuk subspace berdimensi k, setiap code word c merupakan kombinasi linier

dari baris-baris G dengan berdasarkan pada data informasi d = (d 0 , d 1 ,

, d k-1 ), maka

c = d 0 g 0 + d 1 g 1 +

+ d k-1 g k-1

dengan d i (0 < i < k-1), menyatakan bit-bit informasi; dan g i (0 < i < k-1), merupakan baris vektor dari G. Prosedur encoding dapat direpresentasikan dalam bentuk matriks sebagai berikut:

c = d . G dengan G = [P k x (n-k) | I k ]. Matriks G ini dinamakan matriks generator dari kode sistematik.

B.2. Matriks Parity-Check H Matriks H merupakan matriks parity-check untuk matriks generator G. Matriks H ini adalah matriks berdimensi (n-k) x n, sedemikian hingga c . H T = 0 dengan 0 menandakan semua baris nol dengan anggota sebanyak n-k. Persamaan tersebut dapat digunakan untuk membuktikan keabsahan vektor G, yaitu G . H T = 0, dengan 0 merupakan matriks beranggota nol dengan dimensi k x (n-k). Untuk matriks G seperti pada persamaan di atas, maka matriks H dapat dirumuskan sebagai berikut:

H = [ I n-k | P T (n-k) x k ]

Dengan P T merupakan matriks transpos dari submatriks P dari persamaan matriks G.

B.3. Syndrome Misalkan c = (c 0 , c 1 ,

r 1 ,

atau berbeda dari c, tergantung pada noise dalam saluran. Apabila r ≠ c, dapat dikoreksi

dengan persamaan r = c + e, dengan e = r + c = (e 0 , e 1 ,

, e n-1 ). Word e inilah yang

, r n-1 ) merupakan word yang diterima pada output demodulator. Word r ini dapat sama

, c n-1 ) merupakan code word yang ditransmisikan dan r = (r 0 ,

dinamakan error. Setelah menerima r, dekoder mulai menghitung syndrome, untuk menentukan letak

errors, dan untuk memperbaikinya. Syndrome dinotasikan dengan s:

s = r . H T = (s 0 , s 1 ,

,

s n-k-1 )

Oleh karena r merupakan penjumlahan dari vektor c dan e, maka persamaan di atas dapat diubah menjadi:

s = (c + e) H T = c . H T + e . H T dengan c . H T = 0, maka persamaan di atas dapat ditulis dengan sederhana menjadi:

s = e . H T Persamaan ini menunjukkan hubungan antara syndrome dengan pola error. Jadi, bila s = 0, maka dapat dipastikan e = 0 atau tidak ada error yang timbul. Sebaliknya bila s ≠ 0, maka dapat dipastikan r ≠ c, yang berarti terjadi error.

C. Pelaksanaan Percobaan

C.1. Pengiriman Tanpa Error

1. Buka file “Simulasi TIP.xlsb.”

2. Buka tab “Matriks” dari file tersebut. Praktikan akan melihat dua buah matriks, yaitu matriks G dan H. Kedua matriks ini masing-masing adalah matriks generator dan

parity-check.

3. Buka tab “Encoder.” Pada tab ini, Praktikan mengisikan data yang akan dikirim sesuai dengan perhitungan dimensi matriks G pada kolom berwarna biru muda.

4. Pada kolom di sebelah pojok kanan bawah layar monitor, isikan dengan nilai “0.” Nilai ini berarti pengiriman data tidak akan dibebani dengan faktor kesalahan. Jadi, data yang dikirim akan sama dengan data yang diterima. Formulasikan bentuk matematis dari proses encoder tersebut.

5. Tab “Syndrome Gen” akan memperlihatkan bagaimana sistem membangkitkan syndrome untuk keperluan deteksi kesalahan pada data yang diterima. Proses ini akan berjalan secara otomatis. Praktikan diminta untuk menformulasikan bentuk matematis

dari proses ini, dan lakukan perhitungan ulang untuk melihat apakah hasil yang diperoleh sesuai dengan yang dihasilkan oleh sistem.

6. Tab “Correction” merupakan ringkasan keseluruhan proses sistem. Amati tiap kolom yang ada.

C.2. Pengiriman dengan Error

1. Untuk file yang sama dengan percobaan C1.

2. Matriks yang digunakan juga sama dengan percobaan C1.

3. Buka tab “Encoder.” Pada tab ini, Praktikan mengisikan data yang akan dikirim sesuai dengan perhitungan dimensi matriks G pada kolom berwarna biru muda.

4. Pada kolom di sebelah pojok kanan bawah layar monitor, isikan dengan nilai “1.” Nilai ini berarti pengiriman data akan dibebani dengan faktor kesalahan. Jadi, data yang dikirim tidak akan sama dengan data yang diterima. Berapa bitkah kesalahan yang dapat dikoreksi oleh sistem ini? Jelaskan.

5. Tab “Syndrome Gen” akan memperlihatkan bagaimana sistem membangkitkan syndrome untuk keperluan deteksi kesalahan pada data yang diterima. Proses ini akan berjalan secara otomatis. Lakukan perhitungan secara matematis untuk membuktikan bahwa hasil perhitungan sistem adalah benar.

6. Tab “Correction” merupakan ringkasan keseluruhan proses sistem. Amati tiap kolom yang ada.

D. Tugas

1. Tuliskan coset table untuk percobaan ini!

2. Apabila data yang dikirimkan adalah "011", hitunglah:

a. Code word dari data yang akan dikirim.

b. Syndrome.

c. Apabila terjadi error pada bit yang ke-4, tulis proses pengoreksian dan hasil

pengoreksiannya. Hitungan ini dikerjakan secara manual dengan matriks yang telah diberikan.

3. Bila diberikan:

dan hasil pengoreksiannya. Hitungan ini dikerjakan secara manual dengan matriks yang telah diberikan. 3. Bila diberikan:

Hitung:

a. Matriks H.

b. Tabel Coset.

c. Bila data yang akan dikirim adalah "1011", hitung:

Code word dari data yang akan dikirim.

Syndrome.

Apabila terjadi error pada bit yang ke-6, tulis proses pengoreksian dan hasil

pengoreksiannya.

E. Daftar Acuan

M. Y. Rhee, Error-Correcting Coding Theory, USA: McGraw-Hill, 1989, pp. 35-88.

T. K. Moon, Error Correction Coding: Mathematical Methods and Algorithms, Hoboken, NJ: John Wiley & Sons, 205, pp. 83-112.

A. Tujuan Instruksional

P2

Hamming Codes

Mempelajari tentang hamming encoder dan hamming decoder.

B. Teori Percobaan

Hamming code merupakan linear block code berukuran (n, k) dengan vektor bit check

sepanjang q = (n – k) ≥ 3. Besarnya nilai n = 2 q – 1, sedangkan k = n – q. Dengan demikian,

maka code rate (R c ) adalah

= = 1

(1)

Dari persamaan (1), nilai R c ≈ 1 bila q >> 1.

Tanpa melihat nilai 1, minimum distance untuk hamming code adalah selalu 3.

d min = 3

(2)

Dengan demikian, hamming code hanya dapat digunakan untuk koreksi satu atau dua

kesalahan. Banyak kesalahan yang dapat dikoreksi oleh sebuah kode adalah tergantung pada

nilai d min (koreksi kesalahan maksimum < d min ).

C. Pelaksanaan Percobaan

C.1. Simulasi Sistem Komunikasi Sederhana dengan Noise Pada percobaan pertama ini, praktikan akan membangun simulasi sistem komunikasi

sederhana dengan bantuan software Matlab 7.0. Sistem yang akan dibangun dapat dilihat

pada gambar berikut.

Sistem yang akan dibangun dapat dilihat pada gambar berikut. Gambar 1. Bagan Sistem Komunikasi Sederhana dengan

Gambar 1. Bagan Sistem Komunikasi Sederhana dengan Noise

Gambar 1 memperlihatkan bahwa data yang dikirim adalah data biner yang

dibangkitkan secara acak berdasarkan distribusi bernoulli. Data kemudian ditransmisikan

melalui Binary Symmetric Channel (BSC). BSC memungkinkan sistem ini digunakan untuk

pengujian kode error-control. Blok Error Rate Calculation akan membandingkan input dari

transmitter dengan yang diterima dari BSC. Perbandingan ini akan menghasilkan nilai error

rate. Keluaran dari blok ini akan ditampilkan oleh blok Display, yaitu error rate, banyaknya

yang terjadi, dan jumlah perbandingan yang dilakukan oleh blok Error Rate Calculation.

error

Untuk membangun sistem ini, praktikan dapat mengikuti langkah-langkah berikut:

1. Buka program Matlab 7.0.

2. Pilih File – New – Model.

3. Cari simbol (Simulink Library Browser) seperti pada Gambar 2 (dalam lingkaran merah).

Browser ) seperti pada Gambar 2 (dalam lingkaran merah). Gambar 2. Simbol Simulink Library Browser 4.

Gambar 2. Simbol Simulink Library Browser

4. Pada Simulink Library Browser, carilah blok-blok berikut ini: Bernoulli Binary Generator, Binary Symmetric Channel, Error Rate Calculation, dan Display.

5. Hubungkan blok-blok tersebut sesuai dengan Gambar 1.

6. Lakukan pengatur parameter untuk masing-masing blok (perhatikan Gambar 3, Gambar 4, Gambar 5, dan Gambar 6).

(perhatikan Gambar 3, Gambar 4, Gambar 5, dan Gambar 6). Gambar 3. Parameter Blok Bernoulli Binary

Gambar 3. Parameter Blok Bernoulli Binary Generator

3, Gambar 4, Gambar 5, dan Gambar 6). Gambar 3. Parameter Blok Bernoulli Binary Generator Gambar

Gambar 4. Parameter Blok BSC

Gambar 5. Parameter Blok Error Rate Calculation Gambar 6. Parameter Blok Display 7. Lakukan pengaturan

Gambar 5. Parameter Blok Error Rate Calculation

Gambar 5. Parameter Blok Error Rate Calculation Gambar 6. Parameter Blok Display 7. Lakukan pengaturan pada

Gambar 6. Parameter Blok Display

7. Lakukan pengaturan pada lamanya simulasi akan dilaksanakan. Perhatikan kembali Gambar 2, pengaturan dilakukan pada lokasi yang ditandai dengan warna biru.

8. Jalankan Simulasi.

9. Catat hasil simulasi seperti yang ditampilkan pada blok Display dan berikan penjelasan.

C.2. Simulasi Sistem Komunikasi Hamming Model

Percobaan berikut ini merupakan lanjutan dari sistem di atas. Pada percobaan ini, akan dilakukan upaya deteksi dan koreksi terhadap kesalahan yang timbul selama transmisi dengan menggunakan hamming code. Sistem yang akan dibangun dapat dilihat pada Gambar

7.

hamming code . Sistem yang akan dibangun dapat dilihat pada Gambar 7. Gambar 7. Bagan Sistem

Gambar 7. Bagan Sistem Komunikasi Hamming Model

Sistem ini serupa dengan sistem yang sebelumnya, hanya dilakukan penambahan kemampuan untuk deteksi dan koreksi kesalahan. Ini dilakukan dengan menambahkan blok Hamming Encoder dan Hamming Decoder. Lakukan urutan langkah-langkah berikut untuk membangun sistem komunikasi Hamming Model di atas:

1. Buka kembali sistem yang telah dibuat pada percobaan C.1.

2. Sisipkan blok Hamming Encoder dan Hamming Decoder pada sistem.

3. Hubungan kedua blok tersebut dengan sistem yang ada.

4. Lakukan konfigurasi parameter untuk kedua blok ini (perhatikan Gambar 8 dan Gambar

9).

untuk kedua blok ini (perhatikan Gambar 8 dan Gambar 9). Gambar 8. Parameter Blok Hamming Encoder

Gambar 8. Parameter Blok Hamming Encoder

8 dan Gambar 9). Gambar 8. Parameter Blok Hamming Encoder Gambar 9. Parameter Blok Hamming Decoder

Gambar 9. Parameter Blok Hamming Decoder

5. Jalankan simulasi.

6. Catat hasil simulasi.

C.3. Simulasi Sistem Komunikasi Hamming Model dengan Grafik Pada percobaan ini, praktikan akan mengamati secara langsung bagaimana hasil koreksi yang dilakukan oleh sistem melalui grafik. Sistem yang akan dibangun dapat dilihat pada Gambar 10. Sistem pada gambar tersebut merupakan pengembangan dari sistem pada

percobaan C.2. Pada sistem ini ditambahkan sejumlah blok baru sehingga pengamatan data dapat dilakukan secara grafis.

baru sehingga pengamatan data dapat dilakukan secara grafis. Gambar 10. Simulasi Sistem Komunikasi Hamming Model dengan

Gambar 10. Simulasi Sistem Komunikasi Hamming Model dengan Grafik

Ikuti urutan-urutan langkah berikut untuk membangun sistem.

1. Buka kembali file simulasi percobaan C.2.

2. Tambahkan blok-blok berikut: unbuffer, relational operator, dan scope.

3. Hubungkan blok-blok baru ini ke sistem.

4. Lakukan konfigurasi parameter (perhatikan Gambar 11, Gambar 12, Gambar 13).

5. Jalankan simulasi.

6. Perhatikan grafik hasil simulasi.

5. Jalankan simulasi. 6. Perhatikan grafik hasil simulasi. Gambar 11. Parameter Blok Relational Operator Gambar 12.

Gambar 11. Parameter Blok Relational Operator

grafik hasil simulasi. Gambar 11. Parameter Blok Relational Operator Gambar 12. Parameter Blok Unbuffer dan Unbuffer1

Gambar 12. Parameter Blok Unbuffer dan Unbuffer1

Gambar 13. Parameter Blok Scope : Jumlah Sumbu Gambar 14. Parameter Blok Scope : Jumlah

Gambar 13. Parameter Blok Scope: Jumlah Sumbu

Gambar 13. Parameter Blok Scope : Jumlah Sumbu Gambar 14. Parameter Blok Scope : Jumlah Data

Gambar 14. Parameter Blok Scope: Jumlah Data

Jumlah Sumbu Gambar 14. Parameter Blok Scope : Jumlah Data Gambar 15. Parameter Blok Scope :

Gambar 15. Parameter Blok Scope: Batas-Batas Sumbu

D. Tugas

1.

Dengan menggunakan fungsi hammgen, bangkitkan kembali matriks G dan H dari hamming model yang digunakan ini! Catat matriks G, H, panjang codeword dan

panjang message.

2.

Berdasarkan matriks pada Tugas 1, konstruksikan tabel coset dari model ini!

3. Apabila data yang dikirimkan adalah "0110", hitunglah:

a. Code word dari data yang akan dikirim.

b. Misalkan yang diterima oleh receiver adalah data 1 0 1 1 0 1 1, lakukan error

correction sehingga diperoleh kembali data seperti yang dikirimkan.

E. Daftar Acuan

Help Matlab: Communications Toolbox, The Mathworks, 2004.

M. Y. Rhee, Error-Correcting Coding Theory, USA: McGraw-Hill, 1989, pp. 35-88.

T. K. Moon, Error Correction Coding: Mathematical Methods and Algorithms, Hoboken, NJ: John Wiley & Sons, 205, pp. 83-112.