BAB II LANDASAN TEORI 2.1
Kerangka Teori 2.1.1
Konsep dasar Rekayasa Piranti Lunak 2.1.1.1 Pengertian Rekayasa Piranti Lunak Pertama kali diperkenalkan oleh Fritz Bauer, dimana menerapkan
beberapa syarat dalam merekayasa suatu piranti lunak yang kita buat sehingga dapat berjalan secara efisien dan optimal dalam komputer. 2.1.1.2 Model Rekayasa Piranti Lunak Dalam membuat sebuah rekayasa piranti lunak terdapat lima paradigma / model proses, The Classic Life Cycle atau yang biasa dikenal dengan Waterfall Model, Prototyping Model, Fourth Generation Techniques ( 4GT ), Spiral Model, dan Combine Model. Pada pembahasan ini yang digunakan adalah model dari Waterfall Model. Menurut Presman ( 1992, p20-21 ), ada enam tahapan dalam Waterfall Model, seperti gambar dibawah ini:
2.1 Gambar model Waterfall
8
a. Rekayasa sistem ( System engineering ) Aktivitas ini harus bermula pada analisis semua elemen elemen yang dibutuhkan oleh sistem oleh karena perangkat lunak merupakan bagian dari suatu sistem yang lebih besar dan perangkat lunak tersebut berinteraksi dengan elemen elemen lain seperti, hardware, manusia dan data base. b. Analisis kebutuhan perangkat lunak ( Software requirement ) Analisis yang dilakukan pada tahap ini adalah untuk mengetahui kebutuhan user, fungsi-fungsi atau fasilitas seperti apa saja yang dibutuhkan, dan bagaimana interface dari piranti lunak tersebut. c. Perancanggan ( Design ) Perancangan piranti lunak dititikberatkan pada empat atribut program yaitu struktur data, arsitektur piranti lunak, rincian prosedur
dan
karakter
antarmuka.
Proses
perancangan
menterjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat dinilai kualitasnya sebelum dilakukan pengkodean. d. Pengkodean ( Coding ) Tahapan dimana mentransformasikan rancangan atau design yang telah dibuat menjadi sebuah kode atau bentuk yang dimengerti oleh mesin dengan cara membuat program.
9
e. Pengujian ( Testing ) Tahap pengujian perlu dilakukan agar output yang dihasilkan oleh program sesuai dengan yang diharapkan. Pengujian dilakukan secara menyeluruh hingga semua perintah dan fungsi telah diuji. f. pemeliharaan ( Maintenance ) Kebutuhan pemakai dari suatu program selalu saja meningkat sehingga piranti lunak yang telah selesai dibuat perlu dipelihara dengan cara mengupdate kebutuhan pemakai terhadap fungsi fungsi khusus
2.1.2 Interaksi Manusia dan Komputer Pada era globalisasi seperti ini telekomunikasi sangat berkembang dengan pesat, hal ini dikarenakan manusia cenderung untuk berinteraksi dengan manusia yang lain. Dengan konsep yang sama penggunaan komputer dibuat sesederhana mungkin sehingga manusia dapat berinteraksi dengan komputer semudah berinteraksi dengan manusia lainnya. Proses penyederhanaan ini dikenal dengan interactive user interface. 2.1.2.1 Program Interaktif Shneiderman ( 1998, p15 ) menjelaskan bahwa ada lima kriteria yang harus dimiliki oleh suatu program sehingga dapat berinteraksi dengan baik dan bersifat user friendly, antara lain : 1. memiliki waktu belajar yang relatif singkat 2. mampu memberikan informasi yang diperlukan dengan cepat
10
3. mudah untuk dioperasikan oleh user 4. kemudahan untuk mengingat program tersebut walaupun telah lama tidak mengoperasikannya. 5. kepuasan pribadi Sekarang ini telah banyak beredar bahasa pemrograman yang memberikan hasil interface yang baik, dan keuntungan dalam menggunakan perangkat bantu tersebut menurut Santosa ( 1997, p7 ) adalah 1. interface program yang dihasilkan jauh lebih baik 2. Program antar mukanya menjadi mudah ditulis dan lebih ekonomis untuk dipelihara.
2.1.2.2 Pedoman untuk Merancang User Interface Terdapat beberapa pedoman yang dianjurkan dalam merancang suatu program guna didapatkannya suatu program yang user friendly 2.1.2.2.1 Delapan Aturan Emas Menurut Shneiderman ( 1998, p74 - 75), terdapat delapan aturan dalam merancang sistrem interaksi manusia dan komputer yang baik, antara lain: 1. Strive for consistency ( Bertahan untuk konsistensi ) 2. Enable frequent user to use shortcuts ( Memperbolehkan user untuk memakai shortcut)
11
3. Offer informative feed back ( Memberikan umpan balik yang informative ) 4. Design dialogs to yield closure ( Pengorganisasian yang baik sehingga pengguna mengetahui kapan awal dan akhir dari suatu action ) 5. Offer simple error hadling ( Pengguna mampu mengetahui dan mamperbaiki kesalahan dengan mudah ) 6. Permit easy reversal of actions ( Dapat dilakukan pembalikan action ) 7. Support internal locus of control ( pemakai mampu aktif dalam mengambil langkah selanjutnya bukan hanya merespon pesan yang muncul ) 8. Reduce short term memory load ( mengurangi beban ingatan jangka pendek bagi pemakai sehingga perancangannya harus sederhana )
2.1.2.2.2 Pedoman Merancang Tampilan Data Menurut Smith dan Mosier, terdapat beberapa pedoman yang dianjurkan dalam merancang tampilan data yang baik dan dikutip pula oleh Shneiderman ( 1998, p80 ) antara lain: 1.
Konsistensi tampilan data, istilah, singkatan, format dan sebagainya harus mengikuti standar.
12
2.
Beban ingatan yang serendah mungkin dimana pamakai.tak perlu mengingat terlalu banyak informasi dari layar yang satu ke layar yang lain.
3.
Kompatibilitas tampilan data dengan pemasukan data. Format tampilan informasi perlu berkaitan erat dengan tampilan pemasukan data.
4.
Fleksibilitas kendali pengguna terhadap data. Pengguna harus dapat memperoleh informasi dari tampilan dalam bentuk yang paling sederhana.
2.1.2.2.3 Teori waktu respon Waktu respon dalam sistem komputer menurut Shneiderman ( 1998, p352 ) adalah jumlah detik yang diperlukan untuk mengeksekusi suatu action. Beberapa pedoman yang dianjurkan oleh Shneiderman ( 1998, p367 ) mengenai kecepatan respon suatu program yaitu: 1. Pengguna lebih menyukai waktu respon yang relatif pendek. 2. Waktu respon yang panjang sangat mengganggu ( > 15detik ). 3. Waktu respon yang pendek menyebabkan beban ingatan pengguna semakin pendek pula. 4. Waktu respon yang lebih cepat dapat meningkatkan produktivitas, tetapi tingkat kesalahan pengguna semakin tinggi pula.
13
5. Waktu respon harus sesuai dengan tugasnya: a. Untuk mengetik, menggerakan kursor, memilih dengan mouse: 50 – 150 milisekon b. Untuk tugas sederhana yang sering : < 1 detik. c. Untuk tugas biasa: 2 – 4 detik. d. Untuk tugas yang kompleks: 8 – 12 detik. 6. Pemakai harus diberi tahu mengenai penundaan yang panjang.
2.1.3 Teori State Transition Diagram ( STD ) State Transition Diagram adalah sebuah tool yang digunakan untuk mendeskripsikan sistem yang memiliki ketergantungan terhadap waktu. STD merupakan suatu kumpulan keadaan atau atribut yang menspesifikasikan suatu keadaan pada suatu waktu tertentu. Komponen komponen urama pada STD antara lain: 1. state , mempunyai simbol berfungsi untuk mempresentasikan kondisi yang terjadi akibat suatu action. Terdapat dua macam state, yaitu state awal dimana hanya boleh berjumlah satu dan state akhir yang boleh berjumlah lebih dari satu. 2. Arrow , mempunyai simbol biasa dikenal dengan proses transisi yang berfungsi untuk menghubungkan dua state yang berbeda sehingga jelas arah perubahannya.
14
3. Condition dan Action , mempunyai simbol Action Condition
Condition adalah faktor external atau event yang mempengaruhi state pada sistem sehingga bertransisi ke state lain. Action adalah reaksi yang diberikan terhadap faktor external tersebut
2.1.4 Gaussian Mixture Model 2.1.4.1 Definisi Gaussian Mixture Model(GMM) Gaussian mixture model adalah suatu himpunan komponen model fungsi kerapatan, yang dapat menghitung dan melacak ruas-ruas suatu model spektrum. Mixture model juga merupakan metode yang efektif untuk perubahan dari model yang bergerak lambat, karena merupakan semi parameter alternatif untuk histogram tanpa parameter dan memberikan fleksibilitas lebih serta ketelitian di dalam memodelkan statistik dari data, dengan kata lain untuk mevisualkan suatu dynamic scene. GMM juga merupakan model statistik dari distibusi probabilitas yang didapatkan dari nilai bobot setiap distribusi Gaussian. Sehingga GMM merupakan metode yang sangat tepat untuk perhitungan baik dengan parameter maupun tidak. Bila model telah dihasilkan, syarat peluang dapat dihitung untuk spektrum. GMM juga dapat ditampilkan sebagai bentuk dari fungsi hubungan dasar network.
15
2.1.4.2 Teori Gaussian Mixture Model Generative model:
Dengan nilai distribusi D dimensi dari variabel acak :
dimana:
x
= nilai posisi x
y
= Y fungsi x
exp[n]
= en
D
= dimensi matrik
∑
= matrik kovarians
μ
= vektor rata-rata
T
= jumlah komponen
Kemungkinan untuk (y1,…,yn) adalah :
Maka estimasi : •
Nilai yang diharapkan :
16
•
2.1.5
Nilai maksimum :
Fast Fourier Transform 2.1.5.1 Definisi Fast Fourier Transform (FFT) Fast Fourier Transform (FFT) adalah metoda yang sangat efisien untuk menghitung koefisien dari Fourier diskrit ke suatu finite sekuen dari data yang komplek. Karena substansi waktu yang tersimpan lebih dari pada metoda konvensional, fast fourier transform merupakan aplikasi temuan yang penting didalam sejumlah bidang yang berbeda seperti analisis spectrum, speech and optical signal processing, design filter digital. Algoritma FFT berdasarkan atas prinsip pokok dekomposisi perhitungan discrete fourier transform dari suatu sekuen sepanjang N kedalam transformasi diskrit Fourier secara berturut-turut lebih kecil. Cara prinsip ini diterapkan memimpin ke arah suatu variasi dari algortima yang berbeda, di mana semuanya memperbandingkan peningkatan kecepatan perhitungan.
17
2.1.5.2 Perhitungan Dasar FFT
Dimana x w
= nilai posisi argumen x = koefisien fft
Dengan nilai w … Fft, dengan input tunggal argumen x, menghitung nilai fourier transform dari input berupa vektor atau matrik. Jika x adalah sebuah vektor, fft menghitung fourier transform dari vektor, bila x adalah array lingkaran, maka fft menghitung nilai fourier transform dari setiap kolom array. Nilai k pada input pertama y(k, l), sama dengan nilai ke-k dari nilai pertama dari m pada DFT:
Fungsi DFT biasanya merupakan fungsi diskrit f(m,n) dimana 0 ≤ m ≤ M-1 dan 0 ≤ n ≤ N-1 .
18
Nilai dari F(p,q) adalah koefisien DFT dari f(m,n). Fungsi nol F(0,0), sering disebut "DC component." dalam istilah elektronika.
2.1.6 Sampling Fundamental Frekuensi dengan MABC Menurut Driszal, Fundamental frequency F0 merupakan parameter dasar dalam ilmu akustik, khususnya pada teknologi pengolahan sinyal suara. Seperti pada speech recognition maupun speech synthesis, fundamental frequency merupakan salah satu parameter penting, disamping parameter-parameter lainnya yang memberikan informasi mengenai suatu domain frekuensi. Proses sampling dengan cara Moving Average and Band-limitation in Cepstrum method (MABC) ini akan menghilangkan masalah tidak teraturnya nilai pada domain frequency tinggi yang sering terjadi. Selain itu, pada penelitian speech synthesis, fundamental frequency juga berperan sebagai parameter yang dapat meningkatkan kealamian suara, dengan
19
melakukan pengontrolan hubungan penerimaan irama suara ke dalam suatu kalimat. 2.1.6.1 Algoritma Proses Sampling fundamental frequency MABC Algoritma dari proses sampling fundamental frequency dengan menggunakan MABC, ditunjukkan pada gambar 2.2 di bawah ini, dan gambar 2.3, merupakan sinyal suara yang dihasilkan untuk setiap prosesnya. Dari gambar 2.2, pertama-tama dilakukan proses time window dan diferensial orde pertama. Lalu, dengan menggunakan fourier transform dapat ditentukan inverse power spectral. Dengan inverse fourier transform pada diferensial log power spectral, dapat ditentukan cepstrum yang merupakan plot atau garis pergerakan tingkat kuasa frekuensi signal, dan dari salah satu bagian high frequency pada cepstrum yang didapat, kita tentukan picknya, guna menghitung fundamental frequency.
20
Gambar.2.2 Algoritma Proses Sampling Fundamental Frequncy MABC
21
Gambar.2.3 Contoh tahapan pada proses sampling fundamental frequency MABC
22
2.1.6.2
Perbaikan Spectral Seperti yang terlihat pada gambar 2.4, original diferensial power
spectral, masih terlihat adanya periodic selang fundamental frequency, yang menyebabkan tidak terlihatnya frequency pada peak di posisi nol. Pengaruh inilah yang menyebabkan ketidakteraturan dari informasi periodic. Untuk menghilangkan pengaruh tersebut, nilai negatif yang terdapat disekitar posisi nol sampai awal peak pada frekuensi, dibuat menjadi nol. Dengan melakukan cara perbaikan penambahan nilai peak pada posisi frekuensi nol, serta penambahan nilai peak pada posisi frekuensi nol di spectral, yang keseluruhannya ada 6 cara, dapat dihilangkan pengaruh tersebut. A1
Nilai
negatif
sampai
awal
peak
dibuat
nol.
A2 Ditambahkan pada A1, nilai awal peak ditambahkan pada posisi frekuensi nol. A3 Ditambahkan pada A2, tambahkan setengah nilai awal peak pada posisi setelah frekuensi nol. A4
Tambahkan
nilai
awal
peak,
pada
posisi
frekuensi
nol.
A5 Ditambahkan pada A4, posisi setelah frekuensi nol, dibuat nol. A6 Ditambahkan pada A4, setengah dari nilai awal peak setelah frekuensi nol,lalu posisi setelahnya dibuat nol.
23
Gambar.2.4 Cara Perbaikan Spectral Pada gambar 2.5, ditunjukkan gambar tingkat distribusi hasil pemeriksaan seberapa besar perubahan nilai peak Cepstrum domain, dan pada gambar 2.6, contoh perbaikan yang dilakukan pada sebuah spectral. Dari gambar 2.5, dapat dilihat perubahan nilai peak pada Cepstrum domain menjadi besar, dan dari gambar 2.6, sebelum perbaikan, kesalahan frame pada proses sampling fundamental frequency, dapat ditentukan nilai peak yang benar, setelah dilakukan perbaikan. Dikarenakan
adanya
pembatasan
bandwidth,
pada
proses
sampling dengan metode MABC ini, masih terdapat bagian yang bernilai nol, sehingga akan menimbulkan penghitungan yang kurang berguna sewaktu dikenakan FFT. Untuk mengoptimalkan penghitungan agar lebih cepat, beberapa bagian yang dianggap penting dijadikan satu, dan hanya pada bagian ini saja dilakukan penghitungan dengan karikomi FFT.
24
Ada dua cara untuk menggabungkan bagian dari informasi spectral. Pertama, melakukan pemindahan data, dengan cara memanfaatkan sifat simetri, dan periodik pada FFT (B1). Kedua, dengan cara truncation setengah datanya. Kedua proses ini, ditunjukkan pada gambar 2.7.
Gambar.2.5 Hasil Perbaikan Spectral
25
Gbr.2.6 Contoh Perbaikan Spectral /do/
Gbr.2.7 Proses optimalisasi spectral
26
2.2 Penelitian yang Relevan Banyak topik penelitian yang menyangkut penggunaan metode GMM dan MABC, seperti: Adaptive Noise Canceling Using Convolved Reference Noise Based on Independent Component Analysis (2003). M. Hamouz, J. Kittler, J.-K. Kamarainen, P. Paalanen, and H. Kälviäinen. Affineinvariant face detection and localization using GMM-based feature detector and enhanced appearance model. Sixth IEEE International Conference on Automatic Face and Gesture Recognition (2004). Ada beberapa software yang dapat mengurangi noise suara audio, antara lain : •
Soundsoap merupakan Software perekam file digital audio dan video, yang dapat mengedit dan mengatur dengan tuner untuk mengurangi noise dan memotong bagian file.
•
Noise Reduction 2.0 Plug-in Collection by Sony Media Software(2004) adalah sebuah software yang dari Sony Media Software yang mengolah file video, dan audio. Digunakan untuk memberikan efek-efek digital, mengurangi noise gambar dan suara dengan menentukan paramater noise.
•
WavePad adalah Suatu Software buatan NCH Swift Sound untuk mengolah file audio untuk sistem operasi windows, yang memungkinkan edit, erase, penambahan efek, convert dan pengurangan noise pada file audio format wave, mp3, vox, gsm, real audio, au, aif, flac, ogg dan lainnya.
27