Sandi Blok. Risanuri Hidayat Jurusan Teknik Elektro dan Teknologi Informasi FT UGM

dokumen-dokumen yang mirip
Kode Sumber dan Kode Kanal

PENYANDIAN SUMBER DAN PENYANDIAN KANAL. Risanuri Hidayat

Makalah Teori Persandian

METODE HAMMING PENDAHULUAN. By Galih Pranowo ing

BAB II ARITMATIKA DAN PENGKODEAN

BAB II DASAR TEORI. 7. Menuliskan kode karakter dimulai dari level paling atas sampai level paling bawah.

BAB II LANDASAN TEORI

Deteksi dan Koreksi Error

Table of Contents. Table of Contents 1

TTG3B3 - Sistem Komunikasi 2 Linear Block Code

KOREKSI KESALAHAN. Jumlah bit informasi = 2 k -k-1, dimana k adalah jumlah bit ceknya. a. KODE HAMMING

PEDOMAN PENGGUNAAN SIMULATOR PENYANDIAN DAN PENGAWASANDIAN SISTEM KOMUNIKASI BERBASIS PERANGKAT LUNAK VISUAL C#

Implementasi Encoder dan decoder Hamming pada TMS320C6416T

Dalam konvensi tersebut dijumpai bahwa suatu bilangan yang tidak disertai indeks berarti bilangan tersebut dinyatakan dalam desimal atau basis-10.

3 HASIL DAN PEMBAHASAN

UNIVERSITAS NEGERI YOGYAKARTA F A K U L T A S M I P A

BAB III HASIL DAN PEMBAHASAN

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone,

BAB IV HASIL PENGUJIAN DAN ANALISIS

BAB I BILANGAN. Skema Bilangan. I. Pengertian. Bilangan Kompleks. Bilangan Genap Bilangan Ganjil Bilangan Prima Bilangan Komposit

RANGKUMAN TEKNIK KOMUNIKASI DATA DIGITAL

BAB II KAJIAN PUSTAKA. operasi matriks, determinan dan invers matriks), aljabar max-plus, matriks atas

Teknik Telekomunikasi - PJJ PENS Akatel Politeknik Negeri Elektro Surabaya Surabaya

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN A. Latar Belakang B. Rumusan Masalah C. Tujuan

G a a = e = a a. b. Berdasarkan Contoh 1.2 bagian b diperoleh himpunan semua bilangan bulat Z. merupakan grup terhadap penjumlahan bilangan.

A. SISTEM DESIMAL DAN BINER

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

Deteksi dan Koreksi Error

BAB II TEORI KODING DAN TEORI INVARIAN

II. Sistem Bilangan Outline : 31/10/2008. Anhar, ST. MT. Lab. Jaringan Komputer

Block Coding KOMUNIKASI DATA OLEH : PUTU RUSDI ARIAWAN ( )

TTG3B3 - Sistem Komunikasi 2 MAP & ML Detection

8.0 Penyandian Sumber dan Penyandian Kanal

SISTEM PENGKODEAN. IR. SIHAR PARLINGGOMAN PANJAITAN, MT Fakultas Teknik Jurusan Teknik Elektro Universitas Sumatera Utara

BAB V b SISTEM PENGOLAHAN DATA KOMPUTER (Representasi Data) "Pengantar Teknologi Informasi" 1

KONSTRUKSI LEXICOGRAPHIC UNTUK MEMBANGUN KODE HAMMING (7, 4, 3)

BAB III ANALISIS MASALAH

LAPORAN TEKNIK PENGKODEAN ENCODER DAN DECODER KODE KONVOLUSI

Deteksi dan Koreksi Error

BAB II KAJIAN TEORI. definisi mengenai grup, ring, dan lapangan serta teori-teori pengkodean yang

DATA KOMPUTASI & SISTEM BILANGAN

TTG3B3 - Sistem Komunikasi 2 Convolutional Coding

TINJAUAN PUSTAKA. Pada bagian ini akan diberikan konsep dasar graf dan bilangan kromatik lokasi pada

Encoding dan Decoding Kode BCH (Bose Chaudhuri Hocquenghem) Untuk Transmisi Data

SISTEM BILANGAN DIGITAL

Perhatikan model matematika berikut ini. dapat dibuat tabel

Jaringan Syaraf Tiruan pada Robot

Studi Digital Watermarking Citra Bitmap dalam Mode Warna Hue Saturation Lightness

SISTEM DIGITAL Dalam Kehidupan Sehari-hari PADA KALKULATOR

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN

PENGOLAHAN CITRA DIGITAL

SISTEM BILANGAN DAN SANDI

Gambar 5(a).Tabel Kebenaran Full Adder

matematika PEMINATAN Kelas X PERSAMAAN DAN PERTIDAKSAMAAN EKSPONEN K13 A. PERSAMAAN EKSPONEN BERBASIS KONSTANTA

BAB VI RANGKAIAN ARITMATIKA

BAB II METODE SIMPLEKS

III. BILANGAN KROMATIK LOKASI GRAF. ini merupakan pengembangan dari konsep dimensi partisi dan pewarnaan graf.

Pertemuan 7 Deteksi Koheren dan Deteksi non-koheren Sinyal Bandpass

C. ALAT DAN BAHAN 1. XOR_2 2. LOGICTOGGLE 3. LOGICPROBE (BIG)

Topik: Tipe Bilangan dan Sistem Bilangan

Kode, GSR, dan Operasi Pada

Penggunaan Logika Even Parity pada Beberapa Error Correction Code Terutama pada Hamming Code

BAB II PENGKODEAN. yang digunakan untuk melakukan hubungan komunikasi. Pada sistem komunikasi analog, sinyal

NOTASI ILMIAH DAN ANGKA PENTING

BAB III ANALISIS DAN DESAIN SISTEM

BAB II Sistem Kode Dalam Bilangan Biner

Proses Decoding Kode Reed Muller Orde Pertama Menggunakan Transformasi Hadamard

DETERMINAN. Determinan matriks hanya didefinisikan pada matriks bujursangkar (matriks kuadrat). Notasi determinan matriks A: Jika diketahui matriks A:

Deteksi & Koreksi Kesalahan

BESARAN DAN PENGUKURAN

MATRIKS SATUAN ACARA PERKULIAHAN

SISTEM BILANGAN, OPERASI ARITMATIKA DAN PENGKODEAN

2.1 Desimal. Contoh: Bilangan 357.

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

GARIS-GARIS BESAR PROGRAM PEMBELAJARAN

SISTEM SANDI (KODE) Suatu rangkaian pengubah pesan bermakna (misal desimal) menjadi sandi tertentu (misal biner) disebut enkoder (penyandi).

BAB IV HASIL DAN PEMBAHASAN

Fast Correlation Attack pada LILI-128

LEMBAR AKTIVITAS SISWA MATRIKS

BAB III REGRESI SPASIAL DENGAN PENDEKATAN GEOGRAPHICALLY WEIGHTED POISSON REGRESSION (GWPR)

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

Soal Latihan Bab Tentukanlah kompelemen 1 dan kompelemen 2 dari bilangan biner berikut:

BAB II TEKNIK PENDETEKSIAN KESALAHAN

JAWABAN ORGANISASI KOMPUTER 7 Agustus 2004

PENERAPAN METODE MOST SIGNIFICANT BIT UNTUK PENYISIPAN PESAN TEKS PADA CITRA DIGITAL

2 BILANGAN PRIMA. 2.1 Teorema Fundamental Aritmatika

SIMULASI LOW DENSITY PARITY CHECK (LDPC) DENGAN STANDAR DVB-T2. Yusuf Kurniawan 1 Idham Hafizh 2. Abstrak

Representasi Bilangan dan Operasi Aritmatika

Review Kuliah Sebelumnya

BILANGAN PECAHAN. A. Pengertian Bilangan Pecahan dan Pecahan Senilai Bilangan pecahan adalah bilangan yang dapat dinyatakan sebagai

MODUL TEKNIK DIGITAL MODUL II ARITMATIKA BINER

kamtoalrasyid.wordpress.com Mathematics, the Art of Science and Technology

SISTEM BILANGAN DAN FORMAT DATA

8 MATRIKS DAN DETERMINAN


BAB III ANALISIS KOMPLEKSITAS ALGORITMA

BROADCAST PADA KANAL WIRELESS DENGAN NETWORK CODING Trisian Hendra Putra

Representasi Data Digital (Bagian 1)

RUNTUN MAKSIMAL SEBAGAI PEMBANGKIT RUNTUN SEMU PADA SISTEM SPEKTRUM TERSEBAR. Dhidik Prastiyanto 1 ABSTRACT

Transkripsi:

Sandi Blok Risanuri Hidayat Jurusan Teknik Elektro dan Teknologi Informasi FT UGM Sandi Blok disebut juga sebagai sandi (n, k) sandi. Sebuah blok k bit informasi disandikan menjadi blok n bit. Tetapi sebelum melangkah lebih jauh, perlu dilihat sebuah konsep dalam penyadian yang disebut sebagai jarak Hamming Katakanlah diinginkan sandi untuk 10 bilangan bulat, 0 sampai 9, dengan urutan digital. Ada empat bit untuk membentuk angka-angka bulat tersebut. Tabel 1 di bawah ini menunjukkan urutan angka-angka tersebut beserta angka binernya. Enam urutan yang tersisa (10 s.d. 15) tidak digunakan. Tabel 1. Angka Biner dan Nilai Desimal-nya Biner Desimal 000 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 Tdk digunakan 1011 Tdk digunakan 1100 Tdk digunakan 1101 Tdk digunakan 1110 Tdk digunakan 1111 Tdk digunakan

Semua kombinasi yang mungkin untuk 4 bit data disebut ruang sandi. Untuk 4-bit data di atas terdapat 16 urutan ruang sandi, dan yang digunakan hanya sepuluh (valid). Enam kombinasi bit data yang lain tidak dipakai, dan tidak akan pernah dikirim. Sehingga jika ada kombinasi bit data yang tidak valid ini diterima di bagian penerima, maka penerima mengetahui bahwa ada kesalahan bit yang terkirim. 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Valid 1010 1011 1100 1101 1110 1111 Tdk digunakan Ruang Sandi Gambar. Ruang sandi yang berupa daftar kombinasi data 4-bit. Data yang valid merupakan bagian dari ruang sandi, yaitu berupa kombinasi data 4-bit yang dipakai. 1.1.1 Bobot Hamming Bobot Hamming adalah jumlah terbesar dari nilai bit 1 dalam sebuah data yang valid. Dalam skema contoh ini bernilai 3, yaitu di antara 10 kombinasi bit yang valid (0111). 1.1.2 Konsep Jarak Hamming Dalam sistem kontinyu, jarak diukur dengan konsep Euclidean seperti panjang, sudut dan vektor. Sedangkan di dunia biner, jarak yang dihitung antara dua kata biner dilaksanakan dengan sesuatu yang disebut jarak Hamming. Jarak Hamming adalah jumlah perbedaan nilai bit antara dua urutan biner yang ukurannya sama. Misal, jarak Hamming antara 001 dan 101 adalah = 1. Jarak Hamming antara 001 1001 dan 101 0100 adalah = 4 Jarak dan bobot Hamming merupakan konsep yang sangat penting dalam penyandian. Jarak Hamming digunakan untuk menentukan kemampuan sandi untuk mendeteksi dan memperbaiki kesalahan. Meskipun bobot Hamming sandi dalam hal ini adalah 3, jarak Hamming minimum adalah 1. Antara 1011 dan 1010 dibedakan hanya oleh satu bit. Kesalahan sebuah bit tunggal dapat menyebabkan 1011 menjadi 1010. Penerima akan membacanya sebagai 1010, dan akan melihatnya sebagai sebuah data yang valid. Penerima tidak akan pernah tahu bahwa sebenarnya urutan yang dikirim adalah 1011. Jadi kesalahan satu bit pada sebuah data valid yang berubah ke data valid lain tidak akan diketahui bahwa ada kesalahan bit.

Sekarang sandi diperpanjang dengan tambahan satu bit paritas. Jika jumlah bit bernilai 1 adalah genap, maka ditambahkan bit 1 pada sandi tersebut, dan jika jumlah bit bernilai 1 adalah ganjil, maka ditambahkan bit 0 pada akhir sandi tersebut. Ruang sandi sekarang bertambah besar dua kali lipat. Dari 16 kombinasi menjadi 32. Ruang sandi menjadi sama dengan 2N, di mana N adalah panjang sandi. Jika panjang sandi ditambah lagi, maka ruang sandi dapat bertambah menjadi 64. Jumlah sandi yang valid adalah 10 dari 32 pada kasus pertama, dan tetap 10 dari 64 pada kasus kedua. Kini ada tiga pilihan sandi, dengan 4, 5 atau 6-bit. Berat Hamming sandi biner pertama adalah 3, 4 untuk sandi kedua dan 5 untuk sandi terakhir. Jarak Hamming minimum untuk sandi pertama adalah 1. Jarak Hamming minimum untuk sandi kedua 2 bit dan 3 untuk yang terakhir. Pada sandi pertama, kesalahan bit tunggal tidak dapat ditoleransi (karena tidak dapat dideteksi). Pada sandi kedua, satu kesalahan bit dapat dideteksi karena kesalahan bit tunggal tidak menyebabkan satu sandi berubah ke bentuk sandi yang lain. Dapat dikatakan bahwa kemampuan deteksi kesalahannya adalah 1. Sandi terakhir dapat mendeteksi sampai 2 bit kesalahan. Sehingga kemampuan deteksi kesalahan adalah 2 bit. Tabel 2. Data valid dan penambahan bit paritas Desi mal Biner Tambah 1 bit paritas Tambah 1 lagi bit paritas 0000 0000 1 0001 000001 10 2 00101010 10 3 0011 0011 011 00 4 01010100 10 5 0101 0101 101 00 6 01111 0110 7 0111 011111 10 8 1000 100000 10 9 1001 100001 00 6 lagi tak digunakan 22 lagi tak digunakan 52 lagi tak digunakan

Jumlah maksimum kesalahan bit dapat diketahui adalah t = d min 1 d min adalah jarak Hamming dari sandi. Untuk sandi dengan d min = 3, 1 dan 2 bit kesalahan dapat dideteksi dengan baik. Dengan demikian dapat dibuat sejumlah sandi dengan jarak Hamming sedemikian sehingga mampu mendeteksi kesalahan bit sejumlah yang diinginkan. Namun jarak Hamming yang besar membutuhkan sandi yang panjang. Hal ini akan menambah panjang kepala (overhead), dan mengurangi kecepatan data pada sebuah kanal dengan lebar bidang tertentu, sebagaimana pepatah bahwa jer basuki mawa bea (segala usaha untuk menjadi lebih baik pasti butuh pengorbanan. 1.1.3 Membuat sandi blok Sandi blok dituliskan dengan (n.k). Sandi mengandung k bit informasi dan menghitung (n-k) bit paritas dari matriks generator sandi. Kebanyakan sandi blok tidak mengubah bit informasi walaupun bit paritas ditambahkan baik di depan atau pun di belakang bit informasi tersebut. Sandi Hamming, sandi blok linear sederhana Kode Hamming yang paling banyak digunakan kode blok linear. Sebuah kode Hamming umumnya ditentukan sebagai (2 n 1, 2 n n 1). Ukuran blok adalah sama dengan 2 n 1. Jumlah bit informasi dalam blok adalah sama dengan 2 n n 1, dan jumlah bit overhead adalah n. Semua sandi Hamming dapat mendeteksi kesalahan 3 bit dan dan mengkoreksi satu bit. Umumnya ukuran sandi Hamming adalah (7, 4), (15,11) dan (31, 26), yang ke semuanya ini mempunyai jarak Hamming yang sama. Kita lihat sandi Hamming (7,4). Dalam sandi ini, panjang data informasi adalah 4 bit. Sehingga hanya ada 16 kombinasi bit yang mungkin. Tabel 3 berikut menunjukkan semua 16 kombinasi tersebut. Tabel 3. Informasi dan kombinasi bit data Informasi bit ke 1 bit ke 2 bit ke 3 bit ke 4 0 1 0 1 2 1 0 3 1 1 4 0 1 5 0

6 0 7 1 8 1 0 9 1 1 10 0 11 1 12 1 1 13 1 14 1 15 1 Tiga bit paritas akan ditambahkan ke bit-bit data di atas. Akan ada delapan kombinasi yang berbeda dari 3 bit paritas yang mungkin. Dengan mengabaikan kombinasi semua nol (000) dan menuliskan tujuh kombinasi yang tersisa, hasilnya terlihat pada Tabel 4. Tabel 4. Kombinasi 3 bit paritas Kombi nasi ke Paritas 1 1 2 3 4 1 5 6 7 Katakanlah matriks H ada tujuh baris, disebut dengan matriks paritas sandi. Matriks ini mempunyai n baris dan n-k kolom. Untuk sandi (7, 4), ada 7 baris dan 3 kolom. Baris-baris matriks disusun ulang dengan baris dasar untuk bersama-sama baik di atas atau di bagian bawah. Penataan akan memberikan sandi Hamming baru. Berikut ini adalah hanya dua cara menyusun baris-baris H, yang masing-masing akan menghasilkan sandi yang berbeda.

H = 1 1 atau dengan susunan yang berbeda H = 1 1 Ambil bagian atas dari matriks ini (atas garis), dan buat sebuah matriks baru G G = 1 0 0 1 1 0 0 1 Ambil bagian atas dari matriks H (sebagai contoh, ambil matriks H yang kanan), tempelkan di sebelah kanan sebuah matriks identitas, sehingga membentuk sebuah matriks baru ukuran (4 x 7). Matriks ini adalah matriks generator, yang akan memetakan ke 16 informasi ke 16 sandi yang valid. Penyusunan baris H yang berbeda akan menyebabkan matriks G berbeda, sehingga akan membentuk pemetaan yang berbeda. Point penting di sini adalah bahwa dua sandi blok dengan ukuran yang sama akan menyebabkan pemetaan yang berbeda tergantung pada susunan baris-barisnya, namun masing-masing pemetaan mempunyai bobot Hamming yang sama dan mempunyai kemampuan koreksi/deteksi kesalahan yang sama. c adalah sandi yang dikirim, diperoleh dari perkalian antara informasi vektor d dengan matriks G, c = d. G Contoh, Data informasi 0110 akan menghasilkan sandi terkirim sepanjang 7 bit, c = 0 1 0 0 1 1 0 0 1 = 0 1 0 1 1.1.4 Pengawa Sandi Konsep utama pengawa-sandi (decoder) adalah untuk menentukan yang mana dari 2 k sandi yang valid terkirim di antara salah satu dari 2 n sandi yang telah diterima. Lanjutan dari contoh sandi blok (7, 4) sebelumnya.

Pengawa sandi blok cukup mudah. Akan dihitung sebuah Sindrom (s) dari sebuah sandi yang masuk. Kalikan vektor masuk dengan transpose paritas matriks H. (Ingat bahwa perkalian dengan matriks G di sisi pengirim/penyandi dan perkalian dengan H di sisi penerima) s = c. H Ukuran dari sindrom sama dengan (n-k) bit. Dari contoh sandi (7, 4) di atas, panjang bit adalah tiga. Untuk mudahnya, ketika sindrom semua bernilai nol maka berarti tidak terjadi kesalahan. Jadi di sini diinginkan sindrom sama dengan nol. Dari contoh di atas, kalikan vektor sandi yang diterima [0 1 0 1] dengan matriks H T, untuk diuji apakah sindrom bernilai semua nol, yang membuktikan bahwa yang diterima adalah sandi yang valid. s = 0 1 0 1 1 1 s = 1.0 + 0.1 + 1.1 + 1.0 + 0.1 + 0.0 + 1.1 1.0 + 1.1 + 1.1 + 0.0 + 0.1 + 1.0 + 0.1 1.0 + 1.1 + 0.1 + 1.0 + 1.1 + 0.0 + 0.1 = 0 Hasilnya adalah ( 0), sindrom dengan semua nol. Katakanlah sebuah kesalahan terjadi. Vektor yang diterima sekarang (1 1 0 1), yaitu bit paling kiri diterima terbalik. Penghitungan sindrom mendapatkan s = 1 1 0 1 1 1 s = 1.1 + 0.1 + 1.1 + 1.0 + 0.1 + 0.0 + 1.1 1.1 + 1.1 + 1.1 + 0.0 + 0.1 + 1.0 + 0.1 1.1 + 1.1 + 0.1 + 1.0 + 1.1 + 0.0 + 0.1 =

Hasil sindrom () adalah yang merupakan baris pertama pada matriks H. Sehingga kesalahan bit terjadi pada bit pertama (paling kiri) yang bernilai 1. Koreksi dilakukan dengan membalik ulang bit di posisi tersebut dari 1 kembali ke 0. Vektor yang seharusnya adalah (0 1 0 1) Berikut adalah contoh lain, bit-bit yang diterima adalah ( 1 ). kalau ada kesalahan bit, di mana terjadi kesalahan bit tersebut. s = 1 1 1 s = 1.0 + 0.1 + 1.1 + 1.1 + 0.1 + 0.1 + 1.0 1.0 + 1.1 + 1.1 + 0.1 + 0.1 + 1.1 + 0.0 1.0 + 1.1 + 0.1 + 1.1 + 1.1 + 0.1 + 0.0 = s = () terletak di baris ke dua. Maka kesalahan bit terjadi pada bit kedua. Vektor yang seharusnya adalah ( 1 1 ) s diterima = 1 s terkoreksi = 1 Terbukti metode ini tidak hanya mendeteksi bahwa sebuah kesalahan bit telah terjadi, namun diketahui pula posisi (lokasi) kesalahan bit sehingga dapat diperbaiki. Semua kesalahan bit tunggal dapat dideteksi dan dikoreksi dengan metode ini. Mengingat bahwa probabilitas kesalahan bit tunggal jauh lebih besar daripada kesalahan lebih dari satu bit, metode pengawa sandi ini disebut dengan Pengawa-sandi Kemungkinan Maksimum (Maximum Likelihood Decoding, MLD). MLD merupakan metode yang paling efisien meskipun metode lain seperti tetangga terdekat memberikan hasil yang lebih baik, namun dengan mengorbankan kecepatan decoding dan memori. Sumber: http://www.complextoreal.com/chapters/block.pdf