Analisis performasi algoritma Baum Welch dalam menentukan kata kunci suatu dokumen di lingkungan Perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air

(1)

Bahwa yang bertanda tangan dibawah ini, penulis dan pihak perusatraan tempat

penelitiaq bersedia:

*Balrwa hasil penelitian dapat di-onlirre-l<an sesuai dengan peraturan yang

berlaku, untuk kepentingan riset dan pendidikan".

Bandung, 22 F ebnlerri 2A 13

Penulis, Perusahaaru

Standarisasi dan Diseminasi

&fr,,'il-MsiliaRahmawati

NIM. 10108051

Mengetahui,

Pembimbing

(.f

r:k


(2)

(3)

(4)

Perihal: Perryataan tidak plagiat

Saya yang bertandatangan di bawah ini:

Nama

Nim

Judul Skripsi

: MEILIARAHMAWATI

: 10108051

: ANALISIS PERFORMANSI ALGORITIvIA BAUM

WE LC H D ALANL MENENTUKAN KATA KTJNCI

SUATU DOKUMEN DI LINGKT'NGAN

PERPUSTAKAAN PUSAT PENELITIAN DAN

PENGEMBANGAN SI.JMBER DAYA AIR

Menyatakan bahwa saya tidak melakukan tindakan memru, menyalin atau

menjiplak skripsi atau karya ilmiah yang telah ada. Apabila saya te6ukti

melaktrkan tindakan tersebut maka saya bersedia untuk menerima sanksi yang

diberikan sesuai dengan ketentuan yang ditetapkan dan berlaku di Program Studi

Teknik Informatika Universitas Komputer Indonesia


(5)

1. DATA PRIBADI

nama : Meilia Rahmawati

jenis kelamin : Perempuan

tempat,tanggal Lahir : Cirebon, 12 Mei 1990

agama : Islam

kewarganegaraan : Indonesia

status : Belum kawin

anak ke : Tiga dari lima bersaudara

alamat : Jl. Sekar Kemuning No.17/19 RT. 01/03 Kelurahan

Karyamulya Kecamatan Kesambi Cirebon 45135

telepon : +6285721127268

e-mail : meilia.rahmawati12@yahoo.co.id

2. RIWAYAT PENDIDIKAN

1. Taman Kanak-Kanak : TK Pelita Ibu

Tahun ajaran 1995-1996

2. Sekolah Dasar : SD Negeri Karya Mulya I

Tahun ajaran 1996-2002 3. Sekolah Menengah Pertama : SMP Negeri 2 Cirebon

Tahun ajaran 2002-2005

4. Sekolah Menengah Atas : SMA Negeri 1 Cirebon

Tahun ajaran 2005-2008

5. Perguruan Tinggi : FTIK Unikom Bandung


(6)

Bandung


(7)

DAN PENGEMBANGAN SUMBER DAYA AIR

SKRIPSI

Diajukan Untuk Menempuh Ujian Akhir Sarjana Program Studi S1Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

MEILIA RAHMAWATI

10108051

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2013


(8)

iii

Assalammu’alaikum Wr. Wb.

Segala puji bagi Allah swt yang telah memberikan rahmat dan hidayah-Nya serta kemampuan dan kesehatan kepada penulis, sehingga laporan Tugas Akhir

yang berjudulkan “ANALISIS PERFORMANSI ALGORITMA BAUM

WELCH DALAM MENENTUKAN KATA KUNCI SUATU DOKUMEN DI

LINGKUNGAN PERPUSTAKAN PUSAT PENELITIAN DAN

PENGEMBANGAN SUMBER DAYA AIR” dapat terselesaikan sebagai

prasyarat utama untuk memenuhi salah satu syarat dalam menyelesaikan pendidikan strata satu (S1) Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia.

Penulis menyadari bahwa dalam laporan ini masih terdapat kelemahan atau kekurangan, jauh dari kesempurnaan yang hanya dimiliki Allah swt. Hal ini tidak lain akan keterbatasan pengetahuan dan pengalaman yang penulis miliki. Namun, penulis telah berusaha dengan kemampuan penulis dalam penyelesaian penyusunan laporan ini. Oleh karena itu, kritik dan saran yang sifatnya membangun akan penulis terima dengan senang hati.

Tak lupa pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada semua pihak yang turut mendukung, membantu pikiran serta dorongan semangat bagi penulis dalam pengerjaan dan penyelesaian proses penyusunan skripsi ini. Untuk itu, penulis juga mengucapkan terima kasih kepada:

1. Allah swt yang telah memberikan kesehatan, kasih dan sayang-Nya serta rahmat dan hidayah-Nya dalam pengerjaan skripsi ini hingga terselesaikan. 2. Mamih dan Papih selaku orang tuaku serta adik dan kakak, yang telah


(9)

iv Komputer Indonesia.

4. Ibu Mira Kania Sabariah, S.T., M.T., selaku dosen pembimbing yang telah meluangkan waktu dan tenaganya untuk membimbing dengan sabar dan memberi masukan, pengarahan kepada penulis dalam penyusunan skripsi ini. 5. Bapak Adam Mukharil Bachtiar, S.Kom., selaku dosen wali sekaligus sebagai

reviewer seminar dan penguji 1 sidang skripsi yang membantu dalam kelancaran seminar dan sidang skripsi serta kritik dan sarannya dan kelancaran selama perkuliahan dan mengajarkan ilmunya kepada penulis selama kuliah di Universitas Komputer Indonesia.

6. Ibu Inne Novitasari, S.Si., M.Si., selaku penguji 3 sidang skripsi yang membantu dan melancarkan dalam sidang skripsi serta kritik dan sarannya. 7. Ibu Anjelita S.Sos. yang telah menerima penulis untuk melakukan penelitian

tugas akhir di Pusat Penelitian dan Pengembangan Sumber Daya Air Bandung dan memberikan informasi yang beguna bagi penyusunan skripsi ini, begitu pula dengan Ibu Ratih yang telah memberikan informasi mengenai di lingkungan perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air.

8. Bapak dan Ibu Dosen IF Uiversitas Komputer Indonesia yang telah memberikan pengetahuan dan pengajaran kepada penulis.

9. Turyni Nindinda, Chindy V Rangkuti, teman-teman seperjuangan IF 2 angkatan 2008 dan teman-teman seperjuangan selama perkuliahan yang telah bersama-sama melewati pahit manisnya masa-masa perkuliahan ini. Serta kakak dan adikku selama dikosan yang turut menemani masa perkuliahan serta dalam penyusunan skripsi ini.

10.Dan semua pihak yang turut andil dalam membantu jalannya proses penyusunan skripsi ini.


(10)

v

menyinggung. Akhir kata, penulis berharap semoga hasil penelitian skripsi yang berupa laporan ini dapat bermanfaat, khususnya bagi penulis dan umumnya bagi pembaca.

Wa’alaikumsalam Wr.Wb

Bandung, Februari 2013


(11)

vi

DAFTAR ISI

ABSTRAK ... i

ABSTARCT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... vi

DAFTAR GAMBAR ... ix

DAFTAR TABEL ...x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xiv

BAB I PENDAHULUAN ...1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah... 3

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 4

1.5.1. Metode Pengumpulan Data ... 4

1.5.2. Metode Simulasi Perangkat Lunak ... 5

1.6 Sistematika Penulisan ... 7

BAB II TINJAUAN PUSTAKA ...9

2.1 Tinjauan Perusahaan ... 9

2.1.1 Sejarah Pusat Penelitian dan Pengembangan Sumber Daya Air ... 9

2.1.2 Logo Pusat Penelitian dan Pengembangan Sumber Daya Air ... 9

2.1.3 Badan Hukum Instansi ... 11


(12)

vii

2.2 Landasan Teori ... 13

2.2.1 Dokumen ... 13

2.2.2 Abstrak ... 13

2.2.3 Kata kunci ... 13

2.2.4 Algoritma ... 15

2.2.4.1 Kompleksitas waktu asimptotik ... 15

2.2.5 Algoritma Baum Welch ... 21

2.2.5.1 Flowchart Algortitma Baum Welch ... 25

2.2.6 Perancangan Terstruktur ... 28

2.2.6.1. Diagram konteks ... 28

2.2.6.2. DFD ... 28

2.2.7 DELPHI ... 28

BAB III ANALISIS ...31

3.1 Analisis Masalah ... 31

3.2 Analisis Algoritma ... 32

3.1.1 Perhitungan kompleksitas waktu Asimptotik Algoritma Baum Welch ... 32

3.1.2 Tahapan Alur Kerja Menentukan Kata Kunci Terhadap Sampel Kasus ... 44

3.1.1.1 Preprocessing ... 44

3.1.1.2 Probabilistik Menggunakan Algoritma Baum Welch ... 57

3.1.1.3 Penentuan Kata Kunci ... 86

3.1.3 Penghitungan nilai Kompleksitas Waktu Algoritma Baum Welch terhadap seluruh sampel abstrak dokumen... 87

BAB IV PENGUJIAN ...95


(13)

viii

4.2.1 Kesimpulan Pengujian... 114

BAB V KESIMPULAN DAN SARAN ...115

5.1 Kesimpulan... 115

5.2 Saran ... 115


(14)

117

DAFTAR PUSTAKA

[1] (2012, Maret) [Online]. http://kamusbahasaindonesia.org/kata/mirip [2] (2012, Mei) [Online].

http://digilib.its.ac.id/public/ITS-Undergraduate-17143-Paper-361900.pdf

[3] (2012, Maret) [Online]. http://www-rcf.usc.edu/~lototsky/MATH508/Baum-Welch.pdf

[4] (2012, Maret) [Online]. http://www.scribd.com/doc/39720824/Ebook-Hidden-Markov-Models-Theory

[5] (2012, Maret) [Online].

http://achmad.blog.undip.ac.id/files/2009/06/markov.pdf [6] (2012, Juni) [Online]. www.delphi.about.com

[7] Adam Mukharil Bachtiar, "Diktat Perkuliahan Analisis Algoritma," Universitas Komputer Indonesia, Bandung,.

[8] R. C. T. Lee , Chin-Liang Chang, and S.S. Tseng , introduction to the design

and analysis of algorithms a strategic approach.: McGraw-Hill, 2005.

[9] Ilham Perdana, "Diktat Perkuliahan Metodologi Penelitian," Universitas Komputer Indonesia, Bandung,.

[10] Roger S. Pressman, Software Engineering: A Practitioner's Approach, 4th ed. New York: McGraw-Hill Companies, 2001.

[11] PUSAIR. [Online]. www.pusair-pu.go.id [12] (2012, Juli) [Online]. http://www.pu.go.id

[13] (2012, Mei) [Online]. http://widodo.staff.uns.ac.id/2010/03/08/ringkasan-modul-1-konsep-dan-definisi-dokumentasi/

[14] (2012, Mei) [Online]. http://kamusbahasaindonesia.org/dokumen [15] (2012, Mei) [Online].

http://yuni-nurjanah.blog.undip.ac.id/files/2010/08/Presentasiok.pdf


(15)

Kalimat," Institut Teknologi Bandung, Bandung, Tesis 2008.

[17] eko budi purwanto, perancanan dan analisis Algoritma, 1st ed. 2008: Graha Ilmu.

[18] Rinaldi Munir, Algoritma dan Pemrograman dalam Bahasa Pascal & C, 1st ed. Bandung: Informatika Bandung, 2007.

[19] (2012, Maret) [Online]. http://www.cs.ubc.ca/~murphyk/Bayes/rabiner.pdf [20] (2012, Mei) [Online].

http://lib.ugm.ac.id/digitasi/upload/1833_MU.11030014.pdf [21] (2012, Mei) [Online].

http://repository.usu.ac.id/bitstream/123456789/22192/1/Appendix.pdf [22] Andri Rizki Amirulloh, Pemilihan Kata Kunci Otomatis pada Dokumen

Menggunakan Hidden Markov Model. bandung: Prodi IF-ITB, 2011.

[23] Leman,. Jakarta: PT Elex Media Komputindo, 1998. [24] (2012, Juni) [Online]. http://www.embarcadero.com


(16)

1

1.1Latar Belakang Masalah

Pusat Penelitian dan Pengembangan Sumber Daya Air adalah salah satu instansi yang bergerak dibidang penelitian dan pengembangan Sumber Daya Air. Di Pusat Penelitian dan Pengembangan Sumber Daya Air hasil analisis dari penelitian akan didokumentasikan dan disimpan diperpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air serta diberikan kata kunci untuk indeks pencarian.

Suatu kata kunci merupakan sebuah kata atau konsep dengan keistimewaan, yang berarti kata apapun yang digunakan sebagai kunci dan kode atau digunakan untuk menghubungkan kekata lain atau informasi lain [1]. Kata kunci yang paling baik adalah kata kunci yang terdiri dari rangkaian kata benda atau kata sifat [2]. Kata kunci suatu dokumen mewakili isi dari dokumen tersebut. Dengan kata kunci, kita dapat mengetahui inti dari dokumen itu. Kata kunci juga digunakan dalam pencarian suatu dokumen dengan mesin pencari. Oleh karena itu, menentukan kata kunci sangatlah penting. Kita dapat memahami isi dari dokumen sebelum membaca keseluruhan dari dokumen tersebut dengan kata kunci. Apabila kata kunci yang dipilih tidak tepat, maka seseorang dapat salah dalam memahami isi dari dokumen sebelum ia membaca dari keseluruhan dokumen dan juga seorang informan atau peneliti yang ingin melakukan pencarian terhadap dokumen yang dibutuhkannya tidak terarahkan dengan baik sesuai dengan data yang diinginkan.

Berdasarkan observasi di Perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air, hasil penelitian tahun-tahun sebelumnnya masih terdapat abstrak yang belum diberikan kata kunci. Saat ini di perpustakaan dan peneliti Pusat Penelitian dan Pengembangan Sumber Daya Air untuk menentukan kata kunci suatu dokumen masih dilakukan dengan membaca ulang isi dari abstrak suatu dokumen. Hal tersebut membuat proses pembentukan kata kunci


(17)

membutuhkan waktu yang lama dan jika dokumen tersebut banyak maka akan membutuhkan sumber daya manusia yang cukup banyak pula.

Oleh karena itu, dibutuhkan penggunaan kata kunci yang tepat pada dokumen tersebut, sehingga kata kunci yang akan digunakan tepat pemilihannya sesuai dengan isi dokumen. Selain itu juga dapat mempercepat waktu dalam pemberian kata kunci setiap dokumen.

Salah satu algoritmayang dapat digunakan dalam penentuan kata kunci adalah Algoritma Baum Welch. Algoritma Baum Welch merupakan algoritma yang digunakan pada proses learning dengan mengoptimalkan nilai parameter Model Markov Tersembunyi atau Hidden Markov Method (HMM). Dalam menentukan rangkaian yang belum diketahui, algoritma Baum Welch mengoptimalkan nilai parameter yang diberikan. Dinamai Algoritma Baum Welch berasal dari nama Leonard E. Baum dan Lloyd R. Welch [3]. Algoritma Baum Welch dikenal juga dengan Algoritma Forward-Backward [4].

HMM telah banyak digunakan karena model yang kaya akan struktur matematika dan mengandung teori dasar yang dapat diterapkan dalam berbagai bidang [5]. Sudah banyak penelitian dilakukan menggunakan Algoritma Baum

Welch dibidang teknik elektro, ilmu komputer, statistik komputasi dan

bioinformatika [3], terutama diaplikasikan di bidang speech recognition dan bioinformatics [6].

Setiap algoritma memiliki performansi yang berbeda-beda. Nilai performansi suatu algortima dilihat dari kemangkusannya. Suatu algoritma dikatakan bagus apabila algoritma tersebut mangkus atau efisien. Kemangkusan algoritma dapat dilihat dari beberapa faktor. Salah satunya adalah menghitung jumlah waktu yang dibutuhkan untuk menjalankannya dengan menghitung nilai kompleksitas waktu asimptotik menggunakan notasi Big-O [7] [8].

Berdasarkan permasalahan di atas maka penelitian ini dilakukan untuk Analisis Performansi Algoritma Baum Welch Dalam Menentukan Kata Kunci Suatu Dokumen serta mendapatkan teknik pencarian kata kunci suatu dokumen.


(18)

1.2Perumusan Masalah

Berdasarkan latar belakang masalah maka dapat dirumuskan bagaimana mendapatkan teknik pencarian kata kunci suatu dokumen dengan menganalisis performansi Algoritma Baum Welch.

1.3Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk melakukan analisis performansi Algoritma Baum Welch dalam menentukan kata kunci suatu dokumen.

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :

1. Untuk mengetahui nilai performansi Algoritma Baum Welch dalam menentukan kata kunci suatu dokumen di lingkungan perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air dengan menghitung kompleksitas waktu asimptotik Algoritma Baum Welch menggunakan notasi Big-O.

2. Untuk mendapatkan teknik pencarian kata kunci suatu dokumen di lingkungan perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air, sehingga dapat mempercepat waktu dalam penentuan kata kunci dokumen.

1.4Batasan Masalah

Batasan masalah dari analisis performansi Algortima Baum Welch dalam menentukan kata kunci suatu dokumen adalah sebagai berikut:

1. Data masukan pada simulator berupa abstrak yang yang ada di lingkungan perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air yang telah diberikan kata kunci serta jumlah kata kunci dan kata kunci abstrak tersebut akan dibandingkan dengan kata kunci dan jumlah kata kunci yang dihasilkan oleh simulator.

2. Algoritma yang diterapkan adalah Algoritma Baum Welch dalam metode Model Markov Tersembunyi atau Hidden Markov Metode (HMM).

3. Kajian tata bahasa tidak dilakukan ke dalam sistem diasumsikan sudah benar secara tata bahasa.


(19)

5. Aplikasi yang dibangun dalam pembuatan simulasi menggunakan Delphi 2009.

6. Pendekatan Pembangunan Perangkat Lunak ini menggunakan metode tersruktur.

7. Menganalisis performansi Algoritma Baum Welch dengan menghitung nilai kompleksitas waktu Asimptotik Algoritma Baum Welch menggunakan notasi Big-O.

8. Membandingkan hasil kata kunci baru dan jumlah kata kunci baru dengan kata kunci lama dan jumlah kata kunci lama dengan asumsi bahwa kata kunci lama telah benar, sehingga untuk membandingkan mengacu pada kata kunci lama.

9. Membandingkan kesesuaian kata kunci baru dengan kriteria kata kunci dan kesesuaian dengan isi abstrak.

10.Keluaran yang dihasilkan pada simulator adalah kumpulan kata kunci, jumlah kata kunci, nilai kompleksitas waktu asimptotik Big-O dan nilai parmeter yang mempengaruhinya.

11.Kata kunci yang dihasilkan oleh sistem adalah beberapa kata kunci yang terdiri dari gabungan 2 kata.

1.5Metodologi Penelitian

Metodologi penelitian yang digunakan adalah metode deskriptif, yaitu metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian sekarang secara sistematis, faktual dan akurat. Metode penelitian ini memiliki dua metode yaitu metode pengumpulan data dan metode simulasi perangkat lunak.

1.5.1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur

Metode pengumpulan data dilakukan dengan cara mengumpulkan literatur, jurnal, paper, bacaan-bacaan dan website yang ada kaitannya dengan judul penelitian.


(20)

b. Observasi

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

c. Interview

Metode pengumpulan data dilakukan dengan mengadakan tanya jawab secara langsung yang ada kaitannya dengan topik yang diambil [9].

1.5.2. Metode Simulasi Perangkat Lunak

Metode simulasi perangkat lunak menggunakan paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses diantaranya:

a. System Engineering

Perangkat lunak selalu menjadi bagian dari sistem yang lebih besar, sehingga dimulai dengan menganalisis seluruh sistem memperoleh persyaratan suatu sistem tersebut secara keseluruhan. Kemudian memutuskan fungsi apa yang akan dialokasikan untuk komponen-komponen perangkat lunak. Output dari keuntungan yang muncul dari tahap ini adalah sebagai spesifikasi sistem persyaratan untuk sistem perangkat lunak dalam konteks yang lebih luas dari komponen sistem berakhir.

b. Analysis

Tahan ini berkonsentrasi pada perangkat lunak, memberikan detail yang lebih dan berfokus pada proses pengumpulan persyaratan yang dimulai pada tahap sebelumnya. Untuk memperoleh pemahaman wilayah informasi yang menyeluruh. Setelah memperhatikan pada apa yang perlu dilakukan.

Masukan untuk tahap ini adalah sistem spesifikasi persyaratan yang diproduksi oleh keadaan sistem rekayasa. Hasil dari tahap ini adalah spesifikasi persyaratan perangkat lunak yang berwujud, cukup tepat dan lengkap digunkan sebagai dasar untuk pemecahan rancangan tersebut.

c. Design

Proses desain berkaitan dengan banyak aspek dari sistem perangkat lunak. Untuk memperoleh gambaran abstrak perangkat lunak secara menyeluruh untuk dilaksanakan.


(21)

d. Coding

Tahap penerjemahan data atau pemecahan masalah adalah tugas yang lebih sederhana. Tujuannya adalah untuk mengubah gambaran abstrak yang dihasilkan oleh tahap perencanaan ke dalam sesuatu yang lebih berwujud dan nyata. Mengubah kode dalam bahasa tertentu yang dapat dikompilasi atau ditafsirkan untuk menghasilkan modul yang dapat dilaksanakan.

e. Testing

Memastikan bahwa dari sudut pandang dalam, semua pernyataan dalam kode telah diuji, dan dari sudut pandang luar, semua persyaratan telah dipenuhi. Hasil dari tahap ini adalah suatu verifikasi dan validasi produk perangkat lunak tersebut.

f. Maintenance

Tahap ini tidak terlalu banyak dalam pembangunan tetapi lebih merupakan gagasan suatu lingkup untuk mencakup sisa penggerak sebuah sistem perangkat lunak setelah disampaikan kepada siapa pun yang ditugaskan hal tersebut. [10]

Berikut adalah gambar Waterfall Model.

System engineering

analysis

design

coding

testing

maintenance


(22)

1.6Sistematika Penulisan

Sistematika penulisan dalam penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Bab I menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab II membahas berbagai konsep dasar dan teorI.teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab III menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan parameter yang diteliti serta model matematis untuk analisisnya. BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab IV mengimplementsi hasil analisis dan pengujian terhadap sistem yang telah dirancangan dan dibangun.

BAB V KESIMPULAN DAN SARAN

Bab V berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan tugas akhir.


(23)

(24)

9

2.1Tinjauan Perusahaan

2.1.1 Sejarah Pusat Penelitian dan Pengembangan Sumber Daya Air

Adapun sejarah Pusat Penelitian dan Pengembangan Sumber Daya Air dari tahun ke tahun dapat dilihat sebagai berikut:

1936 Departement voor Verkeer en Waterstaat (V en W) mendirikan Hydrodinamisch Laboratorioum

1947 Instituut voor Weg en Waterbouwkundige Onderzoekingen 1950 Institut Teknik Air dan Tanah

1966 Lembaga Penyelidikan Masalah Air (LPMA) 1974 Direktorat Penyelidikan Masalah Air (DPMA)

1984 Pusat Penelitian dan Pengembangan Pengairan, berada dibawah Badan Litbang Departemen Pekerjaan Umum

1999 Pusat Penelitian dan Pengembangan Teknologi Sumber Daya Air, berada dibawah Badan Litbang Departemen Permukiman dan Pengembangan Wilayah (Kimbangwil)

2001 Pusat Penelitian dan Pengembangan Sumber Daya Air, berada dibawah Badan Litbang Departemen Permukiman dn Prasarana Wilayah

2004 Pusat Penelitian dan Pengembangan Sumber Daya Air, berada dibawah Badan Litbang Departemen Pekerjaan Umum

2010 Pusat Penelitian dan Pengembangan Sumber Daya Air, berada dibawah Badan Litbang Kementerian Pekerjaan Umum

2.1.2 Logo Pusat Penelitian dan Pengembangan Sumber Daya Air

Berikut adalah Motto dan lambang Pusat Penelitian dan Pengembangan Sumber Daya Air .


(25)

Gambar II.1 Lambang Pusat Penelitian dan Pengembangan Sumber Daya Air

Keterangan gambar:

1. Lambang Departemen PU berlukiskan Baling-baling dengan ketentuan seperti tercantum pada gambar.

2. Warna dasar lambang adalah kuning (kuning kunyit). 3. Warna baling-baling adalah biru kehitam-hitaman. 4. Penggunaan lambang : lihat Manual Tata Persuratan. Arti Simbolis Lambang Departemen Pekerjaan Umum

1. Baling-baling

Menggambarkan D I N A M I K A Berdaun 3 yang merupakan segitiga berdiri tegak lurus menggambarkan STABILITAS Secara keseluruhan menggambarkan DINAMIKA YANG STABIL dan STABILITAS YANG DINAMIS.

2. Bagian daun baling-baling yang mengarah keatas Melambangkan PENCIPTAAN RUANG. 3. Bagian lengkungnya dari daun baling-baling

Memberikan perlindungan untuk ruang kerja tempat tinggal bagi manusia. 4. Bagian daun baling-baling yang mengarah ke kiri dengan bagian lengkungnya

yang telungkup

Menggambarkan penguasaan bumi da alam dan pengusahaan untuk sebesar-besarnya kemakmuran rakyat. Garis Horizontal : bentang jalan / jembatan diatas sungai sebagai usaha untuk pembukaan dan pembinaan daerah.


(26)

5. Bagian daun baling-baling yang mengarah ke kanan dengan bagian lengkungnya yang terlentang

Menggambarkan usaha pengendalian dan Penyaluran untuk dimanfaatkan bagi sebesar-besarnya kemakmuran rakyat.

Garis Horizontal : bentang jalan / jembatan diatas sungai sebagai usaha untuk pembukaan dan pembinaan daerah.

6. Baling-baling dengan 3 daun ini menggambarkan

Tiga unsur kekaryaan Departemen Pekerjaan Umum. Tirta, Wisma (Cipta) dan Marga.

Trilogi Departemen Pekerjaan Umum, Bekerja keras, Bergerak cepat, Bertindak tepat.

7. W A R N A

Tiga unsur kekaryaan Departemen Pekerjaan Umum. Tirta, Wisma (Cipta) dan Marga.

Warna kuning sebagai warna dasar melambangkan keagungan yang mengandung arti KeTuhanan Yang Maha Esa, Kedewasaan dan Kemakmuran.

Warna biru kehitam-hitaman, mengandung arti Keadilan Sosial, Keteguhan

hati, Kesetiaan pada tugas dan ketegasan bertindak.

Warna yang berbentuk dari warna dasar dan likisan baling-baling membentuk huruf-huruf P.U.

8. Lambang P.U.

Menggambarkan fungsi dan peranan Departemen Pekerjaan Umum dalam pembangunan dan Pembinaan prasarana guna memanfaatkan bumi dan air serta kekayaan alam bagi kemakmuran rakyat, berlandaskan Pancasila.

2.1.3 Badan Hukum Instansi

Sebagaimana tercantum dalam Peraturan Menteri Pekerjaan Umum Nomor : 08/PRT/M/2010 tanggal 8 Juli 2010 Tentang Organisasi dan Tata Kerja Kementrian Pekerjaan Umum, menurut pasal 837 sampai dengan pasal 855.


(27)

2.1.4 Struktur Organisasi dan Job Description

Struktur organisasi Pusat Penelitian dan Pengembangan Sumber Daya Air dapat dilihat pada Gambar II.2.

Gambar II.2 Struktur organisasi Pusat Penelitian dan Pengembangan Sumber Daya Air Bandung

Tugas :

Sesuai dengan Peraturan Menteri PU Nomor 08/PRT/M/2010 tentang Organisasi Dan Tata Kerja Kementerian Pekerjaan Umum, Kementerian Pekerjaan Umum mempunyai tugas : menyelenggarakan urusan di bidang pekerjaan umum dalam pemerintahan untuk membantu Presiden dalam menyelenggarakan pemerintahan negara.

Fungsi :

1. Perumusan, penetapan dan pelaksanaan kebijakan di bidang pekerjaan umum. 2. Pengelolaan barang milik / kekayaan negara yang menjadi tanggung jawab

Kementerian Pekerjaan Umum.

3. Pengawasan atas pelaksanaan tugas di lingkungan Kementerian Pekerjaan Umum.

4. Pelaksanaan bimbingan teknis dan supervisi atas pelaksanaan urusan Kementerian Pekerjaan Umum di daerah.


(28)

2.2Landasan Teori

2.2.1 Dokumen

Dokumen adalah sebuah tulisan yang memuat informasi. Biasanya dokumen ditulis dikertas dan informasinya ditulis memakai tinta baik memakai tangan atau memakai media elektronik (seperti printer). Namun pada zaman sekarang, media elektronik seperti komputer juga dapat digunakan untuk menyimpan dan menampilkan dokumen. menurut kamus besar bahasa Indonesia, dokumen merupakan surat tertulis atau tercetak yang dapat dipakai atau dijadikan sebagai bukti keterangan [3] [14]. Sehingga dokumen merupakan bukti asli yang tercetak memakai tinta maupun tersimpan melalui media elektronik yang digunakan untuk mendukung suatu kebenaran atau keaslian suatu keterangan atau hasil penelitian [15]. Setiap penelitian yang dilakukan oleh Pusat Penelitian dan Pengembangan Sumber Daya Air didokumentasikan dalam media kertas maupun elektronik.

2.2.2 Abstrak

Abstrak adalah representasi dari isi dokumen yang singkat dan tepat. Abstrak merupakan bentuk ringkas dari isi suatu dokumen yang terdiri atas bagian-bagian penting dari suatu tulisan, dan mendeskripsikan isi dan cakupan dari tulisan. Dengan adanya abstrak pada dokumen dapat memudahkan mendapatkan informasi suatu dokumen tanpa harus membaca isi dari keseluruhan dokumen.

2.2.3 Kata kunci

Kata kunci merupakan kata atau konsep dengan keistimewaan, dengan ini berarti kata apapun yang digunakan sebagai kunci dan kode atau digunakan untuk menghubungkan kekata lain atau informasi lain. Kata kunci suatu dokumen mewakili isi dari dokumen tersebut. Kata kunci diperlukan pada saat proses pencarian dokumen. Sehingga memilih atau menentukan kata kunci suatu dokumen sangatlah penting [1]. Kata kunci yang paling baik adalah kata kunci yang terdiri dari rangkaian kata benda atau kata sifat [2].

Penentuan kata kunci menggunakan rantai markov atau markov chain. Proses markov merupakan proses stokastik masa lalu tidak mempunyai pengaruh pada masa yang akan datang bila masa sekarang diketahui. markov chain berisi


(29)

probabilitas transisi dimana kata pada state berpengaruh pada kata sebelumnya. [5] [16]

Kata kunci yang dihasilkan terdiri dari gabungan 2 kata yaitu pasang kata yang terdapat didalam abstrak. Penentuan kata kunci atau pasangan kata yang dipilih adalah berdasarkan nilai dari pasangan kata yang terdapat pada abstrak. Keterkaitan kata satu dengan lainnya dapat dilihat pada gambar gambar II.3 dengan menggunakan markov chain. kata 1, kata 2 dan kata 3 adalah contoh kata yang terdapat pada abstrak. nilai aij adalah probabilitas transisi yang didapatkan dari algoritma Baum Welch. a0j merupakan state awal (phi) pada algoritma Baum Welch.

Kata 1 Kata 2

Kata 3 Start

0

End 4 a01

a03 a02

a13

a12

a21

a23 a31 a32

a24

a34 a11

a14 a22

a33

Gambar II.3 Rangkaian kata dalam markov chain [16]

Probabilitas pasangan = Phii.bi(Oi).aij.bj(Oj) (II.1) [16] Contoh penentuan kata kunci :

Pasang kata yang terdapat pada abstrak adalah pasangan kata 1 dan kata2, kata 2 dan kata 3, kata 3 dan kata2. Maka nilai yang dihasilkan setiap pasangan adalah Probabilitas pasangan kata 1 dan kata 2

= Phikata1.bkata1(Okata1).akata1kata2.bkata2(Okata2) Probabilitas pasangan kata 2 dan kata 3

= Phikata2.bkata2(Okata2).akata2kata3.bkata3(Okata3) Probabilitas pasangan kata 3 dan kata 2


(30)

2.2.4 Algoritma

Algoritma merupakan salah satu cabang ilmu komputer yang membahas prosedur penyelesaian suatu permasalahan [17]. Algoritma adalah urutan langkah-langkah dalam menentukan suatu masalah. Algoritma juga dapat didefinisikan dengan deretan langkah komputasi yang mentransformasikan masukan (input) menjadi keluaran (output) [18]. Jadi algortima adalah serangkaian urutan langkah-langkah atau prosedur untuk menyelesaikan suatu masalah dengan memproses nilai masukan menjadi nilai keluaran.

Algoritma dapat ditulis dalam bentuk pseudocode ataupun flowchart.

Pseudocode berasal dari kata pseudo yang artinya mirip atau menyerupai dan code

berarti kode sehingga pseudocode adalah kode yang menyerupai kode program sebenarnya [17]. Sedangkan flowchart merupakan bentuk gambar atau diagram yang mempunyai aliran satu atau dua arah secara sekuensial.

Dalam mempelajari algortima, kita diperlukan untuk dapat menganalis algoritma dalam menentukan performansinya. Suatu Algoritma tidak saja harus benar, tetapi juga harus efisien dengan menghitung nilai dari performansinya . Setiap algortima memiliki nilai performansi yang berbeda-beda. Performansi suatu Algoritma dapat diukur dengan menghitung nilai kompleksitas waktunya dimana setiap langkahnya akan dihitung [17] [7].

2.2.4.1 Kompleksitas waktu asimptotik

Kompleksitas waktu asimptotik merupakan waktu yang dibutuhkan suatu Algoritma menyelesaikan tiap langkahnya. Setiap Algoritma memiliki kompleksitas waktu yang berbeda-beda. Komplesitas waktu asimptotik diperlukan untuk menghitung performansi suatu Algoritma. Untuk menghitung kompleksitas waktu asimptotik suatu Algoritma digunakanlah notasi “O-Besar” (Big-O) yang merupakan notasi kompleksitas waktu asimptotik. Definisi dari Big-O atau O(g(n)) adalah kumpulan semua fungsi yang order of growth-nya lebih kecil atau sama dengan g(n), sedangkan definisi dari order of growth adalah istilah yang dapat digunakan untuk pola varian jumlah input dalam suatu pengujian algoritma.

Contoh:


(31)

Perhitungan kompleksitas waktu asimptotik dengan menghitung nilai O-besar dari setiap instruksi di dalam Algoritma dengan contoh dibawah ini, kemudian diterapkan teorema O-Besar.

1. Pengisian nilai (assignment), perbandingan, operasi aritmetik, read, write membutuhkan waktu O(1).

2. Pengaksesan elemen larik atau memilih field tertentu dari sebuah record membutuhkan waktu O(1).

Kompleksitas waktu di atas adalah O(1), didapat dari = O(1)+ O(1)+ O(1)

= O(max(1,1))+ O(1) = O(1)+ O(1)

= O(max(1,1)) = O(1)

3. If c then s1 else s2. Membutuhkan waktu Tc + max(Ts1,Ts2). read(x); O(1)

x:=x+a[k]; O(1)+ O(1)+ O(1)= O(1) writeln(x); O(1)

read(x); O(1) if x mod 2=0 then O(1) begin

x:=x+1; O(1) writeln(x); O(1) end

else


(32)

i:=2; O(1) while i<=n do O(n) begin

jumlah:=jumlah+a[i]; O(1) i:= i +1; O(1) end;

Kompleksitas waktu di atas adalah O(1), didapat dari = O(1) + O(1) max (O(1)+ O(1), O(1))

= O(1) + max(O(1), O(1)) = O(1)

4. Kalang for. Kompleksitas waktu kalang for adalah jumlah pengulangan dikali dengan kompleksitas waktu badan kalang.

Kompleksitas waktu di atas adalah O(n), didapat dari = O(n) . O(1)

= O(n.1) = O(n)

5. While c do s; dan repeat s until c; untuk kedua buah kalang, kompleksitas waktunya adalah jumlah pengulangan dikali dengan waktu badan c dan s.

Kompleksitas waktu di atas adalah O(1), didapat dari = O(1)+ O(n){O(1)+O(1)}

= O(1)+ O(n) O(1) = O(1)+ O(n.1) = O(1)+ O(n) = O(n)

For i=1 to n do O(n) Jumlah:= jumlah +a[i]; O(1)


(33)

Pengelompokan Algoritma Berdasarkan Notasi O-Besar

Kelompok Algoritma

Nama O(1)

O(log n)

O(n) O(n log n) O(n2) O(n3) O(2n) O(n!)

konstan logaritmik lanjar n log n kuadratik kubik

eksponensial faktorial

Urutan spektrum kompleksitas waktu algoritma adalah :

                       

(1)O(logn)O(n)O(nlogn)O(n2)O(n3)...

O O( 2n) O(n!)

algoritma polinomial algoritma eksponensial

Penjelasan masing-masing kelompok algoritma adalah sebagai berikut :

Tabel II.1 Kelompok Algoritma dan penjelasannya

Kelompok

Algoritma Penjelasan

O(1) Kompleksitas O(1) berarti waktu pelaksanaan algoritma adalah tetap, tidak bergantung pada ukuran masukan. Contohnya prosedur tukar di bawah ini:

procedure tukar(var a:integer; var b:integer);

var

temp:integer;

begin

temp:=a; a:=b; b:=temp;

end;

Di sini jumlah operasi penugasan (assignment) ada tiga buah dan tiap operasi dilakukan satu kali. Jadi, T(n) = 3 = O(1).


(34)

Kelompok

Algoritma Penjelasan

O(log n) Kompleksitas waktu logaritmik berarti laju pertumbuhan waktunya berjalan lebih lambat daripada pertumbuhan n. Algoritma yang termasuk kelompok ini adalah algoritma

yang memecahkan persoalan besar dengan

mentransformasikannya menjadi beberapa persoalan yang lebih kecil yang berukuran sama (misalnya algoritma pencarian_biner). Di sini basis algoritma tidak terlalu penting sebab bila n dinaikkan dua kali semula, misalnya, log n meningkat sebesar sejumlah tetapan.

O(n) Algoritma yang waktu pelaksanaannya lanjar umumnya terdapat pada kasus yang setiap elemen masukannya dikenai proses yang sama, misalnya algoritma pencarian_beruntun. Bila n dijadikan dua kali semula, maka waktu pelaksanaan algoritma juga dua kali semula. O(n log n) Waktu pelaksanaan yang n log n terdapat pada algoritma

yang memecahkan persoalan menjadi beberapa persoalan yang lebih kecil, menyelesaikan tiap persoalan secara independen, dan menggabung solusi masing-masing persoalan. Algoritma yang diselesaikan dengan teknik bagi dan gabung mempunyai kompleksitas asimptotik jenis ini. Bila n = 1000, maka n log n mungkin 20.000. Bila n dijadikan dua kali semual, maka n log n menjadi dua kali semula (tetapi tidak terlalu banyak).

O(n2) Algoritma yang waktu pelaksanaannya kuadratik hanya praktis digunakan untuk persoalana yang berukuran kecil. Umumnya algoritma yang termasuk kelompok ini memproses setiap masukan dalam dua buah kalang bersarang, misalnya pada algoritma urut_maks. Bila n = 1000, maka waktu pelaksanaan algoritma adalah 1.000.000. Bila n dinaikkan menjadi dua kali semula, maka waktu pelaksanaan algoritma meningkat menjadi empat kali semula.

O(n3) Seperti halnya algoritma kuadratik, algoritma kubik memproses setiap masukan dalam tiga buah kalang bersarang, misalnya algoritma perkalian matriks. Bila n = 100, maka waktu pelaksanaan algoritma adalah 1.000.000. Bila n dinaikkan menjadi dua kali semula, waktu pelaksanan algoritma meningkat menjadi delapan kali semul.


(35)

Kelompok

Algoritma Penjelasan

O(n2) Algoritma yang waktu pelaksanaannya kuadratik hanya praktis digunakan untuk persoalana yang berukuran kecil. Umumnya algoritma yang termasuk kelompok ini memproses setiap masukan dalam dua buah kalang bersarang, misalnya pada algoritma urut_maks. Bila n = 1000, maka waktu pelaksanaan algoritma adalah 1.000.000. Bila n dinaikkan menjadi dua kali semula, maka waktu pelaksanaan algoritma meningkat menjadi empat kali semula.

O(n3) Seperti halnya algoritma kuadratik, algoritma kubik memproses setiap masukan dalam tiga buah kalang bersarang, misalnya algoritma perkalian matriks. Bila n = 100, maka waktu pelaksanaan algoritma adalah 1.000.000. Bila n dinaikkan menjadi dua kali semula, waktu pelaksanan algoritma meningkat menjadi delapan kali semul.

O(2n) Algoritma yang tergolong kelompok ini mencari solusi persoalan secara "brute force", misalnya pada algoritma mencari sirkuit Hamilton (lihat Bab 9). Bila n = 20, waktu pelaksanaan algoritma adalah 1.000.000. Bila n dijadikan dua kali semula, waktu pelaksanaan menjadi kuadrat kali semula!

O(n!) Seperti halnya pada algoritma eksponensial, algoritma jenis ini memproses setiap masukan dan menghubungkannya dengan n - 1 masukan lainnya, misalnya algoritma Persoalan Pedagang Keliling (Travelling Salesperson Problem - lihat bab 9). Bila n = 5, maka waktu pelaksanaan algoritma adalah 120. Bila n dijadikan dua kali semula, maka waktu pelaksanaan algoritma menjadi faktorial dari 2n.


(36)

Nilai masing-masing fungsi untuk setiap bermacam-macam nilai n

Gambar II.4Grafik nilai masing-masing fungsi untuk setiap bermacam-macam n

Sebuah masalah yang mempunyai algoritma dengan kompleksitas polynomial dengan kasus-terburuk dianggap mempunyai algoritma yang “bagus”; yang artinya masalah tersebut mempunyai algoritma yang mangkus, dengan catatan polynomial tersebut berderajat rendah. Jika polinomnya berderajat tinggi, waktu yang dibutuhkan untuk mengeksekusi algoritma tersebut panjang. [7] [8]

2.2.5 Algoritma Baum Welch

Algoritma Baum Welch merupakan salah satu algortima yang digunakan untuk menyelesaikan suatu masalah dalam Hidden Markov Model. Hidden Markov Model merupakan perluasan dari proses Markov yaitu proses stokastik masa lalu tidak mempunyai pengaruh pada masa yang akan datang bila masa sekarang diketahui [19] [5]. Dinamai Algoritma Baum Welch berasal dari nama Leonard E. Baum dan Lloyd R. Welch [3]. Permasalahan pada Algoritma Baum

log n n n log n n2 n3 2n n!

0 1 0 1 1 2 1

1 2 2 4 8 4 2

2 4 8 16 64 16 24

3 9 24 64 512 256 362880

4 16 64 256 4096 65536 20922789888000


(37)

Welch adalah bagaimana menghasilkan nilai parameter model A, B dan π yang optimal sehingga mendapatkan hasil rangkaian dari rangkaian pengamatan atau observasi. Algoritma Baum Welch menggunakan parameter-parameter dari HMM untuk dihitung sehingga mendapatkan model yang optimal atau terbaik. Mengoptimalkan nilai parameter yang artinya memaksimalkan nilai probabilitas dari rangkaian pengamatan P(O|λ), dengan diberikannya model λ(A, B, π). Tidak ada pendekatan analitik untuk permasalahan ini, akan tetapi terdapat prosedur iterative dengan menggunakan Algoritma Baum Welch [19][20].

Adapun penjelasan dari parameter-parameternya sebagai berikut:

1. A={aij}, himpunan nilai probabilitas transisi yaitu kemungkinan perpindahan dari state i ke state j.

2. B={bj(ok)}, himpunan nilai probabilitas emisi yaitu kemungkinan simbol pengamatan pada state j.

3. π ={π i}, himpunan nilai perpindahan state awal.

Adapun parameter lainnya yaitu N dan M. N adalah jumlah state dalam model dan M adalah jumlah simbol pengamatan.

Langkah-langkah Algoritma Baum Welch adalah sebagai berikut:

1. Inisialisasi nilai parameter N, M, A, B dan π.

2. Menghitung probabilitas maju (forward probability) dan probabilitas mundur

(backward probability). Hasil dari probabilitas maju dan mundur akan

digunakan dalam perhitungan menentukan nilai probabilitas transisi dan emisi.

Untuk menghitung probabilitas maju (forward probability) digunakan prosedur forward.

Prosedur Forward

Inisialisasi

∝1 = � 1 ≤ i ≤N (II.2)

Induksi


(38)

�_ � = 1 (t=1) (II.6) _ � = ��

�−1 �=1

� �−1

�=1 (II.7)

_ � = ��=1 �

� �

�=1 (II.8)

(untuk pembilangan pada saat Ot=Vk)

� = � � = � �

� . � �

=1 (II.9)

� = � =1 ��=1 �+1 �+1�+1 �+1 (II.10)

Untuk menghitung probabilitas mundur (backward probability) digunakan prosedur forward.

Prosedur Backward

3. Menghitung kembali probabilitas transisi, probabilitas emisi dan state awal yang baru.

Nilai dan didapat dari :

4. Mengulang kembali langkah 2 hingga parameter-parameter dari HMM konvergen (berubah secara tidak signifikan) dengan membandingkan P(O|λ) yang lama dengan yang baru. Jika P(O|λ) baru lebih besar dari P(O|λ) lama maka telah konvergen.

Inisialisasi

= 1 1 ≤ i ≤N (II.4)

Induksi


(39)

�|�_ � = �� |�|� � �|�_ �

dapat ditulis kembali,

�|� � = � � � � (II.11)

dengan,

� � = � �−1= |��= |� � _ � (II.12)

� � = �� �=� �= |�|� � _ � (II.13)

max �|� � = |�_ � ≥ |�

5. Didapat nilai probabilitas transisi (A), probabilitas emisi (B) dan state awal

(π) yang optimal [19] [20] [21].

Perhitungan pada langkah inisialisasi, nilai probabilitas transisi menggunakan smoothing bigram karena apabila terdapat probabilitas pasang kata yang 0 maka nilainya akan dihampiri oleh probabilitas smoothing bigram. smoothing bigram yang digunakan adalah Jelinec-Mercer smoothing karena pada penelitian yang dilakukan oleh Yudi Wibisono menyebutkan bahwa

Jelinec-Mercer smoothing dapat meningkatkan kinerja sistem dengan nilai λ = . .

Rumus Jelinec-Mercer smoothing adalah sebagai berikut:

Keterangan:

�|� −1 = −1 , kemungkinan kemunculan pasang katga � = _ , kemungkinan kemunculan suatu kata

λ = . , konstanta antara 0 sampai 1

Nilai probabilitas transisi adalah A={aij}={P(Cj|Ci)}={P(Ci|CI.1)}. Probabilitas transisi merupakan kemungkinan atau probabilitas suatu kata dipengaruhi oleh kata sebelumnya. Ci adalah kata pada state i dan CI.1 atau Cj adalah kata sebelumnya. � � adalah jumlah pasangan kata yang muncul pada abstrak, � adalah jumlah kata pada state i yang muncul pada abstrak dan _ adalah jumlah seluruh kata pada abstrak. [16] [22]


(40)

2.2.5.1 Flowchart Algortitma Baum Welch

Flowchart merupakan bentuk gambar atau diagram yang mempunyai aliran

satu atau dua arah secara sekuensial. Gambar II.3 merupakan gambar flowchart dari Algoritma Baum Welch.

Nilai inputan pada Algoritma Baum Welch adalah jumlah kata pada abstrak tanpa mengalami pengulangan kata yang telah dihitung pada proses diluar algoritma Baum Welch. Jumlah kata dimasukkan pada nilai N pada Algoritma Baum Welch. Pada algoritma Baum Welch terdapat parameter M yaitu panjang observasi. Dikarenakan nilai N dan M adalah sama maka untuk parameter M dihilangkan dan digantikan dengan parameter N saja.

Selanjutnya masuk keproses inisialisasi parameter baru yaitu himpunan probabilitas transisi (A), himpunan probabilitas emisi (B), himpunan state awal (Phi) dan P(O|λ) awal yang nantinya akan diisikan dengan P(O|λ) yang baru. Nilai dari Parameter baru ini akan digunakan dalam proses selanjutnya yaitu proses perhitungan probabilitas forward dan backward.

Setelah menghitung probabilitas forward dan backward maka hasil dari kedua proses ini akan digunakan dalam menentukan parameter yang baru. Hasil dari perhitungan parameter baru digunakan kembali untuk mendapatkan nilai P(O|λ). Nilai P(O|λ) akan dijadikan tolak ukur apakah seluruh parameter telah bernilai optimal.

Pada iterasi pertama P(O|λ) lama akan diisikan dengan P(O|λ) baru dan parameter lama digantikan dengan parameter baru. Proses perhitungan kembali nilai probabilitas forward dan backward untuk mendapatkan nilai parameter yang baru. Barulah pada iterasi lebih dari 1 nilai P(O|λ) akan dibandingkan. Jika P(O|λ) baru lebih kecil dari P(O|λ) lama dan iterasi lebih dari 1 atau iterasi belum mencapai batas iterasi maka dilakukan perulangan mencari parameter baru. Jika nilai P(O|λ) baru lebih besar dari P(O|λ) lama maka iterasi berhenti dan mendapatkan nilai parameter yang baru atau telah optimal.

Hasil dari prosedur Algoritma Baum Welch adalah nilai probabilitas transisi, probabilitas emisi dan state awal. probabilitas transisi merupakan kemungkinan atau probabilitas perpindahan state dari state I ke state j. Probabilitas emisi


(41)

merupakan kemungkinan atau probabilitas pengamatan pada state j. State awal merupakan kemungkinan suatu kata pada keadaan distate awal.


(42)

mulai

nilai N dan iterasi: N=jumlah kata,

iterasi=0

Mengisikan nilai parameter

P(O|λ) bar=P(O|λ), A =A baru, B =B baru, Phi =Phibaru (iterasi>=1 && (P_bar(O|λ_bar) < P(O|λ)) || iterasi =

batas iterasi) Mengisi nilai parameter lama

dengan parameter baru : P(O|λ) = P(O|λ) bar,

A = A baru, B = B baru, Phi = phi baru dan

Iterasi = iterasi+1

selesai Pengisian nilai parameter awal

(probabilitas transisi (A), emisi(B), state awal(phi) dan

P(O|λ)),stop_iterasi

Menghitung probabilitas forward

Menghitung probabilitas backward

menghitung nilai parameter baru (probabilitas transisi (A), emisi(B), state awal(phi) dan P(O|λ))

Jumlah kata,p, pasang kata, jumlah

kata,total kata,batas_iterasi Stop_iterasi= true ya Stop_iterasi=true || iterasi=batas_iterasi ya tidak tidak T=jumlah kata

menghitung nilai P(O|λ) baru

Mendapatkan nilai P(O|λ), A,

B,dan Phi (P_bar(O|λ_bar) > P(O|λ))

ya

tidak P(O|λ)

,Probabilitas transisi(A), Probabilitas Emisi(B)

,state awal(phi), Iteras,stop_iterasi

Nilai N dan iterasi

Nilai T


(43)

Pada flowchart Algoritma Baum Welch diatas masih terdapat proses yang masih dapat diuraikan lagi. Penjelasan dari setiap proses atau prosedur yang terdapat pada Algoritma Baum Welch akan dijelaskan pada bab 3 subbab 3.1.1.2.

2.2.6 Perancangan Terstruktur

Dalam tahap perancangan suatu sistem diperlukan adanya teknik-teknik penyusunan sistem untuk menganalisa dan mendokumentasikan data yang mengalir di dalam sistem tersebut. Tools yang digunakan untuk memodelkan adalah diagram konteks dan Data Flow Diagram (DFD).

2.2.6.1. Diagram konteks

Diagram konteks adalah arus data yang berfungsi untuk menggambarkan keterkaitan aliran-aliran data antara sistem dengan bagian-bagian luar (kesatuan luar). Kesatuan luar ini merupakan sumber arus data atau tujuan data yang berhubungan dengan sistem informasi tersebut. Diagram konteks bisa disebut denganModel sistem pokok (fundamental system model) mewakili keseluruhan elemen software dengan masukan (input) dan keluaran (output) yang diidentifikasi dengan anak panah masuk dan keluar memperlihatkan sumber data”.

2.2.6.2. DFD

Data Flow Diagram digunakan untuk menggambarkan suatu sistem yang

telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau lingkungan fisik dimana data tersebut akan disimpan. Data Flow Diagram juga digunakan pada metodologi pengembangan sistem yang terstruktur [23].

2.2.7 DELPHI

Delphi adalah sebuah IDE Compiler untuk bahasa pemrograman Pascal dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE.


(44)

Umumnya Delphi lebih banyak digunakan untuk pengembangan aplikasi desktop dan enterprise berbasis database, tapi sebagai perangkat pengembangan yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis proyek pengembangan software.

Perbedaan fitur yang utama antara Delphi, Kylix dengan IDE-IDE yang lain adalah keberadaan bahasanya (Bahasa pemrograman delphi), VCL/CLX (Visual

Component Library), Penekanan konektifitas database yang sangat baik, dan

banyaknya komponen-komponen pihak ketiga yang mendukungnya.

Adapun sejumlah keuntungan Embarcadero Delphi, antara lain: Komunitas pengguna yang besar pada Usenet maupun web, Dapat mengkompilasi menjadi single executable (aplikasi portable), memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning, banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya tersedia berikut source codenya) ataupun tools pendukung lainnya (dokumentasi, tool debugging), optimasi kompiler yang cukup cepat, mendukung multiple platform dari source code yang sama dan untuk yang dikelola oleh embarcadero, delphi dapat dijalankan pada multiflatform yaitu windows, linux, android, IOS [6] [24].


(45)

(46)

31

3.1Analisis Masalah

Berdasarkan hasil wawancara, dilingkungan perpustakaan dan peneliti Pusat Penelitian dan Pengembangan Sumber Daya Air untuk menentukan kata kunci dokumen masih dilakukan dengan membaca ulang isi dari abstrak dokumen kemudian baru ditentukan kata kuncinya. Terdapat sebagian dokuman yang belum diberikan kata kunci. Oleh karena itu, pegawai perpustakaan mengalami kesulitan dalam menentukan kata kunci yang tepat untuk dokumen yang belum memiliki kata kunci.

Kata kunci mencerminkan isi dari keseluruhan dokumen. Dengan kata kunci kita dapat mengetahui secara abstrak isi dari dokumen tersebut sebelum kita membaca keseluruhan dokumen. Biasanya seseorang yang ingin mencari data dari dokumen, orang tersebut tidak akan membaca secara keseluruhan dari dokumen itu. Ia akan melihat indeks atau kata kunci yang terkait dengan dokumen itu. Kemudian barulah membaca abstraknya. Jika yang dicari sesuai maka dokumen akan dibaca secara keseluruhan.

Abstrak adalah inti dari keseluruhan inti dokumen. Apabila kata kunci yang digunakan tidak sesuai dengan abstrak maka kata kunci tersebut tidak sesuai dengan isi dokumen.

Jadi, kata kunci dibutuhkan seseorang dalam pencarian suatu dokumen yang dicarinya. Dengan kata lain, kata kunci dapat mengarahkan kita kedokumen yang ingin dicari. Untuk itu pemilihan kata kunci yang tepat sangatlah penting dalam memberikan informasi mengenai dokumen itu dan seseorang dalam pencarian suatu dokumen melalui mesin pencari. Jika kata kunci yang dipilih tidak tepat maka dokumen yang dibutuhkan pula tidak terarahkan dengan baik melalui mesin pencarian.

Salah satu algoritmayang dapat digunakan dalam penentuan kata kunci adalah Algoritma Baum Welch. Algoritma Baum Welch merupakan algoritma yang


(47)

digunakan pada proses learning dengan mengoptimalkan nilai parameter Model Markov Tersembunyi atau Hidden Markov Method (HMM). Dalam menentukan rangkaian yang belum diketahui, algoritma Baum Welch mengoptimalkan nilai parameter yang diberikan.

Setiap algoritma memiliki performansi yang berbeda-beda. Nilai performansi suatu algortima dilihat dari kemangkusannya. Suatu algoritma dikatakan bagus apabila algoritma tersebut mangkus atau efisien. Salah satu melihat kemangkusan algoritma adalah dengan menghitung kompleksitas waktu asimptotik menggunakan notasi Big-O.

Berdasarkan permasalahan di atas maka diperlukan teknik pencarian kata kunci suatu dokumen dengan menganalisis performansi Algoritma Baum Welch dengan memaksimalkan nilai probabilitas dari kata yang terdapat dalam abstrak.

3.2 Analisis Algoritma

Algoritma merupakan sekumpulan langkah atau perintah untuk dapat menyelesaikan suatu masalah [18]. Suatu algortima dikatakan bagus apabila algortima tersebut mangkus atau efisien. Untuk menilai suatu Algoritma dikatakan bagus dapat menggunakan kemangkusan algortima. Untuk itu diperlukan analisis untuk mengukur performansi suatu algortima dengan mengukur kemangkusannya dengan menghitung nilai dari kompleksitas waktu asimptotiknya menggunakan notasi “O-Besar” (Big-O), dimana meningkatnya nilai n dapat mempengaruhi kebutuhan waktu Algoritma [7] [8].

3.1.1 Perhitungan kompleksitas waktu Asimptotik Algoritma Baum Welch

Perhitungan kompleksitas waktu asimptotik Algoritma Baum Welch dapat dihitung dengan menelusuri setiap langkah Algoritma Baum Welch pada pseudocode-nya. Pseudocode algoritma Baum Welch yang telah diberikan notasi Big-O disetiap langkahnya dapat dilihat pada Tabel III.1.

Tabel III.1Pseudocode Algoritma Baum Welch dengan notasi Big-O

Isi pseudocode penanda

procedure BaumWelch(input jumlah_kata:integer, p:integer, p_paskata:LarikReal, p_kata:LarikReal, output A:LarikReal, B:LarikReal, Phi:LarikReal)


(48)

terdefinisi}

{F.S: nilai probabilitas transisi, probabilitas emisi dan state awal maksimum atau optimal}

Kamus:

Stop_iterasi :boolean i,j,k,t: integer z: real

Algoritma:

{langkah 1 : inisialisasi nilai N, M A, B dan π} {inisialisasi N dan iterasi}

N←jumlah_kata O(1)

iterasi ← 0 {inisialisasi iterasi bernilai 0} O(1) InisialisasiParameterAwal(N,p,p_paskata,p_kata,A,B,Phi, stop_iterasi,prob_lama) O(N2)

T←N {banyaknya waktu T sebanyak state observasi} O(1) Repeat

{Langkah 2 : menghitung probabilitas forward dan backward}

ProbabilitasForward(N,A,B,Phi,alpha,lamda,prob_forward) O(N3)

ProbabilitasBackward(N,A,B,beta) O(N3)

{Langkah 3 : menghitung kembali probabilitas transisi dan emisi}

ParameterBaru(N,A,B,Phi,beta,alpha,A_bar,B_bar, Phi_bar)

O(N3) {menghitung ( ̅)}

ProbabilitasOLamda(N,A,B,Phi,gamma,epsilonl,

total_epsilon,total_gamma,prob_baru) O(N3)

if ((iterasi≥1)&&((prob_baru < prob_lama) ||

(iterasi←batas_iterasi))) then O(1) stop_iteras←true O(1) else

for i←1 to N do O(N) for j←1 to N do O(N) a[i][j] ← a_bar[i][j] O(1) endfor

endfor

…1

…2 …3

…4


(49)

for j←1 to N do O(N) for k←1 to M do O(N)

b[j][k] ← b_bar[j][k] O(1) endfor

endfor

for i←1 to N do O(N)

phi[i] ← phi_bar[i] O(1) endfor

prob_lama ← prob_baru O(1) iterasi ← iterasi + 1 O(1) endif

{Langkah 4 : kembali kelangkah 2 sampai 3 hingga nilai ( ̅) konvergen atau mendekati 1}

until (stop_iterasi ← true || iterasi = batas_iterasi) O(N)

{Langkah 5 :mendapatkan nilai probabilitas maksimal} if(prob_baru >= prob_lama) then O(1)

for i←1 to N do O(N)

for j←1 to N do O(N) a[i][j] ← a_bar[i][j] O(1) endfor

endfor

for j←1 to N do O(N) for k←1 to M do O(N)

b[j][k] ← b_bar[j][k] O(1) endfor

endfor

for i←1 to N do O(N)

phi[i] ← phi_bar[i] O(1) endfor

endif endprocedure

…6

Perhitungan kompleksitas waktu Asimptotik Algoritma Baum Welch dengan notasi Big-O adalah sebagai berikut :

 Perhitungan Big-O pada pseudocode yang ditandai kotak warna merah : = O(1) + max((O(N).O(N).O(1)),(O(N).O(N).O(1)),(O(N).O(1)))


(50)

= O(1) + max(O(N2),O(N2),O(N)) = O(1) + O(N2)

= max(O(1),O(N2)) = O(N2)

 Perhitungan nilai Big-O pada pseudocode yang ditandai kotak warna biru : = max (O(1),max((O(N).O(N).O(1)),(O(N).O(N).O(1)),(O(N).O(1)))) = max (O(1),max(O(N2),O(N2),O(N)))

= max (O(1),O(N2)) = O(N2)

 Nilai kompleksitas waktu asimptotik Algoritma Baum Welch

= max(O(1),O(1), O(1),O(N2),(max(O(1),O(N3),O(N3),O(N3),O(N3),O(N2)).O(N)) ,O(N2))

= max(O(1),O(1), O(1),O(N2),(O(N3).O(N)),O(N2)) = max(O(1),O(1), O(1),O(N2),O(N4),O(N2))

= O(N4) …6

Berdasarkan perhitungan kompleksitas waktu asimptotik dengan notasi Big-O yang diuraikan diatas, maka Algoritma Baum Welch memiliki kompleksitas waktu dengan nilai Big-O adalah O(N4). Berdasakan nilai laju pertumbuhan N, Algoritma Baum Welch termasuk dalam kelompok algoritma polinomial dengan derajat polinomial adalah 4. Algoritma polinomial termasuk algoritma yang bagus atau mangkus dengan syarat polinomial berderajat rendah. Algoritma Baum Welch memiliki derajat yang rendah yaitu 4. Parameter-parameter yang dapat mempengaruhi performansi Algoritma Baum Welch yang dapat dilihat pada

pseudocode-nya adalah sebagai berikut:

1. N merupakan jumlah state atau jumlah kata pada abstrak tanpa pengulangan kata.

2. T merupakan variable waktu (sejumlah dengan nilai jumlah kata pada abstrak tanpa pengulangan kata).


(51)

Maka besarnya nilai waktu kompleksitas akan dipengaruhi tiga parameter yaitu jumlah kata pada abstrak tanpa pengulangan, variable T dan jumlah iterasi atau pengulangan.

Pada pseudocode Algoritma Baum Welch, masih terdapat beberapa prosedur didalamnya yang dapat diuraikan kembali. Berikut adalah beberapa prosedur dengan notasi Big-O dan perhitungan kompleksitas waktunya :

1. Pseudocode prosedur inisialisasi parameter awal dapat dilihat pada Tabel III.2 beserta notasi Big-O dan perhitungan waktu kompleksitasnya.

Tabel III.2Prosedur inisialisasi parameter awal

Isi pseudocode

procedure InisialisasiParameterAwal(input N:integer,p:integer, p_paskata:LarikReal, p_kata:LarikReal, output A:LarikReal, B:LarikReal, Phi:LarikReal,stopiterasi:Boolean, prob_lama:real) {I.S : jumlah kata telah terdefinisi}

{F.S: mendapatkan nilai } awal, nilai parameter awal yaitu probabilitas transisi (A), probabilitas emisi (B) dan state awal (phi)}

Kamus:

i,j,k,b1: integer

Algoritma:

{inisialisasi nilai awal probabilitas A={aij} }

for i←1 to N do O(N) for j←1 to N do O(N)

a[i][j]←(p*p_paskata[i][j])+((1-p)*p_kata[j]) O(1) endfor

endfor

{inisialisasi nilai awal probabilitas B={bj(Ot)} }

for j←1 to N do O(N) for k←1 to N do O(N)

b1 ← p_kata[j] O(1) if (k=j) then O(1) b[j][k] ← b1 O(1) else

b[j][k] ← (1-b1)/(N-1) O(1) endif


(52)

endfor endfor

{inisialisasi nilai state awal phi }

for i←1 to N do O(N)

phi[i] ← 1 / N O(1) endfor

stop_iterasi ← false {inisialisasi iterasi belum berhenti} O(1)

prob_lama ← prob_baru {inisialisasi nilai } O(1) endprocedure

Perhitungan waktu kompleksitas pada prosedur inisialisasi parameter awal : =

max((O(N).O(N).O(1)),(O(N).O(N).max(O(1),O(1),O(1),O(1))),(O(N).O(1)),O(1) ,O(1))

= max((O(N).O(N).O(1)),(O(N).O(N).O(1)),(O(N).O(1)),O(1),O(1)) = max(O(N2),O(N2),O(N),O(1),O(1))

= O(N2) …1

2. Pseudocode prosedur probabilitas forward dapat dilihat pada Tabel III.3 beserta dengan notasi Big-O dan perhitungan kompleksitas waktunya.

Tabel III.3 Pseudocode prosedur probabilitas forward

Isi pseudocode

Procedure ProbabilitasForward(input N:integer, A:LarikReal, B:LarikReal, Phi:LarikReal, output alpha:LarikReal, lamda:LarikReal, prob_forward:real)

{I.S : probabilitas transisi, emisi dan state awal telah terdefinisi}

{F.S: mendapatkan probabilitas forward}

Kamus:

i,t,z: integer

Algoritma:

{Langkah 1 : Inisialisasi}

for i←1 to N do O(N) {nilai lamda awal dari nilai probabilitas awal dengan t=1}


(53)

endfor

{langkah 2 : Induksi}

{menghitung nilai lamda pada waktu t=1 sampai t=T-1}

for t←2 to T do O(N) for j←1 to N do O(N)

z ← 0 O(1)

for i←1 to N do O(N)

z ← ( alpha[t-1][i] * a[i][j] ) + z O(1) endfor

lamda[t][j] ← z * b[j][t] {b[i][t]=bi(Ot)} O(1)

endfor endfor

{langkah 3 : Terminasi} {pada state terakhir T=N}

for i←1 to N do O(N)

prob_forward ← lamda[T][i] + prob_forward {P(O|λ)}

{ } O(1) endfor

endprocedure

Perhitungan waktu kompleksitas prosedur probabilitas forward :

= max((O(N).O(1)), (O(N).O(N).max(O(1),(O(N).O(1)),O(1))), (O(N).O(1))) = max(O(N), (O(N).O(N).max(O(1),O(N),O(1))), O(N))

= max(O(N), (O(N).O(N).O(N)), O(N)) = max(O(N), O(N3), O(N))

= O(N3) …2

3. Pseudocode prosedur probabilitas backward dapat dilihat pada Tabel III.4 beserta notasi Big-O dan perhitungan kompleksitas waktunya.

Tabel III.4 Pseudocode prosedur probabilitas backward

Isi pseudocode

Procedure ProbabilitasBackward(input N:integer, A:LarikReal, B:LarikReal, output : A:LarikReal, B:LarikReal, output beta:LarikReal)


(54)

{F.S: mendapatkan probabilitas backward}

Kamus:

i,t,j: integer

Algoritma:

{Langkah 1 : Inisialisasi}

for i←1 to N do O(N)

beta[T][i] ← 1/N O(1) endfor

{langkah 2 : Induksi}

for t←T-1 down to 1 do O(N)

for i←1 to N do O(N)

beta[t][i] ← 0 O(1)

for j←1 to N do O(N)

beta[t][i]←(a[i][j]*b[j][t+1]*beta[t+1][j])+

beta[t][i] {b[i][t]=bi(Ot)} O(1)

endfor endfor endfor endprocedure

Perhitungan kompleksitas waktu prosedur probabilitas backward : = max((O(N).O(1)), (O(N).O(N).max(O(1),(O(N).O(1))))

= max(O(N), (O(N).O(N).max(O(1),O(N),O(1))), O(N))) = max(O(N), (O(N).O(N).O(N)), O(N))

= max(O(N), O(N3), O(N)) = O(N3) …3

4. Pseudocode Prosedur Parameter Baru dapat dilihat pada Tabel III.5 beserta notasi Big-O dan perhitungan kompleksitas waktunya.

Tabel III.5 Pseudocode prosedur menghitung parameter baru

Isi pseudocode

Procedure ParameterBaru(input N:integer, A:LarikReal, B:LarikReal, Phi:LarikReal, beta:LarikReal , alpha:LarikReal, output A_bar:LarikReal, B_bar:LarikReal, Phi_bar:LarikReal) {I.S : probabilitas forward dan backward telah terdefinisi} {F.S: mendapatkan nilai parameter baru yaitu probabilitas transisi (A), probabilitas emisi (B) dan state awal (phi)}


(55)

Kamus:

i,t,j,k,s: integer

Algoritma:

{menghitung nilai }

total_epsilon ← 0 O(1) {menghitung nilai epsilon}

for t←1 to T-1 do O(N)

sum_epsilon← 0 O(1)

for i←1 to N do O(N)

for j←1 to N do O(N)

sum_epsilon←alpha[t][i]*a[i][j]*b[s][j][t+1]* beta[t+1][j] O(1) total_epsilon← total_epsilon + sum_epsilon O(1) endfor

endfor

for i←1 to N do O(N)

for j←1 to N do O(N)

epsilon[t][i][j]←(alpha[t][i]*a[i][j]*b[s][j][t+1]* beta[t+1][j])/sum_epsilon O(1)

endfor endfor endfor

{menghitung nilai gamma }

total_gamma ← 0 O(1) for t←1 to T do O(N)

sum_gamma ← 0 O(1) for i←1 to N do O(N)

sum_gamma ← alpha[t][i]*beta[t][i] + sum_gamma O(1)

total_gamma ← sum_gamma+total_gamma O(1) endfor

for i←1 to N do O(N)

gamma[t][i] ← alpha[t][i]*beta[t][i] + sum_gamma O(1) endfor

endfor

{menghitung Probabilitas transisi atau nilai ̅̅̅̅ }

for i←1 to N do O(N)


(56)

sum_gamma_bawah← 0 O(1)

sum_epsilon_atas← 0 O(1) for t←1 to T-1 do O(N)

sum_gamma_bawah ← gamma[t][i]+sum_gamma_bawah O(1) sum_epsilon_atas ←epsilon[t][i][j]+sum_epsilon O(1) endfor

a_bar[i][j] ← sum_epsilon_atas/sum_gamma_bawah O(1) endfor

endfor

{Probabilitas emisi}

for j←1 to N do O(N)

for k←1 to M do O(N)

sum_gamma_atas ← 0 O(1)

sum_gamma_atas ← 0 O(1) for t←1 to T do O(N)

sum_gamma_bawah ← gamma[t][j]+sum_gamma_bawah O(1)

{jika Ob[t] =Ob[j]}

if (k←t) then O(1)

sum_gamma_atas ← gamma[t][j]+sum_gamma_atas O(1) endif

endfor

b_bar[j][k] ← sum_gamma_atas /sum_ gamma_bawah O(1) endfor

endfor

{inisialisasi nilai state awal phi }

for i←1 to N do O(N)

phi_bar[i] ← gamma[1][i] O(1) endfor

endprocedure

Perhitungan waktu kompleksitas prosedur menghitung parameter baru pada :

 waktu kompleksitas pada langkah menghitung epsilon

= O(N).max(O(1),(O(N).O(N).max(O(1),O(1))),(O(N).O(N).O(1))) = O(N).max(O(1),(O(N).O(N).O(1)),O(N2))

= O(N).max(O(1),O(N2),O(N2)) = O(N).O(N2)


(57)

 waktu kompleksitas pada langkah menghitung gamma

= max(O(1),(O(N).max(O(1),(O(N).max(O(1),O(1))),(O(N).O(1))))) = max(O(1),(O(N).max(O(1),O(N)),O(N))))

= max(O(1),(O(N).O(N))) = max(O(1),O(N2)) = O(N2)

 waktu kompleksitas pada langkah menghitung probabilitas transisi =O(N).O(N).max(O(1),O(1),(O(N).max(O(1),O(1))),O(1))

=O(N).O(N).max(O(1),O(1),(O(N).O(1)),O(1)) =O(N).O(N).max(O(1),O(1),O(N),O(1))

=O(N).O(N).(N) =O(N3)

 waktu kompleksitas pada langkah menghitung probabilitas emisi =O(N).O(N).max(O(1),O(1),(O(N).max(O(1),O(1))),O(1)) =O(N).O(N).max(O(1),O(1),(O(N).O(1)),O(1))

=O(N).O(N).max(O(1),O(1),O(N),O(1)) =O(N).O(N).O(N)

=O(N3)

 waktu kompleksitas pada langkah menghitung nilai phi = O(N).O(1)

= O(N)

Nilai waktu kompleksitas pada prosedur ParameterBaru adalah = max (O(1),(epsilon),(gamma),(transisi),(emisi),(phi))

= max (O(1), O(N3), O(N2), O(N3), O(N)) = O(N3) …4

5. Pseudocode prosedur menghitung baru dapat dilihat pada Tabel III.6

beserta notasi Big-O dan perhitungan kompleksitas waktunya.

Tabel III.6 Pseudocode Menghitung baru

Isi pseudocode

Procedure ProbabilitasOLamda(input N:integer,A:LarikReal, B:LarikReal,Phi:LarikReal,gamma:LarikReal,epsilon:LarikReal,tota


(58)

l_epsilon:real,total_gamma:real, output prob_baru:real)

{I.S : nilai probabilitas transisi, emisi dan state awal yang baru telah terdefinisi}

{F.S: mendapatkan nilai baru}

Kamus:

i,t,j,k: integer

Algoritma:

P_forward←0 O(1) for i←1 to N do O(N)

for j←1 to N do O(N) for t←1 to T do O(N)

P_forward←((epsilon[t][i[j]/total_epsilon)*

(ln(a_bar[i][j])/ln(10)))+P_forward O(1) endfor

endfor endfor

P_backward←0 O(1) for i←1 to N do O(N)

for k←1 to M do O(N) for t←1 to T do O(N)

if(k←t) then O(1) P_backward←((gamma[t][j]/total_gamma)*

(ln(b_bar[i][j])/ln(10)))+ P_backward O(1) endif

endfor endfor endfor

prob_baru ← P_forward+P_backward O(1) endprocedure

Perhitungan kompleksitas waktu prosedur menghitung baru : =

max(O(1),(O(N).O(N).O(N).O(1)),O(1),(O(N).O(N).O(N).max(O(1),O(1))),O(1) = max(O(1),O(N3),O(1),(O(N).O(N).O(N).O(1)),O(1)

= max(O(1),O(N3),O(1),O(N3),O(1)) = O(N3) …5


(59)

3.1.2 Tahapan Alur Kerja Menentukan Kata Kunci Terhadap Sampel Kasus

Block diagram menggambarkan setiap blok atau bagian dari alur kerja. Block

diagram menentukan kata kunci menggunakan algoritma Baum Welch dapat

dilihat pada Gambar III.1.

preprocessing Probabilistik menggunakan Algoritma

Baum Welch Penentuan kata kunci

Gambar III.1 Block diagram menentukan kata kunci menggunakan algoritma baum welch

Berikut adalah penjelasan dari setiap proses pada block diagram Gambar III.1, yang terdiri dari proses preprocessing, proses menentukan probabilitas menggunakan Algoritma Baum Welch dan proses menentukan kata kunci.

3.1.1.1 Preprocessing

Preprocessing merupakan tahapan untuk mendapatkan data yang dibutuhkan

pada proses Algoritma Baum Welch. Tahapan-tahapan dari preprocessing dapat dilihat pada Gambar III.2.

Input abstrak Memisahkan tiap kalimat pada abstrak

Memisahkan dan menghitung kata abstrak

yang tanpa perulangan Menentukan kemungkinan

pasangan kata Menghitung banyaknya

tiap pasang kata yang muncul Jumlah kata, pasang kata,

total kata

Memisahkan tiap kata pada tiap kalimat

Menghilangkan kata tidak penting atau stopword

Gambar III.2 Block diagram preprocessing algoritma baum welch

1. Input Abstrak

Inputan yang dimasukkan berupa abstrak suatu dokumen. Abstrak yang diinputkan akan dihitung jumlah katanya tanpa pengulangan untuk dijadikan inputan pada Algoritma Baum Welch. Sebelum penghitungan jumlah kata, inputan abstrak terlebih dahulu dipisahkan setiap kalimatnya pada langkah kedua. salah satu Sampel abstrak yang digunakan adalah sebagai berikut :


(60)

Tabel III.7 Sampel abstrak yang dijadikan contoh kasus

Isi abstrak

waduk wonogiri adalah salah satu pengendali banjir di bengawan solo berfungsi sebagai pengendali banjir, waduk tersebut memiliki multi guna yaitu untuk air irigasi, pembangkit tenaga listrik, perikanan, pariwisata dll. mengingat das waduk wonogiri tataguna lahannya sudah banyak berubah, alih fungsi lahan dari hutan menjadi lahan pertanian akibat perkembangan kebutuhan manusia, maka terjadi laju erosi yang tinggi, dan akhirnya mengendap di waduk. hal ini umur waduk akan menjadi berkurang. salah satu pemasok sedimen terbesar adalah dari sub das keduang, selain luas das nya yang paling besar juga kondisinya sudah kritis.tindakan konservasi sangat di perlukan dalam pengendalian laju erosi. upaya reboisasi yang diterapkan harus secara efisien dan tepat guna. tujuan dari penelitian ini adalah untuk menetukan alternatif teknik reboisasi sehingga bisa menurunkan laju erosi dan aliran permukaan. untuk mengetahui laju erosi permukaan dianalisis dengan metode usle dan dikalibrasi dengan pengukuran langsung, sedangkan aliran permukaan dianalisis berdasarkan kondisi aktual dan setelah direboisasi dengan rumusan rational yang dikalibrasi pengukuran debit aliran secara langsung. berdasarkan hasil penelitian dapat diketahui bahwa reobisasi lahan tegal dan hutan dengan tanaman reboisasi terpilih merupakan skenario yang paling efisien dalam penangulangan erosi.

2. Memisahkan Tiap Kalimat Pada Abstrak

Langkah kedua adalah memisahkan tiap kalimat yang ada pada abstrak dengan menelusuri setiap huruf yang terdapat dapat asbtrak. Aturan pemisahan kalimat berdasarkan tanda baca titik (.), tanda seru (!) dan tanda tanya (?). Setiap kalimat disimpan ke dalam array. Flowchart pemisahan tiap kalimat abstrak dapat dilihat pada Gambar III.3.


(1)

37 1.citarum river 2.the citarum 3.organic waste 4.of organic 5.in the ∑kata = 5

1.citarum river 2.organic waste

∑kata 2

40%

0% 39 1.maintenance and,

2.the instrumentation, 3.systems and, 4.aspects of, 5.of instrumentation ∑kata = 5

1. the instrumentation

∑kata =1

20%

0%

Rata-rata persentase 32,3%

Tabel IV.7 Persentasi hasil kesuaian kriteria kata kunci pada setiap data abstrak dengan penghilangan kata tidak penting

Data abstrak

ke-

Kata Kunci Baru Rangkaian kesesuaian

kata kunci Persentase 2 1.water resources

2.related water 3.related nsgm 4.law related 5.nsgm based ∑kata = 5

1.water resources 2.related water 3.related nsgm

∑kata = 3

60%

60% 4 1.water quality

2.quality indexes 3.quality conditions 4.quality assessment 5.spatial water ∑kata = 5

1.water quality 2.quality indexes 3.quality conditions 4.quality assessment 5.spatial water ∑kata = 5

100%

100%

6 -

∑kata = 0 - ∑kata = 0 0%

8 1.seismic measurement 2.seismic method 3.seismic refraction 4.measurement groundwater 5.depth groundwater ∑kata = 5

1.seismic measurement 2.seismic method 3.seismic refraction 5.depth groundwater

∑kata = 4

80%

80% 10 1.catchment area

2.land erosion 3.lake catchment 4.tondano lake 5.area lake ∑kata = 5

1.catchment area 2.land erosion 3.lake catchment 4.tondano lake

∑kata = 4

80%


(2)

112

16 1.model eutrofikasi 2.kajian model 3.eutrofikasi perhatian 4.konsep model 5.model matematis ∑kata = 5

1.model eutrofikasi 2.kajian model 3.konsep model 4.model matematis

∑kata = 4

80%

80% 20 1.laju erosi

2.waduk wonogiri 3.aliran permukaan 4.permukaan dianalisis 5.erosi permukaan ∑kata = 5

1.laju erosi 2.waduk wonogiri 3.aliran permukaan

∑kata = 3

60%

0% 24 1.ground water

2.water recharge 3.artificial recharge 4.aquifer recharge 5.estimation recharge ∑kata = 5

1.ground water 2.water recharge 3.artificial recharge 4.aquifer recharge 5.estimation recharge ∑kata = 5

100%

100% 28 1.limbah cair

2.diaktivasi limbah 3.koagulan adsorben 4.adsorben alami 5.diaktivasi azolla ∑kata = 5

1.limbah cair 3.koagulan adsorben 4.adsorben alami

∑kata = 3

60%

60% 33 1.supply water

2.water supply 3.irrigation water 4.pusair water 5.paddy production ∑kata = 5

1.water supply 2.irrigation water 4.paddy production

∑kata = 3

80%

80% 35 1.expansive soils

2.expansive soil 3.expansive 4.damage caused 5.caused expansive ∑kata = 5

1.expansive soil

∑kata = 1

20%

20% 37 1.citarum river

2.organic waste 3.upper citarum 4.water quality 5.river polluted ∑kata = 5

1.citarum river 2.organic waste 3.upper citarum 4.water quality ∑kata 4 80% 50% 39 1.instrument systems

2.aspects instrumentation 3.instrumentation 1.instrument systems 2.aspects instrumentation 40%


(3)

program 4.replacement maintenance 5.instrumentation including

∑kata = 5 ∑kata =2 40%

Rata-rata persentase 64,6%

Nilai persentasi pada tabel IV.6 dan tabel IV.7 didapat dari 100% dibagi jumlah hasil kata kunci kemudian dikalikan dengan jumlah kata kunci yang sesuai. Kemudian rata-rata persentasi dari keseluruhan data abstrak adalah jumlah persentasi seluruh data abstrak dibagi dengan jumlah seluruh data abstrak.

Pada setiap pengujian memiliki waktu eksekusi yang berbeda-beda dikarenakan jumlah dari inputan yang diberikan pun berbeda-beda. Dapat dilihat pada table IV.8 waktu yang dibutuhkan pada setiap pengujian data abstrak. Waktu pengujian 1 merupakan waktu yang dibutuhkan tanpa ada penghilangan kata tidak penting (stopword), sedangkan waktu pengujian 2 merupakan waktu yang dibutuhkan dengan adanya penghilangan kata tidak penting (stopword).

Tabel IV.8 Penghitungan waktu pengujian Klasifikasi

jumlah kata abstrak

Data abstrak ke-

Waktu pengujian 1 (detik)

Waktu pengujian 2 (detik)

<150 kata

2 0.172 0.093

4 0.141 0.109

6 0.609 2.371

8 0.405 0.296

10 0.437 0.281

150-200 kata

16 0.983 0.406

20 1.669 0.359

24 0.936 0.452

28 1.295 0.499

<350 kata

33 1.092 0.374

35 1.638 0.89

37 1.154 0.624

39 1.763 0.936


(4)

114

4.2.1 Kesimpulan Pengujian

Berdasarkan hasil pengujian yang telah dilakukan pada data sampel dokumen abstrak yang diambil menggunakan teknik sampling sistematik, maka pada pengujian abstrak tanpa penghilangan kata tidak penting (stopword) memiliki persentase lebih kecil dibandingkan pencarian kata kunci dengan mengalami penghilangan kata tidak penting (stopword) terlebih dahulu. Hal ini membuktikan bahwa banyaknya kata tidak penting (stopword) dapat mempengaruhi kata kunci yang dihasilkan.

Nilai hasil kata kunci yang mengalami penghilangan kata tidak penting (stopword) lebih besar dari pada tanpa penghilangan kata tidak penting (stopword). Namun persentasi kesesuaian kata kunci yang dihasilkan dibandingkan dengan kata kunci yang ada menghasilkan persentase kurang dari 50%, baik yang mengalami penghilangan kata tidak penting maupun yang tidak.

Kriteria kesesuaian kata kunci adalah rangkaian dari kata benda atau kata sifat. Berdasarkan hal tersebut dan dilihat kesesuaian judul dan isi abstrak, maka diperoleh dengan persentase 64,6% dari seluruh data abstrak yang diujikan.

Waktu rata-rata yang diperoleh dalam pengujian pada proses tanta penghilangan kata tidak penting (stopword) adalah 0,945692 detik, sedangkan waktu rata-rata yang dibutuhkan adanya proses penghilangan kata tidak penting (stopword) adalah 0,591538 detik. Penghilangan kata tidak penting (stopword) dapat mempercepat proses eksekusi. Waktu yang dibutuhkan peneliti dan pegawai di lingkungan Pusat Penelitian dan Pengembangan Sumber Daya Air untuk mendapatkan suatu kata kunci sekitar 3-10 menit.


(5)

115

Pada bab ini berisikan kesimpulan dari hasil penelitian serta saran untuk perbaikan dan pengembangan dalam teknik menentukan kata kunci suatu dokumen.

5.1 Kesimpulan

Berdasarkan hasil yang didapat selama penelitian dan penyusunan skripsi ini serta disesuaikan dengan tujuan, maka diperoleh kesimpulan sebagai berikut : 1. Teknik penentuan kata kunci dokumen belum menghasilkan kata kunci yang

sesuai pada dokumen abstrak di lingkungan perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air dengan hasil persentase kesamaan kata kunci dengan kata kunci yang ada adalah kurang dari 50% dan hasil kesesuaian dengan kriteria kata kunci dan isi abstrak sebesar 64,6.

2. Nilai performansi Algoritma Baum Welch dengan menghitung Kompleksitas waktu asimptotik Big-O adalah O(N4). Berdasarkan nilai laju pertumbuhan N, Algoritma Baum Welch termasuk dalam kelompok algoritma polynomial dengan derajat polynomial adalah 4 (termasuk derajat rendah), sehingga Algoritma Baum Welch dapat dikatakan algoritma yang bagus atau mangkus. Waktu yang dibutuhkan untuk memperoleh kata kunci tanpa penghilangan kata tidak penting adalah 0,945692 detik, sedangkan waktu yang dibutuhkan penentuan kata kunci dengan penghilangan kata tidak penting terlebih dahulu yaitu 0,591538 detik. Berdasarkan kedua nilai tersebut, proses penentuan kata kunci akan lebih cepat jika dilakukan proses penghilangan kata tidak penting (stopword) terlebih dahulu.

5.2 Saran

Berdasarkan hasil dari keseluruhan simulasi maka dapat diberikan saran-saran sebagai berikut :

1. Menambahkan pengenalan suatu istilah atau phrase sehingga kata kunci yang didapat dapat terangkai dengan baik.


(6)

116

2. Penambahan pengecilan huruf sehingga abstrak yang dimasukkan tidak perlu dikecilkan terlebih dahulu.