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