Analisis Sistem Perancangan Sistem

20 3 BAB III PERANCANGAN

3.1 Analisis Sistem

3.1.1 Gambaran Sistem yang Dikembangkan

Progam yang akan dikembangkan adalah program turbo codes, tujuan program dibuat adalah untuk encoding dan decoding data ECG. Fasilitas utama program turbo codes adalah encoding data ECG dan decoding data sandi menjadi data ECG.

3.1.2 Analisis Kebutuhan Sistem

Program turbo codes membutuhkan file berformat “.dat”, “.hea”, dan “.atr”. File “.dat” merupakan data ECG yang masih berupa data unsigned integer . File tersebut akan diterjemahkan program turbo codes menjadi data biner data yang terdiri dari angka 0 dan 1.

3.2 Perancangan Sistem

Diagram model sistem yang akan dikembangkan ditunjukkan pada Gambar 3.1: Gambar 3.1 Model Sistem Program turbo codes yang dikembangkan mempunyai beberapa fungsi utama yaitu encoding penyandian, decoding pembacaan sandi, dan IO konverter. Sebelum data disandikan, program tersebut harus mampu mengubah data menjadi data biner dengan menggunakan IO konverter. Data biner yang didapat akan disandikan menjadi data sandi. Data sandi yang dihasilkan encoder turbo codes akan masuk dalam kanal AWGN. Ketika data masuk ke dalam kanal, SNR yang digunakan adalah nilai acak antara 0 sampai 5. Setelah itu progam dapat menerjemahkan kembali data sandi ke dalam betuk data biner menggunakan decoder . Decoder yang digunakan menggunakan iterasi 1, 2, 3, 4, dan 5. kemudian data biner akan diubah menjadi data ECG kembali.

3.2.1 Perancangan Encoder Turbo Codes

Gambar 3.2 merupakan diagram encoder turbo codes. Diagram tersebut menggunakan code rate R=13 dengan generator polinomial G1{111} dan G2{1101}. Program yang dibuat diharapkan mempunyai unjuk kerja yang bagus, mendekati batas teori yang diprediksi oleh Shannon. Data d k merupakan data biner yang diterjemahkan dari file ECG yang dibaca. Bit d k akan masuk ke dalam ke dalam register geser. Register geser dibentuk berdasarkan generator polinomial. Ketika bit dalam register geser mulai bergerak, bit register R1 akan mengisi register R2, bit register R2 akan mengisi R3. Data d k dengan nilai R1, R2, dan R3 akan dipindahkan dengan modulo dua menghasilkan bit M1. Bit M1 akan mengisi register R1. Pada saat bersamaan, Bit M1, nilai R1, dan R3 akan dipindahkan dengan modulo dua menghasilkan bit yk1. Arus data pada RSC 2 hampir sama dengan RSC 1 , yang membedakan adalah data d k akan masuk ke dalam interleaver. Data yang keluar dari interleaver akan diproses pada RSC 2 . R1 R3 R2 Interleaver d k y k1 M1 R1 R3 R2 M1 y k2 Gambar 3.2 Diagram encoder dengan generator polinomial 15,13 RSC 2 RSC 1 Keterangan gambar : : Modulo bilangan biner M1 : bit hasil modulo dua : Register : Arah arus data y k1 ,y k2 : Keluaran RSC

3.2.2 Perancangan Decoder Turbo Codes

Gambar 3.3 merupakan diagram decoder turbo codes yang akan digunakan pada program turbo codes. Data yang telah disandikan oleh encoder akan diterjemahkan oleh decoder menjadi data integer. Data d k dan y k1 yang dihasilkan oleh encoder secara bersamaan akan masuk ke dalam decoder 1. Decoder 1 akan menghasilkan bit, bit tersebut akan dikirim ke interleaver. Interleaver menghasilkan bit yang akan diproses bersamaan dengan bit y k2 yang masuk ke dalam decoder 2. Bit yang dihasikan oleh decoder 2 akan diproses oleh deinterleaving dan dimasukkan kembali ke dalam decoder 1. Bit dari decoder 2 akan diproses oleh deinterleaving dan diterjemahkan sebagai keluaran. Decoder 1 Interleaver Decoder 2 deinterleaving deinterleaving output d k y k2 y k1 Gambar 3.3 Diagram decoder Keterangan gambar : : arah arus data y k1 ,y k2 : keluaran RSC sebagai masukan decode R

3.2.3 Diagram Use Case

Gambar 3.4 merupakan use case pengguna pada program turbo codes. Program turbo codes yang akan dibuat mempunyai dua use case yaitu: encode data ECG dan decode data sandi. Masing-masing use case akan dijelaskan pada narasi use case di bawah. Pengguna Program Turbo codes Encoding Decoding Lihat data ECG Kanal AWGN Depend on Depend on Gambar 3.4 Diagram Use Case pengguna

3.2.4 Narasi Use Case

Use case encode data ECG dan decode data sandi merupakan deskripsi langkah kerja skenario utama dan skenario alternatif yang akan dilakukan pengguna terhadap program turbo codes. Langkah kerja tersebut meliputi aksi pengguna dan reaksi program terhadap reaksi pengguna. Nama Use Case : Encode data Aktor : Pengguna Kondiai awal : Pengguna pada tampilan utama program turbo codes. Deskripsi : Use case ini digunakan pengguna untuk memasukkan data ECG, data akan diubah menjadi data yang tersandikan dalam bentuk data biner. Tabel 3.1 sampai Tabel 3.3 merupakan skenario utama dan skenario alternatif yang akan digunakan pada proses encode data. Tabel tersebut akan menggambarkan aksi yang dilakukan pengguna dan reaksi yang diberikan program kepada pengguna ketika melakukan encoding data ECG. Tabel 3.1 Skenario utama Encode data Aksi Aktor Reaksi Sistem 1. Pengguna memilih dropdown “Panjang data ECG”. 2. Pengguna memilih tombol “Cari data ECG ”. 3. Sistem menampilkan dialog open file 4. Pengguna mencari dan memilih file ECGEEG 5. Sistem melakukan pembacaan data ECG 6. Sistem menampilkan data ECG dalam bentuk grafik 7. Pengguna memilih tombol “Encode data” 8. Sistem melakukan konversi data ke dalam data biner 9. Sistem melakukan penyandian terhadap data biner. 10. Sistem menyimpan data penyandian Tabel 3.2 Skenario alternatif 1 Encode data Aksi Aktor Reaksi Sistem 3. Pengguna memilih tombol “batal” 4. Sistem menampilkan tampilan utama program Tabel 3.3 Skenario alternatif 2 Encode data Aksi Aktor Reaksi Sistem 3. Pengguna mencari dan memilih file selain data ECG. 4. Sistem menampilkan notifikasi bahwa data yang dipilih bukan data ECG atau data yang salah Nama Use Case : Kanal AWGN Aktor : Pengguna Kondiai awal : Pengguna selesai melakukan encode data, kemudian program menampilkan tampilan untuk pengaturan kanal AWGN Deskripsi : Use case ini digunakan pengguna untuk mengatur nilai SNR Tabel 3.4 sampai Tabel 3.6 merupakan skenario yang digunakan pada proses membangkit derau. Tabel tersebut akan menggambarkan aksi yang dilakukan pengguna dan reaksi yang diberikan program kepada pengguna ketika melakukan pembangkitan derau dengan SNR tertentu. Tabel 3.4 Skenario utama kanal AWGN Aksi Aktor Reaksi Sistem 1. Pengguna memilih tombol drop down list tipe modulator. 2. Pengguna memilih tombol drop down list SNR dan memilih nilai SNR 3. Pengguna memilih tombol “Kirim Data” 4. Sistem menampilkan notifikasi untuk melanjutkan proses decoding Tabel 3.5 Skenario alternatif 1 kanal AWGN Aksi Aktor Reaksi Sistem 1. Pengguna memilih tombol “Tidak” pada notifikasi melanjutkan proses decoding 2. Sistem kembali ketampilan kanal AWGN. Tabel 3.6 Skenario alternatif 2 kanal AWGN Aksi Aktor Reaksi Sistem 1. Pengguna memilih tombol “Proses Encoding” 2. Sistem menampilkan GUI Encoding . Nama Use Case : Decode data Aktor : Pengguna Kondiai awal : Pengguna pada tampilan Decoding. Deskripsi : Use case ini digunakan pengguna untuk memasukkan data sandi yang akan di terjemahkan. Tabel 3.7 sampai Tabel 3.13 merupakan skenario utama dan alternatif yang akan digunakan pada proses decode data. Tabel tersebut akan menggambarkan aksi yang dilakukan pengguna dan reaksi yang diberikan program kepada pengguna ketika melakukan decoding data sandi. Tabel 3.7 Skenario utama decode data Aksi Aktor Reaksi Sistem 1. Pengguna memilih tombol “Cari data Sandi”. 2. Sistem menampilkan dialog open file 3. Pengguna mencari file “.mat” Tabel 3.7 Lanjutan Skenario utama decode data Aksi Aktor Reaksi Sistem 1. Pengguna memilih dropdown list iterasi decoder. 2. Pengguna mencari lokasi Simpan file “.xls” 3. Pengguna memilih tombol “Decode data”. 4. Sistem melakukan proses decoding . 5. Sistem mengubah data biner hasil decoding menjadi data ECG kembali. 6. Sistem menampilkan grafik BER. 7. Sistem menampilkan notifikasi penimpanan BER berhasil. Tabel 3.8 Skenario alternatif 1 decode data Aksi Aktor Reaksi Sistem 3. Pengguna memilih tombol “batal” 4. Sistem menampilkan tampilan utama program. Tabel 3.9 Skenario alternatif 2 decode data Aksi Aktor Reaksi Sistem 3. Pengguna mencari dan memilih file selain data sandi. 4. Sistem menampilkan notifikasi bahwa file yang dipilih bukan data sandi. Tabel 3.10 Skenario alternatif 3 decode data Aksi Aktor Reaksi Sistem 4. Pengguna belum memilih iterasi decoder 5. Sistem menampilkan notifikasi bahwa iterasi decoder belum terisi. Tabel 3.11 Skenario alternatif 4 decode data Aksi Aktor Reaksi Sistem 4. Pengguna belum memilih lokasi penyimpanan file “.xls” 5. Sistem menampilkan notifikasi bahwa lokasi penyimpanan file “.xls” belum terisi. Tabel 3.12 Skenario alternatif 5 decode data Aksi Aktor Reaksi Sistem 6. Pengguna belum melakukan proses encoding 7. Sistem menampilkan notifikasi bahwa pengguna belum melakukan proses encoding Tabel 3.13 Skenario alternatif 6 decode data Aksi Aktor Reaksi Sistem 11. Pengguna memilih tombol pengulangan “Encoder””AWGN” 12. Sistem menampilkan GUI sesuai pilihan pengguna Nama Use Case : Lihat data ECG Aktor : Pengguna Kondiai awal : Pengguna pada tampilan decoding Deskripsi : Use case ini digunakan pengguna untuk melihat dan membandingkan data ECG sebelum encoding dan sesudah decoding Tabel 3.14 sampai Tabel 3.15 merupakan skenario utama dan alternatif yang akan digunakan pada proses lihat data ECG. Tabel tersebut akan menggambarkan aksi yang dilakukan pengguna dan reaksi yang diberikan program kepada pengguna ketika melakukan lihat data ECG. Tabel 3.14 Skenario utama lihat data ECG Aksi Aktor Reaksi Sistem 1. Pengguna memilih dropdown list ECG pada SNR tertentu 2. Sistem menampilkan ECG sebelum encoding dan ECG setelah decoding Tabel 3.15 Skenario alternatif lihat data ECG Aksi Aktor Reaksi Sistem 3. Pengguna belum melakukan decoding 4. Sistem menampilkan notifikasi bahwa belum melakukan decoding

3.2.5 Diagram Konteks

Gambar 3.5 merupakan interaksi antara pengguna dan program turbo codes . Program menerima masukan data ECG dari pengguna. Setelah proses encoding dan decoding, program memberikan luaran berupa data ECG kepada pengguna. Pengguna Program turbo code Data ECG Data ECG Gambar 3.5 Diagram arus data

3.2.6 Diagram Dekomposisi Diagram Berjenjang

Gambar 3.6 menjabarkan proses-proses yang dikerjakan oleh program turbo codes . Program turbo codes mempunyai dua proses utama yaitu encode dan decode. Proses encode mempunyai sub-proses mengubah data ECG menjadi data biner dan proses penyandian data biner menjadi data sandi. Sedangkan decode mempunyai sub-proses membaca data sandi dan mengubah data biner menjadi data ECG. 1.2b Mengubah data biner menjasi data ECG 1.1b Proses Decoding 1.2b Menyandikan data biner 1.1b Membaca data ECG 1 Encode 2.1b Mengirim data Sandi melalui kanal AWGN Progam turbo code 3 Decode 2 Kanal AWGN Gambar 3.6 Diagram berjenjang

3.2.7 Data Flow Diagram Level 0

Data Flow Diagram DFD merupakan gambaran arus data yang terjadi ketika program dijalankan baik encode dan decode. Gambar 3.7 merupakan gambaran arus data pada proses encode, kanal AWGN, dan decode. Program menerima masukan data ECG atau data sandi dari pengguna, kemudian data akan diproses lebih lanjut oleh program menjadi data sandi atau data ECG sesuai perintah yang dimasukkan pengguna. Data yang telah dihasilkan program disimpan dalam bentuk file, lokasi penyimpanan akan disesuaikan dengan keinginan pengguna. File data sandi 1 Encode 3 Decode Pengguna Data ECG Data Sandi Data sandi disimpan Status File Status File File data ECG Data ECG disimpan SNR disimpan Tipe Modulasi Ukuran Modulasi SNR 2 Pembangkit Derau Kanal AWGN ScatterGrafik Data Gambar 3.7 DFD level 0

3.2.8 DFD Level 1 Proses 1

Gambar 3.8 merupakan detail proses encoding. Progam menerima masukan berupa data ECG, kemudian data tersebut akan dibaca proses 1.1 kemudian akan disandikan oleh proses 1.2. Data yang sudah disandikan akan disimpan ke dalam bentuk file. File data sandi 1.1 Membaca data ECG 1.2 Menyandikan data biner Pengguna Data ECG Status File Data biner disiimpan Gambar 3.8 DFD level 1 proses 1

3.2.9 DFD Level 1 Proses 2

Gambar 3.10 merupakan proses pembangkitan derau. Progam menerima masukan nilai SNR, kemudian data tersebut akan dibaca proses 2.1. pembacaan data akan menerjemahkan data sandi data biner menjadi data integer. Data integer diproses proses 2.2 yang akan Pengguna Tipe modulasi Ukuran Modulasi SNR Grafik data pada Kanal AWGN File Sandi SNR 2.1b Mengirim data Sandi Gambar 3.9 DFD level 1 proses 2

3.2.10 DFD Level 1 Proses 3

Gambar 3.10 merupakan detail proses decoding. Progam menerima masukan berupa data sandi, kemudian data tersebut akan dibaca proses 2.1. pembacaan data akan menerjemahkan data sandi data biner menjadi data integer. Data integer diproses proses 2.2 yang akan mengubah data integer menjadi unsigned-integer dan akan ditulis ke dalam file menjadi data ECG kembali. File data ECG Pengguna File Data Sandi Status File Data ECG disiimpan 3.2b Mengubah data sandi menjadi data ECG 3.1b Membaca data sandi Gambar 3.10 DFD level 1 proses 3

3.3 Desain Antarmuka Pengguna