Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Jurusan Teknik Informatika

Gratis

0
0
129
9 months ago
Preview
Full text
(1)PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI SIMULASI REED SOLOMON CODES UNTUK PENGOLAHAN DATA UJI ELEKTROKARDIOGRAM SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Jurusan Teknik Informatika OLEH: Antonius Dewangga Redanha Putra NIM : 085314030 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2013 i

(2) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI SIMULATION OF REED SOLOMON CODES FOR ELECTROCARDIOGRAM DATA TEST PROCESSING THESIS Presented as Partial Fullfilment of the Requirements To Obtain the Computer Bachelor Degree In Informatics Engineering By: Antonius Dewangga Redanha Putra NIM : 085314030 INFORMATICS ENGINEERING STUDY PROGRAM FACULTY SCIENCE DAN TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2013 ii

(3) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI HALAMAN PERSETUJUAN iii

(4) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI HALAMAN PENGESAHAN iv

(5) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI HALAMAN PERSEMBAHAN Do it for your people Do it for your pride Never gonna know if you never even try Don't wait for luck Dedicate yourself and you can find yourself The Script – Hall Of Fame Skripsi ini saya persembahkan untuk :  Tuhan Yesus Kristus yang selalu menyertai dalam menyelesaikan skripsi ini.  Kedua Orang Tua saya  Semua Keluarga  Sahabat dan teman-teman v

(6) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa dalam skripsi yang saya tulis ini tidak memuat karya/bagian karya orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka. Yogyakarta, 21 Februari 2013 Penulis Antonius Dewangga Redanha Putra vi

(7) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Antonius Dewangga Redanha Putra Nomor Mahasiswa : 085314030 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah dengan judul : SIMULASI REED SOLOMON CODES UNTUK PENGOLAHAN DATA UJI ELEKTROKARDIOGRAM Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya. Dibuat di Yogyakarta Pada tanggal 21 Februari 2013 Yang menyatakan Antonius Dewangga Redanha Putra vii

(8) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI ABSTRAK Komunikasi data saat ini berkembang dengan sangat cepat dan signifikan. Perkembangan komunikasi data tersebut ditemui salah satunya dalam bidang kedokteran. Dalam bidang kedokteran, penggunaan komunikasi data yang banyak dikembangkangkan adalah system telemedika atau pengiriman data medis jarak jauh. Perkembangan penggunaan komunikasi data tersebut, tidak ditunjang dengan kondisi geografis Indonesia yang baik. Kondisi geografis Indonesia yang kurang baik dapat mengurangi kinerja jaringan dan berakibat pada inkonsistensi bit-bit sinyal yang ditransmisikan Perubahan sinyal dapat menyebabkan data-data yang ditransmisikan menjadi tidak valid karena mengandung bit-bit error. Dalam bidang kedokteran,terdapat data yang sangat riskan terhadap error seperti data rekam medis (Electro Cardiography (ECG) atau yang sering disebut data kritis. Data rekam medis tersebut tentunya sangat rentan terhadap error karena berhubungan dengan penanganan medis yang akan dilakukan selanjutnya. Dari latar belakang tersebut, dikembangkan sebuah sistem untuk mensimulasikan teknik koreksi kesalahan data menggunakan Reed Solomon codes untuk data elektrokardiogram. Reed Solomon merupakan teknik koreksi kesalahan data berbasis Linear Block Code yang banyak dijumpai saat ini. Simulasi yang dikembangkan dengan bahasa pemograman Matlab. Hasil akhir dari penelitian didapatkan grafik perbandingan nilai Symbol Error Rate pada 4QAM, 16-QAM, 32-QAM, dan 64-QAM serta diperoleh perbandingan kinerja Reed Solomon dengan dimensi (31,27), (63,61), dan (127,119). Hasil akhir menunjukkan nilai SER yang terbaik dimiliki oleh modulasi 4-QAM. Kinerja Reed Solomon yang paling baik dimiliki oleh RS(31,27). viii

(9) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI ABSTRACT Data communication recently developing very quickly and significance. Development of data communication could be find especially in medical area. In medical area, the most using data communication was for telemedica system or long range medical data sending. Development of using data communication at this time not supported by a good geographical condition in Indonesia . Geographical condition in Indonesia that was unreliable could reduce performance and it concequence to the inconcistency of signal which are transmitted. Changing of signal could cause data taransmitted become unvalid because it consisted an error bit. In medical area, there was data which are very sensitive with an error such as Electrocardiography or critical data. Electrocardiography absolutely very sensitive with an error because it connected to the medical treatment to be done From these background,there was a system to simulate an error correction data control using Reed Salomon codes for electrocardiography data. Reed solomon was an error control correction data basically from Linear Block Code which can be find recently. Development of simulation using Matlab programming language, result from the research was a comparison graphic score Symbol Error Rate on 4-QAM, 16-QAM, 32-QAM and 64-QAM also gained comparison performance from Reed Salomon with (31,27), (63,61) and (127,119) dimension. Result shown the best SER point was 4-QAM modulation. The best Reed Solomon performance was had by RS (31,27). ix

(10) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI KATA PENGANTAR Puji syukur penulis haturkan kepada Yesus Kristus yang telah memberikan karunia, rahmat, dan kesempatan, sehingga penulis dapat menyelesaikan skripsi dengan judul “Simulasi Reed Solomon Codes Untuk Pengolahan Data Uji Elektrokardiogram”. Pada kesempatan ini penulis ingin mengucapkan terima kasih pada pihak-pihak yang telah membantu saya dalam menyelesaikan skripsi ini, baik dalam hal bimbingan, perhatian, kasih sayang, semangat, kritik dan saran yang diberikan. Ucapan terima kasih ini saya sampaikan antara lain kepada : 1. Ibu Ridowati Gunawan, S.Kom, M.T. selaku ketua jurusan Teknik Informatika Sanata Dharma. 2. Bapak Damar Widjaja, S.T., M.T. selaku Dosen Pembimbing Tugas Akhir, terima kasih atas bimbingan, masukan, dukungan selama penulis mengerjakan skripsi ini. 3. Bapak B. Herry Suharto, S.T., M.T. dan H. Agung Hernawan, S.T., M.Kom. selaku Dosen Penguji Pendadaran skripsi penulis, terima kasih atas masukkan dalam memperbaiki skripsi ini 4. Segenap dosen Universitas Sanata Dharma yang telah membantu memberikan bekal pengetahuan kepada penulis. 5. Kedua orang tua penulis Bapak M. Hari Mulyono dan Ibu C. Retna Irawati untuk dukungan yang selalu diberikan kepada saya. 6. Kakak penulis Agnes Methia Dewi dan Adik penulis Maria Ivana Saridewi yang memotivasi untuk menyelesaikan skripsi ini. 7. Clara Iyud Ambar Ciptaningsih yang selalu mengingatkan dan mendoakan penulis untuk menyelesaikan skripsi ini. 8. Bapak JB. Budi Darmawan, S.T, M.Sc. dan Emanuel Bele Bau yang telah banyak membimbing dan memberi pengetahuan baru kepada penulis di Laboratorium Basis Data. 9. Sahabat-sahabat penulis Surya, Endra, Devi, Putri, Petra, Wulan, Siska, Esy, Itha, Tista, Ocha, Reza, Bebeth, Yudi, Roni, dan yang belum x

(11) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI disebutkan. Terima kasih atas pengalaman berharga yang dibagikan kepada penulis. 10. Sahabat-sahabat penulis sejak SMA Hendra Wijayanto, Putri Dyah Arminingtyas, Stevani Dian Rofista, dan Debora Ratri yang selalu mendukung dan berbagi suka duka kepada penulis. 11. Teman-teman Teknik Informatika angkatan 2008 dan semua pihak yang tidak dapat penulis tuliskan satu persatu. Penulis menyadari bahwa masih terdapat kekurangan dalam penyusunan skripsi ini. Oleh karena itu penulis mengharapkan adanya kritik dan saran dari berbagai pihak yang bersifat membangun dalam penyempurnaan skripsi ini. Yogyakarta, 21 Februari 2013 Penulis Antonius Dewangga xi

(12) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR ISI HALAMAN JUDUL INDONESIA ......................................................................... i HALAMAN JUDUL INGGRIS ............................................................................. ii HALAMAN PERSETUJUAN ............................................................................... iii HALAMAN PENGESAHAN ................................................................................ iv HALAMAN PERSEMBAHAN ............................................................................. v LEMBAR PERNYATAAN KEASLIAN KARYA ............................................... vi LEMBAR PERNYATAAN PERSETUJUAN ..................................................... vii LEMBAR PUBLIKASI KARYA ILMIAH ......................................................... vii ABSTRAK ........................................................................................................... viii ABSTRACT ........................................................................................................... ix KATA PENGANTAR ............................................................................................ x DAFTAR ISI ......................................................................................................... xii DAFTAR GAMBAR ........................................................................................... xvi DAFTAR TABEL .............................................................................................. xviii BAB I PENDAHULUAN ....................................................................................... 1 1.1 Latar Belakang ......................................................................................... 1 1.2 Rumusan Masalah .................................................................................... 3 1.3 Tujuan Penelitian ...................................................................................... 3 1.4 Manfaat Penelitian .................................................................................... 3 1.5 Batasan Masalah ....................................................................................... 3 1.6 Metodologi Penelitian .............................................................................. 4 1.7 Sistematika Penulisan ............................................................................... 4 BAB II LANDASAN TEORI ................................................................................. 6 2.1 Electrocardiogram .................................................................................... 6 xii

(13) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI xiii 2.2 Prinsip Dasar Error Coding ..................................................................... 8 2.2.1 Block Codes .................................................................................... 11 2.2.2 Reed Solomon Codes ...................................................................... 11 2.2.3 Sifat - Sifat Reed Solomon Codes................................................... 12 2.2.4 Reed Solomon Encoding ................................................................. 14 2.2.5 Reed Solomon Decoding................................................................. 16 2.3 Probabilitas Error ................................................................................... 19 2.4 Signal-to-noise ratio ............................................................................... 20 2.5 Penyandian Kanal ................................................................................... 21 2.6 Konversi Digital-to-Analog .................................................................... 22 2.6.1 2.7 Quadrature amplitude modulation .................................................. 22 Additive White Gaussian Noise ............................................................. 24 BAB III ANALISA DAN PERANCANGAN SISTEM ....................................... 25 3.1 Gambaran Umum Program .................................................................... 25 3.2 Rancangan Model Sistem ....................................................................... 26 3.3 Perancangan penyandian Reed Solomon ............................................... 27 3.4 Desain Input Data ................................................................................... 31 3.5 Perancangan Sistem ................................................................................ 32 3.5.1 Use Case .......................................................................................... 32 3.5.2 Narasi Use Case .............................................................................. 32 3.5.3 Diagram Arus Data Level 0 / Diagram Konteks ............................. 35 3.5.4 Diagram Berjenjang ........................................................................ 35 3.5.5 Diagram Arus Data Level 1 ............................................................ 37 3.5.6 Diagram Arus Data Level 2 ............................................................ 37 3.6 Perancangan Tampilan ........................................................................... 40 BAB IV IMPLEMENTASI .................................................................................. 44

(14) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI xiv 4.1 Implementasi Proses ............................................................................... 44 4.1.1 Implementasi Preprocessing Pembacaan data ECG ....................... 44 4.1.2 Implementasi Proses Encoding Reed Solomon Code ..................... 46 4.1.3 Implementasi Simulasi Modulasi dan Kanal AWGN ..................... 48 4.1.4 Implementasi Decoder Reed Solomon............................................ 51 4.2 Implementasi Tampilan Simulasi ........................................................... 53 4.2.1 Tampilan Halaman Awal Simulasi Reed Solomon Codes.............. 53 4.2.2 Tampilan Halaman Encoder Reed Solomon Codes ........................ 54 4.2.3 Tampilan Halaman Modulasi QAM dan Simulasi Kanal AWGN .. 55 4.2.4 Tampilan Halaman Decoder Reed Solomon ................................... 56 4.2.5 Tampilan Halaman Bantuan Program ............................................. 57 4.2.6 Tampilan Halaman Tentang Program ............................................. 57 BAB V HASIL PENGUJIAN DAN ANALISA ................................................... 58 5.1 Hasil Pengujian BER Menggunakan Modulasi QAM ........................... 58 5.2 Hasil Pengujian SER Reed Solomon Codes........................................... 59 5.3 Analisa Symbol Error Rate Hasil Pengujian .......................................... 64 5.4 Pengujian Unjuk Kerja Reed Solomon dengan Dimensi (n,k) ............... 65 5.5 Data Masukan ......................................................................................... 67 5.6 Proses Encoding Reed Solomon ............................................................. 70 5.6.1 Analisa Perbandingan Perhitungan dan Implementasi Encoder ..... 70 5.7 Error Correction ..................................................................................... 72 5.8 Pengujian Perbandingan Citra Elektrokardiogram ................................. 73 BAB VI KESIMPULAN DAN SARAN ............................................................. 76 6.1 Kesimpulan ............................................................................................. 76 6.2 Saran ....................................................................................................... 77 Daftar Pustaka ....................................................................................................... 78

(15) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI xv LAMPIRAN .......................................................................................................... 81 Lampiran 1 Perbandingan BER pada 4-QAM, 16-QAM, 32-QAM, 64-QAM 82 Lampiran 2 Perbandingan Symbol Error Rate .................................................. 82 Lampiran 3 Perbandingan SER tiap dimensi Reed Solomon ............................ 89 Lampiran 4 Hasil pembacaan data ECG bertipe numerik ................................. 93 Lampiran 5 Perhitungan manual paritas sebagai pembentuk codeword .......... 94 Lampiran 6 Proses Koreksi Kesalahan Data ..................................................... 95 Lampiran 7 Listing Program ............................................................................. 99

(16) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR GAMBAR Gambar 2.1 Bentuk gelombang dasar ECG .......................................................... 6 Gambar 2.2 Normal electrocardiogram yang diambil dari subjek sehat ................. 7 Gambar 2.3 Blok diagram sistem transmisi atau media penyimpanan .................. 8 Gambar 2.4 Bentuk sederhana dari coding sistem .............................................. 10 Gambar 2.5 Format sistematis sebuah codeword .................................................. 13 Gambar 2.6 RS(n,k) code ...................................................................................... 14 Gambar 2.7 Langkah-langkah proses decoding .................................................. 17 Gambar 2.8 Konversi digital ke analog ................................................................ 22 Gambar 2.9 Tipe konversi digital ke analog ......................................................... 23 Gambar 2.10 Contoh Constellation Diagram untuk beberapa tipe QAM ............. 23 Gambar 2.11 Konsep constellation diagram ......................................................... 24 Gambar 2.12 Proses penambahan noise pada kanal AWGN ................................ 24 Gambar 3.1 Alur program simulasi Reed Solomon ………………………… ….25 Gambar 3.2 Rancangan model sistem program simulasi Reed Solomon ............ 27 Gambar 3.3 Rangkaian register geser Reed Solomon code (31,27) ..................... 28 Gambar 3.4 Rangkaian syndrome decoder (31,27)............................................... 28 Gambar 3.5 Rangkaian register geser Reed Solomon code (63,61) ..................... 29 Gambar 3.6 Rangkaian syndrome decoder(63,61)................................................ 30 Gambar 3.7 Rangkaian register geser Reed Solomon code (127,119) ................. 30 Gambar 3.8 Rangkaian syndrome decoder (127,119)........................................... 30 Gambar 3.9 ECG database .................................................................................. 31 Gambar 3.10 Use case program Reed Solomon ................................................... 32 Gambar 3.11 Diagram arus data level 0 ................................................................ 35 Gambar 3.12 Diagram berjenjang program simulasi Reed Solomon code ........... 36 Gambar 3.13 Diagram arus data level 1 ................................................................ 37 Gambar 3.14 Diagram arus data level 2 proses encode ........................................ 38 Gambar 3.15 Diagram arus data level 2 proses decode ........................................ 39 Gambar 3.16 Rancangan tampilan awal program simulasi Reed Solomon ......... 40 Gambar 3.17 Tampilan halaman encode data ....................................................... 41 Gambar 3.18 Halaman tampilan decode ............................................................... 42 xvi

(17) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI xvii Gambar 3.19 Halaman tampilan kanal AWGN .................................................... 43 Gambar 4.1 Tampilan Awal Simulasi Reed Solomon Code …………………….53 Gambar 4.2 Gambar Tampilan Halaman Encode data ......................................... 54 Gambar 4.3 Halaman Pemilihan File .................................................................... 55 Gambar 4.4 Halaman modulasi dan simulasi kanal AWGN................................. 56 Gambar 4.5 Halaman decoder Reed Solomon ...................................................... 56 Gambar 4.6 Halaman Bantuan Program ............................................................... 57 Gambar 4.7 Halaman Tentang Program ............................................................... 57 Gambar 5. 1 Grafik Perbandingan BER …………………………………………58 Gambar 5.2 Grafik Perbandingan SER untuk Reed Solomon Codes (31,27)....... 60 Gambar 5.3 Grafik perbandingan SER tanpa menggunakan Reed Solomon........ 61 Gambar 5.4 Grafik Perbandingan SER untuk Reed Solomon Codes (63,61)...... 61 Gambar 5.5 Gambar Perbandingan nilai uncoded RS (63,61) .............................. 62 Gambar 5.6 Grafik Perbandingan SER untuk Reed Solomon Codes(127,119).... 63 Gambar 5.7 Gambar Perbandingan nilai SER uncoded RS (127,119) ................. 63 Gambar 5.8 Grafik Perbandingan Unjuk Kerja Reed Solomon pada 4-QAM ...... 66 Gambar 5.9 Grafik Perbandingan Unjuk Kerja Reed Solomon pada 16-QAM .... 66 Gambar 5.10 Hasil pembacaan grafik ECG 100.dat ............................................. 68 Gambar 5.11 Hasil pemetaan gelombang QRS grafik ECG 100.dat .................... 69 Gambar 5.12 Gambar hasil pembacaan data MIT-BIH dalam jurnal ................... 69 Gambar 5.13 Gambar hasil pembacaan data ECG MIT-BIH dalam simulasi ..... 70 Gambar 5. 14 Implementasi perhitungan generator polinomial............................ 71 Gambar 5.15 Implementasi encoder Reed Solomon ............................................. 72 Gambar 5.16 Implementasidecoder Reed Solomon .............................................. 73 Gambar 5.17 Citra Elektrokardiogram sebelum proses encoding ........................ 74 Gambar 5.18 Citra EKG setelah proses decoding pada SNR 8 4-QAM ............... 74 Gambar 5.19 Citra EKG setelah proses decoding pada SNR 7 4-QAM ............... 74

(18) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR TABEL Tabel 2.1 Tabel Reed Solomon menggunakan (n, k, t) primitive ......................... 14 Tabel 3.1 Perbedaan atribut penyandian Reed Solomon ...……………………...31 Tabel 3.2 Skenario utama use case encode data .................................................. 33 Tabel 3.3 Skenario utama use case decode data ................................................... 34 Tabel 3.4 Skenario utama use case menambahkan error padadata penyandian .. 35 Tabel 5.1 Perbandingan Nilai SER pada jurnal………………………………….64 Tabel 5.2 Perbandingan atribut penyandian Reed Solomon ................................. 65 Tabel 5. 3 Atribut data masukan ECG yang akan disimulasikan .......................... 68 Tabel 5.4 Perbandingan BER pada 4-QAM, 16-QAM, 32-QAM, 64-QAM........ 82 Tabel 5.5 Tabel SER RS(31,27) pada 4-QAM ..................................................... 82 Tabel 5.6 Tabel SER RS(31,27) pada 16-QAM ................................................... 83 Tabel 5. 7 Tabel SER RS(31,27) pada 32-QAM .................................................. 83 Tabel 5. 8 Tabel SER RS(31,27) pada 64-QAM .................................................. 84 Tabel 5.9 Tabel SER RS(63,61) pada 4-QAM ..................................................... 85 Tabel 5.10 Tabel SER RS(63,61) pada 16-QAM ................................................. 85 Tabel 5.11 Tabel SER RS(63,61) pada 32-QAM ................................................. 86 Tabel 5.12 Tabel SER RS(63,61) pada 64-QAM ................................................. 86 Tabel 5.13 Tabel SER RS(127,119) pada 4-QAM ............................................... 87 Tabel 5.14 Tabel SER RS(127,119) pada 16-QAM ............................................. 88 Tabel 5.15 Tabel SER RS(127,119) pada 32-QAM ............................................. 88 Tabel 5.16 Tabel SER RS(127,119) pada 64-QAM ............................................. 89 Tabel 5.17 Tabel SER RS(31,27) pada 4-QAM ................................................... 89 Tabel 5.18 Tabel SER RS(63,61) pada 4-QAM ................................................... 90 Tabel 5.19 Tabel SER RS(127,119) pada 4-QAM ............................................... 91 Tabel 5.20 Tabel SER RS(31,27) pada 16-QAM ................................................. 91 Tabel 5.21 Tabel SER RS(63,61) pada 16-QAM ................................................. 92 Tabel 5.22 Tabel SER RS(127,119) pada 16-QAM ............................................. 92 Tabel 5.23 Tabel hasil pembacaan data ECG bertipe numerik ............................. 93 xviii

(19) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 1 BAB I PENDAHULUAN 1.1 Latar Belakang Komunikasi data saat ini berkembang dengan sangat cepat dan signifikan. Penggunaan komputer yang meningkat merupakan salah satu penyebab hal tersebut. Sebagai contoh statistik penggunaan Internet di Indonesia sampai Desember 2011 sebesar 55.000.000 pengguna atau sekitar 22,4 % dari jumlah populasi di Indonesia [1]. Statistik penggunaan Internet tersebut menggambarkan bahwa komunikasi data memang sangat dibutuhkan seiring berkembangnya teknologi informasi. Perkembangan komunikasi data tersebut, tidak ditunjang dengan kondisi geografis Indonesia yang baik. Kondisi geografis Indonesia yang bersifat kepulauan, dikelilingi oleh gunung, serta memiliki lautan yang luas, terkadang menjadi penghalang suatu komunikasi data dapat berjalan dengan baik. Cuaca serta iklim di Indonesia yang sering berubah-ubah serta banyaknya gedung pencakar langit juga turut andil bagian sebagai penghambat dalam komunikasi data terlebih untuk jaringan wireless. Redaman cuaca di atmosfer, thermal noise, shot noice, optical losses, jamming, danpelemahan sinyal (fading) dapat mengurangi kinerja jaringan dan berakibat pada inkonsistensi bit-bit sinyal yang ditransmisikan [2]. Perubahan sinyal dapat menyebabkan data-data yang ditransmisikan menjadi tidak valid karena mengandung bit-bit error. Akan tetapi, beberapa jenis data memiliki toleransi terhadap error yang cukup tinggi seperti streaming audio dan video. Terdapat pula data yang sangat riskan terhadap error seperti data rekam medis (Electro Cardiography (ECG) , Electro Encephalography (EEG) , dan lain-lain) atau yang sering disebut data kritis . Dalam bidang kedokteran, teknologi yang sedang marak digunakan adalah sistem telemedika. Sistem telemedika menunjang suatu prosedur penanganan medis jarak jauh. Ahli medis dapat malakukan monitoring langsung keadaan pasien dari jarak jauh. Salah satu penggunaannya terkait monitoring data rekam medis seperti ECG. Data rekam 1

(20) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2 medis tersebut tentunya sangat rentan terhadap error karena berhubungan dengan penanganan medis yang akan dilakukan selanjutnya. Data rekam medis yang tidak valid membuat nilai informasi menjadi tidak sesuai seperti saat awal ditransmisikan. Hal tersebut mendorong perlu adanya sebuah metode untuk mendeteksi dan mengkoreksi error untuk menjaga inkonsistensi data-data yang ditransmisikan. Salah satu metode deteksi dan koreksi error yang terkenal adalah ReedSolomon codes. Reed-Solomon ini dipublikasikan oleh Irving Reed dan Gus Solomon pada 21 Januari 1959 dalam jurnal berjudul “Journal of the Society for Industrial and Applied Mathematics” [3]. Reed-Solomon codes diklaim sebagai digital error codes yang paling banyak digunakan di dunia ini . Banyak penelitian mengenai aplikasi serta pengembangan Reed-Solomon codes. Aplikasi ReedSolomon codes yang paling banyak dijumpai terdapat pada compact atau audio disc. Reed-Solomon codes digunakan sebagai error correction dan error concealment. Pada tahun 1964, penelitian yang dilakukan Singleton menghasilkan sebuah kesimpulan, bahwa Reed-Solomon codes merupakan metode error correction terbaik untuk setiap code dengan panjang serta dimensi yang sama. Akan tetapi, Reed-Solomon masih jauh dikategorikan sebagai code yang mencapai kemampuan optimal dalam koreksi error atau yang biasa disebut MDS (Maximum Distance Separable)codes. Pada tahun 1999, Madhu Sudan dan Venkatesan Guruswami mempublikasikan sebuah algoritma yang memungkinkan untuk perbaikan kesalahan lebih dari setengah jumlah code [4] . Hal ini berlaku pada Reed-Solomon code yang umumnya merupakan kode aljabar Geometris. Algoritma ini menghasilkan daftar codeword berdasarkan interpolation dan factorization dalam polinomial GF(2m) . Sampai saat ini penelitian-penelitian menggunakan Reed-Solomon masih banyak dilakukan agar performansi codes ini lebih baik. Dalam tugas akhir ini, simulasi Reed-Solomon codes akan dibuat menggunakan Matlab. Kontribusi yang diharapkandari tugas akhir ini adalah mengetahui unjuk kerja dari Reed-Solomon Codes berdasarkan nilai SER (Symbol Error Rate) dengan menggunakan data-data rekam medis seperti ECG.

(21) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3 1.2 Rumusan Masalah Berdasarkan latar belakang masalah yang telah dijelaskan, rumusan masalah yang diperoleh antara lain: 1. Bagaimana merancang dan mensimulasikan program Reed-Solomon codes dalam Matlab? 2. Bagaimana mengkoreksi data ECG yang terkena noise dengan Reed solomon codes? 3. Bagaimana melakukan pengujian dan menganalisa hasil dari program Reed-Solomon codes yang telah dibuat? 1.3 Tujuan Penelitian Tujuan dari penelitian ini adalah menyediakan program simulasi Reed- Solomon codes dengan menggunakan masukan data ECG. 1.4 Manfaat Penelitian Manfaat yang diperoleh dari penelitian ini antara lain : 1. Hasil penelitian ini dapat dimanfaatkan oleh mahasiswa Teknik Informatika sebagai media pendukung pembelajaran mata kuliah Teknik Koreksi Kesalahan Data. 2. Hasil penelitian tugas akhir ini diharapkan dapat bermanfaat sebagai referensi penggunaan Reed-Solomon codes bagi penelitian di bidang teknik koreksi kesalahan data. 1.5 Batasan Masalah Batasan masalah dalam tugas akhir ini adalah sebagai berikut : 1. Simulasi pengujian metode Reed-Solomon menggunakan program Matlab 2. Simulasi menggunakan Reed Solomon codes dengan besar (n,k) yaitu (31,27), (63,61), dan (127,119). 3. Data sample ECG berasal dari MIT-BIH Arrhythmia Database. 4. Program merupakan simulasi yang melibatkan single PC. 5. Proses simulasi meliputi proses encoding dan decoding saja. 6. Perhitungan SER dilakukan menggunakan rumus dasar symbol error rate

(22) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4 7. SNR yang digunakan adalah 1-20 8. Pengujian reed Solomon codes menggunakan panjang data 300 sample titik data. 1.6 Metodologi Penelitian Metodologi dan langkah-langkah yang digunakan dalam pelaksanaan tugas akhir ini adalah sebagai berikut : 1. Studi Literatur Mengumpulkan referensi-referensi yang digunakan untuk mendukung pengerjaan tugas akhir ini. 2. Perancangan Dalam tahap ini, penulis menentukan besar ukuran dimensi dari ReedSolomon codes, mencari data-data ECG yang akan digunakan, serta merancang program Reed-Solomon codes agar sesuai dengan data yang diuji. 3. Simulasi dan Pengujian Program Simulasi Reed-Solomon codes ini menggunakan Matlab dalam pengerjaannya. Proses awal yang dilakukan adalah membuat kode-kode script yang berekstensi “.m”. Program akan diuji dengan memberi masukan data berukuran kecil (berjumlah sedikit). Hasil simulasi akan dibandingkan dengan perhitungan teoritis secara manual. Program dianggap benar jika hasil antar kedua perhitungan bernilai sama. 4. Pengumpulan data Data-data ECG dimasukkan dalam program simulasi untuk nantinya dilakukan pengujian dan dianalisa hasil keluarannya. 5. Analisa Data Tahap ini penulis melakukan analisa hasil pengujian yang diperoleh dari proses simulasi. Analisis dilakukan dengan melakukan pengamatan dari hasil pengujian untuk selanjutnya dihitung nilai SER (Symbol Error Rate) dan kemudian disimpulkan tentang performansi Reed-Solomon codes.. 1.7 Sistematika Penulisan Sistematika penulisan dalam skripsi ini adalah sebagai berikut :

(23) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5 I. PENDAHULUAN Bab ini berisi latar belakang penulisan tugas akhir, rumusan masalah, tujuan penulisan, manfaat penulisan batasan masalah, metodologi penelitian, dan sistematika penulisan II. LANDASAN TEORI Bab ini menjelaskan mengenai teori yang berkaitan dengan judul/masalah tugas akhir ini III. PERENCANAAN SIMULASI REED-SOLOMON CODES Bab ini berisi perencanaan simulasi program Reed-Solomon codes yang akan dibuat. IV. IMPLEMENTASI DAN ANALISIS SIMULASI REED-SOLOMON CODES Bab ini berisi pelaksanaan simulasi dan hasil analisis data simulasi ReedSolomon codes. V. KESIMPULAN DAN SARAN Bab ini berisi kesimpulan yang didapat dan saran-saran berdasarkan hasil analisis program Reed-Solomon codes.

(24) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2 BAB II LANDASAN TEORI 2.1 Electrocardiogram Electrocardiogram (ECG) adalah gambaran berupa grafik hasil dari perekaman grafis potensial listrik yang dihasilkan oleh jantung [5].Sinyal yang terdeteksi melalui elektroda logam melekat pada dinding dada yang selanjutnya diperkuat dan direkam oleh elektrokardiograf. ECG dalam klinis berfungi untuk mendeteksi keadaan jantung sehat atau ada gangguan. ECG mencatat suatu depolarisasi (stimulasi) dan repolarisasi (pemulihan) potensi yang dihasilkan oleh atrium (bagian atas bilik jantung yang berfungsi menerima darah) dan entrikel (bagian bawah bilik jantung yang bertanggung jawab untuk memompa darah ke seluruh tubuh).Depolarisasi jantung adalah proses awal terjadinya kontraksi jantung. Arus listrik yang menyebar melalui jantung diproduksi oleh tiga komponen: sel pacu jantung (sinus node), jaringan konduksi khusus, dan otot jantung itu sendiri. Gambar 2.1 Bentuk gelombang dasar ECG [5] Bentuk gelombang ECG diperlihatkan pada Gambar 2.1 dan diberi label menurut abjad, dimulai dengan gelombang P yang mewakili depolarisasi atrium. 6

(25) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7 QRS kompleks merupakan depolarisasi ventrikel, dan ST-TU kompleks (segmen ST,gelombang T, dan Ugelombang) merupakan repolarisai ventrikel. Titik J merupakan persimpangan antara akhir dari kompleks QRS dan awal segmen repolarisasi segment.Gambar 2.2 menunjukkan contoh ECG dengan sinus normal atau dalam keadaan sehat. Gambar 2.2 Normal electrocardiogram yang diambil dari subjek sehat[6] Penggunaan ECG saat ini semakin banyak ditemui dalam dunia medis. Hal tersebut yang melandasi pemrosesan sinyalbanyak dilakukan pada sebagian besar sistem medisuntuk melakukan analisis dan interpretasi pada ECG [7].Pemrosesan sinyaltelahmemberikan kontribusi signifikan terhadap pemahaman baru mengenai ECG beserta sifat dinamisnya. Tujuan dari pemrosesan sinyal ECG adalahpeningkatan akurasi pengukuran dan reproduktifitas data ECG itu sendiri jika dibandingkan dengan pengukuran manual serta ekstraksi informasi tidak tersedia dari sinyal melalui penilaian visual. Dalam banyak situasi, ECG dicatat selama kondisi rawat jalan,sehingga terkadang sinyal tercampur oleh galat yang berasal berbagai jenis noise atau berasal dari proses lain fisiologis tubuh. Oleh karena itu, pengurangan noise merupakan satu tujuan penting dari pemrosesan sinyal ECG. Sinyal ECG dapat dicatat dalam skala waktu yang panjang dengan tujuan untuk mengidentifikasi gangguan yang terjadi tiba-tiba dalam irama jantung.

(26) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 Akibatnya, jumlah rekaman ECG diproduksi dalam ukuran besar dengan cepat mengisi ruang penyimpanan yang tersedia. 2.2 Prinsip Dasar Error Coding Pada tahun 1948, Claude Shannon mendemonstrasikan dalam sebuah paper bahwa suatu pengkodean informasi yang tepat dapat mengurangi induksi error dalam sesuai dengan tingkat yang diinginkan tanpa harus mengorbankan laju transmisi sebuah informasi [8]. Secara umum, proses transmisi data digital melibatkan dua sisi yaitu sisi pengirim dan penerima. Sumber pengirim informasi dapat berupa user ataupun mesin. Sumber keluaran yang ditujukan kepada penerima sendiri dapat berupa gelombang kontinyu yang berurutan atau berupa simbol-simbol diskret. Sistem komunikasi data digital dapat direpresentasikan dalam sebuah diagram blok pada Gambar 2.3. Sumber Sumber Kanal Modulator Infrormasi Penyandi Penyandi (Unit Penulis) Noise Kanal (Media Penyimpanan) Penerima Sumber Kanal Demodulator (Unit Pengawasandian Pengawasandian Pembaca) Gambar 2.3 Blok diagram sistem transmisi atau media penyimpanan [8] Sumber penyandian akan mengubah urutan informasi dari bentuk data kontinyu menjadi bit-bit biner atau discrete (digital) yang berurutan terlebih dahulu. Bit-bit biner tersebut kemudian akan masuk dalam kanal penyandian. Data biner tersebut akan diolah kembali menjadi bit-bit sandi yang lebih panjang di dalam kanal penyandi. Data tersebut akan mengalami penambahan informasi. Informasi tersebut yang nantinya akan digunakan oleh decoder untuk melakukan

(27) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9 deteksi serta koreksi jika terjadi kesalahan terhadap data yang dikirimkan. Bit-bit informasi redundan yang ditambahkan tersebut disebut dengan bit-bit paritas. Data yang sudah berada dalam kanal penyandi tersebut akan diumpankan menuju sebuah modulator. Bit-bit discrete atau biner sendiri tidak cocok dengan transmisi pada kanal fisik atau ketika merekam di media penyimpanan digital. Masalah tersebut selanjutnya akan ditangani oleh modulator. Modulator berfungsi nantinya untuk mengubah kata sandi yang telah terbentuk menjadi sinyal-sinyal dan selanjutnya akan ditransmisikan ke tujuan melalui media transmisi. Ketika berada dalam media transmisi inilah, data-data yang dikirimkan seringkali mengalami distorsi yang disebabkan oleh noise (derau) dan berakibat pada error atau galat yang diterima oleh data. Noise sendiri ditemui pada banyak tempat antara lain kabel telepon, telepon seluler, HF Radio, link satelit, kabel fiber optic, dan lain-lain. Sebagai contoh dalam kabel telepon, gangguan bisa berasal dari switching impluse noise, thermal noise, atau crosstalk dari saluran lain. Selain yang terdapat di saluran-saluran komunikasi, noise juga dijumpai dalam media penyimpanan seperti seperti magnetic tapes, optical memory units, compact disc, semiconductor memory, dan lain-lain. Noise pada media penyimpanan tersebut seringkali disebabkan oleh permukaan media penyimpanan yang cacat atau partikel-partikel debu. Demodulator atau unit pembaca bertugas untuk menerima gelombang sinyal dan menghasilkan output diskret atau kontinyu. Urutan yang dihasilkan oleh demodulator sesuai dengan urutan ketika data mengalami encoding. Output hasil demodulator tersebut sering disebut dengan receivedsequence (urutan menerima). Channel decoder akan mengubah dari bentuk received sequence menjadi bentuk urutanperkiraaninformasi. Strategi proses decode didasarkan pada aturan channel encoding dan karakteristik dari noisepada suatu kanal. Idealnya, informasi yang dikirim oleh source encoder akan menjadi replika dari urutan informasi yang diterima pada channel decoder meskipun noisemungkin menyebabkan beberapa proses decode menjadi error. Sebuah source decoder akan mengubah dari bentuk urutan perkiraan informasitersebutmenjadi sebuah estimasi sumber output yang nantinya akan

(28) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10 dikirim menuju ke tujuan. Ketika sumber informasi bertipe kontinyu, proses tersebut melibatkan konversi dari digital menjadi analog. Dalam sebuah sistem yang dirancang dengan baik, suatu perkiraan akan menjadi reproduksi tepat sumber output dengan catatan kanal (media penyimpanan) tidak sedang dalam kondisi yang sangat ramai atau padat. Untuk lebih mempermudah dan memfokuskan pada beberapa titik, sistem komunikasi digital dapat diringkas seperti Gambar 2.4. Sumber Encoder Digital (Penyandi) Coding Channel Penerima Decoder Digital (Pengawasandi) Gambar 2.4 Bentuk sederhana dari coding sistem [8] Gambar 2.4 mengarahkan untuk terfokus pada kanal penyandidan kanal pengawasandian. Sumber informasi dan sumber penyandidapat digabung ke dalam bentuk sumber digital. Modulator, kanal atau media penyimpanan, dan demodulator dikombinasikan dalam coding channel. Sumber pengawasandian dan penerima dikombinasikan dalam sebuah penerima digital. Sebuah encoder atau decoder didesain dan diimplementasikan untuk memenuhi beberapa kriteria antara lain : 1. Informasi dapat ditransmisikan secepat mungkin dalam lingkungan yang sangat padat dan memiliki banyak noise. 2. Informasi dapat direproduksikan secara handal oleh kanal pengawasandian sebagai sebuah output.

(29) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11 3. Biaya pelaksanaanproses penyandiandan pengawasandianmasih dalambatas yang dapat diterima 2.2.1 Block Codes Dua perbedaan struktur jenis code yang saat ini umum digunakan adalah block codes dan convolutional codes [9].Dalam block codes, penyandi membagi urutan informasi dalam blok pesan untuk setiap k bit informasi. Sebuah blok pesan direpresentasikan oleh k-tuple biner u = (u0,u1,...,uk-1) dan sering disebut dengan pesan. Dalam block coding, simbol u digunakan untuk menotasikan sebuah k-bit pesan dari urutan informasi. Terdapat total 2k kemungkinan pesan yang berbeda. Penyandi akan mengubah setiap pesan u secara bebas ke dalam ntuple v = (v0,v1, .... ,vn-1) simbol diskret yang sering disebut dengan codeword. Dalam block coding, simbol v digunakan untuk menotasikan n-simbol blok dari seluruh urutan bit yang disandikan. Sesuai pada jumlah 2k kemungkinan pesan yang berbeda, terdapat 2k pula kemungkinan codeword yang berbeda pada output penyandian. Hal tersebut mengatur 2kcodeword dengan panjang n dinamakan sebuah (n,k) block code. Rasio R=k/n dinamakan sebagai code rate dan hal ini dapat diinterpretasikan sebagai nomor informasi bit yang masuk ke penyandi per simbol yang ditransmisikan. Dikarenakan n-simbol outputcodeword hanya tergantung pada kbit input pesan, setiap pesan disandikan secara bebas, penyandi (encoder) bersifat memoryless (tidak menyimpan) dan dapat diimplementasikan dengan kombinasi logika sirkuit. 2.2.2 Reed Solomon Codes Reed-Solomon (RS) codes merupakan sebuah metode error control coding yang cukup terkenal dan sudah diaplikasikan diberbagai macam media. ReedSolomon codes ini ditemukan oleh Irving Reed dan Gus Solomon pada 21 Januari 1959 [3]. Reed-Solomon codes dirancang menggunakan suatu metode matematika yang disebut Galois field. Galois field ini ditemukan oleh seorang ahli matematika bernama Evariste Galois pada tahun 1830 [10]. Penggunaan Reed-Solomon sangat banyak ditemukan dalam kehidupan sehari-hari seperti:

(30) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12 1. Digital Audio Disc Digital audio disc atau compact disc menggunakan Reed Solomon untuk koreksi kesalahan dan menyembunyikan kesalahan. Digital audio system juga mengaplikasikan Reed Solomon codes untuk membuat kualitas suara compact disc lebih mengesankan (rasio daya sinyal dibanding daya noise pada keluaran melebihi 90 ). 2. Deep Space Telecommunication Systems Aplikasi yang paling terkenal dari Reed-Solomon codes dalam teknologi luar angkasa terdapat pada ekspedisi Voyager Uranus dan Neptunus. Reed Solomon codes digunakan dalam transmisi foto dari planet-planet tersebut. Voyager menyediakan gambar/foto close-up untuk selanjutnya dikirim ke Bumi. Reed-Solomon codes menjaga agar gambar/foto yang dikirimkan tetap dalam keadaan yang baik sama seperti saat dikirimkan dari Voyager. 3. Quick Response Code Quick Response(QR) Code mengaplikasikan Reed-Solomon pada daerah kode data QR yang nantinya akan dibaca oleh scanner. Fungsi ReedSolomon ini agar kode dapat dibaca dengan benar bahkan ketika mereka tercoret atau rusak sampai tingkat koreksi kesalahan tertentu. Tingkat koreksi kesalahan tersebut dikonfigurasi oleh pengguna ketika ia menciptakan simbol dari QR codes. 2.2.3 Sifat - Sifat Reed Solomon Codes Reed Solomon codes memiliki sifat-sifat tertentu yang membuat kode ini sangat bermanfaat dalam dunia nyata. RS codes merupakan salah satu block code linier sistematis [10]. RS codes termasuk dalam block code karena kode diletakkan bersama-sama dengan memisahkan pesan asli dalam blok dengan panjang yang tetap. Setiap sub blok lebih lanjut dibagi menjadi simbol m-bit. Setiap simbol memiliki lebar yang tetap, biasanya berukuran antara 3-8 bit. Sifat linier memastikan bahwa dalam praktek, setiap m-bit data merupakan simbol yang valid. Sebagai contoh untuk 8-bit, pengkodean sangat dimungkinkan untuk word sebesar 8 bit dan tidak perlu khaqwatir tentang jenis data data yang akan ditransmisikan (misalnya biner, ASCII, dan lain-lain). Sistematis diartikan

(31) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13 data yang mengalami encoding terdiri dari data asli dengan tambahan bit-bit paritas pada codeword tersebut. Ilustrasi mengenai block code linear sistematis diperlihatkan dalam Gambar 2.5. Bit-bit paritas Message atau pesan n-k digit k digit n digit Gambar 2.5 Format sistematis sebuah codeword[5] Sebagian RS codes ditetapkan dalam bentuk RS(n,k) dengan simbol mbit. Sebagai contoh kode DVB (Digital Video Broadcast) adalah RS(204,188) menggunakan 8-bit simbol. Simbol n mengacu pada jumlah simbol yang akan dikodekan dalam blok, sementara k merujuk simbol-simbol pesan asli. Selisih n-k adalah jumlah bit-bit paritas yang telah ditambahkan untuk membuat sebuah encoded block. Sebuah RS decoder dapat memperbaiki hingga 𝑡 = 𝑛−𝑘 2 simbol . Setiap t simbol dapat mengalami kerusakan dengan cara apapun dan simbol atau pesan asli dapat dipulihkan kembali. Dengan demikian, DVB akan memecah kode pesan menjadi blok dengan panjang 188 simbol, sedangkan sisa 16 bit paritas (2t = 204188 = 16) kemudian ditambahkan untuk menghasilkan penuh 204 simbol panjang kode. Jumlah kode yang bisa dikoreksi jika terjadi kesalahan mencapai 𝑡 = 204−108 2 = 8 simbol Daya Reed Solomon codes terletak pada kemampuannya untuk mengkoreksi data yang rusak atau corrupt dengan kesalahan bit tunggaldengan mudah. Hal ini membuat RS codes terutama cocok untuk mengoreksi kesalahan yang banyak dalam waktu singkat (burst error). Biasanya data yang disandikan akan ditransmisikan atau disimpan dalam urutan bit.

(32) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14 2.2.4 Reed Solomon Encoding Penyandian merupakan hal yang sangat mudah saat ini. Sejak terdapat kode sistematis, seluruh blok dapat dibaca oleh encoder, dan kemudian mengirim output berupa codeword kesisi laintanpa perubahan [10].Penyandi RS memiliki fungsi membawa sejumlah k runtun data sebagai masukan dan menghasilkan sejumlah n runtun data yang dinamakan codeword. Reed Solomon codes sering dinotasikan sebagai RS (n,k) . Struktur RS codes secara singkat dapat dilihat pada Gambar 2.6. n simbol Data yang tidak berubah Paritas k simbol 2t simbol Gambar 2.6 RS(n,k) code Dengan simbol dari GF(2m), parameter-parameter yang sering digunakan antara lain 1. n = 2m – 1 ; n merupakan panjang sandi dalam suatu simbol. 2. k = n – 2t ; k merupakan jumlah simbol informasi data 3. 2t = n – k ; 2t merupakan jumlah simbol paritas ; t merupakan jumlah simbol yang dapat dikoreksi 4. do = 2t – 1=dmin ; do merupakan jarak minimum Jarak minimun adalah jarak terkecil antara dua kata sandi yang didefinisikan sebagai jumlah elemen atau dua posisi yang berbeda. Hubungan antara parameter n, k , dan t tersaji dalam Tabel 2.1. Tabel 2.1 Tabel Reed Solomon menggunakan (n, k, t) primitive Syarat : 2m – 1 (m ≤ 5) (n,k) Kemampuan melakukan koreksi kesalahan t (7,3) 2 (15,9) 3 (15,5) 5

(33) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15 (n,k) Kemampuan melakukan koreksi kesalahan t (31,25) 3 (31,21) 5 RS codes merupakan salah satu dari sandi siklis,penyandian dalam bentuk sistematis bersifat analog dengan prosedur encoding biner. RS codes dibangun melalui finite field arithmetic.Finite field ini ditemukan oleh seorang ahli matematika dari perancis bernama Evariste Galois. Seiring berjalannya waktu metode aritmatika tersebut sering disebut sebagai Galois field [3]. Galois field biasanya memiliki elemen q dan sering dinotasikan dalam GF(q). Jumlah elemen suatu finite field berbentuk sebuah pm, p merupakan bilangan bulat prima dan m merupakan bilangan bulat positif. Susunan nilai elemen X dalam GF(q) memiliki bilangan bulat terkecil m berupa Xm = 1. GF(q) selalu mengandung setidaknya 1 elemen yang disebut elemen primitif dengan susunan (q - 1). Sejak (q – 1) memiliki pangkat berurutan pada X {1, X, X2, ... , Xq-2} harus tidak boleh bernilai sama dan (q – 1) merupakan elemen bukan nol pada GF(q). Reed Solomon codes dengan dimensi (n,k) dibangun dengan membentuk polynomial generator g(x) yang memiliki factor n-k=2t. Faktor tersebut merupakan akar elemen berurutan dalam Galois field. Pemilihan elemen secara berurutan akan memastikan bahwa sifat jarak dari codes domaksimalkan. Pembentukan polinomial generator ditunjukkan dalam persamaan(2.1) berikut (2.1) Codeword dalam RS codes dapat direpresentasikan dalam bentuk polinomial karena berlandaskan dari logika aritmatika. Penyandian Reed Solomon menggunakan generator polinomial untuk membagi bit data. Proses penyandian RS codes dapat dijabarkan sebagai sebuah perhitungan polinomial dengan beberapa langkah. Proses penyandian codeword atau pesan dimulai dengan polinomial pesan dikalikan dengan xn-k dan hasilnya dibagi oleh polynomial generator g(x). Pembagian dengan g(x) menghasilkan suatuhasil bagi

(34) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16 q(x) dan r(x) sisanya. Hasil sisa r(x) merupakan derajat sampai nk-1. Proses penyandian pesan tersebut digambarkan dalam persamaan (2.2) berikut (2.2) Berdasarkan persamaaan (2.2), r(x) diproduksi oleh hasil pembagian. R(x) akan ditransmisikan codeword T(x) kemudian dapat dibentuk dengan menggabungkan M(x) dan r(x) sebagai persamaan (2.3) berikut (2.3) Dari persamaan (2.3), hasil dari penggabungan M(x) dan r(x) menghasilkan suatu codeword yang disimbolkan sebagai T(x). Penggabungan diatas menunjukkan bahwa codeword perlu diproduksi dalam bentuk yang sistematis. 2.2.5 Reed Solomon Decoding Decoder atau pengawasandi terletak pada sisi penerima. Decoder berfungsi untuk menanggulangi jika terjadi error yang disebabkan oleh noise ketika proses transmisi terjadi [11]. Dalam proses decoding, codeword yang diterima disebut dengan r(x), dan dinyatakan sebagai : (2. 4) dengan e(X) merupakan polinomial galat dan U(X) berupa codeword yang diterima. Proses-proses yang terjadi saat decoding RS codes merupakan sebuah rangkaian dan gabungan dari berbagai macam proses yaitu : 1. Perhitungan untuk menentukan nilai syndrom Langkah pertama dalamproses decoding simbol yang diterima adalah menentukan syndrome data. Di sini simbol yang diterima akan

(35) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17 dibagi generator polinomial byte. Hasilnya harus menghasilkan nilai nol (paritas ditempatkan di sana untuk memastikan kode yang persis dibagi oleh generator polinomial). Jika pembagian menghasilkan sisa, maka ada kesalahan yang disebut sebagai syndrome. 2. Menentukan lokasi polinomial error atau galat 3. Melakukan pengecekan terhadap akar-akar lokasi polinomial galat 4. Menentukan besar galat. 5. Mengoreksi polinomial yang diterima dengan perkiraan nilai polinomial galat. Secara lebih lengkap langkah-langkah proses decoding dalam sebuah Reed Solomon decoder diilustrasikan dalam sebuah flowchart seperti diperlihatkan pada Gambar 2.7. Langkah-langkah tersebut bisa digambarkan sebagai arsitektur general untuk proses decoding Reed Solomon codes. Gambar 2.7 Langkah-langkah proses decoding [12] Berdasarkan Gambar 2.7 Langkah-langkah proses decoding [12] terdapat beberapa komponen dalam decoder Reed Solomon antara lain syndrome decoder, error polynomial, error magnitudes, dan error corrections. Penjelasan dari komponen-komponen diatas sebagai berikut : 1. Syndrome Decoder Langkah pertama dalam proses decoding suatu codeword atau simbol yang diterima adalah menentukan syndrome data (error syndrome). Selanjutnya, simbol masukan yang diterima mengalami pembagian dengan generator polinomial. Hasilnya pembagian harus menjadi nol (paritas ditempatkan di sana untuk memastikan kode yang sama dibagi oleh generator polinomial). Jika proses pembagian menghasilkan sisa, maka terdapat kesalahan. Sisa pembagian polinomial tersebut disebut sebagai syndrome.

(36) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18 2. Error polynomial lambda - Berlekamp-Massey Langkah selanjutnya mencari polinomial lambda. Hal ini diperlukan untuk menyelesaikan persamaan simultan untuk setiap syndrome. Proses pemecahan persamaan simultan ini biasanya dibagi menjadi dua tahap.Tahap pertama, menemukan polinomial lokasi kesalahan. Polinomial ini memiliki akar persamaan yang memberikan lokasi kesalahan.Kemudian akar dari polinomial kesalahan dapat ditemukan. Simulasi ini akan digunakan metode Reformulated inverless BerlekampMassey. Metode ini telah dibahas dalam jurnal berjudul High-Speed Architectures for Reed–Solomon Decoders[13]. Metode RiBM ini merupakan pengembangan dari algoritma Berlekamp Massey. Algortima RiBM ini dituangkan dalam sebuah pesudocode berikut. 3. Menemukan akar polinomial kesalahan – Chien search Setelah polinomial kesalahan lambda diketahui, akar polinomial akan menentukan letak kesalahan pada blok simbol yang diterima. Algoritma yang

(37) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19 paling umum digunakan untuk ini adalah pencarian Chien. Algoritma ini menggunakan brute force beserta ignorance method. Algoritma pencarian Chien dapat dirumuskan dalam persamaan (2. 5). (2. 5) [14] Semuasimbol 2m mungkin diganti ke dalam polinomial kesalahan, satu per satu, dan polinomial akan dievaluasi. Jika hasilnya berupa nol, maka akar polinomial telah diketahui. 4. Menentukan error magnitudes dengan algoritma Forney Metode perhitungan untuk menentukan besarnya nilai nilai error yang cukup efisien adalah algoritma Forney. Menurut algoritma Forney, nilai error didapatkan dari persamaan (2.6) berikut. (2.6) Persamaan (2.6) tersebut akan memberikan hasil yang valid untuk posisi simbol yang mengandung kesalahan. Jika perhitungan dibuat pada posisi lain maka hasil yang didapatkan umumnya tidak valid. Dalam hal ini, algoritma pencarian chien diperlukan untuk mengidentifikasi posisi kesalahan. 2.3 Probabilitas Error Teknik komunikasi modern yang bersifat digital mendorong dibutuhkannya pengukuran kinerja end-to-end. Pengukuran kinerja suatu proses transmisi data biasanya menggunakan bit error rate (BER) [15]. BER melakukan pengukuran kinerja melalui proses kuantifikasi bit data yang masuk serta keluar. Nilai BER sangat dipengaruhi oleh noise yang berada pada lingkungan pengitiman data. BER memiliki konsep sederhana yang didefinisikan dalam persamaan(2.7).

(38) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20 𝐵𝐸𝑅 = 𝐸𝑟𝑟𝑜𝑟𝑠 𝑇𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑏𝑖𝑡𝑠 Perhitungan nilai BER pada persamaan (2.8) diatas melibatkan dua buah variabel yaitu jumlah error dan total jumlah bit suatu data. Persamaan (2.8) diatas bukanlah perhitungan yang akurat. Proses penghitungan dengan rumus diatas merupakan perkiraan nilai BER. Setiap analisis mendalam dari proses yang mempengaruhi BER memerlukan analisis matematis yang signifikan. Selain noise, kesalahan kuantisasi juga berperan mengurangi kinerja BER, melalui rekonstruksi yang salah dari bentuk suatu gelombang digital. Kesalahan ini terutama berupa fungsi dari ketepatan proses konversi digital-to-analog dan analog-to-digital dan terkait dengan jumlah bit yang digunakan pada titik-titik di sirkuit. Hal lain yang mempengaruhi kesalahan kuantisasi adalah tingkat akurasi proses modulasi / demodulasi analog dan efek penyaringan pada sinyal serta noise bandwidth. Selain BER, probabilitas error juga dapat ditunjukkan dengan Symbol Error Rate (SER). Satu simbol mewakili beberapa bit biner dalam suatu codeword. Perbedaan jumlah bit akan menyebabkan nilai symbol berubah. Konsep SER didefinisikan sebagai berikut. 𝐸𝑟𝑟𝑜𝑟𝑠 𝑆𝑦𝑚𝑏𝑜𝑙 𝑆𝐸𝑅 = 𝑇𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠𝑦𝑚𝑏𝑜𝑙 2.4 Signal-to-noise ratio Signal-to-noise ratio (SNR) mengacu pada perbandingandaya rata-rata sinyaldengandaya rata-rata noise. SNR dapat digunakan sebagai alat ukur tingkat unjuk kerja dan efek dari suatu noiset ersebut dan digunakan sebagai evaluasi stabilitas unjuk kerja dari karakteristik output. Semakin tinggi unjuk kerja yang diukur dengan tingginya SNR sama dengan kerugian yang mengecil. [8] SNR dapat didefinisikan dalam sebuah persamaan di bawah ini. Persamaan berikut merupakan ukuran standar kinerja pada berbagai titik dalam suatu link.

(39) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21 𝑺𝑵𝑹 = 𝑺𝒊𝒈𝒏𝒂𝒍 𝒑𝒐𝒘𝒆𝒓 𝑵𝒐𝒊𝒔𝒆 𝒑𝒐𝒘𝒆𝒓 Sinyal dapat berupa sebuah sinyal informasi,bentuk gelombang baseband, atau modulated carrier. SNR dapat mengalami penurunan dalam dua cara antara lain: 1. Melalui penurunan daya sinyal yang diinginkan 2. Melalui peningkatan daya noise sinyal yang mengganggu. Degradasi atau penurunan tersebut dapat menyebabkan kerugian dan kebisingan (gangguan). Kerugian terjadi ketika sebagian dari sinyal diserap, dialihkan, tersebar, atau dipantulkan sepanjang proses transmisi data, sehingga sebagian dari energi yang ditransmisikan tidak sampai pada penerima. Noise atau kebisingan dapat disebabkan oleh beberapa sumber utama yaitu: 1. Thermal noise yang disebabkan oleh nilai suhu tertentu. 2. Sky noise yang biasa ditemui pada atmosfer udara 3. Sistem non linier yang menimbulkan sinyal palsu dalam link 4. Sinyal gangguan dari pengguna lain dari frekuensi yang sama dapat masuk ke dalam link. 2.5 Penyandian Kanal Penyandian isyarat digital berfungsi sebagai peningkat kinerja komunikasi dengan meningkatkan ketahanan sinyal terhadap berbagai gangguan saluran [9] Penyandian dikelompokkan dalam dua jenis yaitu penyandian gelombang (waveform coding) dan urutan terstruktur (structured sequences). Waveform coding merupakan teknik penyandian kanal dengan melakukan pengubahan bentuk gelombang menjadi bentuk gelombang yang lebih baik sehingga mengurangi terjadinya galat (error). Structured sequences merupakan teknik penyandian dengan melakukan pengubahan urutan data menjadi urutan yang mempunyai bit berlebih (redundant bit). Bit berlebih digunakan untuk mendeteksi dan mengkoreksi error. Urutan terstruktur dibedakan menjadi dua kategori, yaitu: block codes dan convolutional code. Berdasarkan metode penyandian, penyandian kanal dibedakan

(40) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22 menjadi dua, yaitu: Backward Error Correction (BEC) dan Forward Error Correction (FEC). BEC hanya membutuhkan deteksi kesalahan. Jika kesalahan terdeteksi, pengirim diminta untuk mengirim ulang pesan. FEC membutuhkan decoder yang digunakan untuk mengoreksi sejumlah kesalahan. Decoder harus mampu mengetahui posisi bit yang mengalami kesalahan. FEC hanya membutuhkan komunikasi simplex. FEC digunakan untuk meningkatkan efisiensi energi dari sistem. 2.6 Konversi Digital-to-Analog Konversi digital-ke-analog merupakan proses pengubahan salah satu karakteristik sinyal analog berdasarkan informasi dalam data digital [17]. Gambar 2.8 menunjukkan hubungan antara informasi digital, proses digital-ke-analog, modulasi,dan sinyal analog yang dihasilkan. Gambar 2.8 Konversi digital ke analog Berdasarkan Gambar 2.8, konversi digitial ke analog melibatkan beberapa system yaitu sender (pengirim), modulator, link, demodulator, dan receiver (penerima). Pertama-tama, data digital akan dikirimkan oleh pengirim. Selanjutnya, modulator berfungsi untuk mengubah data dari bentuk digital menjadi analog. Data yang sudah berbentuk sinyal analog akan dikirim melalui link. Sebelum sampai pada penerima, sinyal analog akan diubah kembali menjadi data digital dan data akan disampaikan pada penerima. 2.6.1 Quadrature amplitude modulation Tigamekanisme yang sering digunakan dalam modulasidata digitalmenjadi sinyalanalog yaitu Amplitudo Shift Keying (ASK), Frequency Shift Keying (FSK), danPhase Shift Keying (PSK). Selain itu, ada mekanisme keempat yang memiliki sifat lebih baik. Mekanisme ini menggabungkan perubahan baik amplitudo dan fase, yang disebut Quadrature Amplitude Modulation (QAM). Gambar 2.9

(41) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23 menunjukkan beberapa tipe metode konversi digital ke analog beserta penggabungannya Gambar 2.9 Tipe konversi digital ke analog QAM menggunakan dua operator (satu di phase dan lainnya quadrature) dengan tingkat amplitudo yang berbeda untuk masing-masing operator. Variasi kemungkinan QAM sangat banyak, Gambar 2.10 menunjukkan beberapa skema QAM. Gambar 2.10 Contoh Constellation Diagram untuk beberapa tipe QAM Gambar 2.10 mewakili constellation diagram untuk QAM bertipe 4-QAM dan 16-QAM. Diagram konstelasi digunakan membantu menentukan amplitudo dan fase dari sebuah elemen sinyal, terutama ketika menggunakan dua operator (satu-fase dan satu quadrature). Dalam constellation diagram, jenis elemen sinyal diwakili sebagai titik. Bit atau kombinasi dari bit digambarkan disekitar titik konstelasi sebelahnya. Diagram memiliki dua sumbu yaitu sumbu X berhubungan dengan carrierdi fase, sedangkan sumbu Y vertikal berhubungan dengan carrier quadrature. Setiap titik pada diagram merupakan potongan informasi. Proyeksi titik pada sumbu X mendefinisikan amplitudo puncak dalam fase, proyeksi titik pada sumbu Y mendefinisikan amplitudo puncak pada quadrature. Panjang garis (vektor) yang menghubungkan titik ke asal adalah amplitudo puncak elemen sinyal (kombinasi dari X dan komponen Y), sudut garis dibuat dengan sumbu X merupakan fase elemen sinyal. Semua informasi yang

(42) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24 dibutuhkan ditemukan pada constellation diagram. Gambar 2.11 menunjukkan konsep constellation diagram. Gambar 2.11 Konsep constellation diagram 2.7 Additive White Gaussian Noise AWGN adalah noise yang bersifat statis dan acak dalam rentang frekuensi yang luas dengan kerapatan spektral konstan [18]. Noise dalam AWGN dapat berasal dari banyak sumber seperti thermal noise, shot noise, noise dari radiasi matahari, dan lainnya yang menyebabkan gangguan terhadap kinerja suatu proses komunikasi data. Kanal AWGN bekerja dengan menambahkan antara sinyal s(t) dengan noise n(t) dalam suatu saluran komunikasi. Pada penerima,sinyal r(t) yang berasal dari sinyal asli s(t) telah bercampur dengan noise n(t)akan diterima. Proses terjadinya noise pada kanal AWGN diperlihatkan dalam Gambar 2.12. s(t) + r(t) Receiver n(t) Gambar 2.12 Proses penambahan noise pada kanal AWGN

(43) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25 3 BAB III ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran Umum Program Gambar 3.1 menjelaskan alur program simulasi Reed Solomon secara singkat dari awal hingga akhir program dijalankan. Mulai ECG Database Memotong data ECG Penyandian Reed Solomon Pemberian error pada kanal AWGN Deteksi dan Koreksi Error Mengembalikan ke dalam bentuk ECG Grafik ECG Symbol Error Rate Selesai Gambar 3.1 Alur program simulasi Reed Solomon

(44) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26 Alur program simulasi Reed-Solomon secara umum adalah sebagai berikut, program memiliki input data berupa suatu ECG database. ECG database akan dipotong dalam ukuran pola data ECG. User dapat melakukan pratinjau terhadap ECG yang akan dijadikan data dalam simulasi. Proses selanjutnya, program akan melakukan pemotongan terhadap data ECG sesuai dengan ukuran pola serta dimensi dari Reed Solomon yang akan dibuat. Selanjutnya, data akan mengalami penyandian Reed Solomon. Input data yang telah disandikan tersebut akan mengalami suatu pemberian error secara otomatis dan acak. Pemberian error disimulasikan pada kanal AWGN. Hal tersebut dimaksudkan untuk memberikan gambaran pengiriman datadalam sebuah kanal dan data mengalami error. Selanjutnya, program akan mendeteksi apakah terdapat error atau tidak. Jika terjadi error pada data, program akan menginformasikan dan melakukan pengkoreksian terhadap input data yang salah tersebut. Hasil data yang telah dikoreksi tersebut akan diubah kembali menjadi bentuk ECG. Selain itu, hasil yang diperoleh berupabit error rate dan parameter-parameter hasil penyandian. Program simulasi Reed Solomon ini menghasilkan nilai bit error rate(BER) sebagai perbandingan antara jumlah error pada data dengan jumlah keseluruhan data. Program menampilkan sebuah grafik dengan 2 buah komponen. Pada sumbu Y merupakan besaran nilai SER dan sumbu X merupakan besaran nilai dari signal to noise ratio (SNR). Nilai SNR menggunakan rentang antara 1 – 20 . Kedua parameter keluaran dari program simulasi Reed-Solomon ini digunakan sebagai analisa unjuk kerja dari reed solomon codes. Luaran dari program ini diharapkan mampu memperlihatkan perubahan 1 simbol data terhadap data elektrokardiogram yang ditransmisikan. 3.2 Rancangan Model Sistem Program simulasi Reed Solomon ini merupakan hasil dari sebuah rancangan suatu model yang terdiri dari beberapa rangkaian sistem. Rancangan model sistem yang disimulasikan disajikan dalam Gambar 3.2.

(45) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27 Sinyal ECG (Analog) Encoder Reed Solomon Code Modulator QAM Kanal AWGN Noise AWGN Sinyal ECG (Analog) Decoder Reed Solomon Code Demodulator QAM Gambar 3.2 Rancangan model sistem program simulasi Reed Solomon Dalam Gambar 3.2 terlihat bahwa model sistem yang akan disimulasikan memiliki banyak komponen. Komponen awal berupa sinyal ECG Analog. Sinyal analog kemudian akan diolah sedemikian rupa. Komponen selanjutnya berupa encoder Reed Solomon code. Encoder tersebut akan menyandikan ECG. Proses selanjutnya data akan mengalami modulasi dalam modulator QAM. Data yang telah disandikan tersebut selanjutnya akan masuk ke dalam sebuah kanal AWGN. Data yang dikirimkan akan mengalamai error dalam kanal tersebut dan selanjutnya akan diterima oleh demodulator QAM dan akan mengalami proses modulasi. Data yang sudah didemodulasi kemudian diterima olehdecoder Reed Solomon.Proses-proses yang dilakukan dalam decoder ini antara lain pendeteksian error, koreksi error, beserta penghitungan SER (Symbol Error Rate). Selanjutnya akan diubah menjadi menjadi analog. 3.3 Perancangan penyandian Reed Solomon Proses encode menggunakan Reed Solomon yang didasarkan pada Galois FieldGF(25) = GF(32),GF(26) = GF(64), dan GF(27) = GF(128). Nilai dari GF tersebut akan digunakan sebagai ukuran panjang dari codeword atau n.Nilai Galois Field diatas digunakan sebagai nilai variabel yang dalam proses penyandian. Penjelasan untuk masing-masing Galois Field yang digunakan adalah sebagai berikut. 1. Galois Field GF(25) = GF(32) GF(32) menggunakan polinomial primitif dengan P(x) = 1+x2+x5, kode (n,k) yang dihasilkan adalah (31, 31-2t). Nilai ndan kdan tsemua mengacuke

(46) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28 sejumlah5-bitsimbol.Berdasarkan perhitungan diatas, diperoleh dimensi (n,k) yang digunakan dalam simulasi adalah (31,27) codeword dengan jumlah data yang bisa dikoreksi t=2.Ukuran codeword keseluruhan adalah 5×31 =155bit. Rancangan rangkaian register untuk penyandian RS dalam simulasi ini digambarkan dalamGambar 3.3. Gate Digit + + Parity Register geser Output Data Gambar 3.3Rangkaian register geser Reed Solomon code (31,27) Gambar 3.3 menunjukkan rangkaian register dengan polinomial P(x) = 1 2 5 + x +x . Langkah-langkah yang dijalankan dalam register geser yaitu pertamatama, input data akan memasuki register geser n - k . Selanjutnya, data mengalami pergeseran dan akan mengisi setiap register. Ketika proses pergeseran, terdapat proses penjumlahan bit untuk setiap data yang masuk.Proses pergeseran terjadi sampai semua input data habis. Input data yang sudah masuk tadi akan menuju ke register output dan selanjutnya akan menjadi output. Sisa data yang berada pada register menjadi nilai bit paritas dari sandi yang akan digunakan. Proses decode merupakan proses yang terjadi setelah data penyandian diterima oleh pihak tujuan. Proses decode memerlukan error syndrome untuk melakukan proses deteksi kesalahan.Proses penghitungan error syndrome bisa diperoleh dengan menggunakan sebuah rangkaian. Rangkaian pembagi polinomial ini mirip dengan rangkaian encoder yang sedikit mengalami perubahan.Gambar 3.4 di bawah ini menunjukkan rangkaian pembagi untuk mencari error syndrome. X0 X2 X1 X3 X4 X5 Switch 1 Received Codeword Syndrome + + Switch 2 Gambar 3.4 Rangkaian syndrome decoder (31,27)

(47) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29 Gambar 3.4 memberikan hasil error syndrome dari codeword yang dikirimkan oleh pemancar. Proses penghitungan syndrome ini bermula pada posisi switch 1 dan switch 2 terbuka. Nilai register semua dalam kondisi awal nol. Codeword yang diterima kemudian digeser pada register yang ada. Syndrome didapat ketika semua codeword telah habis digeser. Isi dari register adalah syndrome. Selanjutnya, switch 1 akan terbuka dan switch 2 tertutup, sehingga codeword dapat digeser dan keluar dari register. 2. Galois FieldGF(26) = GF(64) GF(64) memiliki polinimial primitif P(x) = 1 + x + x6 . Untuk GF(64), kode yang dihasilkan adalah (n, k) = (63, 63-2t), dengan n dan k serta t semua mengacu pada sejumlah 6-bit simbol [19]. Berdasarkan perhitungan diatas, diperoleh dimensi (n,k) yang digunakan dalam simulasi adalah (63,61) codeword dengan jumlah data yang bisa dikoreksi t=1.Ukuran codeword keseluruhan adalah 6×63 =378bit. Rancangan rangkaian register untuk penyandian RS dalam simulasi ini digambarkan dalam Gambar 3.5. Gate Digit + + Parity Register geser Output Data Gambar 3.5 Rangkaian register geser Reed Solomon code (63,61) Gambar 3.5 menunjukkan rangkaian register dengan polinomial P(x) = 1 + x + x6. Rangkaian tersebut memiliki 5 buah register, 2 buah adder dan sebuah gate yang berfungsi sebagai saklar. Cara kerja dari rangkaian register untuk sandi (63,61) ini sama dengan sandi (31,25) hanya perbedaan terdapat pada jumlah register. Sandi (63,61) juga memiliki rangkaian syndrome decoder. Gambar 3.6 menunjukkan rangkaian pembagi untuk mencari error syndrome.

(48) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30 X X X X X X X Switch 1 Received Codeword Syndrome Switch + + 2 Gambar 3.6 Rangkaian syndrome decoder(63,61) 3. Galois Field GF(27) = GF(128) GF(128) memiliki polinimial primitif P(x) = 1 + x3 + x7. Untuk GF(128), kode yang dihasilkan adalah (n, k) = (127, 127-2t), dengan n dan k serta t semua mengacu ke sejumlah 7-bit simbol. Salah satu dimensi (n,k) yang digunakan dalam simulasi adalah (127,119) codeword dengan jumlah data yang bisa dikoreksi t=4.Ukuran codeword keseluruhan adalah 7×127 = 889bit. Rancangan rangkaian register untuk penyandian RS dalam simulasi ini digambarkan dalam Gambar 3.7. Gate Digit + + Register geser Parity Output Data Gambar 3.7 Rangkaian register geser Reed Solomon code (127,119) Gambar 3.7 menunjukkan rangkaian register dengan polinomial P(x) = 1 + 3 7 x + x . Rangkaian tersebut memiliki 7 buah register, 2 buah adder dan sebuah gate yang berfungsi sebagai saklar. Sandi (127,119) juga memiliki rangkaian syndrome decoder. Gambar 3.8 menunjukkan rangkaian pembagi untuk mencari error syndrome. X X X X X X X7 X Switch Received Codeword Syndrome + + Gambar 3.8 Rangkaian syndrome decoder (127,119) Switch

(49) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31 Secara singkat perbedaan dari ketiga buah rancangan penyandian Reed Solomon diperlihatkan dalam Tabel 3.1. Tabel 3.1 Perbedaan atribut penyandian Reed Solomon RS Codes Panjang Codeword 3.4 Kemampuan Code rate R koreksi (t) 31 RS(31,27) 2 0.87 63 RS(63,61) 1 0.97 127 RS(127,119) 4 0.94 Desain Input Data Sumber data yang akan digunakan dalam simulasi ini berupa ECG database. Format ECG database yang sering digunakan dalam penelitian berasal dari Massachusetts Institute of Technology dan Boston's Beth Israel Hospital (MIT-BIH). Data yang akan diolah terdiri dari beberapa file berekstensi hea, dat, dan atr. Header file (.hea) dan data (.dat) merupakan file dasar yang berisi data sinyal. Atribut file (.atr) berisi mengenai file biner yang mengandung label (penjelasan) dan mengarah kelokasi tertentu danmenggambarkan kejadiandi lokasi tersebut. Gambar 3.9 ECG database dalamsinyal (.dat) file

(50) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32 Format yang digunakan adalah format212. Format tersebut merupakan format ideal yang terdiri masing-masing 12 bit data dan format tersebut merupakan format yang relatif mudah. Gambar 3.9 merupakan contoh ECG hasil pembacaan dari ECG Databaseyang telah diolah dan ditampilkan secara visual dalam bentuk grafik.. 3.5 3.5.1 Perancangan Sistem Use Case Gambar 3.10merupakan uraian aksi aktor yang dilakukan terhadap program simulasi Reed Solomon. Program Simulasi Reed Solomon Encode data ECG Decode data hasil penyandian User Menambahkan error pada data penyandian Gambar 3.10Use case program Reed Solomon Dari Gambar 3.10, dapat diketahui bahwa aksi yang dilakukan aktor yaitu user adalah encode data ECG, decode data hasil penyandian, dan menambahkan error pada data penyandian. Aksi encode yang dilakukan user berfungsi untuk menghasilkan data ECG dalam bentuk sandi Reed Solomon code. Aksi decode berfungsi untuk mengembalikan kembali data ECG yang telah disandikan menjadi ECG awal dan mengetahui seberapa besar error yang diterima. Aksi user menambahkan error berfungsi untuk memberikan error secara acak untuk mensimulasikan sandi dikirimkan melalui kanal dan mengalami error. 3.5.2 Narasi Use Case Use case dalam Gambar 3.10 merupakan deskripsi langkah kerja yang akan dilakukan user terhadap program simulasi Reed Solomon codes. Langkah

(51) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33 kerja tersebut meliputi aksi pengguna dan reaksi program terhadap reaksi pengguna yang dituangkan dalam narasi use case Nama Use Case : Encode data ECG Aktor : User Kondisi awal : User berada pada halaman awal program. Deskripsi : Use case ini digunakan untuk user menyandikan data awal menggunakan Reed Solomon codes Tabel 3.2 Skenario utama use case encode data Aksi Aktor Reaksi Sistem 1. User memilih menu Encode data 2. Sistemmenampilkan halaman Encode data 3. User memasukkan file database ECG yang akan digunakan dan menekan tombol Pratinjau 4. Menampilkan grafik visualisasi ECG hasil proses pembacaan 5. Memilih ukuran dari dimensi Reed Solomon dan tombol encode melakukan menekan data proses untuk penyandian data. 6. Melakukan proses penyandian / encode data menggunakan Reed Solomon dan menampilkan hasil penyandian encodepada halaman baru. Nama Use Case : Decode data ECG Aktor : User

(52) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34 Kondisi awal : User berada pada halaman awal program. Deskripsi : Use case ini digunakan untuk user melakaukan pengawasandian data hasil penyandian menggunakan Reed Solomon codes . Tabel 3.3 Skenario utama use case decode data Aksi Aktor Reaksi Sistem 1. User memilih menu Decode data 2. Sistemmenampilkan halaman Decode data 3. User memilih file data yang merupakan hasil 4. Sistem membaca masukan file berupa hasil penyandian dan menampilkan data sandi yang dibaca 5. Memilih tombol Decode Data untuk melakukan proses decode data penyandian 6. Melakukan proses decode terhadap masukan data dan menampilkan halaman yang berisi visualisasi grafik ECG dan parameter penyandian 7. Menampilkan nilai SER beserta atribut lain Nama Use Case : Menambahkan error padadata penyandian Aktor : User Kondisi awal : User berada pada halaman awal program.

(53) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35 Deskripsi : Use case ini digunakan untuk usermenambahkan error secara acak pada sandi. Tabel 3.4 Skenario utama use case menambahkan error padadata penyandian Aksi Aktor Reaksi Sistem 1. Sistem menampilkan halaman penambahan error. 2. User memilih ukuran modulasi yang digunakan beserta ukuran nilai SNR 3. Sistem melakukan simulasi pengiriman kanal AWGN 3.5.3 Diagram Arus Data Level 0 / Diagram Konteks Gambar 3.11merupakan diagram arus data level 0 atau sering disebut sebagai diagram konteks. Data ECG User Data ECG Symbol Error Rate 0 Program Simulasi Reed Solomon Gambar 3.11 Diagram arus data level 0 Gambar 3.11 terdapat user beserta Program simulasi Reed Solomon Code. User memasukkan input data berupa data ECG ke dalam program simulasi. Keluaran dari hasil proses yang dilakukan berupa data ECG kembali beserta symbol error rate. 3.5.4 Diagram Berjenjang Gambar 3.12 merupakan diagram berjenjang dari program Simulasi Reed Solomon code.

(54) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36 0 Program Simulasi Reed Solomon 2 1 Decode data hasil penyandian Encode Data ECG 1.1 2.1 Memotong data ECG Deteksi data hasil penyandian 1.2 2.2 Mengubah data menjadi biner Koreksi data hasil penyandian 1.3 2.3 Menyandikan data dalam Reed Solomon code Menghitung Probabilitas Error 2.4 Mengembalikan data dalam bentuk ECG Gambar 3.12 Diagram berjenjang program simulasi Reed Solomon code Diagram berjenjang yang disajikan dalam Gambar 3.12 memperlihatkan proses yang terjadi dalam program simulasi Reed Solomon code. Dua buah proses besar yang terjadi dalam program adalah encode data ECG dan decode data hasil penyandian yang memiliki jenjang paling atas yaitu 1 dan 2. Proses encode data ECG memiliki beberapa sub proses yang berfungsi sebagai penunjang antara lain memotong data ECG dalam pola-pola tertentu (1.1), mengubah data yang sudah dipotong-potong menjadi biner (1.2), dan menyandikan data biner dalam Reed Solomon code (1.3). Proses kedua merupakan decode data hasil penyandian Reed Solomon untuk mendapatkan kembali data yang telah disandikan. Proses ini memilik sub proses antara lain deteksi data hasil penyandian (2.1), koreksi data hasil penyandian (2.2), menghitung probabilitas error (2.3), dan mengembalikan kembali data dalam bentuk ECG (2.4).

(55) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37 3.5.5 Diagram Arus Data Level 1 Gambar 3.13 merupakan diagram arus data level 1 dari program Simulasi Reed Solomon code. 1 Data ECG File data encode Data hasil penyandian Encode data ECG File data encode File data encode User File data ECG 2 Data ECG Symbol Error Rate File data encode Decode data hasil penyandian Data ECG Data hasil decode Gambar 3.13 Diagram arus data level 1 Diagram arus data pada Gambar 3.13 menunjukkan aliran data yang dikirimkan pada proses besar dari program yaitu encode data ECG (1) beserta decode data hasil penyandian (2). Proses encode melibatkan langsung aktor user dalam melakukan eksekusi. Data yang dikirimkan saat aksi user terhadap sistem berupa data ECG yang masih berupa database. Selanjutnya sistem akan melakukan proses encode data tersebut dan menghasilkan file data hasil encode. File data tersebut yang nantinya akan digunakan dalam proses decode. Proses decode akan berjalan dengan masukan file data encode. Hasil keluaran dari proses decode berupa data ECG dalam bentuk semula beserta hasil SER (Symbol Error Rate). 3.5.6 Diagram Arus Data Level 2 Gambar 3.14 merupakan diagram arus data level 2 dari program Simulasi Reed Solomon code.

(56) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38 1.1 Memotong data ECG Data ECG Pola ECG 1.2 User Membagi data sesuai panjang k Data panjang k File data encode 1.3 Data hasil penyandian Menyandikan data dalam Reed Solomon code File data encode File data encode Gambar 3.14 Diagram arus data level 2 proses encode DAD yang disajikan dalam Gambar 3.14 menggambarkan proses yang terjadi dalam aksi encode. Proses encode secara garis besar terdiri dari proses Memotong data ECG (1.1), membagi data sesuai dengan ukuran k (1.2), serta menyandikan data dalam Reed Solomon code (1.3). Data yang mengalir dalam proses ini antara lain data ECG yang berbentuk database dikirim menuju ke sistem kemudian mengalami proses pemotongan. Proses pemotongan data ECG menghasilkan sebuah ECG yang sudah berpola dalam satuan waktu tertentu. Selanjutnya, data ECG yang sudah berpola diubah menjadi bentuk sedemikian rupa agar siap disandikan. Proses pengubahan tersebut memberikan hasil berupa data ECG berbentuk biner. Data tersebut kemudian disandikan oleh encoder menjadi Reed Solomon code. Hasil dari proses penyandian berupa sebuah file hasil penyandian yang nantinya akan dikirim kembali ke user. Gambar 3.15 menunjukkan diagram arus data untuk proses decode data ECG.

(57) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39 2.1 Deteksi hasil penyandian File data penyandian Pola / error sindrom & data penyandian 2.2 User Koreksi hasil penyandian Data ECG 2.3 File data ECG & Bit error rate Menghitung probabilitas error Data ECG & Symbol error rate 2.4 Data ECG Mengembalikan data dalam bentuk ECG File data ECG File data ECG Gambar 3.15 Diagram arus data level 2 proses decode Gambar 3.15 menunjukkan bahwa dalam proses decode terdapat beberapa proses. Proses decode data secara garis besar terdiri dari deteksi hasil penyandian (2.1), koreksi hasil penyandian (2.2), menghitung probabilitas error (2.3), dan mengembalikan data dalam bentuk ECG (2.4). Proses pertama adalahdeteksi hasil penyandian. Data yang mengalir dalam proses ini berasal langsung dari user yaitu berupa file data penyandian yang dihasilkan dari proses encode. Proses selanjutnya berupa melakukan koreksi hasil penyandian dengan data yang dibutuhkan berupa pola / error sindrom beserta data penyandian. Data pola / error sindrom berasal dari proses deteksi kesalahan. Apabila tidak terdapat error saat proses maka akan diberikan notifikasi. Setelah proses koreksi, maka akan dihitung probabilitas error untuk menghasilkan sebuah grafik SER. Data penyandian akan dikembalikan dalam bentuk ECG kembali dan disajikan kepada user beserta nilai SER.

(58) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40 3.6 Perancangan Tampilan Dalam perancangan sistem akan dibuat beberapa tampilan berupa : 1. Tampilan Awal Program Simulasi Reed Solomon Tampilan awal ini muncul ketika program dibuka. Rancangan tampilan awal program simulasi Reed Solomon disajikan dalam Gambar 3.16. Gambar 3.16 Rancangan tampilan awal program simulasi Reed Solomon Berdasarkan Gambar 3.16, tampilan awal memiliki dua buah fungsi seperti encode data, serta decode data Jika tombol encode data, maka akan muncul halaman yang berfungsi untuk penyandian Reed Solomon. Pilihan decode data akan menampilkan halaman untuk melakukan pengawasandian data yang sudah disandikan.Menu tentang berisi mengenai informasi pembuat program simulasi. 1. Tampilan Halaman Encode Gambar 3.17 merupakan gambar tampilan halaman encode data program simulasi Reed Solomon code.

(59) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41 Gambar 3.17 Tampilan halaman encode data Halaman Encode data ini digunakan untuk user melakukan proses simulasi penyandian Reed Solomon. Halaman ini memiliki beberapa fungsi. User dapat memasukkan file ECG database yang akan disandikan. User dapat melihat pratinjau dari ECG database yang dimasukkan. Tombol encode data yang akan melakukan proses encode data ECG database. Sebelum melakukan encode, nilai dimensi dari Reed Solomon codes harus ditentukan terlebih dahulu. Saat tombol encode data ditekan, program akan mengeksekusi masukan data dan menyandikan dalam Reed Solomon. 2. Tampilan Halaman Decode Halaman decode data merupakan halaman yang digunakan untuk user mengubah kembali dari hasil penyandian menjadi sebuah ECG. Halaman rancangan tampilan decode disajikan dalam Gambar 3.18.

(60) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42 Gambar 3.18 Halaman tampilan decode Halaman decode data dalam Gambar 3.18 memiliki fungsi untuk memasukkan file data hasil penyandian ECG dan melakukan proses decode. Pertama-tama, user memilih terlebih dahulu file hasil penyandian melalui dialog box yang telah disediakan. Jika user ingin melakukan proses decode data ECG, maka user dapat memilih tombol “Decode Data”. Saat tombol tersebut dipilih, program akan melakukan proses koreksi data. Selanjutnya program akan menampilkan atribut hasil pengawasandian. Halaman ini akan menampilkan hasil decode ECG yang ditampilkan kembali pada grafik. Parameter lain yangditampilkan dalam halaman ini berupawaktu decode, jumlah data yang diterima, jumlah data error, dan jumlah data terkoreksi yang nantinya akan dianalisa serta SER (Symbol Error Rate). 3. Tampilan Halaman Pemberian Error Halaman pemberian error ini akan melakukan simulasi pemberian error terhadap data yang telah disandikan melalui kanal AWGN. User dapat

(61) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43 memberikan error pada data penyandian dengan memilih nilai SNR dalam dropdown menu atau membuat besar nilai SNR acak. Tombol beri error digunakan untuk memulai proses. Tampilan halaman pemberian error diperlihatkan dalam Gambar 3.19. Gambar 3.19 Halaman tampilan kanal AWGN

(62) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44 4 BAB IV IMPLEMENTASI Bab ini akan memaparkan proses implementasi simulasi yang telah dirancang dalam sebuah coding. Spesifikasi perangkat lunak yang digunakan untuk melakukan implementasi simulasi ini sebagai berikut : 1. Sistem operasi : Windows 7 Ultimate Edition 32-bit 2. Matlab R2010a (Versi : 7.10.0.499) 4.1 Implementasi Proses 4.1.1 Implementasi Preprocessing Pembacaan data ECG Preprocessing atau pemrosesan awal berfungsi untuk mengubah database ECG menjadi bentuk visual, yaitu grafik ECG. Proses pemrosesan awal ini diperlukan juga untuk mendapatkan nilai angka dari database ECG yang akan disimulasikan. Sebelum melakukan pemrosesan awal, file yang berisi database ECG akan dipanggil terlebih dahulu. Sebagai contoh, file yang akan digunakan yaitu “100.dat”. File lain yang dibutuhkan untuk proses pembacaan berupa file berekstensi .atr dan .hea. File pelengkap tersebut harus memiliki nama file yang sama dengan file .dat . Implementasi proses ini dilakukan dengan menggunakan sintaks pada Matlab yaitu : 1. Proses melakukan pembacaan terhadap headerfile (.hea) dengan mengecek file format header. Format file yang diijinkan berupa file berformat 212.Sintaks ini berisi mengenai inisialisasi variabel berupa jumlah dari sinyal, sample rate of data, dan lain-lain. Potongan fungsi pembacaan header file adalah sebagai berikut : signalh= fullfile(PATH, HEADERFILE); fid1=fopen(signalh,'r'); z= fgetl(fid1); A= sscanf(z, '%*s %d %d %d',[1,3]); nosig= A(1); sfreq=A(2); clear A; % number of signals % sample rate of data

(63) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45 for k=1:nosig z= fgetl(fid1); A= sscanf(z, '%*s %d %d %d %d %d',[1,5]); dformat(k)= A(1); % format; here only 212 is allowed gain(k)= A(2); % number of integers per mV bitres(k)= A(3); % bitresolution zerovalue(k)= A(4); % integer value of ECG zero point firstvalue(k)= A(5); % first integer value of signal (to test for errors) end; 2. Melakukan pembacaan data biner yang berasal dari ECG database (.dat). Sintaks ini akan melakukan verifikasi bahwa data yang akan dibaca berupa 212. Bit-bit data pada kolom-kolom akan mulai dibaca sampai sejumlah panjang sample yang telah ditentukan. Potongan program untuk fungsi adalah sebagai berikut if dformat~= [212,212], error('this script does not apply binary formats different to 212.'); end; signald= fullfile(PATH, DATAFILE); % data in format 212 fid2=fopen(signald,'r'); A= fread(fid2, [3, SAMPLES2READ], 'uint8')'; % matrix with 3 rows, each 8 bits long, = 2*12bit fclose(fid2); M2H= bitshift(A(:,2), -4); M1H= bitand(A(:,2), 15); % sign-bit PRL=bitshift(bitand(A(:,2),8),9); PRR=bitshift(bitand(A(:,2),128),5); % sign-bit M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL; M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR; if M(1,:) ~= firstvalue, error('inconsistency in the first bit values'); end; (num2str(A(:,1))) switch nosig case 2 M( : , 1)= (M( : , 1)- zerovalue(1))/gain(1); M( : , 2)= (M( : , 2)- zerovalue(2))/gain(2);% TIME=(0:(SAMPLES2READ-1))/sfreq; case 1 M( : , 1)= (M( : , 1)- zerovalue(1)); M( : , 2)= (M( : , 2)- zerovalue(1));% M=M'; M(1)=[]; sM=size(M); sM=sM(2)+1; M(sM)=0; M=M'; M=M/gain(1); TIME=(0:2*(SAMPLES2READ)-1)/sfreq; end;

(64) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46 3. Proses menampilkan hasil pembacaan data ECG akan disajikan dalam bentuk plot atau grafik. Hasil pembacaan berupa bilangan desimal. Potongan fungsi menampilkan grafik ECG adalah sebagai berikut : plot(TIME, M(:,1),'b'); % plot disp('data yang disimpan'); DataECG(:,1)=M(:,1); save('ECGDat.mat','DataECG'); xlim([TIME(1), TIME(end)]); xlabel('Time / s'); ylabel('Voltage / mV'); string=['ECG signal ',DATAFILE]; title(string); 4.1.2 Implementasi Proses Encoding Reed Solomon Code Proses encoding dilakukan dengan menggunakan Reed Solomon code. Implementasi proses encoding dilakukan dengan : 1. Mengubah data menjadi bentuk integer kemudian string Proses ini digunakan untuk membuat data ECG dari bentuk double menjadi bentuk integer. Cara kerja proses ini adalah menjumlahkan setiap data dengan bilangan 2 dan dikalikan dengan 1000 untuk mendapatkan bilangan integer. Proses pengubahan dapat dirumuskan dalam persamaan (4. 1)berikut: DataEncoder=(data+2)*1000 (4. 1) Persamaan (4. 1) tersebut digunakan agar data desimal dapat diubah menjadi nilai integer. Konversi bilangan tersebut harus dilakukan karena encoder Reed Solomon menggunakan data integer. Proses selanjutnya,data integer diubah menjadi string agar dapat dihitung jumlah keseluruhan data masukan. Potongan fungsi untuk melakukan proses diatas adalah sebagai berikut: for i=1:size(data,1) dataEnc(i)=[(data(i)+2)*1000]; intEnc(i)=int64(dataEnc(i)); dataIn=[dataIn,num2str(intEnc(i))]; end

(65) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47 2. Menentukan batas index data tiap array Batas index ditentukan untuk membagi semua data sesuai dengan nilai k. Fungsi yang digunakan yaitu modulo atau mod. Pembagian dilakukan berdasar kelipatan k. Jika hasil sisa pembagian antara nilai index(i) dengan nilai k menghasilkan bilangan 0, maka batas atas nomor index array adalah variable i tersebut.Potongan listing program untuk fungsi program diatas adalah sebagai berikut : count=1; for i=1:length(dataIn) valMod=mod(i,kk); if(valMod==0) modA(count)=i; count=count+1; end end 3. Memasukkan data String ke dalam array Proses ini digunakan untuk memasukkan data bertipe string ke dalam array string atau cellstring sesuai dengan jumlah k. String yang memiliki index tiap kelipatan k+1 ditempatkan pada array baru. Potongan listing program untuk fungsi program diatas adalah sebagai berikut : bawah=1; for b=1:length(modA(1,:))+1 if b==length(modA(1,:))+1 dataSplt(1,b)=cellstr(dataIn(1,[bawah:length(dataIn)])); else atas=modA(b); dataSplt(1,b)=cellstr(dataIn(1,[bawah:atas])); bawah=atas+1; end end 4. Mengubah data menjadi format number Proses ini digunakan untuk mengubah data dari string menjadi data integer untuk setiap isi array. Hal ini diperlukan karena masukan data yang diperlukan encoder berupa integer.Potongan listing program untuk fungsi program diatas adalah sebagai berikut :

(66) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48 for j=1:length(nilai) for k=1:length(nilai{j}) valueEnc(j,k)=str2num(nilai{j}(k)); end end 5. Penyandian Reed Solomon Proses penyandian Reed dibagi menjadi beberapa tahapan yaitu mendefinisikan generator polinomial, membuat galois fieldarray untuk data masukan dan generator polinomial, serta pembagian polinomial data masukan dengan generator polinomial. Proses pembagian polinomial akan menghasilkan hasil sisa bagi. Hasil sisa pembagian tersebut akan digunakan sebagai nilai paritas. Potongan listing program untuk fungsi program diatas adalah sebagai berikut : for i=1:numArr decpp=bin2dec(num2str(pp)); %Mengubah nilai polinomial primitive menjadi nilai desimal dataM=valueEnc(i,[1:end]); sisa=zeros(1,dis); dataZero=[dataM sisa]; paritas=zeros(1,dis); generator = rsgenpoly(nn,kk,decpp); % Mendefinisikan generator polynomial sesuai (n,k) message = gf([dataZero],mm,decpp); %Membuat galois field array untuk data masaukan genpoly= gf([generator],mm,decpp); %Membuat galois field array untuk generator polinomial [nilai, par]= deconv(message,genpoly); %Pembagian polynomial message dan generator untuk menghasilkan paritas parity=double(par.x); sizePar=length(parity); paritas(1:dis)=parity(kk+1:nn); coded=[dataM paritas]; for k=1:length(coded) encFin(i,k)=coded(k); end end 4.1.3 Implementasi Simulasi Modulasi dan Kanal AWGN Proses modulasidilakukan untuk mengubah suatu gelombang menjadi sinyal pembawa suatu informasi. Modulasi yang digunakan adalah QAM.Implementasi proses modulasi beserta proses data melewati kanal AWGNdilakukan dengan langkah sebagai berikut: 1. Inisialisasi atribut-atribut simulasi modulasi Proses awal merupakan inisialisasi atribut-atribut simulasi modulasi. Inisialisasi atribut ini melibatkan ukuran sinyal modulator, jumlah bit per simbol,

(67) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49 dan pembuatan QAM modulator. Modulator QAM memiliki besar ukuran yaitu 4, 16, 32, dan 64. Ukuran jumlah bit per simbol merupakan log 2 dari nilai modulator QAM. Potongan listing program untuk fungsi diatas adalah sebagai berikut M = mod; k = log2(M); nsamp = 1; hMod = modem.qammod(M); % % % % Size of signal constellation Number of bits per symbol Oversampling rate Create a QAM modulator 2. Pengubahan desimal menjadi biner Proses dibawah ini merupakan proses pengubahan bentuk data dari desimal menjadi bentuk biner sesuai dengan ukuran k dari modulator. Pengubahan ini dilakukan untuk mendapatkan bentuk modulator sesuai pilihan. Potongan listing program untuk fungsi diatas adalah sebagai berikut: xsym = bi2de(reshape(x,k,length(x)/k).','left-msb'); 3. Proses modulasi dan transmisi sinyal Proses selanjutnya adalah modulasi dan mentransmisikan sinyal. Jika data telah diubah sedemikian rupa, maka proses modulasi akan dilakukan. Implementasi fungsi modulasi adalah sebagai berikut: %% Modulation y = modulate(modem.qammod(M),xsym); Jika hasil modulasi telah didapat, maka proses selanjutnya merupakan mentransmisikan sinyal hasil modulasi dalam kanal AWGN. Nilai SNR (Signal to Noise Ratio) sesuai dengan pilihan user. Adapun implementasi fungsi tersebut adalah sebagai berikut : snr = valueSNR; % In ynoisy = awgn(ytx,snr,'measured'); 4. Menampilkan data dalam bentuk quadrant Proses selanjutnya, sinyal yang terkena noise akan ditampilkan dalam bentuk quadrant sesuai dengan ukuran modulator QAM. Implementasi fungsi tersebut adalah sebagai berikut:

(68) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50 %% Received Signal yrx = ynoisy; %% Scatter Plot % Create scatter plot of noisy signal and transmitted % signal on the same axes. h = scatterplot(yrx(1:nsamp*1e3),nsamp,0,'g.'); hold on; scatterplot(ytx(1:1e3),1,0,'k*',h); title('Received Signal'); legend('Received Signal','Signal Constellation'); ak=k+log2(k); axis([-ak ak -ak ak]); % Set axis ranges. hold off; 5. Proses Demodulasi Proses demodulasi dilakukan untuk mendapatkan kembali data sebelum transmisi pada kanal AWGN tetapi sudah mengandung error. Implementasi fungsi demodulasi adalah sebagai berikut : %% Demodulation % Demodulate signal using 16-QAM. zsym = demodulate(modem.qamdemod(M),yrx); 6. Proses pengubahan data desimal menjadi biner Proses selanjutnya adalah mengembalikan nilai desimal berdasar ukuran QAM menjadi biner. Kemudian, nilai biner tersebut akan diubah kembali menjadi bentuk desimal sesuai dengan nilai basis m.Implementasi fungsi tersebut adalah sebagai berikut: %% Symbol-to-Bit Mapping z = de2bi(zsym,'left-msb'); % Convert integers to bits. % Convert z from a matrix to a vector. z = reshape(z.',numel(z),1); 7. Menghitung BER Proses menghitung BER dilakukan untuk mendapatkan nilai perbandingan jumlah error dengan total semua data. Perhitungan BER diimplementasikan sebagai berikut: %% BER Computation % Compare x and z to obtain the number of errors and % the bit error rate. [number_of_errors,bit_error_rate] = biterr(x,z)

(69) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51 4.1.4 Implementasi Decoder Reed Solomon Setelah mengalami proses modulasi, program melakukan proses decoding data. Data yang telah rusak akan dikoreksi oleh decoder sesuai dengan kemampuan. Proses decoding data dibagi dalam beberapa langkah berikut: 1. Proses Generate Syndrome Proses pertama, decoder melakukan generate syndrome. Proses ini digunakan untuk mengetahui adanya perubahan data yang disebabkan oleh kanal. Hal tersebut dikarenakan error syndrome memiliki peran penting dalam proses pembacaan error. Implementasi fungsi tersebut adalah sebagai berikut: syndrome = gf(zeros(1, 2*t), m, pp); for i = 1:nn, syndrome = syndrome.*alpha_tb +reccode(i); end; syndrome = double(syndrome.x); syndrome = fliplr(syndrome); syndrome = gf(syndrome,m,pp); 2. Implementasi Algoritma Berlekamp-Massey Decoder mengimplementasikan algoritma Reformulated Inversionless Berlekamp-Massey. Algoritma turunan Berlekamp-Massey ini digunakan untuk mencari nilai lamda dan omega sebagai nilai kunci dari penyelesaian decoder. Implementasi fungsi tersebut adalah sebagai berikut: k = 0; gamma = 1; delta = gf(zeros(1, 3*t+2), m); delta(3*t+1) = 1; delta(1:(2*t)) = syndrome; theta = delta(1:3*t+1); delta_next = delta; for r=1:2*t+1, delta = delta_next; %step1 delta_next(1:3*t+1) = (gamma*delta(2:3*t+2))(delta(1)*theta(1:3*t+1)); %step2 if((delta(1) ~= 0) && (k>=0)) theta(1:3*t+1) = delta(2:3*t+2); gamma = delta(1); k = -k-1; else theta = theta; gamma = gamma; k = k+1; end end lamda = delta(t+1:2*t+1); omega = delta(1:t);

(70) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52 3. Implementasi algoritma Chien search Selanjutnya, decoder mengimplementasikan algoritma Chien search. Algoritma ini mencari letak kerusakan atau error dalam codeword. Letak kerusakan ditemukan dengan menggunakan nilai akar dari lamda. Implementasi fungsi tersebut adalah sebagai berikut : inverse_tb = gf(zeros(1, t+1), m, pp); for i=1:t+1, inverse_tb(i) = alpha^(i-1); end; lamda_v=gf(0, m, pp); accu_tb=gf(ones(1, t+1), m,pp); zero = gf(0, m, pp); error = zeros(2,nn); for i=1:nn accu_tb=accu_tb.*inverse_tb; lamda_v=lamda*accu_tb'; if(lamda_v==zero) error(1,i)=1; end end 4. Implementasi Algoritma Forney Decoder akan mengimplementasikan algoritma Forney. Algoritma ini berfungsi untuk mencari besar nilai setiap data error / error magnitude sesuai dengan kemampuan koreksi. Implementasi fungsi tersebut adalah sebagai berikut : even=floor(t/2)*2; if(even==t) odd=t-1; else odd=t; end %inverse table inverse_tb = gf(zeros(1, t+1), m, pp); for i=1:3*t, inverse_tb(i) = alpha^(-i+1); end; lamda_ov=gf(0, m, pp); omega_v=gf(0, m, pp); accu_tb=gf(ones(1, t+1), m,pp); accu_tb1=gf(ones(1, 3*t), m, pp); omega = [zeros(1,2*t),omega]; for i=1:nn, lamda_ov=lamda(2:2:odd+1)*accu_tb(2:2:odd+1)'; omega_v=omega*accu_tb1'; accu_tb=accu_tb.*inverse_tb(1:t+1); accu_tb1=accu_tb1.*inverse_tb;

(71) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53 if(error(1,nn-i+1) == 1) ev=(omega_v/lamda_ov)*alpha^(1-i); error(2, nn-i+1)=double(ev.x); end 5. Implementasi Koreksi Kesalahan Proses terakhir, decoder melakukan koreksi kesalahan. Proses koreksi kesalahan dilakukan dengan mengurangkan nilai error dengan besar error magnitudes. Implementasi fungsi tersebut adalah sebagai berikut : found = find(error(1,:)~=0); reccode(found) = reccode(found) - gf(error(2,found),m); 4.2 4.2.1 Implementasi Tampilan Simulasi Tampilan Halaman Awal Simulasi Reed Solomon Codes Gambar 4.1 merupakan implementasi tampilan utama program Reed Solomon code. Tombol “Encode Data“ digunakan untuk memanggil tampilan encoder Reed Solomon pada Error! Reference source not found. Tombol “Decode data“ digunakan untuk memanggil tampilan decoder Reed Solomon pada Gambar 4. 5. Gambar 4.1 Tampilan Awal Simulasi Reed Solomon Code

(72) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54 4.2.2 Tampilan Halaman Encoder Reed Solomon Codes Gambar 4.2 menunjukkan implementasi tampilan halaman encoder Reed Solomon Codes. Halaman ini memiliki beberapa fungsi untuk memilih data masukan, melakukan pratinjau grafik ECG, pemilihan ukuran dimensi Reed Solomon serta proses encode data. Langkah pertama, user melakukan pemilihan data ECG yang akan disimulasikan. Ketika user menekan tombol Pilih File, program akan memunculkan halaman pemilihan file ECG database seperti yang tertera pada Gambar 4.3. Gambar 4.2 Gambar Tampilan Halaman Encode data Dalam halaman open file pada Gambar 4.3, user diwajibkan untuk memilih file ECG database bertipe .dat. User harus meletakkan file header dan atribut dalam folder yang sama dengan file ECG database. Jika semua syarat telah terpenuhi, maka user dapat menekan tombol Open untuk memilih file. Ketika file sudah terpilih, user dapat melakukan pratinjau grafik ECG yang telah dipilih dengan menekan tombol Pratinjau. Program akan melakukan

(73) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55 pembacaan ECG dan menampilkan grafik ECG pada area yang telah tersedia. Proses encode data dapat berjalan ketika user telah memilih menu dropdown ukuran dimensi Reed Solomon. User selanjutnya menekan tombol Encode data untuk melakukan proses encoding. Gambar 4.3 Halaman Pemilihan File 4.2.3 Tampilan Halaman Modulasi QAM dan Simulasi Kanal AWGN Gambar 4.4menunjukkan implementasi tampilan halaman modulasi dan simulasi kanal AWGN.Halaman ini memiliki beberapa fungsi untuk memilih ukuran modulator, memasukkan ukuran SNR, dan proses simulasi kanal AWGN. Simulasi dapat berjalan ketika user telah melakukan pemilihan ukuran modulator QAM dan nilai SNR (Signal to noise Ratio). Jika syarat tersebut telah terpenuhi, maka user dapat melakukan proses simulasi dengan menekan tombol Simulasi Kanal AWGN.

(74) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56 Gambar 4.4 Halaman modulasi dan simulasi kanal AWGN 4.2.4 Tampilan Halaman Decoder Reed Solomon Gambar 4. 5 menunjukkan implementasi tampilan halaman decoder Reed Solomon. Halaman ini memiliki fungsi untuk menampilkan jumlah data error, jumlah error terkoreksi, serta Symbol Error Rate (SER). User memilih data hasil penyandian terlebih dahulu kemudian menekan tombol Decode Data. Program akan menampilkan grafik ECG setelah mengalami proses koreksi data. Program juga akan menampilkan jumlah error keseluruhan, jumlah error terkoreksi, dan SER. Gambar 4. 5 Halaman decoder Reed Solomon

(75) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57 4.2.5 Tampilan Halaman Bantuan Program Tampilan cara menggunakan simulasi dapat dibuka dengan menekan tombol Bantuan Program. Implementasi tampilan cara menggunakan simulasi disajikan dalam Gambar 4.6. Gambar 4.6 Halaman Bantuan Program 4.2.6 Tampilan Halaman Tentang Program Tampilan Tentang Program dapat dibuka menekan tombol Tentang Program pada halaman utama Implementasi tampilan halaman tentang program ditunjukkan pada Gambar 4.7. Gambar 4.7 Halaman Tentang Program

(76) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58 5 BAB V HASIL PENGUJIAN DAN ANALISA Bab ini akan memaparkan proses implementasi hasil dan analisa dari penelitian yang telah dilakukan. Hasil penelitian yang diperoleh berupa hasil pengukuran pengujian yang telah dirancang sebelumnya yaitu :bit error rate, perbandingan symbol error rate, dan grafik ECG setelah proses decoding berlangsung. Pengujian dilaksanakan pada sebuah notebook dengan spesifikasi : a. Processor : Intel Core2Duo T250 @ 2GHz b. Operating System : Windows 7 Ultimate Edition 32-bit c. Memory : 2GB DDR2-800 d. Harddisk : 160GB SATAWDC 7200rpm 5.1 Hasil Pengujian BER Menggunakan Modulasi QAM Hasil pengujian nilai BER untuk masing-masing nilai QAM dapat dilihat dalam Tabel Perbandingan Nilai BER berdasar Ukuran Modulasi QAM pada Lampiran 1. Gambar 5. 1 memperlihatkan grafik perbandingan setiap nilai QAM yaitu 4-QAM, 16-QAM, 32-QAM, dan 64-QAM pada kanal AWGN dengan nilai rentang SNR yang sama yaitu 1-20. Gambar 5. 1 Grafik Perbandingan BER

(77) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59 Pengujian BER tersebut menggunakan Reed Solomon Codes berdimensi 127,119. Gambar 5. 1 memperlihatkan bahwa perbandingan nilai BER untuk beberapa ukuran QAM cukup signifikan. Bit Error Rate (BER) paling besar dimiliki oleh modulator 64-QAM. Nilai BER paling kecil dimiliki oleh 4-QAM. Berdasarkan tabel pada Lampiran 1, nilai BER tertinggi 4-QAM mencapai 0.137 pada SNR 1. Ketika SNR mencapai nilai 12, nilai BER mencapai 0 pada kanal.Jika nilai BER sama dengan nol, maka label BER tersebut akan mengikuti label BER yang terendah.Hal tersebut dikarenakan format dari grafik yang tidak dapat diubah. Pada modulator 16-QAM, nilai BER tertinggi mencapai 0.2837 pada SNR 1. Error mencapai nilai 0 ketika SNR mencapai nilai 19. Modulator 32-QAM memiliki nilai BER tertinggi 0.321 dan terendah 0.0011. Modulator 64QAM memiliki nilai BER tertinggi 0.3295 dan nilai terendah 0.0298. Berdasarkan penelitian dalam jurnal Performance Analysis of Different MARY Modulation Techniques in Cellular Mobile Communication [20], hasil penelitian yang dipaparkan menunjukkan bahwa perbandingan nilai QAM dalam Gambar 5. 1 sama dengan hasil pengujian QAM pada jurnal tersebut yaitu nilai BER paling kecil dimiliki oleh 4-QAM sedangkan BER paling besar dimiliki oleh 64-QAM.Hal tersebut dikarenakan semakin tinggi nilai QAM, semakin rentan pula terhadap noise yang diterima. Jika energi rata-rata konstelasi bersifat tetap atau konstan, maka titik konstelasi harus tetap berdekatan sama lain. Hal ini penyebab semakin tinggi QAM menghasilkan bit error rate yang tinggi pula. Akan tetapi, keuntungan nilai QAM atau konstelasi yang lebih tinggi memungkinkan pengiriman bit per simbol yang lebih besar. Penggunaan nilai QAM yang tinggi harus memperhatikan energi sinyal serta pengurangan noise agar nilai BER tetap dalam kondisi baik. 5.2 Hasil Pengujian SER Reed Solomon Codes Hasil pengujian nilai SER untuk masing-masing nilai QAM dapat dilihat dalam Tabel Perbandingan nilai SER Reed Solomon Codes pada Lampiran 2.Pengujian nilai SER masih menggunakan 4 nilai QAM yaitu 4-QAM, 16-QAM, 32-QAM, dan 64-QAM pada kanal AWGN dengan nilai rentang SNR yang sama yaitu 1-20 .Dimensi Reed Solomon yang digunakan yaitu RS(31,27), RS(63,61),

(78) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60 dan RS(127,119) dengan panjang ECG sejumlah 300 titik. Grafik perbandingan nilai SER untuk setiap dimensi Reed Solomon disajikan dalam Gambar 5.2, serta Gambar 5.3 berikut : Gambar 5.2 Grafik Perbandingan SER untuk Reed Solomon Codes (31,27) Gambar 5.2 menunjukkan grafik perbandingan SER RS(31,27) untuk 4QAM, 16-QAM, 32-QAM, dan 64-QAM. SER pada 4-QAM menunjukkan hasil paling baik. Ketika mencapai nilai SNR 9 , error mencapai nilai minimum dalam codeword. SER pada 16-QAM mencapai keadaan tidak memiliki error saat mencapai SNR 16 . SER pada 32-QAM mencapai keadaan tidak memiliki error saat mencapai SNR 20 . Sedangkan SER untuk 64-QAM masih sangat tinggi. Gambar 5.3 menunjukkan perbandingan nilai SNR ketika menggunakan Reed Solomon dan tidak menggunakan Reed Solomon berdimensi (31,27). Grafik tersebut memperlihatkan bahwa penggunaan Reed Solomon (31,27) cukup efektif dalam memperbaiki nilai SER.

(79) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61 Gambar 5.3 Grafik perbandingan SER codeword menggunakan Reed Solomon (31,27) dan tidak menggunakan Reed Solomon Dalam Gambar 5.3, nilai SER codeword yang menggunakan Reed Solomon mencapai nilai minimum pada SNR 9 sedangkan tanpa menggunakan Reed Solomon SER mencapai nilai minimum pada 12 . Perbedaan SER yang cukup besar juga terlihat pada penggunaan Reed Solomon dalam 16-QAM. RS(31,27) dengan kemampuan melakukan koreksi sebanyak 2 simbol cukup baik dalam memperbaiki kesalahan data. Pengujian selanjutnya merupakan pengambilan data berupa SER untuk RS(63,61). Gambar 5.4 menunjukkan grafik perbandingan SER RS(63,61). Gambar 5.4 Grafik Perbandingan SER untuk Reed Solomon Codes (63,61)

(80) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62 Berdasarkan Gambar 5.4, SER pada 4-QAM menunjukkan hasil paling baik sama seperti halnya pada RS(31,27). Error sudah mencapai nilai minimum dalam codewordketika SNR mencapai nilai 10 .Sedangkan, SER pada 16-QAM mencapai keadaan minimumsaat mencapai SNR 18 . SER pada 32-QAM dan 64QAM masih terlalu besar untuk pengujian ini.Gambar 5.5 dibawah ini memperlihatkan perbandingan nilai SER pada codeword menggunakan teknik koreksi Reed Solomon dimensi (63,61) dengan tanpa menggunakan Reed Solomon. Gambar 5.5 Gambar Perbandingan nilai SER uncoded RS dan coded Reed Solomon (63,61) Gambar 5.5 menunjukkan perbedaan nilai SER yang tidak terlalu signifikan. Sebagai contoh pada 4-QAM, nilai SER tanpa menggunakan Reed Solomon mencapai 0 pada SNR 12 sedangkan menggunakan Reed Solomon codes untuk mencapai nilai 0 pada SNR 10. Nilai SER pada 16-QAM mencapai 0 ketika SNR terdapat pada angka 18 sedangkan tanpa menggunakan Reed Solomon, error tidak dijumpai pada angka SNR 20. Pada 32-QAM, penggunaan Reed Solomon cukup berperan pada SNR 18, 19, dan 20. Penggunaan Reed Solomon pada 64QAM tidak mempengaruhi nilai SER. Pengujian selanjutnya merupakan pengambilan data berupa SER untuk RS(127,119). Gambar 5.6 menunjukkan grafik perbandingan SER RS(127,119).

(81) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63 Gambar 5.6 Grafik Perbandingan SER untuk Reed Solomon Codes(127,119) Berdasarkan Gambar 5.6, SER pada 4-QAM menunjukkan hasil paling baik sama seperti halnya pada dimensi RS yang lainnya. Error mencapai nilai 0 dalam codeword ketika SNR mencapai nilai 10 . Sedangkan, SER pada 16-QAM mencapai minimum saat mencapai SNR 17. SER pada 32-QAM dan 64-QAM masih terlalu besar untuk pengujian ini. Gambar 5.7 Gambar Perbandingan nilai SER uncoded RS dan coded Reed Solomon (127,119) Gambar 5.7 memperlihatkan perbandingan nilai SER pada codeword menggunakan teknik koreksi Reed Solomon (127,119) dengan tanpa

(82) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64 menggunakan Reed Solomon. Perbandingan nilai SER pada (127,119) sama seperti dengan dimensi RS sebelumnya memberikan hasil yang cukup baik ketika menggunakan Reed Solomon daripada tidak menggunakan Reed Solomon. 5.3 Analisa Symbol Error Rate Hasil Pengujian Hasil pengujian ketiga dimensi Reed Solomon yaitu (31,27), (63,61), dan (127,119) menunjukkan bahwa penggunaan teknik koreksi Reed Solomon mampu mengurangi nilai SER cukup signifikan. Nilai SER berbanding terbalik dengan nilai Signal-to-Noise Ratio (SNR), semakin kecil nilai SNR semakin besar nilai SER dan sebaliknya. Secara umum, nilai SNRdipengaruhi olehdaya rata-rata sinyaldandaya rata-rata noise. Jika daya sinyal semakin berkurang dan dayanoise bertambah, maka hal ini menyebabkan nilai SER yang semakin tinggi. Berdasarkan tabel pada Lampiran 2, performansi Reed Solomon paling baik terdapat pada RS(31,27) kemudian RS(127,119), dan yang terakhir RS(63,61). RS(31,27)mempunyai kemampuan koreksi sebanyak 2 simbol sedangkan RS(127,199) mampu mengkoreksi sebanyak 4 simbol akan tetapi performansi RS(31,27) lebih baik. Hal ini dikarenakan data yang sifatnya banyak dan proses koreksi berlangsung secara akumulasi. RS(31,27) membagi data dalam jumlah lebih banyak karena dalam satu codeword hanya dapat menyimpan sebanyak 27 simbol. RS(127,119) menyimpan lebih banyak data karena dalam satu codeword dapat menampung 119 simbol. Akan tetapi, error akan bersifat lebih tersebar ketika berada pada RS(31,27) daripada RS(127,119). Proses koreksi pun akan lebih mudah karena kemungkinan error dapat terkoreksi dengan baik sesuai dengan kemampuan code Rs(31,27) lebih besar. Sebagai perbandingan, penilitian dalam jurnal SER performance of Reed – Solomon Codes With AWGN & Rayleigh Channel using 16 QAM [21], hasil penelitian tersebut menghasilkan data seperti dalam Tabel 5.1. Tabel 5.1 Perbandingan Nilai SER pada jurnal jurnal SER performance of Reed – Solomon Codes With AWGN & Rayleigh Channel using 16 QAM SNR () 9 20 16 QAM Theoretical SER 0.3919 0.0001721 16 QAM Simulated SER 0.3540 0.0001652

(83) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65 SNR () 9 20 16 QAM Hasil Pengujian SER 0.465 0 Dari Tabel 5.1, perbandingan nilai SER theoretical dengan hasil pengujian simulasi ini menunjukkan hasil yang terpaut cukup jauh. Pada teori, nilai SER pada SNR 9 adalah 0.3919 dan pada SNR 20 adalah 0.0001721. Hasil pengujian menunjukkan , nilai SER pada SNR 9 adalah 0.465 dan pada SNR 20 adalah 0. Nilai SER dalam pengujian ini cukup mendekati teori yang ada sehingga bisa dikatakan nilai SER cukup akurat. 5.4 Hasil Pengujian Unjuk Kerja Reed Solomon dengan Parameter Dimensi (n,k) Pengujian ini melibatkan setiap dimensi dari Reed Solomon codes dalam simulasi. Pengujian dilakukan pada dua macam modulasi yaitu 4-QAM dan 16QAM. Tabel 5.2 menunjukkan perbedaan atribut pengujian unjuk kerja Reed Solomon. Tabel 5.2 Perbandingan atribut penyandian Reed Solomon Panjang RS Codes Codeword Kemampuan Code rate R koreksi (t) 31 RS(31,27) 2 0.87 63 RS(63,61) 1 0.97 127 RS(127,119) 4 0.94 Berdasarkan Tabel 5.2, atribut penyandian memiliki perbedaan yang cukup besar. Nilai code rate paling minimum dimiliki oleh RS(31,27) sebesar 0.87. Sedangkan,kemampuan koreksi paling baik dimiliki RS(127,119) dengan mampu melakukan koreksi sebesar 4 simbol.Gambar 5.8 menunjukan pengukuran unjuk kerja Reed Solomon codes pada modulasi 4-QAM. Sedangkan, Gambar 5.9 menunjukan pengukuran unjuk kerja Reed Solomon codes pada modulasi 16QAM.

(84) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66 Gambar 5.8 Grafik Perbandingan Unjuk Kerja Reed Solomon Codes pada 4QAM Gambar 5.9 Grafik Perbandingan Unjuk Kerja Reed Solomon Codes pada 16-QAM Berdasarkan Gambar 5.8 dan Gambar 5.9, hasil pengujian menunjukkan bahwa unjuk kerja Reed Solomon paling baik dimiliki oleh RS(31,27), RS(127,119) dan RS(63,61). Dari pengujian tersebut, hasil menunjukkan bahwa nilai kemampuan koreksi yang lebih besar tidak selalu berpengaruh pada unjuk kerja codes tersebut. RS(31,27) dengan kemampuan koreksi 2 simbol ternyata memiliki kinerja yang lebih baik ketimbang RS(127,119) yang mampu melakukan

(85) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67 koreksi 4 simbol. Unjuk kerja Reed Solomon dipengaruhi oleh besarnya code rate. [9]. Semakin kecil nilai code rate, nilai SER akan menjadi lebih baik. Jurnal penelitian berjudul Bit Error Rate Analysis of Reed-Solomon Code for Efficient Communication System [22] melakukan pengujian BER pada kanal AWGN dengan modulasi BPSK. Hasil pengujian menunjukkan hasil yang sama yaitu nilai code rate lebih berpengaruh ketimbang jumlah koreksi yang dapat dilakukan oleh suatu codes. Code rate merupakan perbandingan data-stream dengan data redundan. Code rate mengacu pada keadaan efisiensi dan optimalisasi. Semakin maksimal nilai code rate, kinerja Reed Solomon bersifat jelek atau buruk. Semakin optimal nilai code rate (identik dengan lebih kecil), kinerja yang dihasilkan semakin baik. Sebagai contoh, nilai optimal code rate Reed Solomon dalam kanal Gaussian berkisar antara 0.6 dan 0.7. Code rate yang mencapai nilai 1 akan mengalami kinerja yang sangat buruk karena proses coding tidak terjadi sama sekali. 5.5 Data Masukan Format file yang disimulasikan merupakan file berekstensi *.dat. File “.dat” merupakan file yang mengandung sinyal ECG dalam bentuk digital. File tersebut sebelum disimulasikan dikenai proses pre-processing yaitu proses pengecekan header data, pembacaan bit data menjadi bilangan, dan menampilkan data dalam bentuk grafik ECG. File-file penyerta yang digunakan antara lain file berektensi *.hea dan *.atr. Proses pembacaan data ECG adalah proses konversi data unsignedinteger menjadi data array bertipe integer. File *.hea merupakan file yang berisi teks singkat mrliputi penggambaran sinyal (berisi nama atau URL dari file *.dat, format penyimpanan, jumlah dan jenis sinyal,frekuensi sampling, data kalibrasi, karakteristik, durasi rekaman dan waktu mulai.File *.hea ini berfungsi sebagai validasi terhadap data ECG dalam file *.dat.File *.atr merupakan file yang berisi penjelasan gelombang QRS (detak jangtung), menunjukkan lokasi (waktu terjadi), dan jenis ECG (normal, ventricular ectopic, dll), serta penjelasan lain yang menunjukkan perubahan irama detak jantung dan kualitas sinyal.

(86) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68 File data yang Panjang digunakan 100.dat, data 101.dat, 300 titik 103.dat, 105.dat bilangan Sumber File penyerta Data MIT-BIH File tambahan untuk proses Arrhythmia pembacaan Database *.hea dan *atr berekstensi Tabel 5. 3 Atribut data masukan ECG yang akan disimulasikan Berdasarkan Tabel 5. 3, diketahui bahwa pembacaan ECG melibatkan 300 titik bilangan.Sample data ECG berasal dari MIT-BIH Arrhythmia Database. Salah satu data sample yang diambil adalah 100.dat. Gambar 5.10dibawah ini merupakan hasil pembacaan data berupa grafik ECG dari file 100.dat tersebut. Berdasarkan Gambar 5.10, pemetaan gelombang QRS pada grafik ECG ditunjukkan pada Gambar 5.11. Grafik ECG pada Gambar 5.10tersebut diambil dari data numerik berjumlah 300 titik yang ditampilkan dalam Lampiran 4. Gambar 5.10 Hasil pembacaan grafik ECG 100.dat

(87) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69 QRS P T ST U Gambar 5.11 Hasil pemetaan gelombang QRS grafik ECG 100.dat Proses pembacaan ECG ini diperoleh dari situs physionet.org dalam bentuk file rddata.m. Program inimembaca dataEKGyangdisimpandalam format212. File rddata.m merupakan file khusus yang disediakan untuk mengolah ECG. Sebagai pembanding hasil pembacaan program, sebuah jurnal yang dikeluarkan IEEE Transaction On Information Technology In Biomedicineberjudul Optimal Zonal Wavelet-Based ECG Data Compression for a Mobile Telecardiology System[23]mengangkat mengenai proses kompresi citra dalam pengiriman ECG jarak jauh. Gambar 5.12 dan Gambar 5.13 menunjukkan gambar hasil pembacaan ECG database dalam jurnal dan simulasi. Gambar 5.12 Gambar hasil pembacaan data ECG 100.dat MIT-BIH dalam jurnal

(88) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70 Gambar 5.13 Gambar hasil pembacaan data ECG 100.dat MIT-BIH dalam simulasi Berdasarkan Gambar 5.12 dan Gambar 5.13, pembacaan ECG database dalam jurnal dan simulasi ini menghasilkan citra yang sama. Hal tersebut membuktikan bahwa program rddata.mdapat menerjemahkan ECG database dengan baik. Penggunaan ECG database dan pembacaannyajuga sudah dilakukan dalam penelitian lain termasuk jurnal tersebut. 5.6 Proses Encoding Reed Solomon Proses encoding merupakan salah satu fungsi utama dalam simulasi ini. Proses ini membutuhkan sebuah encoder agar bisa berjalan dengan baik. Encoder akan membentuk sebuah codeword yang terdiri dari data beserta nilai paritas. 5.6.1 Analisa Perbandingan Perhitungan Manual dan Implementasi Encoder Implementasi encoder dimulai dengan proses mencari formula Generator polinomial. Generator polinomial diperoleh dari perkalian nilai alpha sejumlah 2t. Generator polinomial digunakan sebagai pembagi data untuk menghasilkan paritas. Contoh perhitungan generator polinomial atau G(x) pada encoder Reed Solomon (15,11) dengan nilai 2t sebesar 4. G(x) = (x + α1) (x + α 2) (x + α 3) (x + α 4) G(x) = (x + 2) (x + 4) (x + 8) (x + 3) G(x) = (1 x2 + 6 x + 8 ) (1 x2 + 11 x + 11 ) (5.1)

(89) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71 G(x) = 1 x4 + 13 x3 + 12 x2 + 8 x + 7 Dari persamaan G(x) = (x + α1) (x + α 2) (x + α 3) (x + α 4) (5.1) , diperoleh nilai generator polinomial G(x) = 1 x4 + 13 x3 + 12 x2 + 8 x + 7. Nilai generator polinomial tersebut bisa disingkat sebagai 1 13 12 8 7. Hasil dari implementasi perhitungan generator adalah sebagai berikut. Gambar 5. 14 Implementasi perhitungan generator polinomial Berdasarkan Gambar 5. 14, implementasi hasil perhitungan formula generator polinomial menggunakan Matlab dengan perhitungan memberikan hasil sama. Proses selanjutnya adalah pembagian polinomial antara data dengan generator polinomial. Proses ini merupakan proses pembentukan codeword dan menghasilkan nilai sisa pembagian berupa paritas. Contoh yang digunakan masih dengan Reed Solomon (15,11) . Urutan data yang digunakan yaitu 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11. Contoh perhitungan codeword encoder Reed Solomon ditunjukkan dalam Lampiran 5 Dari perhitungan Lampiran 5 tersebut, diperoleh nilai sisa bagi dari data masukan dengan generator polynomial adalah 11 10 14 6. Hasil proses encode data atau sering disebut dengan codeword merupakan hasil penggabungan data dengan nilai sisa bagi / paritas, Nilai codeword yang dihasilkan dari perhitungan manual yaitu 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 10, 14, 6. Selanjutnya, hasil perhitungan manual akan dibandingkan dengan hasil implementasi dengan menggunakan Matlab. Implementasi menggunakan data yang sama dengan proses penghitungan manual. Hasil implementasi proses encoder adalah sebagai berikut.

(90) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 72 Gambar 5.15 Implementasi encoder Reed Solomon Dari Gambar 5.15, hasil implementasi encoder menggunakan Matlab untuk RS(15,11) menunjukkan hasil yang sama dengan perhitungan manual. Dapat disimpulkan bahwa implementasi encoder telah sesuai dengan perhitungan manual. 5.7 Error Correction Proses decoding melibatkan beberapa proses yaitu penghitungan syndrome, algortima Reformulated inversionless Berlekamp-Massey, algoritma chien search. Perhitungan manual proses koreksi kesalahan untuk codeword (15,11) ditunjukkan dalam lampiran 6. Forney Algorithm Algoritma Forney ini berfungsi untuk mendapatkandalam sebuah codeword. Formula dari algoritma Forney adalah sebagai berikut. Codeword mengandung error = 1 2 3 4 5 11 7 8 9 10 11 11 10 14 6 Metode yang digunakan bersifat inverse letak kesalahan terdapat pada urutan codeword 10 karena dihitung dari codeword paling akhir. Omega (Ω )= 13 Lamda = 12 Alpha^ error-1 = 13 Y10 = X (10−1) Ω Λ = 13∗13 12 = 13

(91) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 73 Dari hasil algoritma Forney diperoleh besar error magnitude yaitu 13.Proses koreksi dilakukan dengan melakukan pengurangan polynomial antara data yang mengandung error dengan besar error magnitude . Correct data = data_error – error_magnitude= 11 – 13 = 6. Hasil codeword setelah proses koreksi = 1 2 3 4 5 6 7 8 9 10 11 11 10 14 6 Selanjutnya, hasil perhitungan manual akan dibandingkan dengan hasil implementasi dengan menggunakan Matlab. Implementasi menggunakan data yang sama dengan proses penghitungan manual. Hasil implementasi proses decoder adalah sebagai berikut. Gambar 5.16 Implementasidecoder Reed Solomon Dari Gambar 5.16 , hasil implementasi decoder menggunakan Matlab untuk RS(15,11) menunjukkan hasil yang sama dengan perhitungan manual. Dapat disimpulkan bahwa implementasi decoder telah sesuai dengan perhitungan manual. 5.8 Pengujian Perbandingan Citra Elektrokardiogram Dalam sub-bab ini, tahap encoding dan decoding telah dilakukan. Data uji elektrokardiogram mengalami error yang disebabkan kanal AWGN. Hasil pengujian citra dengan membandingkan citra ECG sebelum proses encoding dan setelah proses decoding ditunjukkan sebagai berikut.

(92) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74 Gambar 5. 17 Citra Elektrokardiogram 101.dat sebelum proses encoding Gambar 5. 18 Citra Elektrokardiogram 101.dat setelah proses decoding pada SNR 8 4-QAM Gambar 5. 19 Citra Elektrokardiogram 101.dat setelah proses decoding pada SNR 7 4-QAM

(93) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 75 Berdasarkan Gambar 5. 17, Gambar 5. 18 dan Gambar 5. 19, hasil pengujian menunjukkan citra elektrokardiogram setelah proses encoding dan decoding mengalami perubahan. Pengujian tersebut dilakukan pada kanal AWGN dengan SNR 8 dan SNR menggunakan modulasi 4-QAM. Citra ECG setelah proses decoding menandakan data masih memiliki error. Pembacaan citra ECG dalam Gambar 5. 18 relatif masih sama dengan aslinya. Hal ini membuat intepretasi ECG masih relatif mudah walaupun terdapat citra yang cukup mengganggu. Sedangkan, Gambar 5. 19 citra yang dihasilkan oleh SNR 7 mengalami error yang cukup banyak. Hal ini menyebabkan pembacaan dan intepretasi citra ECG menjadi lebih sulit dan tingkat akurasi menurun.

(94) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 76 6 BAB VI KESIMPULAN DAN SARAN 6.1 Kesimpulan Setelah program reed solomon dibuat, diuji dengan sedikit data ECG dan dilakukan analisis terhadap hasil pengujian program, didapatkan kesimpulan sebagai berikut: 1. Algoritma dapat melakukan proses koreksi data pada baris codeword sesuai dengan jumlah simbol yang mampu dikoreksi oleh untuk tiap dimensi Reed Solomon codes. 2. Hasil perbandingan kinerja pada proses simulasi 4-QAM dan 16-QAM menunjukkan urutan kinerja Reed Solomon paling baik dimiliki oleh RS(31,27), RS(127,119), dan RS(63,61). 3. Dalam simulasi ini, Reed Solomon hanya mampu mengkoreksi error pada modulasi 4-QAM, 16-QAM, dan 32-QAM. Pada 64-QAM, Reed Solomon codes tidak mampu melakukan koreksi kesalahan terhadap satu simbol sekalipun. 4. Kinerja Reed Solomon (31,27) menunjukkan pada 4-QAM error mencapai nilai minimum ketika SNR memiliki nilai 9. Error mencapai minimum atau nol pada 16-QAM ketika SNR bernilai 16. Pada 32-QAM, error mencapai minimum pada angka SNR 20. Sedangkan pada 64-QAM, error tidak mampu mencapai nilai minimum. 5. Kinerja Reed Solomon (63,61) menunjukkan pada 4-QAM error mencapai nilai minimum ketika SNR memiliki nilai 10. Error mencapai minimum atau nol pada 16-QAM ketika SNR bernilai 18. Pada 32-QAM dan 64-QAM, error tidak mampu mencapai nilai minimum. 6. Kinerja Reed Solomon (127,119) menunjukkan pada 4-QAM error mencapai nilai minimum ketika SNR memiliki nilai 10. Error mencapai minimum atau nol pada 16-QAM ketika SNR bernilai 17. Pada 32-QAM dan 64-QAM, error tidak mampu mencapai nilai minimum.

(95) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 77 6.2 Saran Penulis menyadari masih ada permasalahan yang terdapat pada program Reed Solomon yang dikembangkan. Saran yang ditujukan untuk pengembangan selanjutnya: 1. Modulasi kanal AWGN perlu ditambah dengan variasi modulasi beserta fading.Tujuan penambahan tersebut adalah pengguna dapat membandingkan SER dengan modulasi tertentu. 2. Kanal yang digunakan dalam proses simulasi perlu dilakukan variasi juga agar data yang dianalisa lebih akurat. 3. Dimensi (n,k) Reed Solomon dapat dikembangkan dengan nilai yang lebih besar.

(96) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78 Daftar Pustaka [1] Internet World Stats. 31 December 2011. ASIA INTERNET USAGE AND POPULATION: 2011. Sumber: www.internetworldstats.com/ stats3.htm (Online). Diakses : 15 Februari 2012. [2] Haryadi, Sigit. 2004. Outdoor Line of Sight Wireless Optical Communication System. Bandung: Teknik Telekomunikasi, Institut Teknologi Bandung. Sumber : http://telecom.ee.itb.ac.id. Diakses : 15 Februari 2012. [3] B. Wicker, Stephen. 1999. Reed-Solomon Codes and Their Applications. New Jersey: John Wiley & Sons, Inc – IEEE Press. [4] Sudan, Madhu. 1999. Improved Decoding of Reed Solomon and Algebraic-Geometry Codes . Massachusetts : Massachusetts Institute of Technology. [5] Loscalzo, Joseph. 2010. Harrison's Cardiovascular Medicine. New York: McGraw-Hill Prof Med/Tech. [6] Harvard-MIT Division of Health Sciences and Technology. 2011. ECG Database. Sumber: http://physionet.org/physiobank/database/ (Online). Diakses : 5 Juni 2012. [7] Sornmo, Leif and Laguna, Pablo. 2006. Electrocardiogram (ECG) Signal Processing. Wiley Encyclopedia of Biomedical Engineering, Vol. 2. John Wiley & Sons, Inc. [8] Lin, S. and Costello , D . J ., Jr. 2004. Error Control Coding (Second Edition). New Jersey: Prentice Hall, Inc. [9] Sklar, Bernard. 2001. Digital Communications Fundamentals and Applications. New Jersey: Prentice Hall, Inc. [10] Sylvester, Joel. 2001. Reed Solomon Codes . Elektrobit. Sumber : csupomona.edu. Diakses : 23 Februari 2012.

(97) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 79 [11] Agung Nugraha, Yohanes. 2005. Simulasi Penyandi-Pengawasandian Reed Solomon (31,25) Menggunakan Perangkat Lunak Delphi. Yogyakarta : Universitas Sanata Dharma. [12] Fairuz, Syed Mohd. 2005. Evaluation of Reed-Solomon (R-S) Coding Performance for M-ary Modulation in AWGN and Multipath Fading Channels. Johor: Faculty of Electrical Engineering Universiti Teknologi Malaysia [13] Dilip V. Sarwate. 2001. High-Speed Architectures for Reed–Solomon Decoders. Sumber : IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 9, NO. 5, OCTOBER 2001. [14] Clarke, C.K.P. 2002. Reed Solomon Error Correction. Research and Development British Broadcasting Corporation. Sumber: http://www.bbc.co.uk/rd/pubs/whp/whp031.shtml. Diakses : 12 November 2012 [15] Breed, Garry. 2003.Bit Error Rate: Fundamental Concepts and Measurement Issues. Sumber: http://research.ijcaonline.org/ volume30/number12/pxc3875174.pdf. Summit TechnicalMedia, LLC. Diakses: 27 Juni 2012 [17] Forouzan, Behrouz A. 2003. Data Communications and Networking. McGraw-Hill [18] Malaric , Kresimir . 2009. EMI Protection for Communication Systems. Norwood : Artech House [19] Tervo ,Richard. 2010. Introduction to Reed Solomon (RS) Codes. Department of Electrical and Computer Engineering - University of New Brunswick, Fredericton, NB, Canada. Sumber : http://www.ee.unb.ca/cgibin/tervo/rscodes.pl?p=10&x=1 . Diakses : 25 Juni 2012 [20] Suthar, Rashmi. 2011. Performance Analysis of Different M-ARY Modulation Techniques in Cellular Mobile Communication. International

(98) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 80 Journal of Computer Applications, Foundation of Computer Science, USA. Sumber : http://www.ijcaonline.org. Diakses : 15 Januari 2013 [21] Sodhi , Gurinder Kaur. 2011. SER performance of Reed – Solomon Codes With AWGN & Rayleigh Channel using 16 QAM. International Journal of Information and Telecommunication Technology. Sumber : www.sriste.com. Diakses: 15 Januari 2013. [22] Kumar, Sanjeev. 2011. Bit Error Rate Analysis of Reed-Solomon Code for Efficient Communication System. International Journal of Computer Applications, Foundation of Computer Science, USA. Sumber : http://www.ijcaonline.org. Diakses : 20 Januari 2013 [23] Istepanian , Robert S. H. 2000. Optimal Zonal Wavelet-Based ECG Data Compression for a Mobile Telecardiology System. Vol 4 Issue 3. Information Techonlogy in Biomedicine, IEEE Transaction. .

(99) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI LAMPIRAN 81

(100) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 82 Lampiran 1 Perbandingan BER pada 4-QAM, 16-QAM, 32-QAM, 64-QAM Tabel 5.4 Tabel Perbandingan BER pada 4-QAM, 16-QAM, 32-QAM, 64-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 QAM 4 0.561475 0.52377 0.42541 0.378915 0.209836 0.160428 0.067213 0.033613 0.01065 0 0 0 0 0 0 0 0 0 0 0 QAM16 0.905271 0.894576 0.856379 0.843392 0.802139 0.74026 0.692895 0.618029 0.559206 0.456837 0.347594 0.28877 0.200153 0.101604 0.058823 0.020626 0 0 0 0 QAM32 0.956455 0.943468 0.938121 0.900688 0.897632 0.865546 0.81589 0.777695 0.712758 0.649351 0.600458 0.495034 0.423988 0.316272 0.227655 0.179526 0.107716 0.041252 0.020626 0 QAM64 0.97097 0.952636 0.933537 0.925134 0.921314 0.892284 0.875477 0.844156 0.835752 0.801375 0.771581 0.735676 0.654698 0.620321 0.534759 0.466005 0.370512 0.290298 0.21696 0.187433 Lampiran 2 Perbandingan Symbol Error Rate Tabel 5.5 Tabel SER RS(31,27) pada 4-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 Total Error 610 529 416 327 188 132 84 25 18 5 1 0 Error Terkoreksi 0 0 0 2 7 11 41 22 18 5 1 0 SER 0.508333 0.440833 0.346667 0.270833 0.150833 0.100833 0.035833 0.0025 0 0 0 0

(101) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 83 SNR Total Error 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 Error Terkoreksi SER 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Tabel 5.6 Tabel SER RS(31,27) pada 16-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Error Total Error Terkoreksi 937 0 930 0 883 0 839 0 762 0 685 0 609 0 552 0 453 0 368 0 267 0 200 5 110 28 60 33 30 15 12 12 3 3 0 0 0 0 0 0 SER 0.780833 0.775 0.735833 0.699167 0.635 0.570833 0.5075 0.46 0.3775 0.306667 0.2225 0.1625 0.068333 0.0225 0.0125 0 0 0 0 0 Tabel 5. 7 Tabel SER RS(31,27) pada 32-QAM SNR 1 2 3 4 Total Error 981 962 939 924 Error Terkoreksi 0 0 0 0 SER 0.8175 0.801667 0.7825 0.77

(102) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 84 SNR 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error 885 813 810 737 639 603 517 426 337 289 195 126 103 61 23 9 Error Terkoreksi 0 0 0 0 0 0 0 0 0 2 11 13 22 36 18 9 SER 0.7375 0.6775 0.675 0.614167 0.5325 0.5025 0.430833 0.355 0.280833 0.239167 0.153333 0.094166 0.0675 0.020833 0.004166 0 Tabel 5. 8 Tabel SER RS(31,27) pada 64-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error 1046 1037 997 974 960 941 887 853 825 769 718 661 570 472 463 337 268 208 145 81 Error Terkoreksi 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 7 14 24 SER 0.871667 0.864167 0.830833 0.811667 0.8 0.784167 0.739167 0.710833 0.6875 0.640833 0.598333 0.550833 0.475 0.39333 0.385833 0.279167 0.218333 0.1675 0.109167 0.0475

(103) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 85 Tabel 5.9 Tabel SER RS(63,61) pada 4-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error 698 591 495 356 231 150 92 46 16 5 4 0 0 0 0 0 0 0 0 0 Error Terkoreksi 0 0 0 0 0 0 0 4 10 5 4 0 0 0 0 0 0 0 0 0 SER 0.581667 0.495 0.4125 0.296667 0.1925 0.125 0.076666 0.035 0.005 0 0 0 0 0 0 0 0 0 0 0 Tabel 5.10 Tabel SER RS(63,61) pada 16-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Total Error 1012 986 950 880 838 792 705 607 550 453 300 242 152 101 60 Error Terkoreksi 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 SER 0.843333 0.821667 0.791667 0.73333 0.698333 0.66 0.5875 0.505833 0.458333 0.3775 0.25 0.201667 0.126667 0.084166 0.0475

(104) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 86 SNR Total Error 16 22 17 7 18 6 19 1 20 0 Error Terkoreksi SER 0.0125 0.001666 0 0 0 7 5 6 1 0 Tabel 5.11 Tabel SER RS(63,61) pada 32-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error 1048 1045 1032 1002 955 908 873 820 765 719 632 509 411 316 231 162 84 42 25 8 Error Terkoreksi SER 0 0.873333 0 0.870833 0 0.86 0 0.835 0 0.795833 0 0.756667 0 0.7275 0 0.683333 0 0.6375 0 0.599167 0 0.526667 0 0.424167 0 0.3425 0 0.263333 0 0.1925 0 0.135 1 0.069166 4 0.031666 7 0.015 6 0.0016666 Tabel 5.12 Tabel SER RS(63,61) pada 64-QAM SNR 1 2 3 4 5 6 7 Total Error 1071 1050 1033 1010 1002 948 894 Error Terkoreksi 0 0 0 0 0 0 0 SER 0.8925 0.875 0.860833 0.841667 0.835 0.79 0.745

(105) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 87 SNR Total Error 878 875 840 799 711 651 642 529 434 368 294 235 142 8 9 10 11 12 13 14 15 16 17 18 19 20 Error Terkoreksi 0 0 0 0 0 0 0 0 0 0 0 0 0 SER 0.731667 0.729167 0.7 0.665833 0.5925 0.5425 0.535 0.440833 0.361667 0.306667 0.245 0.195833 0.118333 Tabel 5.13 Tabel SER RS(127,119) pada 4-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error 699 606 512 383 259 159 98 47 24 7 2 0 0 0 0 0 0 0 0 0 Error Terkoreksi 0 0 0 0 0 0 0 5 6 7 2 0 0 0 0 0 0 0 0 0 SER 0.5825 0.505 0.426667 0.319167 0.215833 0.1325 0.081666 0.035 0.015 0 0 0 0 0 0 0 0 0 0 0

(106) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 88 Tabel 5.14 Tabel SER RS(127,119) pada 16-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error 1029 992 940 897 855 802 706 644 558 437 344 252 164 110 58 26 7 6 1 0 Error Terkoreksi 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 13 7 6 1 0 SER 0.8575 0.826667 0.783333 0.7475 0.7125 0.668333 0.588333 0.536667 0.465 0.364167 0.286667 0.21 0.136667 0.090833 0.044166 0.010833 0 0 0 0 Tabel 5.15 Tabel SER RS(127,119) pada 32-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Total Error Error Terkoreksi 1057 1027 1015 1011 967 936 901 829 780 721 651 530 437 365 273 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SER 0.880833 0.855833 0.845833 0.8425 0.805833 0.78 0.75 0.690833 0.65 0.600833 0.5425 0.441667 0.364167 0.304167 0.2275

(107) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 89 SNR 16 17 18 19 20 Total Error Error Terkoreksi 176 88 54 21 7 0 1 6 5 5 SER 0.146667 0.0725 0.04 0.01333 0.001666 Tabel 5.16 Tabel SER RS(127,119) pada 64-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error Error Terkoreksi 1067 1031 1023 1016 970 937 931 901 871 845 796 734 676 617 572 450 435 323 252 172 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SER 0.889167 0.859167 0.8525 0.846667 0.808333 0.780833 0.775833 0.750833 0.725833 0.704167 0.663333 0.611667 0.563333 0.514167 0.476667 0.375 0.3625 0.269167 0.21 0.143333 Lampiran 3 Perbandingan SER tiap dimensi Reed Solomon Tabel 5.17 Tabel SER RS(31,27) pada 4-QAM SNR 1 2 3 4 5 Total Error 625 505 400 305 216 Error Terkoreksi 0 0 0 0 4 SER 0.520833 0.420833 0.333333 0.254167 0.176667

(108) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 90 SNR 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Total Error 137 72 38 13 4 2 0 0 0 0 0 0 0 0 0 Error Terkoreksi 13 27 33 13 4 2 0 0 0 0 0 0 0 0 0 SER 0.103333 0.0375 0.004166 0 0 0 0 0 0 0 0 0 0 0 0 Tabel 5.18 Tabel SER RS(63,61) pada 4-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Error Total Error Terkoreksi 694 584 472 354 244 160 102 43 22 9 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 7 3 0 0 0 0 0 0 0 0 0 SER 0.578333 0.486667 0.39333 0.295 0.203333 0.13333 0.084166 0.033333 0.0125 0.001666 0 0 0 0 0 0 0 0 0 0

(109) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 91 Tabel 5.19 Tabel SER RS(127,119) pada 4-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Error Total Error Terkoreksi 785 0 741 0 537 0 429 0 311 0 195 0 121 0 63 9 20 20 6 6 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SER 0.654167 0.6175 0.4475 0.3575 0.259167 0.1625 0.100833 0.045 0 0 0 0 0 0 0 0 0 0 0 0 Tabel 5.20 Tabel SER RS(31,27) pada 16-QAM SNR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Total Error 971 917 881 830 769 738 648 580 484 366 291 223 134 63 33 Error Terkoreksi 0 0 0 0 0 0 0 0 0 0 2 4 17 30 29 SER 0.809167 0.764167 0.734167 0.691667 0.640833 0.615 0.54 0.48333 0.403333 0.305 0.240833 0.1825 0.0975 0.0275 0.003333

(110) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 92 SNR Total Error 16 16 17 4 18 3 19 0 20 0 Error Terkoreksi SER 16 4 3 0 0 0 0 0 0 0 Tabel 5.21 Tabel SER RS(63,61) pada 16-QAM SNR Total Error 1016 978 954 864 845 779 705 606 537 440 325 265 163 91 62 31 15 4 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Error Terkoreksi 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 5 5 2 3 0 SER 0.846667 0.815 0.795 0.72 0.704167 0.649 0.5875 0.505 0.4475 0.366667 0.270833 0.220833 0.135833 0.075 0.048333 0.021666 0.0075 0.001666 0 0 Tabel 5.22 Tabel SER RS(127,119) pada 16-QAM SNR 1 2 3 4 5 6 7 Total Error 1119 1087 1068 1024 966 907 841 Error Terkoreksi 0 0 0 0 0 0 0 SER 0.9325 0.905833 0.89 0.853333 0.805 0.755833 0.700833

(111) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 93 SNR 8 9 10 11 12 13 14 15 16 17 18 Error Total Error Terkoreksi 759 704 533 459 321 223 188 86 45 21 5 0 0 0 0 0 0 0 6 22 21 5 SER 0.6325 0.586667 0.444167 0.3825 0.2675 0.185833 0.156667 0.066666 0.019166 0 0 Lampiran 4 Hasil pembacaan data ECG bertipe numerik Tabel 5. 23 Tabel hasil pembacaan data ECG bertipe numerik -0.145 -0.225 -0.32 -0.33 -0.34 -0.34 -0.365 -0.255 -0.28 -0.315 -0.145 -0.245 -0.335 -0.325 -0.33 -0.34 -0.365 -0.24 -0.275 -0.3 -0.145 -0.25 -0.36 -0.315 -0.33 -0.335 -0.36 -0.25 -0.285 -0.305 -0.145 -0.26 -0.385 -0.31 -0.33 -0.33 -0.36 -0.255 -0.28 -0.31 -0.145 -0.275 -0.385 -0.32 -0.34 -0.35 -0.365 -0.245 -0.3 -0.32 -0.145 -0.275 -0.405 -0.335 -0.35 -0.35 -0.37 -0.255 -0.3 -0.33 -0.145 -0.275 -0.455 -0.34 -0.325 -0.345 -0.355 -0.25 -0.305 -0.325 -0.145 -0.265 -0.485 -0.325 -0.325 -0.335 -0.33 -0.25 -0.295 -0.315 -0.12 -0.255 -0.485 -0.345 -0.33 -0.335 -0.325 -0.265 -0.3 -0.31 -0.135 -0.265 -0.425 -0.335 -0.33 -0.335 -0.325 -0.26 -0.31 -0.305 -0.145 -0.275 -0.33 -0.33 -0.335 -0.35 -0.335 -0.26 -0.31 -0.305 -0.15 -0.29 -0.22 -0.335 -0.335 -0.355 -0.34 -0.265 -0.305 -0.31 -0.16 -0.29 -0.07 -0.33 -0.34 -0.355 -0.315 -0.27 -0.295 -0.3 -0.155 -0.29 0.12 -0.325 -0.33 -0.345 -0.3 -0.265 -0.285 -0.305 -0.16 -0.29 0.375 -0.33 -0.34 -0.345 -0.3 -0.26 -0.285 -0.29 -0.175 -0.285 0.62 -0.33 -0.35 -0.335 -0.29 -0.275 -0.29 -0.3 -0.18 -0.295 0.78 -0.345 -0.355 -0.35 -0.295 -0.28 -0.295 -0.3 -0.185 -0.305 0.84 -0.355 -0.35 -0.36 -0.29 -0.29 -0.31 -0.305 -0.17 -0.285 0.765 -0.335 -0.345 -0.36 -0.285 -0.275 -0.29 -0.305 -0.155 -0.275 0.52 -0.325 -0.33 -0.36 -0.275 -0.27 -0.295 -0.29 -0.175 -0.275 0.17 -0.305 -0.32 -0.365 -0.255 -0.26 -0.3 -0.28 -0.18 -0.28 -0.165 -0.32 -0.335 -0.36 -0.25 -0.28 -0.305 -0.295 -0.19 -0.285 -0.365 -0.32 -0.33 -0.37 -0.25 -0.28 -0.31 -0.305 -0.18 -0.305 -0.435 -0.33 -0.345 -0.385 -0.265 -0.285 -0.325 -0.315 -0.155 -0.29 -0.425 -0.34 -0.33 -0.37 -0.255 -0.275 -0.31 -0.305 -0.135 -0.3 -0.37 -0.335 -0.335 -0.36 -0.245 -0.275 -0.3 -0.295 -0.155 -0.28 -0.33 -0.34 -0.335 -0.355 -0.23 -0.265 -0.29 -0.29 -0.19 -0.29 -0.325 -0.345 -0.345 -0.36 -0.245 -0.27 -0.31 -0.28 -0.205 -0.3 -0.335 -0.355 -0.345 -0.375 -0.245 -0.285 -0.325 -0.27 -0.235 -0.315 -0.345 -0.355 -0.355 -0.375 -0.255 -0.29 -0.33 -0.275

(112) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 94 Lampiran 5 Perhitungan manual paritas sebagai pembentuk codeword Perhitungan manual paritas sebagai pembentuk codeword. 1 15 8 6 1 2 10 1 1 10 7 1 2 3 4 5 6 7 8 9 10 11 0 0 0 0 =A 1 13 12 8 7 0 0 0 0 0 0 0 0 0 0 =B× 1 x10 15 15 12 2 6 7 8 9 10 11 0 0 0 0 15 7 8 1 11 0 0 0 0 0 0 0 0 0 8 4 3 13 7 8 9 10 11 0 0 0 0 8 2 10 12 13 0 0 0 0 0 0 0 0 6 9 1 10 8 9 10 11 0 0 0 0 6 8 14 5 1 0 0 0 0 0 0 0 1 15 15 9 9 10 11 0 0 0 0 1 13 12 8 7 0 0 0 0 0 0 2 3 1 14 10 11 0 0 0 0 2 9 11 3 14 0 0 0 0 0 10 10 13 4 11 0 0 0 0 = Hasil Bagi =B× 15 x9 =B× 8 x8 =B× 6 x7 =B× 1 x6 =B× 2 x5

(113) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 95 10 =B× 10 x4 11 1 15 3 0 0 0 0 1 12 11 8 0 0 0 0 1 13 12 8 7 0 0 0 1 7 0 7 0 0 0 1 13 12 8 7 0 0 10 12 15 7 0 0 10 11 1 15 3 0 7 14 8 3 0 7 5 2 13 6 =B× 7 x0 11 10 14 6 = Sisa Bagi =B× 1 x3 =B× 1 x2 =B× 10 x1 Lampiran 6 Proses Koreksi Kesalahan Data Generating Error Syndrome Proses paling awal dilakukan adalah konversi nilai alpha. Konversi alpha dilakukan untuk mendapatkan bentuk galois field sesuai dengan polynomial primitive. Konversi nilai alpha dapat dilihat dalam tabel berikut ini

(114) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 96 Proses Konversi alpha berdasarkan tabel: 2. s(i)=α(2*t-i+1) . 1 ≤ i ≤ 2t 3. s1= α(2*2 - 1+1) = α4 = 3 4. s 2 = α(2*2 - 2+1) = α3 = 8 5. s 3= α(2*2 - 3+1) = α2 = 4 6. s 4 = α(2*2 - 4+1) = α1 = 2 Penghitungan Syndrome Langkah pertama menentukansyndromedata.Di dalamproses decodingsimbolyang sinisimbolyang diterima diterimaadalah akandibagigenerator polinomialbyte. Hasilnya harus menghasilkan nilai nol (paritas ditempatkan di sana untuk memastikan kode yang persis dibagi oleh generator polinomial). Jika pembagian menghasilkan sisa, maka ada kesalahan yang disebut sebagai syndrome.

(115) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 97 Nilai syndrome di awal sebelum perhitungan adalah 0 0 0 0. Langkah-langkah perhitungan syndrome adalah sebagai berikut. No Data Syndrome_awal Alpha syndrome.*alpha syndrome+data 1 1111 0000 3842 0000 1111 2 2222 1111 3842 3842 1 10 6 0 3 3333 1 10 6 0 3842 3 15 11 0 0 12 8 3 4 4444 0 12 8 3 3842 0 10 6 6 4 14 2 2 5 5555 4 14 2 2 3842 12 9 8 4 9 12 13 1 6 11 11 11 11 9 12 13 1 3842 8 10 1 2 3 1 10 9 7 7777 3 1 10 9 3842 5 8 14 1 2 15 9 6 8 8888 2 15 9 6 3842 6 1 2 12 14 9 10 4 9 9999 14 9 10 4 3842 1 4 14 8 8 13 7 1 10 10 10 10 10 8 13 7 1 3842 11 2 15 2 1858 11 11 11 11 11 1858 3842 3 12 7 3 8 7 12 8 12 11 11 11 11 8 7 12 8 3842 11 13 5 3 0 6 14 8 13 10 10 10 10 0 6 14 8 3842 0 5 13 3 10 15 7 9 14 14 14 14 14 10 15 7 9 3842 13 1 15 1 3 15 1 15 15 6666 3 15 1 15 3842 5 1 4 13 3 7 2 11 Dari perhitungan didapat nilai syndrome atau S bernilai 3 7 2 11. RiBM algorithm (Reformulated inversionless Berlekamp-Massey) Proses selanjutnya merupakan proses Berlekamp-Massey. Proses ini akan mencari key equation solver sebagai kunci dari data error. Proses awal merupakan inisialisasi dari variable yang dibutuhkan.. Inverse_syndrome= 11 2 7 3; delta(7) = 1; delta(1:4)= 11 2 7 3; delta=11 2 7 30 0 1 0 theta = 11 2 7 30 0 1 0 Perhitungan dari algoritma Reformulated inversionless Berlekamp-Massey adalah sebagai berikut delta_awal 11 2 7 3 0 0 1 0 (gamma*delta) – ((delta(1))*theta(1:7) 2 7 3 0 0 1 0 – 9 5 4 14 0 0 11 delta 11 2 7 14 0 1 11 0 Theta 2730010 Gamma 11 11 2 7 14 0 1 11 0 5 4 8 0 11 9 0 0 – 5 4 14 0 0 11 0 0 0 6 0 11 2 0 0 2730010 11 0 0 6 0 11 2 0 0 0 15 0 9 5 0 0 – 0 0 0 0 0 0 0 0 15 0 9 5 0 0 0 2730010 11 0 15 0 9 5 0 0 0 3 0 12 1 0 0 0 – 0 0 0 0 0 0 0 3 0 12 1 0 0 0 0 2730010 11

(116) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 98 delta_awal (gamma*delta) – ((delta(1))*theta(1:7) delta Theta 3 0 12 1 0 0 0 0 0 13 11 0 0 0 0 – 6 9 5 0 0 3 0 6 4 14 0 0 3 0 0 0 12 1 0 0 0 0 Gamma 3 Berdasarkan perhitungan pada tabel diatas hasil yang diperoleh adalah sebagai berikut. Gamma =3 Lamda = 12 1 0 Omega =3 Chien Search Algoritma chien search ini berfungsi untuk mencari letak error dalam sebuah codeword. Algoritma mengetahui letak error suatu codeword, ketika lamda bernilai 0. Formula dari algoritma chien search adalah sebagai berikut. nilaifungsi akanmenjadi noljika dengan . Proses awal merupakan proses inisialisasi untuk keperluan algoritma chien search. Λ awal = 12 1 0 Inverse table = 1 2 4 α awal = 1 2 4 Perhitungan dari algoritma Reformulated inversionless Berlekamp-Massey adalah sebagai berikut No 1 2 3 4 5 6 7 8 9 10 Accu table 111*124=124 124*124=143 1 2 4 * 1 4 3 = 1 8 12 1 2 4 * 1 4 3 = 1 8 12 124*135=167 1 2 4 * 1 6 7 = 1 12 15 1 2 4 * 1 12 15 = 1 11 9 1 2 4 * 1 11 9 = 1 5 2 1 2 4 * 1 5 2 = 1 10 8 1 2 4 * 1 10 8 = 1 7 6 Lambda_v (12*1) + (1*1) + (0*4) = 14 (12*1) + (1*4) + (0*3) = 8 (12*1) + (1*8) + (0*12) = 4 (12*1) + (1*3) + (0*5) = 15 (12*1) + (1*6) + (0*7) = 10 (12*1) + (1*12) + (0*15) = 0 (12*1) + (1*11) + (0*9) = 7 (12*1) + (1*5) + (0*2) = 9 (12*1) + (1*10) + (0*8) = 6 (12*1) + (1*7) + (0*6) = 11 Accu table last 124 143 1 8 12 135 167 1 12 15 1 11 9 152 1 10 8 176

(117) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 99 11 12 13 14 15 1 2 4 * 1 7 6 = 1 14 11 1 2 4 * 1 14 11 = 1 15 10 1 2 4 * 1 15 10 = 1 13 14 1 2 4 * 1 13 14 = 1 9 13 1 2 4 * 1 15 10 = 1 1 1 (12*1) + (1*14) + (0*11) = 2 (12*1) + (1*15) + (0*10) = 3 (12*1) + (1*13) + (0*14) = 1 (12*1) + (1*15) + (0*10) = 3 (12*1) + (1*1) + (0*1) = 13 1 14 11 1 15 10 1 13 14 1 15 10 111 Hasil perhitungan lamda menunjukkan bahwa error terdapat pada posisi codeword ke-6 karena nilai dari lamda adalah 0. Lampiran 7 Listing Program Listing rddata.m function pratinjau=rddata(filename) %modifikasi memnbaca path [pathstr,name] = fileparts(filename) %name='101'; %------ SPECIFY DATA ----------------------------------------------------PATH=pathstr; %pathstr; %'E:\reed-solomon-script\data'; % path, where data are saved HEADERFILE= [name,'.hea']; % header-file in text format ATRFILE= [name,'.atr']; % attributes-file in binary format DATAFILE= [name,'.dat']; % data-file SAMPLES2READ=300; % number of samples to be read % in case of more than one signal: % 2*SAMPLES2READ samples are read %------ LOAD HEADER DATA ------------------------------------------------fprintf(1,'\\n$> WORKING ON %s ...\n', HEADERFILE); signalh= fullfile(PATH, HEADERFILE); fid1=fopen(signalh,'r'); z= fgetl(fid1); A= sscanf(z, '%*s %d %d %d',[1,3]); nosig= A(1); % number of signals sfreq=A(2); % sample rate of data clear A; for k=1:nosig z= fgetl(fid1); A= sscanf(z, '%*s %d %d %d %d %d',[1,5]); dformat(k)= A(1); % format; here only 212 is allowed gain(k)= A(2); % number of integers per mV bitres(k)= A(3); % bitresolution zerovalue(k)= A(4); % integer value of ECG zero point firstvalue(k)= A(5); % first integer value of signal (to test for errors) end; fclose(fid1); clear A;

(118) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 100 if dformat~= [212,212], error('this script does not apply binary formats different to 212.'); end; signald= fullfile(PATH, DATAFILE); % data in format 212 fid2=fopen(signald,'r'); A= fread(fid2, [3, SAMPLES2READ], 'uint8')'; % matrix with 3 rows, each 8 bits long, = 2*12bit fclose(fid2); M2H= bitshift(A(:,2), -4); M1H= bitand(A(:,2), 15); PRL=bitshift(bitand(A(:,2),8),9); % sign-bit PRR=bitshift(bitand(A(:,2),128),5); % sign-bit M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL; M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR; if M(1,:) ~= firstvalue, error('inconsistency in the first bit values'); end; (num2str(A(:,1))) switch nosig case 2 M( : , 1)= (M( : , 1)- zerovalue(1))/gain(1); M( : , 2)= (M( : , 2)- zerovalue(2))/gain(2);% TIME=(0:(SAMPLES2READ-1))/sfreq; case 1 M( : , 1)= (M( : , 1)- zerovalue(1)); M( : , 2)= (M( : , 2)- zerovalue(1));% M=M'; M(1)=[]; sM=size(M); sM=sM(2)+1; M(sM)=0; M=M'; M=M/gain(1); TIME=(0:2*(SAMPLES2READ)-1)/sfreq; otherwise% this case did not appear up to now! % here M has to be sorted!!! disp('Sorting algorithm for more than 2 signals not programmed yet!'); end; %clear A M1H M2H PRR PRL; fprintf(1,'\\n$> LOADING DATA FINISHED \n'); %------ LOAD ATTRIBUTES DATA --------------------------------------------atrd= fullfile(PATH, ATRFILE); % attribute file with annotation data fid3=fopen(atrd,'r'); A= fread(fid3, [2, inf], 'uint8')'; fclose(fid3); ATRTIME=[]; ANNOT=[]; sa=size(A); saa=sa(1); i=1; while i<=saa annoth=bitshift(A(i,2),-2); if annoth==59 ANNOT=[ANNOT;bitshift(A(i+3,2),-2)]; ATRTIME=[ATRTIME;A(i+2,1)+bitshift(A(i+2,2),8)+... bitshift(A(i+1,1),16)+bitshift(A(i+1,2),24)]; i=i+3;

(119) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 101 elseif annoth==60 % nothing to do! elseif annoth==61 % nothing to do! elseif annoth==62 % nothing to do! elseif annoth==63 hilfe=bitshift(bitand(A(i,2),3),8)+A(i,1); hilfe=hilfe+mod(hilfe,2); i=i+hilfe/2; else ATRTIME=[ATRTIME;bitshift(bitand(A(i,2),3),8)+A(i,1)]; ANNOT=[ANNOT;bitshift(A(i,2),-2)]; end; i=i+1; end; ANNOT(length(ANNOT))=[]; % last line = EOF (=0) ATRTIME(length(ATRTIME))=[]; % last line = EOF clear A; ATRTIME= (cumsum(ATRTIME))/sfreq; ind= find(ATRTIME <= TIME(end)); ATRTIMED= ATRTIME(ind); ANNOT=round(ANNOT); ANNOTD= ANNOT(ind); %------ DISPLAY DATA ----------------------------------------------------%figure(1); clf, box on, hold on plot(TIME, M(:,1),'b'); % plot disp('data yang disimpan'); DataECG(:,1)=M(:,1); save('ECGDat.mat','DataECG','TIME'); % for k=1:length(ATRTIMED) % text(ATRTIMED(k),0,num2str(ANNOTD(k))); % end; %} xlim([TIME(1), TIME(end)]); xlabel('Time / s'); ylabel('Voltage / mV'); string=['ECG signal ',DATAFILE]; title(string); % fprintf(1,'\\n$> DISPLAYING DATA FINISHED \n'); % -----------------------------------------------------------------------fprintf(1,'\\n$> ALL FINISHED \n'); Listing Program encoderRS.m function encoderRS(valueRSnum,dataECG) tic; % proses membaca pilihan dropdown dan inisialisasi atribut penyandian if(valueRSnum==2) mm=5; nn=2^mm-1; kk=27;

(120) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 102 dis=nn-kk; pp=[1 0 0 1 0 1]; %x5+x2+1 elseif(valueRSnum==3) mm=6; nn=2^mm-1 kk=61 dis=nn-kk pp=[1 0 0 0 0 1 1]; %x6+x+1 elseif(valueRSnum==4) mm=7; nn=2^mm-1; kk=119; dis=nn-kk; pp=[1 0 0 0 1 0 0 1]; %x7+x3+1 end %load ECGDat; for i=1:size(dataECG,1) data=[dataECG]; end; dataEnc=size(data,1); dataIn=''; %Mengubah data menjadi bentuk integer kemudian string for i=1:size(data,1) dataEnc(i)=[(data(i)+2)*1000]; intEnc(i)=int64(dataEnc(i)); dataIn=[dataIn,num2str(intEnc(i))]; end numArr=ceil(length(dataIn)/kk); %inisialisasi panjang kolom array %Menentukan batas index data tiap array count=1; for i=1:length(dataIn) % disp(i); valMod=mod(i,kk); if(valMod==0) modA(count)=i; count=count+1; end end %Memasukkan data String ke dalam array string sesuai dengan index batas bawah=1; for b=1:length(modA(1,:))+1 if b==length(modA(1,:))+1 dataSplt(1,b)=cellstr(dataIn(1,[bawah:length(dataIn)])); else atas=modA(b); dataSplt(1,b)=cellstr(dataIn(1,[bawah:atas])); bawah=atas+1; end end %inisialisasi array zeros untuk data encoder

(121) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 103 valueEnc=zeros(length(modA(1,:))+1,kk); encFin=zeros(length(modA(1,:))+1,nn); %Mengubah array string menjadi array character nilai={}; for i=1:length(modA(1,:))+1 nilai{i}=char(dataSplt(1,i)); end %Mengubah data menjadi format number dan memasukkan data ke dalam array %sesuai dengan nilai k for j=1:length(nilai) for k=1:length(nilai{j}) valueEnc(j,k)=str2num(nilai{j}(k)); end end %Proses encoder atau penyandian Reed Solomon for i=1:numArr decpp=bin2dec(num2str(pp)); %Mengubah nilai polinomial primitif menjadi nilai desimal dataM=valueEnc(i,[1:end]); sisa=zeros(1,dis); dataZero=[dataM sisa]; paritas=zeros(1,dis); generator = rsgenpoly(nn,kk,decpp); % Mendefinisikan generator polynomial sesuai (n,k) code message = gf([dataZero],mm,decpp); %Membuat galois field array untuk data masaukan genpoly= gf([generator],mm,decpp); %Membuat galois field array untuk generator polinomial [nilai, par]= deconv(message,genpoly); %Pembagian polinomial message dan generator untuk menghasilkan paritas parity=double(par.x); sizePar=length(parity); paritas(1:dis)=parity(kk+1:nn); coded=[dataM paritas]; for k=1:length(coded) encFin(i,k)=coded(k); end end save('sandiRS.mat','encFin'); toc end Listing Program qammodul.m function qammodul(valueMod,valueSNR) disp('ini value mod di qam'); disp(valueMod); mod=0; if(valueMod==2) mod=4; elseif(valueMod==3)

(122) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 104 mod=16; elseif(valueMod==4) mod=32; elseif(valueMod==5) mod=64; end disp('ini nilai mod'); disp(mod); load sandiRS.mat; nilai=1; tempBin=''; kanalBin=''; panjangFin=length(encFin(1,1:end)); bin=log2(panjangFin+1) for i=1:length(encFin(:,1)) for j=1:(length(encFin(i,1:end))) %disp(j); tempBin=[tempBin,dec2bin(encFin(i,j),bin)]; end end awalTemp=length(tempBin) %% Setup % Define parameters. M = mod; % Size of signal constellation k = log2(M); % Number of bits per symbol %n = 3e4; % Number of bits to process nsamp = 1; % Oversampling rate hMod = modem.qammod(M); % Create a 16-QAM modulator cekMod=ceil((length(tempBin))/k)*k-awalTemp if cekMod>0 for i=1:cekMod tempBin=[tempBin,'0']; end end for i=1:length(tempBin) decRow(i,1)=str2double(tempBin(i)); end %% Signal Source % Create a binary data stream as a column vector. x=decRow; %% Bit-to-Symbol Mapping % Convert the bits in x into k-bit symbols. xsym = bi2de(reshape(x,k,length(x)/k).','left-msb'); %% Modulation y = modulate(modem.qammod(M),xsym); %% Transmitted Signal ytx = y; %% Channel % Send signal over an AWGN channel. snr = valueSNR; % In

(123) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 105 ynoisy = awgn(ytx,snr,'measured'); %% Received Signal yrx = ynoisy; %% Scatter Plot % Create scatter plot of noisy signal and transmitted % signal on the same axes. h = scatterplot(yrx(1:nsamp*1e3),nsamp,0,'g.'); hold on; scatterplot(ytx(1:1e3),1,0,'k*',h); title('Signal yang diterima'); legend('Sinyal diterima','Signal Constellation'); ak=k+log2(k); axis([-ak ak -ak ak]); % Set axis ranges. hold off; %% Demodulation % Demodulate signal using 16-QAM. zsym = demodulate(modem.qamdemod(M),yrx); %% Symbol-to-Bit Mapping % Undo the bit-to-symbol mapping performed earlier. z = de2bi(zsym,'left-msb'); % Convert integers to bits. % Convert z from a matrix to a vector. z = reshape(z.',numel(z),1); %% BER Computation % Compare x and z to obtain the number of errors and % the bit error rate. [number_of_errors,bit_error_rate] = biterr(x,z) i=0; count=1; index=0; while i
(124) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 106 Listing Program decoderRIBM.m %------------------------------------------------------------------------% Elliot Briggs % Texas Tech University % Feb. 2012 % Implementation of a Reed-Solomon decoder using RiBM, Chien search, % and modified Forney's algorithm. % % RiBM algorithm: (Reformulated inversionless Berlekamp-Massey) % see "High-Speed Architectures for ReedSolomon Decoders" by Dilip V. % Sarwate, and Naresh R. Shanbhag, IEEE Transactions on Very Large Scale % Integration (VLSI) Systems, Vol. 9, Iss. 5, pp. 641-655, Aug. 2002 %------------------------------------------------------------------------%close all; clear all; %parameters function [errorAsli,correct,dataAll,ber]=decoderRiBM(dataDec) load sandiRS.mat; nn = size(dataDec,2); m = log2(nn+1); if nn==31 kk=27; elseif nn==63 kk=61; elseif nn==127 kk=119; end %RS parameters [g,t] = rsgenpoly(nn,kk); pp = primpoly(m); alpha = gf(2, m); dataCorrect=zeros(size(dataDec,1),kk); totalError=0; correct=0; dataAll=0; dataOut=''; errorAsli=0; for ii=1:size(dataDec,1) jumError=0; for ll=1:length(dataDec(ii,[1:size(dataDec,2)])) if(encFin(ii,ll) ~= dataDec(ii,ll)) jumError=jumError+1; end end disp(jumError);

(125) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 107 if jumError<=(nn-kk)/2 indexDex(ii)=1; else indexDex(ii)=0; end totalError=totalError+jumError; end for x=1:size(encFin,1) counter=0; for xx=1:length(encFin(x,[1:kk])) if(counter<300*4+1) if(encFin(x,xx) ~= dataDec(x,xx)) errorAsli=errorAsli+1; end counter=counter+1; end end end disp('ini error asli'); disp(errorAsli); h = waitbar(0,'Proses sedang berjalan ......'); steps = size(dataDec,1); for jj=1:size(dataDec,1) if indexDex(jj)==0 dataCorrect(jj,[1:kk])=dataDec(jj,[1:kk]); elseif indexDex(jj)==1 code=encFin(jj,[1:size(encFin,2)]); message=dataDec(jj,[1:size(dataDec,2)]); %generate codeword msg = gf(message, m, pp); %inject errors reccode = msg; %creating alpha array alpha_tb=gf(zeros(1, 2*t), m); for i=1:2*t, alpha_tb(i)=alpha^(2*t-i+1); end; %------------------------------------------------------------------------%syndrome generation %------------------------------------------------------------------------syndrome = gf(zeros(1, 2*t), m, pp); for i = 1:nn, syndrome = syndrome.*alpha_tb +reccode(i); end; syndrome = double(syndrome.x); syndrome = fliplr(syndrome); syndrome = gf(syndrome,m,pp); %-------------------------------------------------------------------------

(126) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 108 % RiBM algorithm (Reformulated inversionless Berlekamp-Massey) % This implements the key equation solver portion of the decoder. % see "High-Speed Architectures for ReedSolomon Decoders" by Dilip V. % Sarwate, and Naresh R. Shanbhag %------------------------------------------------------------------------k = 0; gamma = 1; delta = gf(zeros(1, 3*t+2), m); delta(3*t+1) = 1; delta(1:(2*t)) = syndrome; theta = delta(1:3*t+1); delta_next = delta; for r=1:2*t+1, delta = delta_next; %step1 delta_next(1:3*t+1) = (gamma*delta(2:3*t+2))(delta(1)*theta(1:3*t+1)); %step2 if((delta(1) ~= 0) && (k>=0)) theta(1:3*t+1) = delta(2:3*t+2); gamma = delta(1); k = -k-1; else theta = theta; gamma = gamma; k = k+1; end end lamda = delta(t+1:2*t+1); omega = delta(1:t); %------------------------------------------------------------------------% chein search: % find the error locations by finding the roots of lamda %------------------------------------------------------------------------% inverse table inverse_tb = gf(zeros(1, t+1), m, pp); for i=1:t+1, inverse_tb(i) = alpha^(i-1); end; lamda_v=gf(0, m, pp); accu_tb=gf(ones(1, t+1), m,pp); zero = gf(0, m, pp); error = zeros(2,nn); for i=1:nn accu_tb=accu_tb.*inverse_tb; lamda_v=lamda*accu_tb'; if(lamda_v==zero) error(1,i)=1; end end

(127) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 109 %------------------------------------------------------------------------% Forney's algorithm % find the error magnitudes using Forney's algorithm. This algorithm % allows error magnitudes to be determined without matrix inversion. For % RiBM, the omega term must be shifted by a power of 2*t. %------------------------------------------------------------------------% the derivative of lamda comes out to be lamda with only the odd terms % considered. generate the index vector... even=floor(t/2)*2; if(even==t) odd=t-1; else odd=t; end %inverse table inverse_tb = gf(zeros(1, t+1), m, pp); for i=1:3*t, inverse_tb(i) = alpha^(-i+1); end; lamda_ov=gf(0, m, pp); omega_v=gf(0, m, pp); accu_tb=gf(ones(1, t+1), m,pp); accu_tb1=gf(ones(1, 3*t), m, pp); % shift the exponents of omega by 2*t for RiBM (equation 12 in paper) omega = [zeros(1,2*t),omega]; for i=1:nn, lamda_ov=lamda(2:2:odd+1)*accu_tb(2:2:odd+1)'; omega_v=omega*accu_tb1'; accu_tb=accu_tb.*inverse_tb(1:t+1); accu_tb1=accu_tb1.*inverse_tb; if(error(1,nn-i+1) == 1) ev=(omega_v/lamda_ov)*alpha^(1-i); error(2, nn-i+1)=double(ev.x); end end %------------------------------------------------------------------------% Apply corrections - and display the results %------------------------------------------------------------------------disp(['the original code is : num2str(double(code))]); disp(['the received code is : num2str(double(reccode.x))]); found = find(error(1,:)~=0); disp(['found error(s) at location(s): disp(['calulated error magnitudes : num2str(error(2,found))]); ', ', ',num2str(found)]); ',

(128) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 110 reccode(found) = reccode(found) - gf(error(2,found),m); disp(['the corrected code is : ', num2str(double(reccode.x))]); douRec=double(reccode.x); dataCorrect(jj,[1:kk])=douRec(1,[1:kk]); correct=correct+length(error(2,found)); end waitbar(jj / steps) end dataOut=zeros(1,size(dataCorrect,1)*size(dataCorrect,2)); save('CorrectDec.mat','dataCorrect'); flg=1; flgA=1; tempStr=''; ecgFin=zeros(1,300); tempEcg=0; lenData=0; correctAsli=0; for c=1:size(dataCorrect,1) for d=1:size(dataCorrect,2) dataOut(1,flg)=dataCorrect(c,d); flg=flg+1; end end for y=1:size(encFin,1) counter=0; for yy=1:length(encFin(y,[1:kk])) if(counter<300*4+1) if(encFin(y,yy) ~= dataCorrect(y,yy)) correctAsli=correctAsli+1; end counter=counter+1; end end end disp('ini koreksi asli'); disp(correctAsli); for e=1:(300*4) tempStr=[tempStr,num2str(dataOut(e))]; lenData=lenData+1; if mod(e,4)==0 if(length(tempStr)==4) doubStr=str2num(tempStr); tempEcg=(doubStr/1000)-2; elseif(length(tempStr)==5) doubStr=str2num(tempStr); tempEcg=(doubStr/10000)-2; elseif(length(tempStr)==6) doubStr=str2num(tempStr); tempEcg=(doubStr/100000)-2; end ecgFin(1,flgA)=tempEcg; flgA=flgA+1; tempStr=''; end

(129) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 111 dataAll=lenData; correct=errorAsli-correctAsli ber=correctAsli/dataAll save('finalECG.mat','ecgFin'); close(h); plot(ecgFin(1,1:300)); xlabel('Time / s'); ylabel('Voltage / mV'); end

(130)

Dokumen baru

Tags

Dokumen yang terkait

SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
0
1
127
Tugas Akhir Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
0
0
127
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
0
0
98
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
1
113
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
2
76
SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Jurusan Teknik Informatika
0
0
87
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
198
LOWONGAN KERJA SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat untuk Memperoleh Gelar Sarjana Teknik Informatika
0
0
168
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
110
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
128
Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
126
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
0
184
SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
0
1
56
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
0
0
129
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
0
0
87
Show more