• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
131
0
0

Teks penuh

(1)
(2)
(3)
(4)
(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

(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

(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.1 Latar 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

(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

(18)

1.2 Perumusan Masalah

Berdasarkan latar belakang masalah maka dapat dirumuskan bagaimana

mendapatkan teknik pencarian kata kunci suatu dokumen dengan menganalisis

performansi Algoritma Baum Welch.

1.3 Maksud 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.4 Batasan 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.5 Metodologi 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

(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

(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.6 Sistematika 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

(23)
(24)

9 2.1 Tinjauan 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

(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

(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.2 Landasan 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

(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)

(33)

Pengelompokan Algoritma Berdasarkan Notasi O-Besar

Urutan spektrum kompleksitas waktu algoritma adalah :

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:

(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.

(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!

(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

(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

(41)

merupakan kemungkinan atau probabilitas pengamatan pada state j. State awal

(42)

mulai

nilai N dan iterasi: N=jumlah kata,

Mengisi nilai parameter lama dengan parameter baru :

P(O|λ) = P(O|λ) bar, 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

menghitung nilai P(O|λ) baru

Mendapatkan

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

(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

(45)
(46)

31 3.1 Analisis 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

(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 :

(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

(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

(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)

Gambar

Tabel II.1 Kelompok Algoritma dan penjelasannya
Gambar II.4 Grafik nilai masing-masing fungsi untuk setiap bermacam-macam n
Gambar II.5 Flowchart algoritma baum welch
Tabel III.2 Prosedur inisialisasi parameter awal
+7

Referensi

Dokumen terkait