Perangkat lunak Pengenalan Suara (Voice Recognition) Untuk Absensi Karyawan Dengan Menggunakan Metode Dynamic Time Warping (DTW)

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

JERI RIANTO

10106383

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(2)

i

PERANGKAT LUNAK PENGENALAN SUARA (VOICE

RECOGNITION) UNTUK ABSENSI KARYAWAN DENGAN

MENGGUNAKAN METODE DYNAMIC TIME WARPING (DTW)

Oleh Jeri Rianto

10106383

Penelitian yang intensif dalam bidang pengolahan sinyal menyebabkan teknologi komunikasi berkembang dengan pesat. Salah satunya adalah pengenalan suara (voice recognition). Proses pencocokan suara merupakan salah satu fungsi dari identifikasi suara. Dimana identifikasi suara dapat menjadi nilai tambah dalam sebuah perintah di komputer, identifikasi suara merupakan cara komunikasi natural antara manusia dan dapat menghasilkan antarmuka yang baik untuk mengontrol suatu sistem atau aplikasi.

Dalam proses pengenalan suara untuk absensi karyawan digunakan metode Dynamic Time Warping (DTW), merupakan salah satu metode analisis sinyal suara yang membandingkan antara sinyal masuk berupa suara dengan record suara di database dengan menghitung optimal warping path antara dua waktu.

Penelitian ini membahas mengenai pencocokan suara untuk mengenali suara yang diucapkan. Pengujian ini dilakukan berdasarkan 5 pengujian dengan kondisi dan pengucapan intonasi yang berbeda-beda. Pengujian 1, 2 dan 3 masing-masing dilakukan dengan cara pengenalan suara pada kondisi suasana sunyi, pengenalan suara pada kondisi suara suasana tidak sunyi (ber-noise) dan pengenalan suara dengan intonasi panjang yang dilakukan oleh 15 orang yang terdiri dari 10 pria dan 5 wanita, sedangkan pengujian 4 dan 5 masing-masing dilakukan dengan cara pengenalan suara oleh 15 wanita dan pengenalan suara oleh 15 pria.

Hasil 15 kali pengujian menunjukkan bahwa pengujian 1, 2, 3, 4 dan 5 dengan jumlah suara yang dikenali dan presentase keakuratan masing-masing sebagai berikut: 14 suara dikenali, 93,3%; 0 suara dikenali, 0%; 5 suara dikenali, 33,3%, 9 suara dikenali, 60% dan 11 suara dikenali, 73,3%.

Kata kunci : pengenalan suara (voice recognition), Dynamic Time Warping (DTW), optimal warping path,identifikasisuara, pengolahan sinyal.


(3)

ii

VOICE RECOGNITION SOFTWARE (VOICE RECOGNITION) FOR EMPLOYEES ATTENDANCE WITH TIME USING DYNAMIC WARPING

(DTW)

By

Jeri Rianto 10106383

The results of intensive research in the field of signal processing led to rapidly evolving communication technologies. One is of voice recognition (voice recognition). The process of matching the sound is a function of identification voice. Where is the voice identification can be added value in a command on a computer, identification voice is the natural way of communication between humans and can produce a good interface to control a system or application.

In the process of speech recognition for employee absences used method of Dynamic Time Warping (DTW), is one method of analysis that compares the voice signals between the incoming signal in the form of sound with sound records in the database by calculating the optimal time warping path between the two.

This study discusses the matching sounds to recognize the spoken voice. Testing is done based on the 5 test conditions intonation and pronunciation that is different. Testing 1, 2 and 3 respectively carried by voice recognition on the condition of silence, speech recognition in noise conditions are not quiet atmosphere (air-noise) and intonation of speech recognition with the length by 15 people comprising 10 men and 5 women, while testing 4 and 5 respectively carried out by means of speech recognition by 15 women and 15 men by voice recognition.

The results of testing showed that 15 times the testing 1, 2, 3, 4 and 5 with the number of votes and percentage accuracy of the recognized respectively as follows: 14 votes identified, 93.3%; 0 votes recognizable, 0%, 5 votes recognizable, 33.3%, 9 votes identified, 60% and 11 voice recognition, 73.3%. Keywords: speech recognition (voice recognition), Dynamic Time Warping (DTW), the optimal warping path, voice identification, signal processing.


(4)

iii Assalamualaikum Wr.Wb.

Alhamdulillahi Rabbil’alamin, puji syukur penulis panjatkan kepada Allah SWT yang telah memberikan taufik dan hidayah-Nya kepada penulis sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini dengan judul “ Perangkat Lunak Pengenalan Suara (Voice Recognition) untuk Absensi Karyawan dengan menggunakan Metode Dynamic Time Warping (DTW) ”.

Banyak sekali kesulitan dan hambatan yang penulis hadapi dalam penyusunan Laporan Tugas Akhir ini, akan tetapi berkat bantuan, bimbingan dan dorongan dari banyak pihak, akhirnya Laporan Tugas Akhir ini dapat selesaikan sebagaimana mestinya. Untuk itu penulis mengucapkan terima kasih dan penghargaan yang setinggi-tingginya kepada banyak pihak yang telah memberikan bantuan baik pikiran maupun tenaga, waktu, sehingga Laporan Tugas Akhir ini dapat diselesaikan. Dalam kesempatan ini penulis mengucapkan banyak terima kasih kepada :

1. Allah SWT yang telah memberikan anugerah kekuatan, keselamatan dan kesehatan serta bimbingan-Nya sehingga penulis bisa menyelesaikan Laporan Tugas Akhir ini.


(5)

iv maupun materiil.

3. Bapak Dr. Ir. Eddy Suryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia.

4. Bapak Dr. Arry Akhmad Arman. selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

5. Ibu Mira Kania Sabariah, S.T., M.T., selaku Ketua Jurusan Teknik Informatika Universitas Komputer Indonesia.

6. Bapak Iskandar Ikbal. S.T. selaku dosen wali kelas IF-8 Angkatan 2006 yang telah meluangkan waktunya untuk memberikan dukungan, serta arahan untuk menyelesaikan penyusunan skripsi ini.

7. Bapak Irawan Afrianto, S.T., M.T. selaku dosen pembimbing laporan tugas akhir yang dengan segala kesabaran hatinya membimbing penulis dalam menulis laporan tugas akhir ini.

8. Seluruh Dosen Teknik Informatika yang telah memberikan banyak ilmu, arahan dan masukkan selama massa perkuliahan berlangsung.

9. Teman-teman kelas IF-8 angkatan 2006 yang selalu solid dan kompak dalam melakukan hal apapun yang bersifat positif.

10.Rika Fitrianti W yang telah memberikan motivasi yang sangat besar dalam mengerjakan skripsi ini.


(6)

v Wassalamualaikum Wr. Wb.

Bandung, Agustus 2011

Penulis,


(7)

1

1.1 Latar Belakang Masalah

Suara merupakan salah satu media komunikasi yang paling sering dan umum digunakan oleh manusia. Manusia dapat memproduksi suaranya dengan mudah tanpa memerlukan energi yang besar. Selain itu, setiap manusia mempunyai bentuk suara yang berbeda-beda sehingga dapat dibedakan dengan mudah sesuai dengan karakter suaranya masing-masing. Hal ini semakin memicu kebutuhan akan adanya identifikasi orang (person identification). Suara manusia merupakan salah satu bentuk biometrik yang dapat digunakan untuk identifikasi orang (person identification) selain itu, pengenalan suara (voice recognition) cukup mudah untuk digunakan atau dilakukan oleh manusia.

Perangkat lunak pengenalan suara (voice recognition) adalah suatu aplikasi yang memungkinkan manusia untuk menggunakan teknologi, khususnya komputer dan tanpa perlu berhubungan secara langsung. Dengan adanya perangkat lunak pengenalan suara (voice recognition) manusia dimudahkan untuk beriteraksi dengan komputer, manusia cukup memberikan perintah-perintah secara lisan/suara. Absensi merupakan salah satu proses yang sering dilakukan untuk melakukan identifikasi kehadiran seorang karyawan, ada beberapa macam cara untuk identifikasi kehadiran karyawan seperti : tanda tangan, sidik jari, face recognition, id card dan lain-lain. Dalam proses absensi ini menggunakan identifikasi pengenalan suara (voice recognition) diimplementasikan dalam proses


(8)

absensi, karena data-data yang akan diambil merupakan suara berdasarkan orang yang berbicara.

Salah satu metode dalam pengenalan suara (voice recognition) adalah metode Dynamic Time Warping (DTW). Metode Dynamic Time Warping (DTW) membandingkan antara sinyal masuk berupa suara dengan record suara di

database dengan menghitung optimal warping path antara dua waktu. Algoritma ini menghitung baik antara nilai warping path dari dua waktu dan jaraknya.

Berdasarkan uraian permasalahan di atas, maka perlu adanya analisis untuk merancang suatu perangkat lunak yang mampu melakukan identifikasi orang (person identification) berdasarkan pengenalan suara (voice recognition). Maka pada laporan penelitian tugas akhir (skripsi) mengambil judul “Perangkat Lunak

Pengenalan Suara (Voice Recognition) untuk Absensi Karyawan dengan

menggunakan Metode Dynamic Time Warping (DTW)”.

1.2 Identifikasi Masalah

Berdasarkan dari uraian latar belakang di atas maka rumusan masalah dari penelitian tugas akhir ini adalah bagaimana cara membangun perangkat lunak pengenalan suara (voice recognition) bisa mengidentifikasi orang berdasarkan suara pembicara, dengan kemudian di rinci sebagai berikut:

1. Bagaimana membuat sistem yang dapat melakukan identifikasi pengenalan suara (voice recognition) dengan menggunakan metode dynamic time warping

(DTW).

2. Bagaimana membuat sistem yang dapat mengenali suara berdasarkan orang yang berbicara.


(9)

3. Bagaimana cara sistem mengidentifikasi suara yang diucapkan dan menghasilkan keluaran yang sesuai dengan apa yang diucapkan.

1.3 Maksud dan Tujuan

1.3.1 Maksud

Adapun maksud dari penelitian ini adalah membangun sebuah perangkat lunak pengenalan suara (voice recognition) untuk absensi karyawan dengan media input berupa suara manusia menggunakan metode Dynamic Time Warping (DTW) yang mampu melakukan identifikasi data suara.

1.3.2 Tujuan

Adapun tujuan dari pembuatan laporan tugas akhir ini adalah studi tentang konsep dan implementasi dari pengenalan suara. Secara spesifik tujuan penelitian tugas akhir ini adalah :

1. Menerapkan metode Dynamic Time Warping (DTW) pada pengidentifikasian suara berdasarkan orang yang berbicara.

2. Menguji tingkat akurasi pengenalan suara (voice recognition) dengan menggunakan metode Dynamic Time Warping (DTW).

3. Menerapkan pengenalan suara (voice recognition) pada suatu aplikasi absensi dengan menggunakan metode Dynamic Time Warping (DTW).

1.4 Batasan Masalah

Berdasarkan latar belakang yang telah diuraikan sebelumnya, maka dibuat batasan masalah agar ruang lingkup laporan penilitian ini jelas batasannya. Adapun batasan masalah yang dibuat adalah sebagai berikut:

1. Perangkat lunak digunakan pada ruangan/kondisi dengan suasana sunyi. 2. Dalam pembicara dibatasi dengan usia, dan jenis kelamin


(10)

3. Dalam pengujian program sampel untuk pengujian ini adalah dari usia 16 tahun sampai 40 tahun.

4. Sampel suara yang direkam berupa nama.

5. Durasi pengambilan sampel suara dibatasi, sekitar 5-10 detik. 6. File perekaman suara disimpan pada format wav.

7. Pengambilansampel suara harus dengan kondisi normal dan sehat. 8. Pengambilan sampel suara dilakukan 3x perekaman.

9. Untuk keluaran (Output) berupa data pembicara. 10. Perangkat keras yang digunakan adalah microphone.

11.Pengembangan perangkat lunak menggunakan model waterfall. 12. Metode yang digunakan DynamicTimeWarping (DTW).

13. Perancangan sistem dibangun menggunakan Visual Basic 6.0 Enterprise Edition.

1.5 Metode Penelitian

Metodologi yang digunakan dalam penulisan laporan tugas akhir ini adalah sebagai berikut :

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini yaitu : a. Observasi

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

b. Studi literatur

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, dan bacaan-bacaan yang berkaitan dengan penelitan yang sedang dilakukan.


(11)

2. Tahap pengembangan perangkat lunak.

Teknik analisa data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall, yang digambarkan seperti bagan di bawah ini

Gambar 1.1 Paradigma Waterfall a. Rekayasa dan pemodelan sistem / informasi

Pada tahap ini, rekayasa informasi mencakup pengumpulan kebutuhan pada tingkat strategi dan areanya, pandangan sistem ini sangat penting ketika perangkat lunak harus berhubungan dengan elemen-elemen yang lain yaitu perangkat lunak, manusia dan database.

b. Analisis kebutuhan perangkat lunak

Pada tahap ini, proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang akan dibangun, perekayasa (analis) harus memahami domain informasi, tingkah laku, untuk kerja, dan antar muka (Interface) yang diperlukan

Rekayasa Sistem

Analisis

Perancangan

Pemrograman

Pengujian


(12)

c. Desain

Pada tahap ini, desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda: struktur data, arsitektur perangkat lunak, representasi interface, dan detail (Algoritma).

d. Pengkodean

Pada tahap ini, setelah tahap desain maka program diterjemahkan kedalam bentuk mesin yang bisa dibaca. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.

e. Pengujian

Pada tahap ini, sekali kode dibuat maka pengujian kode dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan memastikan apakah hasil yang diinginkan sudah tercapai atau belum.

f. Pemeliharaan

Pada tahap ini, pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi. Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi dari kesalahan-kesalahan yang ditemukan, karena perangkat lunak harus disesuaikan untuk mengakomodasikan perubahan-perubahan di dalam lingkungan eksternalnya.


(13)

1.6 Sistematika Penulisan

Untuk memberikan gambaran yang jelas mengenai penyusunan skripsi, maka ditetapkan sistematika penulisan sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisi latar belakang masalah, identifikasi masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang dasar-dasar teori dari sumber pustaka dan referensi yang menjadi landasan dasar dalam perancangan, analisis kebutuhan, sampai dengan implementasi dan pengujian aplikasi yang di buat.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi penjelasan tentang perancangan dari sistem dan teknik yang digunakan dalam perancangan untuk mempermudah implementasi sistem. Tidak hanya itu terdapat juga perancangan antarmuka untuk perangkat lunak yang akan dibangun sesuai dengan hasil analisis yang telah dibuat.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi hasil implementasi dari hasil analisis dan perancangan yang telah dibuat, disertai juga dengan hasil pengujian dari aplikasi ini yang dibangun, sehingga diketahui apakah sistem yang dibangun telah memenuhi syarat.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi penarikan kesimpulan berdasarkan data hasil analisa yang diperoleh dari pengujian serta saran untuk pengembangan sistem lebih lanjut.


(14)

8

2.1 Pengertian suara 2.1.1 Suara

Suara adalah sesuatu yang dihasilkan oleh getaran yang berasal dari benda bergerak, sesuatu yang menghasilkan bunyi, dan suara adalah sebuah tekanan gelombang udara, maka memiliki nilai kontinu terhadap waktu (analog).

Gambar 2.1. Skema Suara

Suara berhubungan erat dengan rasa “mendengar”. Suara/bunyi biasanya merambat melalui udara. Suara/bunyi tidak bisa merambat melalui ruang hampa. Gelombang suara bervariasi dalam tingkatan tekanan suara (amplitudo) dan dalam frekuensi. Jumlah waktu yang diperlukan untuk terjadinya suatu getaran atau gelombang dinamakan perioda (T). Sedangkan jumlah gelombang yang terjadi setiap detik dinamakan ferkuensi (f) dengan satuan m/dt (Hz).


(15)

2.1.2 Frekuensi

Frekuensi adalah jumlah gelombang yang terjadi setiap detik. Jenis-jenis frekuensi ada 4, sebagi berikut:

1. Infra sound 0 - 20 Hz 2. Pendengaran manusia 20 Hz – 20 KHz 3. Ultra sound 20 KHz – 1 GHz 4. Hyper sound 1 GHz – 10 THz

Manusia bersuara dengan frekuensi 50 Hz – 10 KHz, Sinyal suara musik memiliki frekuensi 20 Hz – 20 KHz, Sistem multimedia menggunakan suara yang berada dalam jarak pendengaran manusia. Suara yang berada pada jarak pendengaran manusia disebut “AUDIO” dan gelombangnya sebagai “ACCOUSTIC SIGNALS”. Suara di luar jarak pendengaran manusia dapat dikatakan sebagai “NOISE” (getaran yang tidak teratur dan tidak berurutan dalam berbagai frekuensi, tidak dapat didengar manusia).

Gambar 2.3. Signal analog terdiri dari sebuah frekuensi sinusoidal dimana amplitudonya serta fasenya berubah secara “relative” antara satu dengan lainnya


(16)

2.1.3 Amplitudo

Amplitudo adalah keras lemahnya bunyi atau tinggi rendahnya gelombang. Satuan amplitudo adalah desibel (db), bunyi dapat merusak telinga jika tingkat volumenya lebih besar dari 85 db dan pada ukuran 130 db akan mampu membuat hancur gendang telinga.

2.1.4 Velocity

Velocity adalah kecepatan perambatan gelombang bunyi sampai ke telinga pendengar. Satuan yang digunakan : m/s pada udara kering dengan suhu 20˚ C (68˚ F) m kecepatan rambat suara sekitar 343 m/s.[5]

2.1.5 Audio Digital

Audio digital merupakan versi digital dari suara analog. Pengubahan suara analog menjadi suara digital membutuhkan suatu alat yang disebut Analog To Digital Converter (ADC). ADC akan mengubah amplitudo sebuah gelombang analog ke dalam waktu interval (sampling) sehingga menghasilkan representasi digital dari suara. Sampling adalah melakukan pencuplikan amplitudo gelombang suara pada tiap satu satuan waktu.

Berlawanan dengan ADC, Digital to Analog Converter (DAC) akan mengubah suara digital ke alat suara analog (speaker). Audio digital merupakan representasi dari suara asli (original sound). Dengan kata lain, audio digital merupakan sampel suara. Kualitas perekaman digital tergantung pada seberapa sering sampel diambil (angka sampling atau frekuensi dihitung dalam KiloHertz atau seribu sampel per detik). Tiga frekuensi sampling yang paling sering digunakan


(17)

dalam multimedia adalah kualitas CD 44.1 kHz, 22.05 kHz, 11.25 kHz dengan ukuran sampel 8 bit dan 16 bit. Ukuran sampel 8 bit menyediakan 256 unit deskripsi jarak dinamis atau amplitudo (level suara dalam satu waktu).

Ketika pengambilan sampling gelombang dengan ADC mempunyai kendali terhadap dua variabel, yaitu:

1. Sampling Rate

Sampling rate adalah mengendalikan berapa banyak sampel yang akan diambil per-detiknya.

2. Sampling Precision

Sampling precision adalah mngendalikan berapa banyak gradasi (tingkat kuantisasi) yang dimungkinkan ketika mengambil sampel.

Dengan gambar sebagai berikut:

Gambar 2.4. Gelombang suara analog menjadi digital

Signal Analog


(18)

2.1.6 Wave form audio (WAV)

WAV adalah format audio standar Microsoft dan IBM untuk PC. WAV biasanya menggunakan coding PCM (Pulse Code Modulation). WAV adalah data tidak terkompres sehingga seluruh sampel audio disimpan semuanya di harddisk. Sofware yang dapat menciptakan WAV dari analog sound misalnya windows sound recorder. WAV jarang digunakan di internet karena ukurannya yang relative besar. Maksimum ukuran file WAV adalah 2GB.[1]

2.2 Sinyal Suara Ucapan

Sinyal suara ucapan manusia dapat dipandang sebagai sinyal yang berubah lambat terhadap waktu (slowly time varying signal), jika diamati pada selang waktu yang singkat yaitu 5-100 ms. Pada selang waktu tersebut, katakteristik sinyal suara ucapan dapat dianggap stasioner. Untuk selang waktu yang lebih panjang (dengan orde 0.2 detik atau lebih), karakteristik sinyal berubah untuk merefleksikan suara berbeda yang diucapkan.

2.2.1. Klasifikasi Berdasarkan Sinyal Eksitasi

Berdasarkan sinyal eksitasi yang dihasilkan pada proses produksi suara, sinyal suara ucapan dapat dibagi menjadi tiga bagian yaitu silence, unvoiced, dan voiced: 1. Sinyal silence : sinyal pada saat tidak terjadi proses produksi suara ucapan, dan

sinyal yang diterima oleh pendengar dianggap sebagai bising latar belakang.

2. Sinyal unvoiced : terjadi pada saat pita suara tidak bergetar, dimana sinyal eksitasi berupa sinyal random.


(19)

3. Sinyal voiced : terjadi jika pita suara bergetar, yaitu pada saat sinyal eksitasi berupa sinyal pulsa kuasi-periodik. Selama terjadinya sinyal voiced ini, pita suara bergetar pada frekuensi fundamental inilah yang dikenal sebagai pitch dari suara tersebut.

2.2.2. Analisis Sinyal Ucapan

Informasi yang terdapat di dalam sebuah sinyal ucapan dapat dianalisis dengan berbagi cara. Beberapa peneliti telah membagi beberapa level pendekatan untuk menggambarkan informasi tersebut, yaitu level akustik, fonetik, dan fonologi. 1.Level Akustik

Sinyal ucapan merupakan variasi tekanan udara yang dihasilkan oleh sistem artikulasi. Untuk menganalisa aspek-aspek akustik dari sebuah sinyal ucapan, dapat dilakukan dengan transformasi dari bentuk sinyal ucapan menjadi sinyal listrik dengan menggunakan tranduser seperti microphone, telepon, dan sebagainya. Setelah melalui berbagai pengolahan sinyal digital, maka akan di peroleh informasi yang menunjukkan sifat-sifat akustik dari sinyal ucapan tersebut yang meliputi frekuensi fundamental, intensitas, dan distribusi energi spektral.

2. Level Fonetik

Level ini menggambarkan bagaimana suatu sinyal suara yang di produksi oleh organ-organ di dalam tubuh manusia.


(20)

3. Level Fonologi

Di dalam level ini, dikenal istilah fonem yang merupakan unit terkecil yang membentuk sebuah kalimat atau ucapan. Deskripsi ini memuat informasi durasi, intensitas, dan pitch dari fonem-fonem yang membangun kalimat tersebut.[8]

2.2.3 Preemphasis

Preemphasis merupakan salah satu jenis filter yang sering digunakan sebelum sebuah signal diproses lebih lanjut. Filter ini mempertahankan frekuensi-frekuensi tinggi pada sebuah spektrum, yang umumnya tereliminasi pada saat proses produksi suara. Tujuan dari preemphasis filter ini adalah:

1. Mengurangi noise ratio pada sinyal, sehingga dapat meningkatkan kulitas sinyal.

2. Untuk mendapatkan bentuk spektral frekuensi sinyal wicara yang lebih halus. 3. Menyeimbangkan spektrum dari sinyal suara.

Pada saat memproduksi sinyal suara, glotis manusia menghasilkan sekitar -12 dB octave slope. Namun ketika energi akustik tersebut dikeluarkan melalui bibir, terjadi peningkatan sebesar +6 dB. Sehingga sinyal yang terekam oleh microphone adalah sekitar -6 dB octave slope. Dimana bentuk spektral yang relatif bernilai tinggi untuk daerah rendah dan cenderung turun secara tajam untuk daerah fekuensi diatas 2000 Hz. Filter preemphasis didasari oleh hubungan input/output dalam domain waktu yang dinyatakan dalam persamaan seperti berikut:

y (n) = s(n)- s(n-1) ……….. (1) Dimana:


(21)

y(n) = Sinyal hasil preemphasis s(n) = Sinyal sebelum preemphasis

merupakan konstanta filter preemphasis, biasanya bernilai 0.97. Dalam bentuk dasar operator s sebagai unit filter, persamaan diatas akan memberikan sebuah transfer function filter preemphasis seperti berikut:

a. Sebelum preemphasis b. Sesudah preemphasis Gambar 2.5.Sebelum dan sesudah preemphasis

2.2.4 Frame blocking

Frame Blocking adalah pembagian suara menjadi beberapa frame yang nantinya dapat memudahkan dalam perhitungan dan analisa suara, satu frame terdiri dari beberapa sampel tergantung tiap berapa detik suara akan disampel dan berapa besar frekuensi samplingnya. Panjang frame yang digunakan, sangat mempengaruhi keberhasilan dalam analisa spektral. Di satu sisi, ukuran dari frame harus sepanjang mungkin untuk dapat menunjukkan resolusi frekuensi yang baik. Tetapi di lain sisi, ukuran frame juga harus cukup pendek untuk dapat menunjukkan resolusi waktu yang baik. Refresentasi fungsi frame blocking sebagai berikut:


(22)

dimana,

x(n)=sinyal sesudah di frame blocking y=sinyal hasil preemphasis

M= overlapping frame n= 1,2,3,…

Gambar 2.6. Bentuk sinyal yang di frame blocking

Proses framing ini dilakukan terus sampai seluruh signal dapat terproses. Selain itu, proses ini umumnya dilakukan secara overlapping untuk setiap frame-nya. Panjang daerah overlap yang umum digunakan adalah kurang lebih 30% sampai 50% dari panjang frame.

2.2.5 Windowing

Suara yang di potong-potong menjadi beberapa frame membuat data suara menjadi discontinue, hal ini mengakibatkan kesalahan data proses fourier transform. Agar tidak terjadi kesalahan data pada proses fourier transform maka sampel suara yang telah dibagi menjadi beberapa frame perlu dijadikan suara kontinu dengan cara mengalikan tiap frame dengan window tertentu. Jenis window yang dipakai pada proses ini adalah window hamming. Berikut ini adalah representasi fungsi window terhadap signal suara yang diinputkan.


(23)

(n) = x (n)w(n)

rumus window hamming sebagai berikut:

w[n]= 0.54-0.46*cos(2* *n/(N-1)) ………. (2) dimana,

n = 1,2,3,… = 3.14

N = panjang frame

Fungsi window yang paling sering digunakan dalam aplikasi voice recognition adalah Window Hamming. Fungsi window hamming ini menghasilkan sidelobe level yang tidak terlalu tinggi (kurang lebih -43 dB), selain itu noise yang dihasilkan pun tidak terlalu besar (kurang lebih 1.36 BINS).[10]

Gambar 2.7.Bentuk gelombang dari window hamming

2.3 Fast Fourier Transform (FFT)

Fast fourier transform adalah suatu metode yang sangat efisien untuk menyelesaikan transformasi fourier diskrit yang banyak dipakai untuk keperluan analisa sinyal seperti pemfilteran, analisa korelasi, dan analisa spektrum. Ada 2 (dua) jenis algoritma FFT yaitu algoritma fast fourier transform decimation in time (FFT DIT) dan algoritma fast fourier transform decimation in frequency (FFT DIF). Di mana pada FFT DIT inputan disusun/dikelompokan menjadi kelompok ganjil dan


(24)

kelompok genap. Sedangkan pada FFT DIF inputan tetap tetapi output disusun/dikelompokkan menjadi kelopmpok ganjil dan kelompok genap.

Bentuk rumusannya sebagai berikut:

……… (3)

Dimana :

X[k] = Merupakan magnitude frekuensi x(n) = Nila sampel sinyal

W = cos(2*Pi*k*n/N)-jSin(2*Pi*k*n/N)

N = jumlah sinyal yang akan diproses k = sinyal yang diproses

Gunakan rumus

FFT dilakukan dengan membagi N buah titik pada transformasi fourier diskrit menjadi 2, masing-masing (N/2) titik transformasi. Proses memecah menjadi 2 bagian ini diteruskan dengan membagi (N/2) titik menjadi (N/4) dan seterusnya hingga diperoleh titik minimum.[7]


(25)

2.4 Dynamic Time Warping(DTW)

Satu masalah yang cukup rumit dalam pengenalan suara (voice recognition) adalah proses perekaman yang terjadi seringkali berbeda durasinya, biarpun kata atau kalimat yang diucapkan sama. Bahkan untuk satu suku kata yang sama atau vocal yang sama seringkali proses perekaman terjadi dalam durasi yang berbeda. Sebagai akibatnya proses pencocokan antara sinyal uji dengan sinyal record suara di database seringkali tidak menghasilkan nilai yang optimal.

Sebuah teknik yang cukup popular di awal perkembangan teknologi pengolahan sinyal pengenalan suara (voice recognition) adalah dengan memanfaatkan sebuah teknik Dynamic Time Warping (DTW) yang juga lebih dikenal sebagai dynamic programming. Teknik ini ditujukan untuk mengakomodasi perbedaan waktu antara proses perekaman saat pengujian dengan suara yang tersedia pada record suara di database. Prinsip dasarnya adalah dengan memberikan sebuah rentang 'steps' dalam ruang (dalam hal ini sebuah frame-frame waktu dalam sampel, frame-frame waktu dalam database) dan digunakan untuk mempertemukan lintasan yang menunjukkan local match terbesar (kemiripan) antara time frame yang lurus. Total `similarity cost' yang diperoleh dengan algoritma ini merupakan sebuah indikasi seberapa bagus sample suara dan record suara di database ini memiliki kesamaan, yang selanjutnya akan dipilih best-matching record suara di database.


(26)

Gambar 2.9. Blok diagram dari sistem recognition dengan metode DTW[12].

2.4.1 Dynamic Time Warping Algorithm

Dynamic Time Warping algorithm [Sakoe , H. & S. Chiba-8] adalah algortima yang menghitung optimal warping path antara dua waktu. Algoritma ini menghitung baik antara nilai warping path dari dua waktu dan jaraknya. Misalnya, memiliki dua barisan numerik:

{A}= (a1, a2,…, an)

{B}= (b1, b2, …, bn) ………... (4)

dengan pemisalan ini, maka dapat dikatakan bahwa panjang dua barisan ini bisa saja berbeda. Dimana masing-masing barisan A dan B dikembangkan sepanjang sumbu i dan sumbu j. Dimana pola suara ini adalah dari pola suara yang sama, perbedaan waktu antara barisan A dan B dapat digambarkan berdasarkan urutan point c= (i,j) :

F = c(l), c(2), …, c(k) ... (5) Dimana

c(k) = (i(k), j(k))

anti aliasing filter

A/D converter 16 bandpass filters: filter bank of

200 - 5000 Hz

menghitung ceptral koefisien deteksi word point akhir Waktu linear normalisasi

calc. dist. using DTW Referensi suara yang digunakan

select best match record

CODEC NEC7720C MC 68000

sinyal 10 kHz 40 kHz

suara sampel rate sampel rate

training


(27)

Urutan ini dapat dianggap mewakili suatu fungsi pemetaan dari waktu barisan A dan waktu barisan B, hal itu disebut warping path sebuah fungsi ketika tidak ada perbedaan waktu.

Gambar 2.10. Fungsi warping dan definisi pengaturan windows

Barisan fungsi warping bertepatan dengan diagonal baris j = i, ini menyimpang jauh dari garis diagonal sebagai perbedaan waktunya.[6]

[i(k) - j(k)] r ……….. (6)

Dimana r adalah bilangan bulat positif yang tepat disebut signal-window, k adalah jumlah titik sinyal warping path. Kondisi ini sesuai dengan fakta bahwa fluktuasi jarak waktu dalam kasus-kasus biasa tidak pernah ada perbedaan jarak waktu terlalu berlebihan.

Algoritma ini memulai dengan penghitungan jarak lokal antara elemen dari barisan menggunakan tipe jarak yang berbeda. Frekuensi yang paling banyak menggunakan metode untuk penghitungan jarak adalah jarak absolut antar nilai dua


(28)

elemen. Jika dalam matriks maka dapat ditulis dengan memiliki i garis dan j kolom, secara umum:

d(c) = d(i,j) = |ai– bj | …………. (7)

Mulai dengan matrik jarak lokal, kemudian minimum jarak pada warping F menjadi fungsi sebagai berikut :

……… (8)

Dimana w(k) adalah koefesien bobot non-negatif yang diperkenalkan untuk memungkinkan E (F) mengukur fleksibel karakteristik) dan merupakan jarak yang minimum untuk fungsi warping F. Pencapaian nilai yang minimum saat F fungsi warping ditentukan perbedaan waktu menjadi optimal. Nilai jarak minimum ini dapat dianggap sebagai jarak antara barisan A dan B, masih tersisa setelah eliminasi perbedaan waktu antara barisan A dan B, dan tentu saja diperkirakan waktu akan stabil dengan sumbu fluktuasi. Berdasarkan pertimbangan ini, waktu normalisasi jarak antara dua barisan suara A dan B didefinisikan sebagai berikut:

………. (9)

Dimana penyebut w(k) yang digunakan untuk mengkompensasi pengaruh K (jumlah titik pada fungsi F warping). Persamaan (9) tidak lebih dari sebuah fundamental definisi jarak waktu normal. Efektif karakteristik ini sangat tergantung pada pengukuran spesifikasi fungsi warping path dan definisi koefisien


(29)

pembobotan. Pengukuran karakteristik dari normalisasi jarak waktu akan bervariasi, menurut sifat barisan suara (terutama waktu sumbu ekspresi barisan suara) yang harus diselesaikan. Oleh karena itu, masalah sekarang terbatas pada kasus yang paling umum di mana ada dua kondisi sebagai berikut:

1. Kondisi barisan suara adalah waktu sampel yang umum dan periode sampling konstan.

2. Kondisi dimana pengetahuan tentang bagian dari barisan suara berisi informasi yang penting.

Dalam hal ini, adalah wajar untuk mempertimbangkan setiap bagian dari barisan suara mengandung jumlah informasi linguistik yang sama. Dimana w(k) adalah elemen yang dimiliki warping path dan k adalah jumlahnya. Penghitungannya dibuat untuk dua barisan diperlihatkan pada gambar dibawah dan warping path diberi highlight.

Gambar 2.11. Warping path

2.4.1.1 Pembatasan Fungsi warping

Fungsi warping F, yang didefinisikan oleh persamaan (5) adalah model jarak waktu fluktuasi dalam barisan suara. Dalam kata lain, fungsi F bila dilihat sebagai pemetaan dari jarak waktu barisan A ke jarak waktu barisan B, harus menjaga


(30)

struktur linguistik penting dalam barisan jarak waktu A dan sebaliknya. Barisan suara

yang penting pada jarak waktu struktur adalah kontinuitas, monotonisitas (atau pembatasan waktu relatif dalam sebuah suara), pembatasan kecepatan

parameter akustik transisi dalam suara, dan sebagainya. Kondisi ini dapat diwujudkan sebagai pembatasan berikut pada fungsi warping F ( c(k)=(i(k),j(k))).

Ada tiga kondisi yang menentukan pada DTW algoritma yang meyakinkan konvergensi cepat:

1. Monotony–path yang tidak pernah ada kembalian, yang berarti antara index i dan j digunakan untuk menyebrang barisan tidak pernah berkurang.

i(k - 1) i(k) dan j(k - 1) j(k).

2. Continuity–path berkembang yang secara berangsur-angsur, tahap per tahap, yang berarti index i dan j naik dengan maksimum kenaikan 1 unit setiap langkahnya. Sebagai hasil dari kedua pembatasan memiliki hubungan antara dua titik berturut-turut sebagai berikut:

……. (10)

3. Boundary–path mulai dari pojok kiri bawah dan berakhir pada pojok kanan atas.

Karena prinsip optimasi dalam dynamic programming diimplementasikan pada teknik “backward”, mengidentifikasi warping path menggunakan tipe struktur


(31)

dinamis yang disebut stack. Seperti algorithm dynamic programming lainnya. Dynamic Time Warping (DTW) memiliki kompleksitas polinomial. Ketika barisan memiliki banyak elemen, minimal ada dua ketidaknyamanan:

1. Mengingat matriks yang besar,

2. Menampilkan banyak perhitungan jarak.

Ada perbaikan dalam standar Dynamic Time Warping Algorithm yang merangkum dua masalah diatas dengan nama: FastDTW (Fast Dynamic Time Warping) [Stan Salvador, Philip Chan - 6]. Solusi yang ditawarkan berisi pembagian jarak matriks ke dalam 2,4,8,16,dst. Dengan cara ini, perhitungan jarak diperlihatkan pada matriks yang lebih kecil dan warping path digunakan saat menggabungkan dari matriks kecil tadi.

2.4.1.2 Prinsip-prinsip Dynamic Time Warping Algorithm

1. Prinsip Optimalitas: jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal. Pada Dynamic Time Warping Algorithm, rangkaian keputusan yang optimal dibuat dengan menggunakan Prinsip Optimalitas. 2. Prinsip optimalitas berarti bahwa jika bekerja dari tahap k ke tahap k + 1,

dapat menggunakan hasil optimal dari tahap k tanpa harus kembali ke tahap awal. Jika pada setiap tahap menghitung ongkos (cost), maka dapat dirumuskan bahwa:


(32)

Koefesien normalisasi adalah ketetapan dari fungsi warping path maka dapat di lakuan persamaan:

…..………….. (12)

3. Dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya.

2.4.1.3 Karakteristik Persoalan Dynamic Time Warping Algorithm

1. Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada setiap tahap hanya diambil satu keputusan.

2. Masing-masing tahap terdiri dari sejumlah status (state) yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam kemungkinan masukan yang ada pada tahap tersebut.

3. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.

4. Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah tahapan.

5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut.

6. Keputusan terbaik pada suatu tahap bersifat independent terhadap keputusan yang dilakukan pada tahap sebelumnya.

7. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k+1 telah diketahui. Rumus tersebut menjadi:


(33)

2.4.2 Menggunakan Dynamic Time Warping Algorithm dalam pengenalan suara

Vocal Signal Analysis. Suara merambat melalui udara sebagai gelombang longitudinal dengan kecepatan yang tergantung densitas udara. Cara yang paling mudah untuk merepresentasikan suara adalah dengan grafik sinusoidal. Grafik tersebut merepresentasikan variasi dari tekan udara tergantung waktunya.

Ada tiga hal yang membentuk gelombang suara, yaitu amplitudo, frekuensi, dan fase. Amplitudo diukur menggunakan satuan decibels (DB), pengukuran dilakukan dengan mengikuti fungsi logaritma sebagai standar suara. Pengukuran amplitudo menggunakan satuan decibels (DB) sangat penting karena ini representasi langsung bagaimana suara dirasakan oleh orang. Frekuensi adalah banyaknya gelombang per-detik, biasa diukur menggunakan skala Hertz (Hz). Kemudian, fase mengukur posisi dari awal gelombang sinus. Kondisi awal :

g ( 1 ,1 ) = 2 d ( 1 , 1 ) ……… (13)

Persamaan Dynamic Time Warping Algorithm:

………. (14)

Membatasi kondisi (Signal-Window)

j – r i j + r

Jarak sisa normalisasi ,


(34)

………...…. (15) Untuk membuat suara menjadi kurva sinusoidal, digunakanlah teorema Fourier. Word detection, teknologi sekarang ini bisa mengidentifikasi secara akurat awal dan akhir satu kata diucapkan dalam audio streaming, tergantung pada proses sinyal yang berbeda dengan waktu. Dengan mengevaluasi energi dan rata-rata magnitude dalam waktu yang singkat dan menghitung rata-rata zero-crossing rate. Menetapkan poin awal dan akhir merupakan masalah sederhana jika rekaman audio dilakukan dalam kondisi yang ideal. Dalam kasus ini, rasio signal-noise-nya tinggi karena mudah untuk menentukan lokasi dalam stream yang terdiri dari sinyal valid dengan analisis sampel. Dalam kondisi sebenarnya tidak-lah sesederhana itu, background-noise memiliki intensitas yang signifikan dan dapat mengganggu proses isolasi kata dalam stream.

Algoritma yang paling baik untuk mengisolasi kata adalah Rabiner-Lamel Algorithm. Jika mempertimbangkan signal-window {s1, s2, ..., sn} dimana n adalah jumlah sampel dari window dan si, i = 1, n adalah ekspresi numerik dari sampel, energi yang berasosiasi dengan signal-window:

……….. (16)

Rata-rata zero-crossing rate:


(35)

Metode menggunakan tiga numerik level: dua untuk energi (superior, inferior) dan satu untuk rata-rata zero crossing rate.

2.4.3 Menggunakan Dynamic Time Warping Algorithm dalam Word Identification

Identifikasi kata bisa dilakukan dengan perbandingan langsung numerik form dari sinyal atau dari spektogram sinyal. Proses perbandingan dalam dua kasus di atas keduanya memiliki perbedaan panjang jarak dan non-linear. Dynamic Time Warping Algorithm sukses dalam mengurutkan penyelesaian masalah dengan menemukan hubungan warping path ke jarak optimal antara dua jarak yang berbeda panjang. Ada beberapa kekhususan ketika algoritma ini digunakan dalam dua kasus: dibawah ini adalah contoh perbandingan suara sinyal A dan sinyal B.

Gambar 2.13. Sinyal suara B “ucapan” Gambar 2.12. Sinyal suara A ‘ucapan”


(36)

Keterangan gambar A dan B :

1. Perbandingan langsung dari bentuk numerik atau sinyal. Dalam kasus ini, untuk setiap jarak numerik, sebuah jarak baru dibuat, maka jarak yang memiliki dimensi yang lebih kecil. Jarak numerik bisa memiliki ribuan nilai numerik, ketika subsekuens bisa memiliki ratusan. Mengurangi jumlah nilai numerik bisa dilakukan dengan menghilangkan yang ada diantara ekstrim poin. Proses pengurangan jarak numerik ini tidak diperkenankan menggabungkan bentuknya dan proses ini bisa membawa ke pengurangan pengenalan presisi. Tetapi, membuat nilainya naik dalam hal kecepatan, presisi pada faktanya meningkat dengan memperluas jumlah kata dalam kamus.

2. Representasi sinyal spektogram dan mengaplikasikannya pada DTW algorithm untuk perbandingan spektogram. Metode ini terdiri dari pembagian numerik sinyal dalam banyak window (interval) yang akan overlap. Setiap window, angka real di interval, transformasi akan dihitung dan disimpan dalam matriks: spektogram suara. Parameter yang digunakan akan sama untuk semua operasi penghitungan, yaitu panjang window, panjang transformasi, dan panjang overlap window untuk dua window berturut-turut. Transformasi secara simetris berhubungan dengan pada pusat dan bilangan kompleks dari setengah konjugat bilangan kompleks dari bilangan simetris pada setengah pertama. Dalam kenyataan ini, hanya nilai dari setengah pertama yang disimpan, maka spektogram akan menjadi matriks bilangan kompleks, banyaknya baris sama dengan setangah dari panjang transformasi dan banyaknya kolom tergantung dari


(37)

panjangnya suara. DTW akan diaplikasikan dalam matriks bilangan real yang dihasilkan dari konjugasi nilai spektogram.[11]

Istilah–istilah yang ada di metode Dynamic time warping diantaranya sebagai berikut:

a. Optimal warping path :Jarak nilai efektif yang dapat dicapai.

b. Fluktuasi :Segala hal yang bisa dilihat di dalam sebuah grafik. c. Normalisasi :Suatu teknik untuk mengorganisasikan data ke

dalam table-tabel.

d. Signal window :Arus data yang mengalir melalui jalur transmisi. e. Stage :Tingkatan, level.

f. State :Penjelasan dari kondisi internal yang mengidikasikan apa yang baru–baru ini telah dikerjakan dan tugas apa yang akan dikerjakan selanjutnya.

g. Signal vocal analysis :Menganalisa sinyal suara yang diucapkan.

h. Signal noise :Sinyal tidak diketahui yang masuk ketika melakukan pengambilan sampel suara.

i. Word detection :Melacak kondisi tertentu yang mempengaruhi sistem komputer atau data yang dipakai untuk mengerjakan satu unit data yang diperoses.


(38)

k. Zero crossing rate :Adalah tingkat tanda perubahan sepanjang sinyal tingkat dimana perubahan sinyal dari positif ke negatif atau sebaliknya.

2.5 Perancangan Sistem

Menurut Harianto Kristianto, 1992:145 perancangan sistem dapat didefinisikan sebagai penggambaran, perencanaan, dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh. Suatu sistem akan di analisis dan di rancang oleh satu orang atau satu tim yang disebut analisis sistem. Perancangan sistem adalah kombinasi atau seri dari proses yang mengangkat aktifitas-aktifitas :

a. Identifikasi suatu problem b. Analisa suatu problem

c. Menyelesaikan suatu problem

Dengan kata lain perancangan sistem adalah proses pengamatan terhadap suatu badan usaha dengan tujuan dapat mengetahui situasi operasinya dan apakah badan usaha tersebut memerlukan suatu perbaikan atau tidak.

2.5.1 Tujuan Perancangan Sistem

Menurut Harianto Kristianto, 1992:147 tahap perancangan sistem mempunyai 2 tujuan , yaitu :


(39)

b. Untuk memberikan gambaran yang jelas dan rancangan bangun yang lengkap kepada pemrogram komputer dan ahli–ahli teknik lainnya yang terlibat.

Agar dapat mencapai tujuan yang kedua yang lebih condong pada desain sistem yang terinci yaitu pembuatan rancang bangun yang jelas dan lengkap untuk digunakan dalam pembuatan program komputer, maka analisa sistem harus dapat mencapai sasaran sebagai berikut :

a. Perancangan harus berguna, mudah di pahami dan mudah digunakan.

b. Perancangan sistem harus dapat mendukung tujuan utama perusahaan atau yayasan dengan lebih mendefinisikan pada tahap perencanaan sistem yang selanjutnya pada tahap analisa sistem.

c. Perancangan sistem harus lebih efisien dan efektif untuk dapat mendukung pengolahan data, identifikasi dan verifikasi data yang akan dilakukan oleh komputer.

d.Perancangan sistem harus dapat mempersiapkan bangunan yang terdiri oleh masing-masing komponen dari sistem informasi.

2.5.2 Analisa Terstruktur

Analisa terstruktur merupakan suatu pendekatan umum yang memungkinkan terbentuknya pemahaman analisa terhadap komponen–komponen

sistem secara bertahap, yang dituju sebenarnya adalah mengorganisasikan tugas–tugas yang berkaitan dengan penetapan kebutuhan, sehingga sistem terstruktur di berlakukan terhadap penyusunan dan pembentukan proses, di lakukan terhadap


(40)

penyertaan dari semua paparan rinci yang relevan tentang sistem, pembentukan solusi yang sebaik mungkin dan menyediakan komunikasi yang dapat memberikan fasilitas

komunikasi antara analisa dan pemakai. Kegiatan yang di lakukan pada analisa ini adalah : menganalisa sistem yang ada, mempelajari dan mengetahui apa

yang dikerjakan oleh sistem yang ada. Menspesifikasikan sistem yaitu menspesifikasikan masukan yang digunakan, database yang ada, proses yang di lakukan dan keluaran yang dihasilkan.

Tujuan dari analisa adalah menentukan kebutuhan pemakai secara akurat di dalam analisa terstruktur terdapat pendekatan yang dipakai, antara lain : Pendekatan Top Down, yaitu memecah masalah ke dalam bagian–bagian terkecil atau perlevel, sehingga mudah untuk diselesaikan, Pendekatan modul, yaitu membagi sistem ke dalam modul yang dapat beroperasi tanpa ketergantungan. Menggunakan alat–alat bantu dalam bentuk grafik dan teks, sehingga mudah untuk di mengerti dan di koreksi bila terjadi perubahan.

2.6 Basis Data

Basis data (database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.


(41)

Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.

Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.

Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah


(42)

jelas, banyak administrator dan programmer menggunakan istilah basis data untuk kedua arti tersebut.

Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data aras tinggi (high level):

1. DB2

2. Microsoft SQL Server 3. Oracle 4. Sybase 5. Interbase 6. XBase 7. Firebird 8. MySQL 9. PostgreSQL 10. Microsoft Access 11. dBase III

12. Paradox

13. Lotus Smart Suite Approach

14. FoxPro

15. Visual FoxPro 16. Arago 17. Force 18. Recital 19. dbFast 20. dbXL 21. Quicksilver 22. Clipper 23. FlagShip 24. Harbour 25. Visual dBase

Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman basis data aras rendah (low level), diantaranya:

1. Btrieve


(43)

DBMS (Database Management System) adalah software yang menangani semua akses ke basis data. Secara konsep apa yang terjadi adalah sebagai berikut : 1. User melakukan pengaksesan basis data untuk informasi yang diperlukannya

menggunakan suatu bahasa manipulasi data, biasanya disebut SQL. 2. DBMS menerima request dari user dan menganalisa request tersebut

3. DBMS memeriksa skema eksternal user, pemetaan eksternal/konseptual, skema konseptual, pemetaan konseptual/internal, dan struktur penyimpanan.

4. DBMS mengeksekusi operasi-operasi yang diperlukan untuk memenuhi permintaan user.

2.6.1 Bahasa Basis Data

DBMS merupakan perantara bagi pemakai dengan basis data dalam disk. Cara berkomunikasi/berinteraksi antara pemakai dengan basis data tersebut diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa tersebut dapat disebut sebagai bahasa basis data yang terdiri atas sejumlah perintah yang diformulasikan oleh user dan diproses oleh DBMS untuk melakukan suatu aksi atau pekerjaan tertentu.

Ada 3 bahasa yang digunakan dalam basis data yaitu : 1. DDL (Data Definition Language )

Merupakan bahasa definisi data yang digunakan untuk membuat dan memanage objek database seperti database, tabel dan view.


(44)

2. DML (Data Manipulation Language)

Merupakan bahasa manipulasi data yang digunakan untuk memanipulasi data pada objek database seperti tabel.

3. DCL (Data Control Language)

Merupakan bahasa yang digunakan untuk mengendalikan pengaksesan data.

2.6.2 Flowchart dan Simbol–Simbolnya

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program. Flowchart menolong seorang analis dan programmer untuk memecahkan suatu masalah dan keadaan dari segmen-segmen yang lebih kecil serta menolong dalam menganalisis alternatif lain dalam pengoperasian.

Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Bila seorang analis dan programmer akan membuat flowchart, maka disini ada beberapa petunjuk yang harus di perhatikan, antara lain :

a. Flowchart digambarkan dari halaman atas kebawah dan dari kiri ke kanan. b. Kapan aktifitas di mulai dan berakhir harus ditentukan dengan jelas.

c. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dimengerti oleh pembacanya.

d. Setiap langkah dari aktifitas harus diuraikan dengan menggunakan eskripsi kata kerja.


(45)

f. Lingkup dan jarak dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktifitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. g. Simbol konektor harus digunakan dan percabangannya diletakkan pada

halaman yang terpisah atau dihilangkan seluruhnya bila percabangan tidak berkaitan dengan sistem.

Berikut ini ditampilkan daftar simbol-simbol yang sering dipakai pada flowchart beserta keterangannya :

Tabel 2.1 Simbol Flowchart

No Simbol Flowchart Nama Keterangan

1

Terminal Tampil pada awal Diagram Alur (berisi kata “Start”) atau pada akhir proses (berisi kata “End”).

2

Prosesing Satu atau beberapa himpunan penugasan yang akan dilaksanakan secara berurutan.

3

Predefined Process

Rincian operasi berada di tempat lain

4

Decision Ada dua alternatif yang dapat ditentukan untuk melaksanakan jalur pada Diagram Alur. Jalur yang harus diikuti dipilih pada saat pelaksanaan Algoritma dengan meng-adakan percobaan apakah langkah-langkah


(46)

yang ditetapkan di dalam bagan sudah terpenuhi atau belum.

5

Data Input/Output

Data yang akan dibaca dan dimasukkan ke dalam memori komputer dari suatu alat input atau data dan harus melewati memori untuk dike-luarkan dari alat output.

6

Manual Input Pengoperasian data yang dimasukkan masih secara manual.

7

Document Data yang akan dibaca dari memori komputer dan sudah menjadi sebuah dokumen.

8

Data Stored Digunakan sebagai tempat untuk penyimpanan data.

9

Connector Tanda untuk memisahkan Diagram Alur menjadi beberapa halaman. Ditulis di tempat/halaman untuk menyambung bagian Diagram Alur yang terputus.

10

Off – Page Connector

Tanda untuk memisahkan Diagram Alur untuk menyambung dan menuju ke halaman berikutnya.

11

Flowline Menunjukkan bagan instruksi alur kerja.


(47)

2.7 Data Flow Diagram

Data Flow Diagram (DFD) adalah sebuah diagram yang menggunakan notasi untuk menggambarkan arus data dari sistem. Penggunaan notasi ini sangat membantu dalam komunikasi dengan pemakai sistem untuk memahami sistem secara logika. Penggunaan DFD sebagai modelling tools dipopulerkan oleh Tom De Marco (1978) dan Gane & Sarson (1979) dengan menggunakan pendekatan metoda analisis sistem terstruktur (structured system analysis methode).

2.7.1 Simbol-simbol DFD

Beberapa simbol yang digunakan pada DFD adalah sebagai berikut : 1. External Entity

Entity bisa berupa orang atau organisasi yang berada diluar sistem yang memberikan data kepada sistem atau yang menerima informasi dari sistem.

Gambar 2.14. Simbol eksternal entity 2. Proses

Menggambarkan apa yang dilakukan oleh sistem. Berfungsi mentransformasikan satu atau beberapa data masukan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan.


(48)

3. Data Flow

Menggambarkan aliran data dari suatu entity ke entity lainnya. Arah panah menggambarkan aliran data. Aliran data bisa terjadi antara :

a. Dua proses yang berurutan

b. Dari data store ke proses dan sebaliknya. c. Dari source ke proses

d. Dari proses ke link.

Gambar 2.16. Simbol data flow

4. Data Store

Menggambarkan tempat penyimpanan data. Proses dapat mengambil data dari atau memberi data ke store.

Gambar 2.17. Simbol Data Store

2.7.2 Level Proses Pada DFD

Data Flow Diagram disusun berdasarkan tingkatan yang disebut levelisasi DFD.

1. Diagram Konteks.

Diagram konteks merupakan diagram yang paling tinggi, terdiri dari suatu Proses dan menggambarkan ruang lingkup sistem.


(49)

2. Diagram Zero.

Merupakan diagram diantara diagram konteks dan diagram detail yang menggambarkan proses utama dari data flow diagram.

2.8 Entity Relationship Diagram

Merupakan suatu struktur diagram yang menggambarkan persepsi dari pemakai dan berisi obyek-obyek dasar yang disebut entity dan entity-entity tersebut saling berhubungan.

2.8.1 Komponen Pada Entity Relationship Diagram

1. Entity

Segala sesuatu yang bisa dijelaskan dengan data, kelompok benda atau obyek dan diberi nama dengan kata benda.

Gambar 2.18. Simbol Entity 2. Relationship

Asosiasi antara satu atau beberapa entity, diberi nama dengan kata kerja.


(50)

3. Attribute

Properti atau karakteristik suatu entity atau relationship yang mempunyai penjelasan detail tentang entity atau relationship tersebut.

Gambar 2.20. Simbol atribut

2.8.2 Jenis Relationship

1. One to one ( 1 : 1 )

Hubungan antar sebuah atribut dengan atribut lainnya dalam satu file yang sama mempunyai hubungan satu lawan satu.

2. Many to one ( M : 1 atau 1 : M )

Hubungan antar satu atribut dengan atribut lainnya dalam satu file yang sama mempunyai hubungan satu lawan banyak.

3. Many to many ( N : M )

Hubungan antar satu atribut dengan atribut lainnya dalam satu file yang sama mempunyai hubungan banyak lawan banyak.

2.8.3 Kamus Data

Kamus data adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. kamus data merupakan sebuah daftar yang terorganisasi dari elemen data yang berhubungan dengan sistem, dengan definisi yang teliti sehingga pemakai dan analisis sistem akan memiliki pemahaman yang umum mengenai input, output, komponen penyimpanan serta kalkulasi intermediate.


(51)

Pendefinisian data tersebut dilakukan dengan menggunakan notasi yang umum digunakan dalam menganalisa sistem yaitu dengan menggunakan sejumlah simbol. Kamus data biasanya dipelihara secara otomatis oleh sistem manajemen database.

Cara mendefinisikan kamus data yaitu :

a. Menggambarkan arti aliran data atau penyimpanan yang ditunjuk dalam DFD.

b. Menggabungkan komponen dari kumpulan data yang mengalir yaitu kumpulan komponen yang mungkin bisa dipecah lagi menjadi data elementer.

c. Menggambarkan data yang tersimpan.

d. Menentukan nilai dibagian elementer dari informasi yang relevan di DFD dan data storenya

2.9 Metode Pengembangan Perangkat Lunak

Merupakan sebuah model chaos yang menggambarkan “perkembangan P/L sebagai sebuah kesatuan dari pemakai ke pengembang dan ke teknologi” disebut dengan “Prescriptive” karena Menentukan sekumpulan elemen proses (Aktivitas, Aksi, tugas, produk kerja, jaminan kualitas, dll untuk setiap proyek), setiap model proses juga menentukan alur kerjanya.

Pada saat kerja bergerak maju menuju sebuah sistem yang lengkap, keadaan yang digambarkan secara rekursif diaplikasikan kepada kebutuhan pemakai dan spesifikasi teknis P/L pengembang Saat ini, prescriptive memberikan jawaban secara


(52)

definitive untuk masalah pengembangan P/L dalam setiap perubahan lingkungan komputasi

2.9.1 Model Sekuensial Linear

Pada Tugas akhir ini menggunakan metode penggunaan perangkat lunak siklus kehidupan klasik atau model air terjun. Model ini mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Dimodelkan setelah siklus rekayasa konvensional, model sekuensial linier melingkupi aktivitas–aktivitas sebagai berikut :

1. Rekayasa dan pemodelan sistem/informasi

Karena sistem merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut. Pandangan sistem ini penting ketika software harus berhubungan dengan elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan anasisis sistem menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta disain tingkat puncak. Rekayasa informasi mancakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.

2. Analisis kebutuhan Software

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khusunya pada software. Untuk memahami sifat program yang dibangun, analis harus memahami


(53)

domain informasi, tingkah laku, dan interface yang diperlukan. Kebutuhan baik untuk sistem maupun software didokumentasikan dan dilihat lagi dengan pelanggan.

3. Desain

Desain software sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda; struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi software.

4. Generasi Kode

Desain harus diterjemahkan kedalam bentuk mesin yang bias dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.

5. Pengujian

Sekali program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.

6. Pemeliharaan

Software akan mengalami perubahan setelah disampaikan kepada pelanggan (perkecualian yang mungkin adalah software yang dilekatkan). Perubahan akan


(54)

Pemodelan Sistem Informasi

terjadi karena kesalahan–kesalahan ditentukan, karena software harus disesuaikan untuk mengakomodasi perubahan–perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan software mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.

Gambar 2.21. Model Sekuensial Linear

Masalah yang kadang terjadi ketika model sekuensial linier diaplikasikan adalah :

1. Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model ini melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan–perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan.

2. Kadang–kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan hal ini dan mengalami kesulitan untuk mengakomodasi ketidakpastian natural yang ada pada bagian awal beberapa proyek. Pemodelan Sistem Informasi


(55)

3. Pelanggan harus bersifat sabar. Sebuah versi kerja dari program–program kerja itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka.

4. Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di mana banyak anggota tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Blocking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier.[4]

2.9.2 Model Prototype

Model prototype dibangun dari mengumpulkan berbagai kebutuhan, kemudian tim pengembang akan nertemu dengan pelanggan untuk menentukan tujuan dari perangkat lunak, dan mengidentifikasi kebutuha-kebutuhan yang telah diketahui oleh pelanggan, dan batasan-batasan apa saja yang dapat dikategorikan sebagai tugas utama. Hasilnya akan dibangun rancangan sementara yang mewakili berbagai aspek dari perangkat lunak yang kelak akan digunakan oleh pelanggan/pengguna (seperti bentuk pendekatan input yang digunakan dan bentuk output). Idealnya model prototype melayani sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Dimana jika nantinya sebuah model prototype berhasil dibuat, seorang developer harus berusaha mendayagunakan tools yang ada (semisal, report generator, windows manager) dapat bekerja dengan baik (cepat).


(56)

Gambar 2.22. Model Prototype

2.9.3 Model RAD

Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sequensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.


(57)

2.9.4 Model Spiral

Model spiral (spiral model) adalah model proses software yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara kontrol dan aspek sistematis dari model sekuensial linier. Model ini berpotensi untuk pengembangan versi pertambahan software secara cepat. Di dalam model spiral, software dikembangkan di dalam suatu deretan pertambahan. Selama awal iterasi, rilis inkremental bisa merupakan sebuah model atau prototipe kertas. Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi sistem rekayasa yang lebih lengkap.

Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga wilayah tugas, di antara tiga sampai enam wilayah tugas, yaitu :

1. Komunikasi Pelanggan

Tugas–tugas yang dibutuhkan untuk membangun komunikasi yang efektif di antara pengembangan dan pelanggan.

2. Perencanaan

Tugas–tugas yang dibutuhkan untuk mendefinisikan sumber–sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan. 3. Analisis Risiko

Tugas–tugas yang dibutuhkan untuk menaksir risiko–risiko, baik manajemen maupun teknis.

4. Perekayasaan

Tugas–tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.


(58)

5. Konstruksi dan peluncuran

Tugas–tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal) dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi).

6. Evaluasi pelanggan

Tugas–tugas yang dibutuhkan untuk memperoleh umpan balik dari pelnggan dengan didasarkan pada evaluasi representasi software, yang dibuat selama masa perekayasaan, dan diimplementasikan selama masa pemasangan.[8]


(59)

2.10 Visual Basic

Visual Basic 6.0 diperkenalkna pada tahun 1998 seiring dengan semakin meluasnya pengguna sistem operasi Windows 98. Sebagaimna versi 5.0, versi 6.0 juga merupakan bagian dari paket visual studio 6.0 bersama bahasa pemrograman C dan FoxPro. Berbagai fasilitas ditemukan dalam VB 6.0, misalnya akses database dengan teknologi baru yaitu ADO (Activex Data Objects), kemampuan internet yang diperluas, elemen dan data control yang semakin banyak, kemapuan untuk membuat control sendiri, fasilitas dan alat bantu yang disebut wizard, dan berbagai kemapuan lainnya. Dengan berbagai fasilitas yang begitu banyak dan kemapuan yang sangat luas, VB 6.0 menjadi bahasa pemrograman visual yang paling banyak digunakan bahkan hingga saat ini.

2.10.1 Pengenalan IDE Visual Basic

IDE adalah (Integrated Development Environment), atau juga disebut sebagai Integrated Design/Debugging Environment, adalah perangkat lunak komputer yang berfungsi untuk membantu pemrograman dalam mengembangkan perangkat lunak. Singkatnya, IDE merupakan suatu lingkungan pengembangan aplikasi yang terintegrasi, lengkapnya dengan beragam tools atau utilitas pendukung. Seaat IDE Visual Basic aktif maka akan dihadapkan kepada suatu pilihan terhadap jenis Project yang ingin anda buat.


(60)

Gambar 2.25. Dialog box new project visual basic

Window Visual Basic 6 menggunakan model MDI (Multiple Document Interface). Berikut ini adalah gambar yang menunjukan bagian-bagian dan nama-nama window yang dapat tampil pada IDE Visual Basic.


(61)

Penjelasan–penjelasan pada gambar IDE visual basic sebagai berikut:

1. Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll.

2. Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat. 3. Window Project, window ini berisi gambaran dari semua modul yang terdapat

dalam aplikasi dan dapat menggunakan icon Toggle Folders untuk menampilkan modul-modul dalam window tersebut secara di group atau berurut.

4. Window Form Designer, window ini merupakan tempat untuk merancang user interface dari aplikasi, jadi window ini menyerupai kanvas bagi seorang pelukis. 5. Window Toolbox, Window ini berisi komponen-komponen yang dapat digunakan

untuk mengembangkan user interface.

6. Window Code, merupakan tempat untuk menulis koding.

7. Window Properties, merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latarbelakang (background).

8. Window Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object. 9. Window Form Layout, akan menunjukan bagaimana form bersangkutan

ditampilkan ketika runtime.

Window Toolbox merupakan window yang sangat penting. Dari window ini mengambil komponen-komponen (object) yang akan ditanamkan pada form untuk membentuk user interface.


(62)

Gambar 2.27. Toolbox Visual Basic Keterangan gambar diatas sebagai berikut:

1. Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika ingin memilih kontrol yang sudah berada pada form.

2. PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan format: BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF (metafile), EMF (enhanced metafile), GIF, dan JPEG.

3. Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat diperbaiki oleh pemakai.

4. TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh pemakai, dapat berupa satu baris tunggal, atau banyak baris.

5. Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya. 6. CommandButton merupakan kontrol hampir ditemukan pada setiap form, dan

digunakan untuk membangkitkan event proses tertentu ketika pemakai melakukan klik padanya.


(63)

7. CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false.

8. OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap beberapa option yang hanya dapat dipilih satu.

9. ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu (bergantung pada property MultiSelect).

10.ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan.

11. HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri sendiri.

12. Timer digunakan untuk proses background yang diaktifkan berdasarkan interval waktu tertentu. Merupakan kontrol non-visual.

13. DriveListBox, DirListBox, dan FileListBox sering digunakan untuk membentuk dialog box yang berkaitan dengan file.

14. Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi, bulatan, oval.

15. Image berfungsi menyerupai image box, tetapi tidak dapat digunakan sebagai kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui bahwa kontrol image menggunakan resource yang lebih kecil dibandingkan dengan PictureBox 16. Data digunakan untuk data binding

17. OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel, Word, dll.[9]


(64)

58

3.1 Analisis sistem

Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem yang utuh kedalam bagian-bagian komponennnya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.

Atau secara lebih mudahnya analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbarui. Tahap analisis sistem ini merupakan tahap yang sangat kritis dan sangat penting, karena kesalahan di dalam tahap ini akan menyebabakan juga kesalahan di tahap selanjutnya. Tugas utama analisis sistem dalam tahap ini, menemukan kelemahan-kelemahan dari sistem yang berjalan sehingga dapat diusulkan perbaikannya.

Dalam proses pembuatan suatu sistem mutlak dilakukan penelitian dan penganalisaan tentang sistem yang akan dibangun, berikut ini adalah alur pengenalan suara pembicara.


(65)

!


(66)

Proses pengidentifikasian pengenalan suara (voice recognition) dapat dijelaskan sebagai berikut pertama-tama pengguna merekam suara pada microphone

sebanyak tiga kali dan menyimpannya kedalam database sebagai sampel suara. Setelah itu barulah sistem akan mengenali suara dari pengguna karena sistem telah memiliki sampel suara yang akan dijadikan perbandingan. Bila pengguna akan menjalankan bagian pengenalan suara maka sistem akan membandingkan antara sinyal masuk berupa suara dengan record suara di database dengan menghitung optimal warping path antara dua waktu dan menghitung baik antara nilai warping path dari dua waktu dan jaraknya. Sistem kemudian akan mengeluarkan keluaran data pengguna.

Gambar 3.2 Proses pengidentifikasian pengenalan suara (voice recognition) Gambar 3.2 menunjukan garis besar proses pengidentifikasian pengenalan suara (voice recognition) yang dirancang. Tahap A/D converter adalah merubah sinyal yang diinputkan berupa sinyal analog menjadi sinyal digital. Tahap pre-procesing

adalah proses pengkodisian sinyal suara menggunakan filter. Tahap FFT (Fast Fourier Pre-procesing

A/D converter

Data suara pembicara

FFT

Metode DTW


(67)

dalam domain frekuensi. Suara ditangkap microphone dan ditranformasi menjadi citra dua dimensi (spektogram). Spektogram adalah penggambaran dua dimensi dari sinyal suara dengan sumbu horisontal menunjukkan waktu, sumbu vertikal menunjukkan frekuensi, dan kerapatan titik menggambarkan amplitudo atau energi akustik. Tahap metode DTW (Dynamic Time Warping) adalah untuk membandingkan suara input pembicara dengan sampel suara yang ada di databases dan menghasilkan keluaran data suara pembicara.

3.1.1.1 A/D Converter

Sinyal suara yang akan diproses bersifat analog sehingga jika akan dilakukan pengolahan secara digital, sinyal suara tersebut harus dikonversi menjadi sinyal digital, berupa urutan angka dengan tingkat presisi tertentu yang dinamakan analog to digital conversion dengan menggunakan analog-to-digital converter ADC. Konsep Kerja ADC terdiri dari tiga proses :

Gambar 3.3 konsep kerja ADC (Analog to Digital Converter)

Keterangan konsep kerja ADC :

a. Sampling adalah konversi sinyal kontinu dalam domain waktu menjadi sinyal diskrit, melalui proses sampling sinyal pada selang waktu tertentu. Sehingga jika x0(t) adalah sinyal input, maka output-nya adalah x0(nT), dengan T adalah interval sampling.


(68)

time dan continous value.

c. Coding, pada proses ini, tiap nilai diskrit yang telah didapat, direpresentasikan dengan angka binary n-bit.

3.1.1.2 Akuisisi Data

Data berupa sinyal suara diperoleh dengan cara merekam suara melalui

microphone yang dihubungkan dengan komputer atau laptop. Perekaman suara dilakukan dengan pengambilan sampel suara pada saat merekam tiap 20 ms dengan frekuensi sampling di ambil sebesar 11.025 KHz, 16 bit, mono karena suaranya meskipun gelap, namun masih tetap penuh dan ”muncul” suaranya karena bit resolusi tinggi, dengan durasi maximal 5 – 10 detik.

Suara diucapkan oleh 15 orang yang terdiri dari sepuluh orang pria dan lima orang wanita dimana setiap suara yang diucapkan diulang sebanyak 3 kali. Dengan

sound recorder suara direkam kemudian disimpan dalam berkas dengan format nama_3.wav contoh yuda_3.wav. Dimana nama menunjukan nama pembicara, yuda menunjukan suara yang diucapkan dan angka 3 munujukan hasil suara rekaman yang ke (1-3). Suara yang akan dijadikan sampel adalah nama, contoh UCAPAN.


(1)

141

4.2.6. Kesimpulan Pengujian Beta

Berdasarkan dari jawaban yang diberikan oleh responden, bisa ditarik

kesimpulan penerapan absensi menggunakan pengenalan suara cukup efektif karena

responden kebiasaan menggunakan absensi dengan menggunakan tandatangan atau

manual dan takut untuk mencoba hal yang baru, melakukan absensi dengan suara

mudah digunakan, sistem absensi menggunakan pengenalan suara bisa dilakukan di


(2)

142

KESIMPULAN DAN SARAN

Kesimpulan merupakan ringkasan yang diambil dari pembahasan perangkat lunak yang dibuat, dimana perangkat lunak yang dibuat adalah “Aplikasi Pengenalan Suara (Voice Recognition) untuk Absensi Karyawan dengan menggunakan Metode Dynamic Time Warping (DTW)” sedangkan saran diberikan untuk penggunaan sistem ini yang diambil dari hasil implementasi dan pengujian yang dapat menjadi bahan referensi untuk meningkatkan kinerja sistem ini agar lebih baik.

5.1. Kesimpulan

Dari hasil penelitian ini dapat ditarik kesimpulan mengenai aspek yang menjadi bahasan pada pembangunan “Aplikasi Pengenalan Suara (Voice Recognition) untuk Absensi Karyawan dengan menggunakan Metode Dynamic Time Warping (DTW)”, Yaitu :

1. Sistem pengenalan suara untuk absensi dengan menggunakan metode Dynamic Time Warping (DTW) menunjukan tingkat keakuratan keseluruhan 51.98 %.

2. Sistem pengenalan suara dengan menggunakan metode Dynamic Time Warping (DTW) bisa diimplementasikan untuk aplikasi sistem absensi. 3. Pengenalan suara ini masih rentang terhadap kondisi ber-noise sehingga

sistem kurang berinteraksi dengan baik.

4. Pengenalan suara ini masih rentang terhadap intonasi dan cara pengucapan ketika proses pencocokan.


(3)

143

5.2 Saran

Dari keterbatasan yang ada, dapat diajukan kemungkinan-kemungkinan untuk pengembangan program lebih lanjut, agar diperoleh kualitas program yang lebih baik. Kemungkinan pengembangan program yang dapat diajukan adalah :

1. Dalam pengembangan aplikasi ini berikutnya diharapkan pengenalan suara tidak dibatasi oleh kondisi ber-noise lagi sehingga sistem berinteraksi dengan lebih baik.

2. Dalam pengembangan selanjutnya, perlu dilakukan pengujian dengan menggunakan metode atau algoritma lainnya sebagai bahan perbandingan. 3. Sistem pengenalan suara ini masih sangat sederhana hanya bisa mengenal


(4)

144

DAFTAR PUSTAKA

[1] Iwan, Bintaro (2010). Multimedia Digital Dasar Teori + Pengembangannya. Yogyakarta. Penerbit Andi.

[2] Madcoms (2006). Panduan Pemrograman dan Referensi Kamus Visual Basic 6.0. Yogyakarta. Penerbit Andi.

[3] Madcoms (2005). Aplikasi Pemrograman Database dengan Visual Basic 6.0 dan

Cristal Report. Yogyakarta. Penerbit Andi.

[4] Roger S.Pressman. Rekayasa Perangkat Lunak Pendekatan praktis.Penerbit Andi. [5] Modul 2 Kuliah Sistem Multimedia Semester 7 Suara dan Audio

[6] H. Sakoe & S. Chiba. Dynamic Programming Algo-rithm Optimization for Spoken Word Recognition. IEEE Trans. Acoustics, Speech and Signal Processing, ASSP-26(1):43–49, 1978

[7] http://repository.usu.ac.id/bitstream/123456789/14125/1/09E01248.pdf diakses pada tanggal 5 september 2010

[8] http://elib.unikom.ac.id/gdl.php?mod=browse&op=read&id=jbptunikompp-gdl-badrimunaw-22249 diakses pada tanggal 5 September 2010

[9] http://aldi_tob_2000.staff.gunadarma.ac.id/Downloads/files/15631/Dasar+Pemrograman.pdf diakses pada tanggal 10 september 2010.

[10]http://digilib.petra.ac.id/viewer.php?page=1&submit.x=0&submit.y=0&qual=high&fn


(5)

145 [11]

www.informatika.org/~rinaldi/Stmik/2009-2010/Makalah2009/MakalahIF3051-2009-050.pdfdiakses pada tanggal 21 september 2010

[12] http://www.speech.kth.se/prod/publications/files/1275.pdf diakses pada tanggal tanggal 3 oktober 2010


(6)

NAMA : JERI RIANTO

JENIS KELAMIN : LAKI-LAKI

TEMPAT/TANGGAL LAHIR : CIAMIS, 1 JANUARY 1988

GOLONGAN DARAH : O

NO.IDENTITAS(KTP) : 320.701.010.188.000.2

ALAMAT : JL. CIBEUNYING KOLOT NO 45A. BANDUNG.

TELEPON : 082119093365

E-MAIL : [email protected]

AGAMA : ISLAM

STATUS : MAHASISWA

RIWAYAT PENDIDIKAN

PENDIDIKAN FORMAL

Sekolah Jurusan Tempat Waktu Study GPA

SD KERTASARI 1 - Ciamis 1994 - 2000

SMP N 4 - Ciamis 2000 – 2003

SMA N 4 IPA Ciamis 2003 – 2006