FINAL PROJECT PROPOSAL ENCODER AND DECODER SIMULATION OF GOLAY CODE (23,12) WITH USING VISUAL BASIC 6.0

TUGAS AKHIR SIMULASI PENYANDI DAN PENGAWASANDI SANDI GOLAY (23,12) DENGAN MENGGUNAKAN VISUAL BASIC 6.0.

  Diajukan untuk memenuhi salah syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro

  Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma

  Disusun oleh :

  

NEKODEMUS WINDU PRABOWO

NIM : 045114011

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

  

2009

  i ii

  

FINAL PROJECT PROPOSAL

ENCODER AND DECODER SIMULATION OF GOLAY CODE

(23,12) WITH USING VISUAL BASIC 6.0

  In partial fulfilment of the requirements for the degree of sarjana Teknik Electrical Engineering Departement

  Science and Technology Faculty Sanata Dharma University

  

NEKODEMUS WINDU PRABOWO

NIM : 045114011

ELECTRICAL ENGINEERING STUDY PROGRAM

ELECTRICAL ENGINEERING DEPARTMENT

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

  

2009 iii

iv

v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

  vi

  Karya ini kupersembahkan untuk Tuhan Yesus Kristus dan Bunda Maria

  Bapak dan Ibu Saudara dan Saudariku

  Semua pihak yang telah membantu terciptanya karya ini

  

INTISARI

  Sandi blok linear adalah salah satu dari banyak sandi yang dapat digunakan untuk mendeteksi dan mengoreksi galat dalam pengiriman data. Salah satu jenis sandi blok linear adalah sandi Golay. Sandi Golay adalah sandi yang sempurna atau quasi perfect dan telah banyak dipakai dalam sistem komunikasi. Sandi Golay yang dibahas adalah jenis biner (23,12).

  Program dibuat pada 2 PC yang dihubungkan dengan serial port, masing-masing bertindak sebagai penyandi atau pengawasandi. Pada penyandi, vektor pesan dimasukkan ke program pembangkit paritas yang akan dikalikan dengan matriks generator menjadi vektor sandi, yang dapat diberikan galat maksimal 23 kemudian dikirim ke PC 2. Pada pengawasandi, basis data berisi sindrom dan pola galat. Vektor sandi yang diterima pengawasandi dikalikan dengan matriks H transpose sehingga menghasilkan sindrom. Sindrom akan dibandingkan dengan basis data untuk dideteksi galat dan dikoreksi bit-bit pesan yang salah dan memperbaikinya.

  Hasil perancangan dan pengamatan menunjukkan program penyandi berhasil menyandikan data berupa bilangan integer menjadi vektor sandi dengan maksimal 23 galat dan program pengawasandi mampu menampilkan vektor pesan untuk vektor sandi yang memiliki galat maksimal 3.

  Kata kunci : Sandi Golay, quasi perfect, matriks generator, matriks H transpose, sindrom. vii

  

ABSTRACT

  Linear block code is one of many the encoding which able to be used to detect and correct mistake in delivery of data. One type of linear block code is Golay code. Golay code is perfect code or quasi perfect and have been used in communications system. Golay code which research is binary type (23,12).

  Program made at two computer which is linked serially port, each acting as encoder or decoder. At encoder, message vector was inputed to program generating of parity to be multiplied by generator matrix to become vector encode, which can given maximal error 23, then sent to PC 2. At decoder, database contain error pattern and syndrome, vector encode which is accepted by decoder to be multiplied with matrix of H transpose until get result a sindrom. Syndrome to be compared with database for detected error and corrected a wrong message beets and repairing it.

  The result of perception and observation showing that program of encoder, success to be encoding a data consist of integer number become vector code maximally 23 error and the program of decoder which able a massage vector for vector encode that owning maximally error 3.

  Keywords: Golay code, quasi perfect, generator matrix, matrix of H transpose, syndrome. viii ix

KATA PENGANTAR

  x

  Syukur dan terima kasih kepada Tuhan Yesus Kristus atas segala karuniaNya sehingga tugas akhir ini diselesaikan dengan baik.

  Penelitian yang berupa tugas akhir inimerupakan salah satu syarat bagi mahasiswa Program Studi Teknik Elektro untuk memperoleh gelar Sarjana Teknik di Universitas Sanata Dharma Yogyakarta. Penelitian ini dapat diselesaikan dengan baik atas bantuan, gagasan dan dukungan dari berbagai pihak. Oleh karena itu, peneliti ingin mengucapkan terima kasih kepada : 1.

  Tuhanku Yesus Kritus dan Bunda Maria .

  2. Bapak Yosef Agung Cahyanta S.T., M.T., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

  3. Ibu Bernadeta Wuri Harini, S.T., M.T., selaku Ketua Program Studi Teknik Elektro.

  4. Ibu Wiwien Widyastuti S.T., M.T., selaku Dosen Pembimbing tugas akhir yang telah banyak meluangkan waktu untuk memberikan bimbingan.

  5. Seluruh dosen Teknik Elektro atas ilmu yang telah diberikan selama penulis menimba ilmu di Universitas Sanata Dharma.

  6. Seluruh staf sekretariat yang telah membantu penulis dalam mengurus semua masalah administrasi selama perkuliahan di Universitas Sanata Dharma ini.

  7. Para Laboran Teknik Elektro Universitas Sanata Dharma.

  8. Kedua Orang tua serta Saudara dan saudariku tercinta atas semangat, doa dan dukungan.

  9. Teman-temanku Teknik Elektro 2004 dan yang lainnya yang telah banyak membantu. xi

  DAFTAR ISI

  Halaman Halaman Judul dalam Bahasa Indonesia………….………………………………………..i

  Halaman Judul dalam Bahasa Inggris……………………………………………………..ii Halaman Persetujuan Proposal Tugas Akhir ……………………………………………iii

  Halaman Pengesahan……………………………………………………………………...iv Pernyataan Keaslian Karya…………………………………………………….………….v

  Halaman Persembahan dan Motto Hidup……………………………………..…………..vi Intisari……………………………………………………………………………………vii

  Abstract………………………………………………………………………………….………… viii

  Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah....................................................ix Kata pengantar………………………………………………………………….………….x Daftar Isi ……………………………………………………………….…...…………...xii Daftar Gambar ………………………………….…………………..……..………...…..xv

  Daftar Tabel ………………………………………………………..…….….……..….xvii

  BAB I:PENDAHULUAN……………...…………………………………………………1

  1.1. Judul …….…………………………………………………………..…....….1

  1.2. Latar Belakang …………………………………………………..…..………1

  1.3. Batasan Masalah ….…………………………………………………………2

  1.4. Tujuan dan Manfaat ….………….…………………………………………..3

  1.5. Metodologi Penelitian ….………………………………………...……..…..3

  BAB II:DASAR TEORI…………..……………………………………………………..5

  2.1 Sandi Blok Linear ………………………………………………………..…….…….5

  2.1.1. Matriks Generator …………………………………………..…………….7

  2.1.2. Sandi Blok Linear Sistematis .………………..…………………………..10

  2.1.3. Matriks Uji Paritas ..………………………………………………….…..11

  2.1.4. Pengujian Sindrom .…………………………….……………………..….12

  2.1.5. Koreksi Galat .………………………………………………...…………..14

  2.1.6. Bobot dan Jarak dari Vektor Biner .……………….…………...…………16 xii

  xiii

  2.4.2.9. Form Code …..………….…………...…………………..…….28

  3.2.1. Diagram Alir Program Utama pada Pengawasandi ..………………..……47

  3.2 Proses pengawasandi ………………………………………………………..………46

  3.1.1. Diagram Alir Program Utama pada Penyandi .……………….…..………44

  3.1. Proses Penyandian ..…………………………………………………..……..……..44

  

BAB III:PERANCANGAN………………………………..…………………………...40

  2.5.7 Menghapus Primary Key…………………………..…….……….………………39

  2.5.6 Memasang Primary Key………………………………..………..……………….38

  2.5.5 Membuat Tabel……………………….……...…………………………… 36

  2.5.4 Membuat File Data Base…………..……..……………….………………..34

  2.5.3 Mengenal database…………………………….……………….….……….33

  2.5.2 Komponen Access 2007……………….………………..…………………32

  2.5.1 Memulai Microsoft Access 2007 ………..…...……………………………30

  2.5 Microsoft Access 2007 ……...……………………………………………………….29

  2.4.2.10. MSComm ………...…..…………….…………..……………29

  2.4.2.8. Form …..………………………………………….…...………27

  2.1.7. Jarak Minimum dari Sandi Blok .………………………………….……..17

  2.4.2.7. Form Layout Window ……..…………………….……………27

  2.4.2.6. Properties window ….……………………….....……………...26

  2.4.2.5. Project Explorer …..…………………………….…………….25

  2.4.2.4. Tool box …..…………………………………………………..25

  2.4.2.3. Tool bar……………………………………….…..……………24

  2.4.2.2. Menu bar……………………………………....……………….24

  2.4.2.1. Title Bar ……………………………..………….……………..24

  2.4.2. Pengenalan IDE (Integrated Development Environment) .………..………22

  2.4.1. Pengenalan Visual Basic 6.0 …………………………………..…………22

  2.4. Visual Basic 6.0 .……………………………………………………………………22

  2.3. Konfigurasi Serial DB-9 .…………………………………………..……………….20

  2.2.1. Sandi Golay Biner (23,12) .………………………….…………...……….19

  2.2. Sandi Golay ……………………………………………………………………..….18

  2.1.8. Kemampuan Deteksi dan Koreksi Galat dari Sandi Blok Linear ..…....….17

  3.3 Tampilan Program ...………………………………………………………………..49

  3.3.1. Tampilan Menu Utama ..………………………..…………….…………..49

  3.3.2. Tampilan Simulasi Penyandi ..…………………………………....………50

  3.3.3. Tampilan Simulasi Pengawasandi ..……………………………..….…….51

  3.4. Komunikasi Serial antar Personal Computer ……………...……...……..….……...52

  

BAB IV: PEMBAHASAN………………………………………………………………54

  4.1 Proses Penyandi............................................................................................................54

  4.2 Proses Pengawasandi....................................................................................................58

  4.3 Pengujian dan Pengambilan Data Pada Simulasi…………………………………….63

  

BAB V : KESIMPULAN DAN SARAN……………………………..………………..65

  5.1 Kesimpulan…………………………………………………………………………...65

  5.2 Saran………………………………………………………………………………….65 DAFTAR PUSTAKA……………………………………………………………………66 LAMPIRAN-LAMPIRAN………………………………………………………………..L xiv

  

DAFTAR GAMBAR

  Halaman

Gambar 2.1. Sandi Blok …...……………………………………...……………………...4Gambar 2.2. Konfigurasi Serial DB-9 …..……………………….……………………...16Gambar 2.3. Diagram Pengkabelan Null Modem …..…………….……………………..16Gambar 2.4. Dialog box untuk pilihan tipe new project. …..……..…………………….18Gambar 2.5. Tampilan IDE Visual Basic …...……………………..……………...……19Gambar 2.6. Tampilan title bar dan menu bar ……………………..……...……………19Gambar 2.7. Tampilan tool bar …………………………………….……...….………...20Gambar 2.8 Tampilan tool box ……………………………………..………...…………20Gambar 2.9. Tampilan project explorer …...…………………………………..………..21Gambar 2.10. Tampilan properties window …...………………………………..………21Gambar 2.11. Tampilan form layout window …………………………………….……...22Gambar 2.12. Tampilan form ……………………………………...……………..……...22Gambar 2.13. Tampilan form code …………………………………………….....……..23Gambar 2.14 jendela program Microsoft office access 2007 …………………………...24Gambar 2.15 contoh tabel database……………………………………………………...27Gambar 2.16 pilihan blank database …………………………………………………….28Gambar 2.17 tampilan jendela database (access 2007)………………………………….28Gambar 2.18 jendela design view ……………………………………………………….29Gambar 2.19 tabel baru bernama tabel1 …………………………….…………………...30Gambar 2.20 simbol primary key ……………………………………….……………….31Gambar 3.1. Garis besar perancangan ………………………………….………….……32Gambar 3.2. Rancangan program pada sandi Golay ………….……………………..…..32Gambar 3.3. Matriks generator …….……………...…………...…………………….…33Gambar 3.4. Diagram blok proses penyandian ……………….…..………………….....34Gambar 3.5. Rancangan diagram alir pada program penyandi …...…………….………36Gambar 3.6. Proses pengawasandi ……………………………………………….……..37

  T

Gambar 3.7. matriks H …….…………………………………………………….……..38Gambar 3.8. rancangan diagram alir pada program pengawasandi ……………….……39Gambar 3.9. (a) Tampilan menu utama penyandi ………………………………….…...40 xvGambar 3.9. (b) Tampilan menu utama pengawasandi ……………………………..…..40Gambar 3.10. tampilan simulasi penyandi .…………………………………...…….…..41Gambar 3.11. Tampilan simulasi pengawasandi ………………….…………...……..…42Gambar 3.12. DB-9 tipe female …….…………………………………………...……....42Gambar 3.13. Konfigurasi umum komunikasi serial antar PC …………….……...….....43Gambar 4.1 Tampilan menu utama penyandi……………………………………………44Gambar 4.2 Tampilan penyandi…………………………………………………….……45Gambar 4.3 Mengubah nilai integer ke nilai biner……………….………………………45Gambar 4.4 Vektor pesan dikalikan matriks generator………………….……………….46Gambar 4.5 Memberikan masukan galat pada vektor sandi murni……………………...47Gambar 4.6 mendesimalkan vektor sandi dengan galat………………………………….48Gambar 4.7 Tampilan menu utama pengawasandi………………………………………48Gambar 4.8 Tampilan pengawasandi…………………………………………….............49Gambar 4.9 Mengubah data yang diterima ke biner……………………………………..49Gambar 4.10 sindrom disesuaikan dengan database……………………………………..50Gambar 4.11 mengoreksi data yang diterima…………………………………………....51Gambar 4.12 Memisahkan vektor pesan dari vektor sandi……………………………....52

  xvi

  xvii

  DAFTAR TABEL

Tabel 2.1. Tabel Polinomial Primitif..……...……………………………………………...7Tabel 2.2. Larik Standar ...…..……………………………………………………...……11Tabel 2.3. Konfigurasi Pin dan Nama Sinyal Konektor Serial DB-9…. .….…………….17Tabel 2.4 Ringkasan Hasil Penyandi dan Pengawasandi………………………………...63

  Halaman

BAB I PENDAHULUAN

  1.1 Judul

  Simulasi Penyandi dan Pengawasandi Sandi Golay (23,12) dengan Menggunakan Visual Basic 6.0.

  1.2 Latar Belakang

  Penyandian isyarat digital berguna untuk meningkatkan kinerja komunikasi dengan meningkatkan ketahanan sinyal terhadap berbagai gangguan saluran, seperti derau (noise), pelemahan sinyal (fading), perusakan sinyal oleh sinyal lain (jamming). Penyandian dikelompokkan dalam dua jenis, penyandian gelombang (waveform coding) dan urutan terstruktur (structured sequences/structured redudancy). Waveform coding berhubungan dengan pengubahan bentuk gelombang menjadi bentuk gelombang yang ”lebih baik”, sehingga mengurangi terjadinya galat (error). Sedangkan structured

  

sequences berhubungan dengan pengubahan urutan data menjadi urutan yang ”lebih baik”

  dan mempunyai bit berlebih (redundant bit) yang digunakan untuk mendeteksi dan mengoreksi error [1].

  Sandi blok linear adalah salah satu dari banyak sandi yang dapat digunakan untuk mendeteksi dan mengoreksi kesalahan dalam pengiriman data. Salah satu jenis sandi blok linear adalah sandi Golay. Sandi Golay adalah sandi yang sempurna atau quasi perfect dan telah banyak dipakai dalam sistem komunikasi. Sandi Golay pernah digunakan pada pesawat luar angkasa Voyager 1 dan 2 untuk mengirimkan ratusan gambar planet Jupiter

  

1  

 

   

  dan Saturnus ke bumi pada tahun 1979 dan 1980. Sandi Golay yang dibahas adalah jenis biner (23,12). Kode ini mampu mengoreksi sampai 3 kesalahan [2] .

  Dalam penyandian data digital antar dua PC, diperlukan sebuah media transmisi agar data dapat dikirimkan dari satu komputer ke komputer lainnya . Ada banyak media transmisi yang sekarang ini digunakan seperti serial port, parallel port, dan wireless (tanpa kabel).

  Salah satu koneksi non-wireless saat ini adalah serial port. Port ini terdapat pada PC dan banyak digunakan dalam antarmuka dengan berbagai macam peralatan eksternal.

  Ada beberapa kelebihan serial port antara lain, pada komunikasi dengan kabel yang panjang, permasalahan cable loss tidak akan menjadi masalah daripada kabel paralel, dibutuhkan jumlah kabel yang lebih sedikit daripada kabel paralel, memungkinkan digunakan infra merah dan menggunakan konektor DB-9 [3].

  Dari kelebihan-kelebihan di atas, maka penulis akan membuat program simulasi penyandi dan pengawas sandi Golay (23,12) dengan menggunakan Visual Basic 6.0.

  Transmisi data menggunakan serial port diantara dua PC. PC pertama sebagai penyandi dan PC kedua sebagai pengawasandi. Pada simulasi penyandi dapat diberikan simulasi kesalahan maksimal 23, kemudian dikirim ke PC kedua yang akan mendeteksi dan mengoreksi kesalahannya minimal 1.

1.3 Batasan Masalah

  Batasan pada tugas akhir ini adalah: 1. Simulasi yang akan dibuat adalah penyandi, simulasi kesalahan dan pengawasandi sandi Golay biner (23,12).

2. Menggunakan dua buah PC yang dihubungkan dengan kabel serial.

    3.

  Program dibuat menggunakan software Visual Basic 6.0.

  4. Masukan pada penyandi berupa desimal.

  5. Pengawasandi dapat mengoreksi kesalahan maksimal 3 bit.

  6. Pengawasandi dilengkapi dengan database menggunakan Microsoft Access 2007.

  1.4 Tujuan dan Manfaat

  Tujuan dari tugas akhir ini adalah menghasilkan program simulasi yang dapat mengubah pesan ke sandi Golay (23,12) dan sebaliknya, dengan menggunakan dua buah PC yang masing-masing sebagai pengirim dan penerima dan dihubungkan dengan serial port .

  Beberapa manfaat yang diharapkan dari tugas akhir ini adalah sebagai berikut:

  1. Dapat mempermudah pemahaman mahasiswa mengenai metode penyandian sandi blok linear khususnya sandi Golay.

  2. Dapat membantu dosen dalam menjelaskan penyandi dan pengawasandi sandi Golay (23,12).

  1.5 Metodologi Penelitian

  Rancangan Metodologi tugas akhir yang akan dibuat adalah sebagai berikut :

  1. Tahap Studi Literatur Studi literatur yaitu mempelajari materi-materi yang akan digunakan dalam tugas akhir ini, seperti antarmuka komunikasi serial, pemrograman Visual Basic

  6.0, Microsoft Access 2007 dan komunikasi digital.

   

  2. Tahap Perancangan Perangkat Lunak Pada tahap ini yang dilakukan adalah membuat perancangan perangkat lunak dengan membuat diagram alir program yang digunakan untuk membuat simulasi penyandi dan pengawasandi.

  3. Tahap Pembuatan Perangkat Lunak Pada tahap ini yang akan dilakukan adalah membuat program yang mampu ditampilkan secara grafis pada PC dengan menggunakan perangkat lunak Visual

  Basic 6.0.

  4. Tahap Simulasi Pada tahap ini akan dilakukan simulasi terhadap program yang telah dibuat.

  5. Tahap Analisis Data Tahap ini akan dilakukan analisa data yang telah diambil sebagai contoh data.

  6. Tahap Penulisan Laporan Pada tahap ini akan dilakukan penulisan laporan lengkap dan detail tentang tugas akhir.

                     

BAB II DASAR TEORI

2.1 Sandi Blok Linear

  Sandi Blok Linear adalah salah satu jenis sandi uji paritas yang mempunyai notasi (n,k), dan yang akan penulis teliti adalah sandi Golay yang merupakan bagian dari Sandi Blok Linear dengan notasi (23,12). Penyandi mengubah 12 digit pesan (vektor pesan) menjadi blok yang lebih panjang yaitu dengan 23 digit kata sandi (vektor sandi), yang terbangun dari elemen data yang diberikan. Jika data terdiri atas digit-digit biner (bit) maka pembahasan akan dibatasi pada sandi biner saja (0 dan 1). Adapun definisi dari

  k

  sandi blok linear adalah sandi blok dengan panjang n dan 2 kata sandi disebut sandi (n,k)

  k

  linear jika dan hanya jika 2 kata sandi membentuk subruang berdimensi k dari ruang vektor semua n-tuples pada medan biner. Dengan kata lain, sandi blok linear dikatakan linear jika dan hanya jika penjumlahan modulo-2 kata sandi juga merupakan kata sandi. Proses penyandian masing-masing sandi ke dalam suatu blok dengan n bit, yang terdiri dari k bit sandi pesan dan (n-k) bit sandi periksa dapat dilihat pada gambar 2.1[4].

Gambar 2.1 Sandi Blok [4]

  

5  

 

    k

  Pesan k-bit dari 2 urutan pesan yang berbeda disebut sebagai k-tuples (urutan dari

  n

k digit). Blok n bit dapat membentuk 2 urutan yang berbeda disebut n-tuples. Prosedur

k k

  penyandian mengalokasikan setiap 2 pesan k-tuples secara unik dipetakan menjadi 2 kata sandi n-tuples.

  Satu set n-tuples biner (Vn) disebut vektor space dari medan biner dua elemen (0 dan 1). Medan biner ini mempunyai dua operasi yaitu penjumlahan dan perkalian, sehingga semua hasil operasi sama dengan elemen biner. Operasi aritmatika penjumlahan dan perkalian ditentukan dengan medan aljabar yang disepakati. Dalam medan biner, aturan untuk penjumlahan dan perkalian adalah sebagai berikut [1]:

  Penjumlahan Perkalian 0 0 = 0 0 • 0 = 0 0 1 = 1 0 • 1 = 0 1 0 = 1 1 • 0 = 0 1 1 = 0 1 • 1 = 1

  Medan pada tabel di atas biasanya disebut medan biner (binary field). Medan biner sangat penting dalam teori penyandian dan digunakan secara luas dalam sistem komputer digital dan sistem pengiriman data digital.

  Operasi penjumlahan dengan lambang menunjukkan penjumlahan modulo-2. Untuk menentukan penyandian, yang juga harus diketahui terlebih dahulu adalah vektor

  . Suatu subset dari S dari vektor space Va disebut subspace jika dua syarat ini

  subspace

  terpenuhi:

  

 

 

    1. Vektor dengan semua elemen nol berada di dalam S.

  2. Penjumlahan dua vektor di dalam S juga terdapat di dalam S. Dua hal di atas adalah syarat fundamental dari karakterisasi aljabar sandi blok linear. Jika V dan V adalah dua kata sandi (vektor sandi) dalam sandi blok biner (n, k),

  i j

  maka sandi ini disebut linear jika, dan hanya jika, (V V ) juga merupakan vektor sandi.

  i j

  Jadi sandi blok linear adalah sandi yang tidak dapat menghasilkan vektor-vektor di luar subspace dari penjumlahan vektor sandi yang benar (anggota subspace).

2.1.1 Matriks Generator

  Karena satu set vektor sandi yang membentuk sandi blok mempunyai subspace berdimensi k dari vektor space biner berdimensi n (k < n), akan ada satu himpunan n-

  k k

tuples , kurang dari 2 , yang dapat membangkitkan semua 2 vektor anggota dari subspace.

  Satu set vektor pembangkit disebut sebagai perentang subspace. Set independen linear terkecil yang merentangkan subspace disebut basis dari subspace, dan jumlah vektor dalam basis sama dengan dimensi dari subspace. Setiap set basis dari k n-tuples yang indipenden linear V , V ,….V dapat digunakan untuk membangkitkan vektor-vektor

  1 2 k

  sandi blok yang diperlukan, karena setiap vektor sandi merupakan kombinasi linear dari

  k

  V , V ,….V , artinya setiap set dari 2 vektor sandi U dapat ditulis sebagai :

  1 2 k v=u + V +u

  V V .........................................……........(2.1)

  1

  1

  2 2 ...+u k k dengan m = (0 atau 1) adalah digit pesan.

  

 

 

   

  Secara umum matriks generator dapat ditentukan dengan larik k × n G= ..............................................................(2.2)

  Vektor sandi biasanya ditunjukkan oleh vektor baris. Jadi pesan u, deretan bit pesan k, dituliskan sebagai vektor baris (matriks 1 × k yang mempunyai satu baris dengan

  k kolom).

  u = u ,u ,…., u ........................................................(2.3)

  1

2 k

  Pembangkitan vektor sandi v, ditulis dalam notasi matriks sebagai hasil kali dari matriks u dan G: v = u . G............................................................…..(2.4)

  Jadi vektor sandi yang sesuai dengan vektor pesan adalah kombinasi linear dari baris matriks G. Karena sandi ditentukan oleh G, penyandi hanya perlu menyimpan k

  k baris dari matriks G (tidak total 2 vektor sandi).

  Untuk membuat matriks generator G dan matriks periksa paritas H yang digunakan pada sandi blok linear dengan Hamming, dilakukan langkah sebagai berikut :

  1. Memilih polinomial primitif sesuai dengan panjang bit periksa, seperti ditunjukkan pada Tabel 2.1.

  2. Membuat matriks G dari polinomial primitif.

  

 

 

  (X) di atas maka akan terbentuk sebuah matriks generator dalam bentuk sistematis.

  i

  i

  ........................... ..(2.6) Dari koefisien sisa b

  n-k-1

  X

  i,n-k-1

  X + … + b

  

i1

  i0

  (X) = b

  i

  (X) adalah sisa dalam bentuk : b

  i

  (X) ...............................….(2.5) dengan b

  (X) g(X) + b

   

 

 

  i

  = a

  n-k+i

  X

  dibagi dengan polinomial pembangkit g(X), dengan i = 0, 1, 2, … , k-1, maka diperoleh :

  n-k+i

  dibuat dengan mudah. Jika X

  11 1+X 2 +X 11 22 1+X+X 22 12 1+X+X 4 +X 6 +X 12 23 1+X 5 +X 23 13 1+X+X 3 +X 4 +X 13 24 1+X+X 2 +X 7 +X 24 Dengan polinomial pembangkit, matriks generator dengan bentuk sistematis dapat

  9 1+X 4 +X 9 20 1+X 3 +X 20 10 1+X 3 +X 10 21 1+X 2 +X 21

  7 1+X 3 +X 7 18 1+X 7 +X 18 8 1+X 2 +X 3 +X 4 +X 8 19 1+X+X 2 +X 5 +X 19

  4 1+X+X 4 15 1+X+X 15 5 1+X 2 +X 5 16 1+X+X 3 +X 12 +X 16 6 1+X+X 6 17 1+X 3 +X 17

  

M m

3 1+X+X 3 14 1+X+X 6 +X 10 +X 14

Tabel 2.1 Tabel Polinomial Primitif [4]

  • b

   

2.1.2 Sandi Blok Linear Sistematis

  Sandi blok linear sistematis adalah pemetaan vektor pesan berdimensi k ke sandi berdimensi n dengan urutan yang dibangkitkan serupa dengan k digit pesan. Digit (n-k) sisanya merupakan digit paritas. Sandi blok linear sistematis mempunyai matriks generator dalam bentuk [1]: G = [P | I ]

  k

  G = [P | I ]= ..........................................(2.7)

  k

  dengan P adalah sebagai larik paritas dari matriks generator, p = (0 atau 1), dan I adalah

  ij k

  matriks identitas (nilai semua elemen adalah nol kecuali pada diagonal utama sama dengan satu) k x k. Dari persamaan (2.4) dan (2.7), setiap vektor sandi dapat dinyatakan sebagai berikut :

  ........(2.8) dengan vi = u p + u p + …+ u p untuk i = 1, 2, …, (n-k)

  1 1i 2 2i k ki

  = u – n+k untuk i = (n-k + 1),…p

  i

  Jika pesan k-tuple adalah: u = m ...............................................................(2.9)

  , m , …,m

  1 2 k

  dan vektor sandi n-tuple secara umum adalah: V = v ,v ,…,v ............................................................. ..(2.10)

  1 2 n

 

 

   

  maka vektor sandi sistematis dapat dinyatakan sebagai: V = p , p , …,p , u ,u ,…,u .........................................(2.11)

  1 2 n-k

  1 2 k

  dengan p , p ,…, p adalah bit-bit paritas

  1 2 n-k u ,u ,…,u adalah bit-bit pesan

  1 2 k

  p = u p + u p + … + u p

  1

  1

  11

  2 21 k k1 p = u p + u p + … + u p (2.12)

  2

  1

  12

  2 22 k k2……………………….…………………………………...…

2.1.3 Matriks Uji Paritas

  Proses fungsi pengawasandi jika diartikan secara umum merupakan kebalikan dari proses fungsi penyandi, jika proses penyandi bertugas mengembalikan pesan tersandi kembali ke bentuk aslinya agar dapat dimengerti pesan yang disampaikan.

  Matriks uji paritas H, digunakan untuk pengawasandi vektor sandi yang diterima. Untuk setiap matriks generator (k x n), G, terdapat matriks H (n-k) x n, sedemikian

  T T

  sehingga baris pada G orthogonal dengan baris H, dan GH = 0. H adalah transpose dari

  H, dan 0 adalah matriks nol k x (n-k). Untuk memenuhi orgonalitas, komponen matriks H ditulis [1]:

  T

  H = I | P ..................................................................(2.13)

  n-k T