Implementasi Metode Maximum Marginal Relevance (MMR) Dan Algoritma Steiner Tree Untuk Menentukan Storyline Dokumen Berita
IMPLEMENTASI METODE MAXIMUM MARGINAL
RELEVANCE (MMR) DAN ALGORITMA STEINER TREE
UNTUK MENENTUKAN STORYLINE DOKUMEN BERITA
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
AJI TEJA HARTANTO
10111301
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2016
(2)
iii
KATA PENGANTAR
Bismillahirahmaanirahiim
Dengan memanjatkan puji syukur kehadirat Allah SWT, atas rahmat dan karunianya penulis dapat menyelesaikan skripsi ini, yang merupakan syarat untuk menyelesaikan program studi Strata I Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer pada Universitas Komputer Indonesia.
Selama pelaksanaan dan penyusunan laporan Skripsi ini banyak menemui hambatan dan kesulitan. Namun berkat dorongan, bantuan dan bimbingan baik secara moril ataupun material dari berbagai pihak penulis dapat mengatasinya. Untuk itu penulis ingin mengucapkan terima kasih kepada :
1. Allah SWT yang senantiasa memberikan hidayah serta inayah-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini dengan penuh sadar akan kewajiban fardhu kifayah.
2. Kedua orang tua dan kedua adik yang dengan penuh syukur Allah memberikan kesempatan hidup bagi mereka sehingga dapat memberikan dorongan moriil maupun materiil sehingga penulis terus berupaya untuk menuntaskan laporan tugas akhir ini.
3. Keluarga Besar Dakwah Kampus UNIKOM yang senantiasa menyebarkan dakwah ditengah-tengah civitas kampus unikom dan mendorong bersinerginya antara kuliah dan menggapai mardhatillah sehingga mengarahkan penulis dalam menuntaskan laporan ini tanpa kesia-siaan namun demi menggapai tujuan yang hakiki.
4. Keluarga Besar Asrama Revolt Camp & Umar bin Khattab yang senantiasa sangat membantu penulis dalam menyelesaikan TA ini.
5. Bapak Eko Budi Ssetiawan, S.Kom., M.T., selaku Dosen Wali IF.7 angkatan 2011 dan Pembimbing I pada Tugas Akhir 2015 di Universitas Komputer Indonesia yang sangat membantu penulis dalam menyelesaikan Skripsi ini
(3)
iv
6. Ibu Kania Evita Dewi, S.Pd., M.Si. selaku Dosen Pembimbing II di Universitas Komputer Indonesia yang sangat membantu penulis dalam menyelesaikan skripsi ini.
7. Seluruh Dosen dan Staff pengajar jurusan Teknik Informatika Universitas Komputer Indonesia.
8. Saudara-saudara yang selalu memberikan dukungannya kepada penulis. 9. Teman-teman HIMA & UKM dalam rentang angkatan 2012-2015 yang
telah memberikan pelajaran hidup sehingga mampu mendorong penulis dalam kemandirian untuk menuntaskan laporan ini
10. Teman-teman IF-7 angkatan 2011 yang telah banyak membantu dan memberikan dorongan kepada penulis.
11. Semua pihak yang terlibat yang telah ikut membatu dalam penulisan laporan ini baik secara langsung maupun tidak langsung.
Dengan keterbatasan ilmu dan pengetahuan yang penulis miliki, penulis menyadari bahwa penyusunan skripsi ini masih jauh dari kesempurnaan dan masih terdapat kekurangan dan kelemahan, walaupun demikian penulis telah berusaha semaksimal mungkin untuk mendapat hasil yang optimal.
Bertolak dari inilah, penulis mengharapkan adanya koreksi, kritik dan saran yang membangun dari berbagai pihak sehingga menjadi bahan masukan bagi penulis untuk peningkatan di masa yang akan datang
Akhirnya penulis mengucapkan syukur alhamdullilah kehadirat ilahirobi yang tiada hentinya atas selesainya proses penulisan laporan Tugas Akhir ini Amin.
Bandung, Maret 2016
(4)
v
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR TABEL ... viii
DAFTAR GAMBAR ... ix
DAFTAR SIMBOL ... xi
DAFTAR LAMPIRAN ... xv
PENDAHULUAN ... 1
Latar Belakang Masalah ... 1
Rumusan Masalah ... 2
Maksud dan Tujuan ... 2
1.3.1. Maksud ... 2
1.3.2. Tujuan... 3
Batasan Masalah ... 3
Metodologi Penelitian ... 4
1.5.1. Metode Pengumpulan Data ... 4
1.5.2. Metode Pembangunan Perangkat Lunak ... 4
1.5.3. Metode Pengujian ... 6
Sistematika Penulisan ... 7
LANDASAN TEORI ... 9
Maximum Marginal Relevance ... 9
Text Processing ... 9
2.2.1. Case Folding ... 9
2.2.2. Tokenizing ... 9
2.2.3. Filtering dan Eliminasi Stopwords ... 10
2.2.4. Stemming ... 10
Cosine Similiarity ... 12
Pembobotan MMR ... 14
Pembobotan TF-IDF ... 15
Teori Graf ... 16
(5)
vi
Tree... 19
2.8.1. Multi-view Graph ... 21
2.8.2. Himpunan Dominasi ... 21
2.8.3. Steiner tree... 21
2.8.4. Aproksimasi Steiner tree ... 22
Alur Kronologis... 22
2.9.1. Menentukan Alur Kronologis ... 23
2.9.2. Alur Kronologis yang Baik ... 24
Tingkat Komulatif Kejadian (Tingkat Insidensi Komulatif)... 24
OOP (Object Oriented Programming)... 25
2.11.1. Konsep Dasar Berorientasi Objek ... 25
UML (Unified Modeling Language) ... 28
2.12.1. Use Case Diagram ... 29
2.12.2. Activity Diagram ... 30
2.12.3. Class Diagram ... 30
2.12.4. Sequence Diagram... 31
Pengujian Perangkat Lunak ... 32
2.13.1. Pengujian Whitebox ... 32
2.13.2. Pengujian Ketergunaan (Usability Testing) ... 33
2.13.3. Notasi Big O ... 35
Perangkat Lunak Pendukung ... 37
2.14.1. Apache ... 37
2.14.2. MySQL ... 38
2.14.3. PHP... 38
2.14.4. PHPMyAdmin ... 39
2.14.5. XAMPP ... 39
2.14.6. Adobe Dreamwever CC ... 40
ANALISIS DAN PERANCANGAN SISTEM ... 41
Analisis masalah ... 41
Analisis Sistem ... 42
(6)
vii
3.2.2. Analisis Algoritma Steiner Tree ... 61
Analisis Kebutuhan Non Fungsional ... 78
3.3.1. Analisis Perangkat Keras ... 78
3.3.2. Analisis Perangkat Lunak... 79
3.3.3. Analisis Kebutuhan Pengguna ... 79
Analisis Basis Data... 80
3.4.1. Struktur Tabel ... 80
Analisis Kebutuhan Fungsional ... 81
3.5.1. Use Case Diagram ... 81
3.5.2. Activity Diagram ... 96
3.5.3. Class Diagram ... 107
3.5.4. Sequence Diagram... 107
3.5.5. Perancangan Arsitektur ... 114
IMPLEMENTASI DAN PENGUJIAN SISTEM ... 119
Implementasi Sistem ... 119
4.1.1. Implementasi Perangkat Lunak ... 119
4.1.2. Implementasi Perangkat Keras ... 120
4.1.3. Implementasi Antar Muka ... 121
Pengujian Sistem ... 122
4.2.1. Rencana Pengujian ... 123
4.2.2. Pengujian White Box ... 123
4.2.3. Pengujian Ketergunaan (Usability Testing) ... 134
4.2.4. Sekenario Pengujian Performansi ... 141
KESIMPULAN DAN SARAN ... 145
KESIMPULAN ... 145
SARAN ... 145
(7)
(8)
136
DAFTAR PUSTAKA
[1] E. Lukman, "Laporan: Inilah Yang Dilakukan 74,6 Juta Pengguna Internet Indonesia Ketika Online," Techinasia, 31 Oktober 2013. [Online]. Available: Https://Id.Techinasia.Com/Tingkah-Laku-Pengguna-Internet-Indonesia/. [Accessed 7 10 2015].
[2] J. Ahmad, L. A. Abdillah And S. , "Penerapan Teknik Web Scraping Pada Mesin Pencari Artikel Ilmiah," Sistem Informasi (Sisfo), Vol. 5, P. 6, 2014.
[3] M. Mustaqhfiri, Z. Abidin And R. Kusumawati, "Peringkasan Teks Otomatis Berita Berbahasa Indonesia Menggunakan Metode Maximum Marginal Relevance," Matics,
Vol. Iv, No. 4, Pp. 1-14, 2011.
[4] S. Simon, "Studi Pohon Steiner Dan Penggunaannya Dalam Perancangan Chip Dan Jaringan," 2008.
[5] A. Baihaqi, "Penerapan Algoritma Steiner Tree Dalam Konstruksi Jaringan Pipa Gas,"
Makalah If2091 Struktur Diskrit, Pp. 1-7, 2009.
[6] M. N. Hidayatullah, "Penerapan Metodologi Waterfall Dalam Pengembangan Sistem Informasi Akademik Universitas Negeri Surabaya (Studi Kasus Pt Sentra Vidya Utama Surabaya)".
[7] R. Jeff And D. Chisnell, Handbook Of Usability Testing, Canada: Wiley Publishing, Inc., 2008.
[8] D. Nopiyanti And K. A. Sekarwati, "Aplikasi Pencarian Kata Dasar Dokumen Berbahasa Indonesia Dengan Metode Stemming Porter Menggunakan Php & Mysql," In Seminar Ilmiah Nasional Komputer Dan Sistem Intelijen (Kommit 2014) , Depok, 2014.
[9] A. D. Tahitoe And D. Purwitasari, "Implementasi Modifikasi Enhanced Confix Stripping Stemmer Untuk Bahasa Indonesia Dengan Metode Corpus Based Stemming," 2010. [10] R. V. Imbar, A. M. Ayub And A. Rehatta, "Implementasi Cosine Similarity Dan
Algoritma Smith-Waterman Untuk Mendeteksi Kemiripan Teks," Informatika, Vol. 10, No. 1, Pp. 1-12, 2014.
[11] R. Nicholas, "Aplikasi Graf Berbobot Dalam Menentukan Jalur Angkot (Angkutan Kota) Tercepat," Itb, Bandung, 2010/2011.
[12] Z. Fathoni, "Algoritma Penentuan Graf Bipartit," Makalah If2091, P. 2, 2009. [13] H. Kusniyati, "Teori Graf," In Matematika Diskrit, Pusat Bahan Ajar Dan Elearning. [14] E. N. Hayati And A. Yohanes, "Pencarian Rute Terpendek Menggunakan Algoritma
Greedy," In Seminar Nasional Ienaco, Semarang, 2014.
[15] C. Lin, C. Lin And J. Li, "Generating Event Storylines From Microblogs," In Cikm '12 Proceedings Of The 21st Acm International Conference On Information And Knowledge Management, New York, 2012 .
[16] K. Kesehatan, "Kamus Kesehatan," [Online]. Available: Http://Kamuskesehatan.Com/Arti/Tingkat-Insiden/.
[17] M. Danuri, "Object Oriented Programming (Oop)," Infokam, Vol. V, No. 1, Pp. 1-8, 2009.
[18] "Pengertian Uml ( Unified Modelling Language ) & Sejarah Uml," Abstrakpengetahuan,
10 2014. [Online]. Available:
Http://Www.Abstrakpengetahuan.Com/2014/10/Pengertian-Uml-Unified-Modelling.Html. [Accessed 7 10 2015].
(9)
137
[20] S. "Efisiensi Algoritma Dan Notasi O-Besar," Comtech, Vol. 2, No. 2, P. 857, 2011. [21] K. T. Martono, "Tracer Alumni Berbasis Website (Kasus: Sistem Komputer Falkutas
Teknik Undip)," Sistem Komputer, Vol. 3, No. 1, P. 33, 2013.
[22] "Phpmyadmin," Wikipedia, 6 April 2013. [Online]. Available: Https://Id.Wikipedia.Org/Wiki/Phpmyadmin. [Accessed 7 10 2015].
[23] "Xampp," Wikipedia, 5 Mei 2015. [Online]. Available: Https://Id.Wikipedia.Org/Wiki/Xampp.
[24] "Dreamweaver," Wikipedia, 6 April 2014. [Online]. Available: Https://Id.Wikipedia.Org/Wiki/Adobe_Dreamweaver.
[25] E. Saputra, Z. Mazalisa And R. Andryani, "Usability Testing Untuk Mengukur Penggunaan Website," Jurnal Teknik Informatika, Pp. 1-9, 2014.
[26] L. Marlinda And H. Rianto, "Pembelajaran Bahasa Indonesia Berbasis Web Menggunakan Metode Maximum Marginal Relevance," In Seminar Nasional Sistem Informasi Indonesia, Jakarta, 2013.
[27] A. Solihin, F. Solihin And F. H. Rachman, "Penerapan Modifikasi Metode Enhaced Confix Stripping Stemmer Pada Teks Berbahasa Madura," Sarjana Teknik Informatika,
Vol. Ii, No. 1, Pp. 1-18, 2013.
[28] D. Wang, T. Li And M. Ogihara, "Generating Pictorial Storylines Via Minimum-Weight Connected Dominating Set Approximation In Multi-View Graphs," In Twenty-Sixth Aaai Conference On Artificial Intelligence, Toronto, 2012.
[29] Andri, Heuristik Sebagaimana Secara Bahasa Dapat Diartikan Sebagai Seni Untuk Menemukan Strategi Dalam Menyelesaikan Persoalan., Jakarta: Uin Syarif Hidayatullah, 2008.
[30] S. And M. Fathoni, "Pengantar Analisa Perancangan Sistem," Jurnal Saintikom, Vol. 9, No. 2, P. 5, 2010.
[31] A. Srivastava, "Generating Storylines".
[32] A. Rouf, "Pengujian Perangkat Lunak Dengan Metode White Box Dan Black Box," Stmik Himsya, Semarang.
(10)
1
PENDAHULUAN
Latar Belakang Masalah
Seiring diterbitkannya data survei yang dikeluarkan Markplus Insight dan Majalah Online Marketeers 2013, terdapat 98% dari 2015 responden menjadikan sumber informasi utama adalah internet. Sebanyak 54,2% dari persentase responden tersebut, konten yang dijadikan rujukan sumber informasi adalah berita [1]. Namun, survei yang dilakukan terhadap sampel 41 pembaca menunjukan sekitar 58,84% menganggap bahwa pencarian berita untuk mendapatkan kronologis peristiwa membutuhkan waktu yang lama. Padahal, sebanyak 95% pembaca memiliki tujuan dalam aktivitas pencarian berita adalah untuk mendapatkan alur kronologis suatu peristiwa. Disamping itu, hasil pencarian yang diperoleh melalui media online, terutama pada mesin pencari tidak memahami pola semantik atau tren dari sejumlah data yang telah diperoleh [2]. Sehingga, hasil pencarian tidak terstruktur dan tidak memiliki hubungan sebab akibat antara teks dokumen satu dengan yang lainnya.
Teks representatif terhadap suatu dokumen, secara umum diterapkan sebagai fitur dalam mesin pencari. Namun, teks representatif tersebut masih berdasarkan kata kunci saja. Sehingga secara kualitas belum memenuhi representasi dokumen. Untuk mendapatkan teks representatif, penelitian yang dilakukan oleh Mustaqhfiri [3], teks representatif berupa ringkasan dihasilkan oleh metode MMR
merupakan hasil ekstraksi kalimat. Metode ini digunakan untuk mengurangi redudansi dalam perangkingan kalimat pada multi dokumen. Kualitas ringkasan yang dihasilkan dari metode MMR ini ditunjukan dengan hasil berupa recall,
precission dan kombinasi keduanya berupa f-measure. Dari data uji coba yang diambil dari surat kabar berbahasa Indonesia online sejumlah 30, menunjukan hasil rata-rata berupa recall 60%, precision 77% dan f-measure 66%.
Sekumpulan teks representatif dengan penggunaan metode MMR yang terfokus terhadap query, merupakan sekumpulan node yang memiliki hubungan berdasarkan topik maupun alur waktu. Strukturisasi kumpulan teks representatif
(11)
dapat dilakukan dengan memahami keterkaitan antar dokumen teks tersebut. Untuk menentukan sebuah jaringan tanpa sirkuit (struktur pohon tanpa cabang) yang menghubungkan seluruh node dapat digunakan Steiner Tree [4]. Penerapan steiner tree dalam penelitian yang dilakukan oleh Achmad Baihaqi [5], bertujuan untuk menentukan konstruksi suatu jaringan. Dalam penerapannya digunakan dalam jaringan pipa gas dari suatu graf. Implementasi algoritma heuristic yang didasarkan pada kecepatan waktu komputasi dalam algoritma steiner tree menghasilkan konstruksi pendistribusian gas yang lebih optimal dalam pertimbangan waktu dan biaya. Hal ini dikarenakan bobot steiner tree yang dihasilkan oleh algoritma
heuristic ini belum tentu merupakan bobot yang minimum, akan tetapi bobot tersebut tidak akan melebihi suatu nilai batas atas.
Oleh karena itu, pada penelitian ini akan disusun sebuah penelitian berjudul
“Implementasi Metode Maximum Marginal Relevance (MMR) dan Algoritma Steiner Tree Untuk Menentukan Storyline Dokumen Berita”
Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan diatas, maka rumusan masalah yang diperoleh adalah bagaimana meningkatkan efektivitas dan efesiensi dalam melakukan pencarian berita oleh pembaca media online dengan implementasi metode maximum marginal relevance dan algoritma steiner tree
untuk menentukan Storyline (alur kronologis) dari dokumen berita tekstual.
Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dan tujuan dari penelitian adalah sebagai berikut:
1.3.1. Maksud
Maksud dari penelitian ini adalah untuk melakukan implementasi metode
maximum marginal relevance dan algoritma steiner tree pada sistem yang akan dibangun.
(12)
3
1.3.2. Tujuan
Adapun tujuan dari penelitian ini adalah mempermudah dan mempercepat proses pencarian yang dilakukan oleh pembaca media berita online dalam mencari alur kronologis sebuah peristiwa dengan penerapan metode maximum marginal relevance dan algoritma Steiner Tree.
Batasan Masalah
Batasan masalah dilakukan untuk membatasi penelitian ini agar dalam implementasi metode maximum marginal relevance dan algoritma steiner tree
dapat dilakukan secara lebih mendalam sehingga pembahasan tidak terlalu umum. Adapun batasan masalah yang dapat dijelaskan adalah sebagai berikut:
1. Dokumen teks artikel diperoleh dari a. detik.com/internasional, b. internasional.kompas.com, c. news.okezone.com/internasional, d. internasional.sindonews.com, e. dunia.news.viva.co.id dan
f. voa-indonesia.com g. unisosdem
2. Dokumen teks artikel berita diambil dalam satu kategori rubrik politik internasional.
3. Peringkasan teks dilakukan dengan proses peringkasan dokumen tunggal untuk masing-masing dokumen.
4. Batasan cakupan setiap teks hasil dari ringkasan kurang sama dengan 2 kalimat.
5. Cakupan sejumlah teks berita yang menjadi alur kronologis dibatasi oleh penentuan waktu peristiwa pada teks berita itu terjadi.
6. Alur kronologis dibentuk dari berita peristiwa.
7. Jumlah dokumen teks artikel berita berjumlah lebih dari 90 dokumen. 8. Teks Artikel berita yang digunakan adalah dalam Bahasa Indonesia. 9. Bahasa pemrograman yang digunakan adalah bahasa pemograman web.
(13)
10. Sistem query yang digunakan adalah MySQL.
11. Software yang digunakan dalam penelitian ini adalah Dreamwever. 12. Proses pencarian steiner tree dari ringkasan banyak teks artikel berita
dilakukan secara offline.
13. Representasi Graph menggunakan Adjacency Matrix.
14. Segmentasi kalimat dilakukan berdasarkan simbol titik untuk membagi artikel kedalam beberapa kaliamt.
Metodologi Penelitian
Metode penelitian yang akan dilakukan dalam penelitian ini adalah dengan melakukan penelitian deskriptif, yakni metode penelitian yag sistematika dan akurat mengenai keadaan fakta penelitian. Gambaran tersebut diperoleh dengan cara mengumpulkan, mengklasifikasikan, menyajikan seta menganalisis data sehingga dapat ditaring suatu kesimpulan. Metode ini dibagi menjadi dua, yaitu pengumpulan data dan pembangunan perangkat lunak.
1.5.1. Metode Pengumpulan Data
Metode pengumpulan data yang digunakan adalah dengan melakukan studi literatur. Pada tahap ini, penggunaan metode pengumpulan studi literatur adalah untuk mencari informasi yang berkaitan dengan permasalahan sekaligus berkaitan erat dengan teknik peringkasan maximum marginal relevance dan penggunaan algoritma steiner tree dalam beberapa penelitian. Tahap ini dilakukan dengan mengumpulkan literatur, jurnal, paper, buku-buku dan bacaan-bacaan yang dapat membantu menyelesaikan penelitian ini.
1.5.2. Metode Pembangunan Perangkat Lunak
Metode yang digunakan dalam pembangunan perangkat lunak pada penelitian ini adalah metode waterfall. Secara garis besar, metode Waterfall
meliputi beberapa tahapan proses [6], diantaranya: 1. Requirement Analysis (Analisis Kebutuhan)
(14)
5
Pada tahap ini dilakukan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini dilakukan dengan studi literatur. Kemudian, dilakukan analisis terhadap algoritma yang akan diimplementasikan yakni terdiri dari penggunaan metode maximum marginal relevance dan algoritma steiner tree. Selain itu, analisis yang dilakukan antara lain analisis non-fungsional (kebutuhan hardware dan
software), serta analisis fungsional meliputi usecase diagram, class diagram,
Activity Diagram dan squencediagram.
2. System Design (Perancangan Sistem)
Proses desain akan menerjemahkan syarat kebutuhan kesebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dilakukan coding. Tahap ini memiliki tujuan dalam memberikan gambaran apa yang haris dikerjakan dan bagamana tampilannya. Tahap ini serupa dengan perancangan storyboard pra implementasi.
3. Implementation/Coding
Tahap implementasi yakni berupa penerapan hasil rancangan kepada program merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer. Pada tahap ini dilakukan pemrograman pada sistem yang dibangun, sekaligus melakukan implementasi algoritma didalamnya. Selain itu, pada tahap ini pula dilakukan pemeriksaan, apakah sistem yang sudah dibuat sudah memenuhi fungsi yang diinginkan atau belum.
4. Integration & Testing
Tahapan ini bisa dikatakan sebagai tahap final dalam pembuatan sebuah sistem. Karena, pada tahap ini dilakukan pengujian dari segi lojik apakah sistem yang sudah dibangun terdapat kesalahan atau tidak. Maka, dalam tahap pengujian digunakan metode pengujian berupa whitebox.
(15)
Analisys Design Code Test System Information
Engineering
Gambar 1.1 Pemodelan Waterfall [6]
1.5.3. Metode Pengujian
Metode pengujian yang digunakan untuk melakukan evaluasi terhadap perangkat lunak atau sistem pencariann alur kronologis adalah teknik pengujian ketergunaan (Usability Testing). Dengan teknik ini, dilakukan pengujian perangkat lunak dengan langsung kepada pengguna. Usability memiliki lima komponen diantaranya learnability, effeciency, memorability, Errors dan Satisfaction.
Tujuan dari metode pengujian Usability Testing ini adalah menginformasikan desain dengan mengumpulkan data untuk mengidentifikasi dan memperbaiki kekurangan kegunaan yang ada dalam produk dan bahan pendukung sebelum rilis, mengeliminasi problem desain dan meminimalisir kesalahan serta menunjukan keuntungan yang diperolah dari sistem [7].
Ada beberapa langkah dalam proses melakukan pengujian ketergunaan
(usability testing) diantaranya [7]:
1. Mengembangkan perencanaan pengujian 2. Mengatur lingkundan pengujian
3. Mencari dan memilih partisipan 4. Menyiapkan bahan pengujian 5. Melakukan sesi pengujian
6. Mengadakan wawancara terhadap partisipan dan pengamat 7. Analisa data dan observasi
(16)
7
Gambar 1.2 Langkah-Langkah Pengujian Usability Testing
Sistematika Penulisan
Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini menjelaskan tentang latar belakang masalah mengenai hal-hal yang menjadi kajian penelitian, merumuskan masalah, menentukan batasan masalah, mengutarakan maksud dan tujuan serta menjelaskan mengenai metode penelitian dan sistematika penulisan yang dimaksudkan untuk memberikan gambaran tentang penyajian laporan ini.
BAB II LANDASAN TEORI
Bab ini menjelaskan tentang metode maximum marginal relevance, teori graf, approximation steiner tree algorithm dan Storyline (alur kronologis) serta bahasa pemograman yang digunakan berikut konsep dasar dan teori-teori yang berhubungan dengan topik penelitian yang akan dilakukan.
BAB III ANALISIS DAN PERANCANGAN
Bab ini menjelaskan tentang analisis masalah berkaitan dengan tahapan dalam penggunan metode MMR dan algoritma steiner tree dalam menentukan
Storyline dokumen berita analisis kebutuhan fungsional dan perancangan antarmuka yang menggambarkan bagaimana sistem dapat menentukan Storyline
(17)
BAB IV IMPLEMENTASI DAN PENGUJIAN
Bab ini menjelaskan implementasi, kebutuhan perangkat lunak, kebutuhan perangkat lunak yang digunakan, implementasi pada sistem yang dibangun, implementasi antarmuka dan pengujian sistem dari penerapan metode maximum marginal relevance juga algoritma steiner tree yang digunakan.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpuan yang diperoleh dari hasil implementasi dan pengujian bahwa tujuan awal dalam penelitian ini tercapai atau tidak, serta berisi saran untuk pengembangan terhadap penelitian dan pembangunan sistem dalam menentukan Storyline dokumen berita.
(18)
9
LANDASAN TEORI
Maximum Marginal Relevance
Algoritma mazimum marginal relevance (MMR) merupakan salah satu metode ekstraksi ringkasan (extractive summary) yang digunakan untuk meringkas dokumen tunggal atau multi dokumen [3]. MMR meringkas dokumen dengan menghitung kesamaan (similiarity) antara bagian teks.
Pada peringkasan dokumen dengan metode MMR dilakuakn proses segmentasi dokumen menjadi kalimat dan dilakukan pengelompokan sesuai dengan gendeer kalimat tersebut. MMR digunakan dengan mengkombinasikan matrik cosine similiaritu untuk merangking kalimat-kalimat sebagai tanggapan pada query yang diberikan oleh user.
Text Processing
Dalam melakukan pemrosesan teks terdapat beberapa tahap, yakni masing-masing dapat dijelaskan sebagai berikut:
2.2.1. Case Folding
Case folding merupakan proses penyamaan case dalam sebuah dokumen teks [3]. Case folding dilakukan karena total semua dokumen teks konsisten dalam menggunakan huruf kapital. Untuk itu peran case-folding dibutuhkan dalam merubah kseluruhan teks dalam dokumen menjadi bentuk standar yang secara umum diubah kedalam bentuk huruf kecil.
2.2.2. Tokenizing
Tokenizing merupakan proses pemotongan string masukan berdasarkan tiap kata yang menyusunya [3]. Prinsipnya, dilakukan pemisahan setiap kata yang menyusun dokumen teks tersebut. Setiap kata teridentifikasi atau terpisahkan dengan kata yang lain oleh karakter spasi, maka proses tekenizing dilakukan untuk memisahkan kata.
(19)
Kata
Hapus Kata yang masuk dalam
kamus
Kata filter
Kamus Stopwords
Gambar 2.1 Activity Diagram Filtering
2.2.3. Filtering dan Eliminasi Stopwords
Eliminasi Stopwords dilakukan dengan mengambil kata-kata penting dari hasil token. Dalam proses ini dapat dilakukan pembuangan kata yang kurang penting (stop list) atau penyimpanan kata yang dianggap penting (word list).
Penggunaan eliminasi stopwords berfungsi untuk menghilangkan kata-kata yang dianggap tidak penting, secara umum kandidat stopwords seperti article, preposisi, dan konjungsi. Beberapa kata kerja, kata sifat dan kata keterangan lainnya dapat juga dimasukan kedalam daftar stopwords.
2.2.4. Stemming
Stemming merupakan cara yang digunakan untuk mentransformasikan kata-kata dalam sebuah dookumen teks menjadi kata-kata dasarnya. Pada proses ini dilakukan dengan menghilangkan semua imbuhan (afiks) baik yang terdiri dari awalan (prefiks) sisipan (infiks) maupun akhiran (sufiks) dan kombinasi dari awalan dan akhiran (konfiks). Stemming ini digunakan untuk mengganti bentuk dari suatu kata menjadi kata dasar sesuai dengan struktur morfologi bahasa yang baik dan benar. Proses stemming pada teks bahasa indonesia lebih rumit dan kompleks karena terdapat variasi imbuhan yang harus dibuang untuk mendapatkan root word (kata
(20)
11
dasar) dari sebuah kata. Pada umumnya kata dasar pada bahasa indonesia terdiri dari kombinasi [8] :
Prefiks 1 + Prefiks 2 + Kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1
Ada beberapa algoritma dalam melakukan proses stemming. Algoritma ini tergantung dengan bahasa yang digunakan, khususnya bahasa Indonesia. Dalam bahasa indeonesia pun terdapat beberapa algoritma yang dikembangkan, dalam hal ini adalah algoritma Enhanced Confix Stripping (ECS). Algoritma ECS ini memiliki tingkat kelasalahn stemming paling sedikit karena merupakan pengembangan dari algoritma Confix Stemmer [9]. Perbaikan yang dilakukan oleh ECS Stemmer adalah perbaikan beberapa aturan pada tabel acuan pemenggalan imbuhan. Selain itu, algoritma ECS Stemmer juga menambahkan langkah pengembalian akhiran jika terjadi penghilangan akhiran yang seharusnya tidak dilakukan.
(21)
Start Input
Data Cek kamus
Kata Ada di Kamus
Cek Rule Precedence
Rule Precedence Hapus Deriv ation
Prefix
Hapus Possecive Pronoun
Recording
Hapus Possecive Pronoun
Hapus Deriv ation Suffix
Ya Tidak
Hapus Derivatio n Suffix
Hapus Deriv ation Prefix
Recording Hapus Sisipan
Cek Kamus
Kata ada di Kamus Hapus Pengulangan
Dwipurwa
Loop Pengambilan Akhiran
Hasil Stemming
End
Tidak
Tidak
Ya
Ya
Gambar 2.2 Algoritma ECS [9]
Cosine Similiarity
Cosine similiarity digunakan untuk menghitung pendekatan relevansi query
terhadap dokumen [10]. Penentuan relevansi sebuah query terhadap suatu dokumen dipandang sebagai pengukuran kesamaan vektor query dengan vektor dokumen. Semakin besar nilai kesamaan vektor query dengan vektor dokumen maka query
tersebut dipandang semakin relevan dengan dokumen. Saat mesin menerima query,
(22)
13
pada query dan sebuah vektor D (Di1,Di2, Dit) berukuran t untuk setiap dokumen.
Pada umumnya cosine similiarity dihitung dengan rumus cosine measure
(Grossman, 1998). Berikut ini adalah gambaran bagaimana query dan dokumen dibentuk menjadi model vektor.
è1
è2
Q
D
t
D1
t
t
Gambar 2.1 Vektor Skalar [3]
Penggunaan cosine similiarity adalah tindak lanjut dari proses pembobotan TF-IDF. Dari hasil pembobotan maka dicarilah kemiripan daintara dokumen yang ada. Namun penerapannya dalam MMR adalah kemiripan kalimat-kalimat dalam sebuah dokumen tekstual. Persamaannya dapat digambarkan sebagai berikut:
�� Θ = ∑ � �
√∑ d2 √∑ d2 2.1
Database dari semua dokumen direpresntasikan oleh matriks term-document (atau matriks term-frequency). Dimana setiap sel pada matriks
berkorespondensi dengan bobot yang diberikan dari suatu term dalam dokumen yang ditentukan. Nilai nol berarti bahwa term tidak terdapat dalam dokumen.
(23)
[
�
� � �� …… � �
⋮ ⋮ �⋮ …⋱
��
��
��
⋮ �� � � � � … ���]
2.2
Pembobotan MMR
MMR (maximum marginal relevance) adalah metode peringkasan yang menggunakan dokumen tunggal ataupun multi-dokumen [3]. Teknik ini menerapkan penghitungan kesamaan (similiarity) antara segmentasi teks. Segmentasi ini dilakukan terhadap kalimat-kalimat dan dilakukan pengelompokan sesuai jenis kalimat tersebut. MMR digunakan dengan mengkombinasikan matrik
cosine similiarity untuk merangking kalimat-kalimat sebagai tanggapan pada query
yang diberikan oleh user.
Pembobotan maximum marginal relevance pada kalimat menggunakan algoritma MMR. Kelimat dirangking sebagai tanggapan terhadap query yang telah dimasukan oleh user. Perhitungan MMR dilakukan dengan perhitungan iterasi antara kombinasi dua matrik cosine similiarity yakni query releance dan similiarity
kalimat.
Pengguna yang menginginkan ruang sampel informasi disekitar query, maka harus menetapkan pada nilai yang lebih rendah. Sedangkan bagi pengguna yang ingin fokus untuk memperkuat dokumen-dokumen lebih relevan, maka harus menetapkan pada nilai yang lebih dekat dengan . Kalimat dengan nilai MMR
tertinggi dari setiap perhitungan iterasi akan diambil, kemudian dipilih sebagai ringkasan. Iterasi berhenti pada saat hasil MMR maksimum sama dengan 0.
(24)
15
Start
Stop Input dokumen dan
kalimat Query
Text Processing
Pembobotan TF-IDF
Pembobotan Query relevance similiaritu kalimat
Pembobotan MMR
Ekstraksi Ringkasan
Gambar 2.5 Proses Peringkasan Dengan Menggunakan MMR[3]
Pembobotan TF-IDF
Term Frequency (tf)factor, yaitu faktor yang menentukan bobot term pada suatu dokumen berdasarkan jumlah kemunculannya dalam dokumen tersebut [3]. Nilai jumlah kemunculan suatu kata (term frequency) diperhitungkan dalam pemberian bobot terhadap suatu kata. Semakin besar jumlah kemunculan suatu term (tf tinggi) dalam dokumen, semakin besar pula bobotnya dalam dokumen atau akan memberikan nilai kesesuian yang semakin besar.
Inverse Document Frequency (idf) factor, yaitu pengurangan dominansi term yang sering muncul di berbagai dokumen. Hal ini diperlukan karena term yang banyak muncul di berbagai dokumen, dapat dianggap sebagai term umum (common term) sehingga tidak penting nilainya [3]. Sebaliknya faktor kejarangmunculan kata (term scarcity) dalam koleksi dokumen harus diperhatikan dalam pemberian bobot.
(25)
Menurut Mandala (dalam Witten, 1999) ‘Kata yang muncul pada sedikit dokumen
harus dipandang sebagai kata yang lebih penting (uncommon tems) daripada kata yang muncul pada banyak dokumen. Pembobotan akan memperhitungkan faktor kebalikan frekuensi dokumen yang mengandung suatu kata (inverse document frequency). Hal ini merupakan usulan dari George Zipf. Zipf mengamati bahwa frekuensi dari sesuatu cenderung kebalikan secara proposional dengan urutannya.
Nilai idf sebuah sistem term (kata) dapat dihitung menggunakan persamaan sebagai berkut:
� � = �� (� �) 2.3
D adalah jumlah dokumen yang berisi term (t) dan dfi adalah jumlah kemunculan
term terhadap D. adapun algoritma yang digunakan untuk menghitung bobot (W)
masing-masing dokumen kata kunci (query), yaitu:
�
�,� = � �,�∗ � �� 2.4
Keterangan: d = dokumen ke-d
t = term ke-t dari kata kunci tf = term frekuensi/frekuensi kata
W = bobot dokumen ke-d terhadap term ke-t
Teori Graf
Graf digunakan untuk merepresentasikan objek-objek diskrit dan menjelaskan hubungan-hubungan antar objek-objek tersebut. Objek-objek diskrit biasanya digambarkan sebagai titik-titik terpisah (dapat disebut juga noktah), sedangkan hubungan antar objek-objek tersebut digambarkan dalam suatu garis [11]. Graf didefinisikan sebagai sistem yang terdiri dari 2 komponen, yaitu himpunan tak kosong V(G) yang anggotanya disebut titik dan himpunan sisi E(G) yang berupa himpunan pasangan tak terurut dari buah titik berbeda di V(G)
(26)
17
Kemudian, berdasarkan orientasi arah pada sisi, ada 2 jenis graf secara umum (Rio, 2010/2011) :
1. Graf tidak bearah, yaitu sisinya (edge) tidak memiliki orientasi arah 2. Graf berarah, yaitu sisinya (edge) memiliki orientasi arah.
Adapun yang disebut graf unik atau graf berbobot, yaitu suatu graf yang setiap sisinya memiliki bobot/nilai tersendiri.
2.6.1. Bipartit Graf
Graf Bipartit adalah graf yang simpulnya dapat dipisah menjadi dua himpunan, misalnya bagian U dan V, sedemikian sehingga setiap sisi pada grad tersebut menghubungkan sebuah simpul di U dengan sebuah simpul di V, grad tersebut dapat dinyatakan sebagai G(U,V). pula dengan simpul-simpul di V [12].
Kedua himpunan U dan V tersebut juga dapat dianggap sebagai suatu pewarnaan graf dengan dua warna. Apabila semua simpul di U diberi warna biru, dan semua simpul di V diberi warna hijau, masing-masing sisi akan mempunyai ujung yang berbeda warna, sama halnya dengan ketentuan pada masalah perwarnaan graf. Namun demikian, pewarnaan demikian (dua warna). Tidak mungkin dilakukan pada graf non-bipartit. Berikut ini adalah contoh dari graf bipartit.
(27)
2.6.2. Graf Basis Data
Graph Database merupakan sebuah teknologi penyimpanan dalam database sebagaimana graph pada umumnya yang terdiri dari kumpulan edge dan vertex
sehingga dapat diakses secara langsung melalui aplikasi dan mendukung OLTP. Graph database ini oleh para ahli digolongkan pada database jenis NoSQL. NoSQL adalah istilah umum yang merujuk pada penyimpanan data yang tidak mengikuti aturan dari Relational Database. NoSQL ini sangat cocok digunakan untuk pemrosesan Big Data dimana data mempunyai ukuran yang sangat besar serta data itu akan terus berkembang.
Lintasan
Dimisalkan G adalah suatu graf. Dan v dan w adalah 2 titik dalam G. Walk
didefinisikan sebagai barisan titik-titik berhubungan dan sisi (garis/edge) secara berselang-seling, diawali dari titik v diakhiri pada titik w. Lintasan (path) dengan asumsi n dari v ke w adalah walk dari v ke w yang semua garisnya berbeda. Dengan demikian dapat dituliskan sebagai v = v0 e1 v1 e2 v2 ... vn-1 en vn = w dengan ei ej
untuk i j. Lintasan sederhana dengan panjang n dari v ke w adalah path dari v ke w yang semua titiknya berbeda. Sehingga dapat ditulis dalam bentuk v = v0 e1 v1 e2
v2 ... vn-1 en vn = w dengan ei ej untuk i j dan vk vm untuk k m [13].
V6 V5
V4 V3
V2
V1
Gambar 2.2 Graf Lintasan (Path) [13]
Tree
Pohon (atau tree) didefinisikan sebagai graf terhubung yang tidak memuat lingkaran [1]. Dengan demikian, suatu lintasan merupakan salah satu contoh dari
tree. Bobot dari tree didefinisikan sebagai jumlah seluruh bobot sisi pada tree. Suatu graf dapat berupa directed graph ataupun undirected graph, hal ini bergantung pada objek-objek didalam graf tersebut. Jika terdapat hubungan antara
(28)
19
node (verteks) dalam graf bersifat sama untuk kedua arah, maka graf tersebut dikatakan graf berarah. Sedangkan jika hubungan tersebut berbeda, maka graf tersebut dikatakan graf tidak berarah. Di dalam teori graf, dikenal juga istilah graf terhubung dan sirkuit. Graf terhubung adalah graf yang setiap titiknya dapat dicapai oleh semua titik lain dalam graf tersebut, sedangkan yang dimaksud dengan sirkuit adalah lintasan/jalur yang berawal dan berakhir pada titik yang sama.
Gambar 2.3 Graf Terhubung[4]
Gambar 2.4 Graf tidak terhubung[4]
Gambar 2.5 Sirkuit[4]
Teori graf dikembangkan dengan hasil berupa tree theory. Tree adalah suatu graf terhubung yang tidak memiliki arah dan tidak mengandung sirkuit. Didalamnya dikenal dengan istilah pohon merentang (spanning tree). Jika terdapat sebuah graf terhubung dan tak berarah yang bukan tree (artinya graf yang memiliki sirkuit), maka graf tersebut dapat diubah menjadi pohon dengan cara memutuskan sirkuit-sirkuit yang ada. Langkah-langkahnya dapat dipaparkan sebagai berikut:
(29)
1. Pertama, dipilih sebuah sirkuit dalam graf
2. Kedua, hapus salah satu garis/sisi atau path dari sirkuit itu
3. Ketiga, Graf tersebut akan tetap terhubung, namun jumlah sirkuitnya berkurang Satu.
4. Keempat, Jika proses penghapusan tersebut dilakukan berulang-ulang hingga tidak ada lagi sirkuit tersisa, maka graf tersebut menjadi sebuah pohon.
Pohon itulah yang dapat disebut sebagai spanning tree (pohon merentang). Adapun pohon steiner memiliki kesamaan dengan pohon merentang. Namun,
steiner tree memiliki aturan tambahan.
Karena tidak ada dua bintang pengganti (star-replacement) melibatkan tepi yang sama, ini membuktikan bahwa solusi dikembalikan oleh algoritma
TerminalSteiner memiliki panjang di sebagian besar kali 2ρ panjang solusi optimal.
Perhatikan bahwa waktu berjalan dari garis 2, 4, 5, dan 6 dari algoritma TerminalSteiner adalah linier. Oleh karena itu total waktu menjalankan algoritma
ini didominasi oleh algoritma ρ-pendekatan yang digunakan untuk masalah pohon
Steiner.
2.8.1. Multi-view Graph
Multi-view graph merupakan G = (V,E,A) yakni graf yang terdiri dari
verteks, edge tidak berarah dan seperangkat edge terarah (arcs).Multi-view graph
dibentuk dari kumpulan summary dokumen berita tekstual sebagai V, perhitungan
E yang tidak terarah berdasarkan tingkat kemiripan dari dua buah summary text (V).
Sedangkan, perhitungan pada variabel A (edge berarah) berdasarkan perbedaan waktu dimana berita tersebut dipublikasikan yang merepresentasikan waktu kejadian itu berlangsung atau bisa dikatakan sebagai temestamp.
2.8.2. Himpunan Dominasi
Dominating Set (Himpunan Dominasi) adalah suatu konsep penentuan suatu titik pada graf dengan ketentuan titik sebagai dominating set meng-cover atau menutupi titik yang ada disekitarnya dan seminimal mungkin dengan ketentuan graf
(30)
21
sederhana yang tidak memiliki loop dan sisi ganda. Himpunan ini merupakan himpunan bagian V’ dari himpunan V(G) dimana titik-titik yang tidak berada pada
V’ terhubung langsung dengan minimal satu titik pada V’.
2.8.3. Steiner tree
Algoritma Steiner tree adalah sekumpulan subset atau bagian tertentu dari
vertices pohon rentang (spanning tree). Tree adalah graf terhubung yang tidak memuat lingkaran (sirkuit). Dengan demikian, suatu lintasan merupakan salah satu contoh dari tree. Bobot dari tree didefinisikan sebagai jumlah seluruh bobot sisi
(edge) pada tree. Pada vertices yang merupakan bagian dari tree dibagi dua bagian yakni terminal dan simpul non terminal. Terminal adalah pemberian node yang harus mengandung solusi atau nilai. Cost dari pohon steiner didefinisikan sebagai
edge total weight. Pohon steiner dapat mengandung beberapa simpul nonterminal untuk mengurangi cost. Algoritma ini dihasilkan dari algoritma heuristik, yakni sebuah aproksimasi. Akibatnya, bobot steiner yang dihasilkan itu belum tentu merupakan bobot yang minimum. Walau demikian terdapat batasan dalam pembobotan Steiner tree heuristic.
2.8.4. Aproksimasi Steiner tree
Secara khusus, penggunaan algoritma aproksimasi steiner tree akan memberikan waktu perhitungan yang lebih cepat dibandingkan dengan algoritma
steiner tree yang eksak [5]. Walaupun hasilnya tidak seakurat algoritma eksak, metode aproksiamsi steiner tree dapat menentukan tree hampiran untuk graf dengan banyak titik sekitar 100 buah dalam waktu kurang dari 1 detik.
Penggunaan greedy sebagai algoritma heuristik untuk melakukan solusi aproksimasi dapat dilakukan untuk menentukan pohon steiner. Hanya saja, penggunaan algoritma greedy tidak selalu memberikan solusi yang optimal, namun algoritma greedy pasti memberikan solusi mendekati optimum (approximation)
(31)
Alur Kronologis
Alur adalah urutan kejadian (peristiwa) yang mempunyai hubungan kausalitas (sebab-akibat) untuk menghantarkan runtunan kejadian tersebut kepada pembaca. Pada dasarnya alur dan plot memiliki perbedaan. Plot adalah suatu cerita yang saling berkaitan secara kronologis untuk menunjukan suatu maksud jalan cerita. Sedangkan alur hanya menunjukan urutan kejadian berdasarkan waktu kejadian tersebut terjadi. Dengan kata lain, urutan peristiwa yang membentuk alur bila ditampilkan berdasarkan pertimbangan struktur hubungan satu sama lain dan keterkaitan kausalitasnya maka dapat membentuk sebuah plot.
Alur kronologis adalah nama lain dari alur maju, alur lurus atau alur progresif. Peristiwa-peristiwa ditampilkan secara kronologis, maju, secara runtut dari awal tahap tengah hingga akhir. Dalam alur ini terdapat hitungan jam, menit, detik, hari dan sebagainya.
Gambar 2.6 Contoh Alur Kronologis “Revolusi Mesir”[15]
Demonstran bentrok dengan
polisi
Tidak ada pernyataan
Mubarak
Pengumuman
Api meluas ke musium
Pelindung manusia lindungi
Musium
Harapan antiquitis ok
Looters hancurkan mumi
Revolusi diikuti Eritrea
Rakyat diundang untuk mendukung
(32)
23
2.9.1. Menentukan Alur Kronologis
Sebagaimana telah dibahas berkaitan dengan alur kronologis dari berita tekstual, alur kronologis ini dihasilkan dari kumpulan hasil ringkasan yang relevan. Secara intuitif, dapat diambil ringkasan terbaik untuk merepresebtasujab ringkasan yang duplikat. Represetatif dari artikel tekstual berupa ringkasan menghasilkan plot dasar untuk setiap fase. Kemudian dari setiap representatif berita tekstual yakni ringkasan tersebut dikoneksikan atau dihubungkan sesuai untuk menggambarkan pengembangan struktur dari peristiwa (event). Secara berurut, untuk mengeliminasikan noisy dari ringkasan artikel, hanya teks terpublikasi setelah waktu tertentu yang dapat dianggap sebagai fase berikutnya. Terakhir, ada yang boleh dalam cara yang berbeda untuk menghubungkan representatif artikel dengan dan sebuah hubungan optimal seharusnya menjadi satu yang menghubungkan titik-titik tersebut lebih halus.
Berikut ini adalah arsitektur sistem untuk menghasilkan alur kronologis
Titik dominan Steiner Tree
Kumpulan Artikel
Ringkasan berita tekstual MMR
Query Alur Kronologis
Gambar 2.7 Arsitektur Sistem [15]
2.9.2. Alur Kronologis yang Baik
Dalam menggenerasikan alur kronologis atau Storyline tentu pembahasan yang paling pokok adalah bagaimana hasil yang diberikan oleh sistem memiliki unsur-unsur berikut (Anunaya Srivastava):
(33)
2. Relevan : memiliki keterkaitan antara dokumen berita yang satu dengan yang
lainnya.
3. Redudansi kecil atau sedikit: tidak ada pengulangan terhadap berita atau sedikit.
4. Keterkaitan : Keterhubungan antar dokumen. 5. Coverage : mewakili sebuah ulasan.
Tingkat Komulatif Kejadian (Tingkat Insidensi Komulatif)
Dalam pembahasan berkaitan dengan ilmu kesehatan sering di istilahkan sebagai Tingkat Insidensi Komulatif. Tingkat insiden (incident rate) adalah proporsi penduduk yang memiliki kondisi tertentu yang dimulai selama periode waktu. Angka ini diukur dengan salah satu dari tiga cara, yaitu tingkat serangan, tingkat kepadatan kejadian, atau risiko kejadian kumulatif [16].
Namun, dalam hal ini, Tingkat Kumulatif Kejadian menunjukan sejumlah atau banyaknya kejadian maupun peristiwa yang terjadi dalam kurun waktu tertentu.
OOP (Object Oriented Programming)
OOP (Object Oriented Programming) adalah sebuah istilah yang diberikan kepada bahasa pemrograman yang menggunakan tehnik berorientasi atau berbasis pada sebuah obyek dalam pembangunan program aplikasi, maksudnya bahwa orientasi pembuatan program tidak lagi menggunakan orientasi linear melainkan berorientasi pada objek-objek yang terpisah-pisah. Suatu perintah dalam bahasa ini diwakili oleh sebuah Obyek yang didalamnya berisi beberapa perintah-perintah standar sederhana. Obyek ini dikumpulkan dalam Modul form atau Report atau modul lain dan disusun didalam sebuah project. Gambaran tentang pemrograman ini seperti dibawah ini :
(34)
25
Gambar 2.8 Skema OOP [17]
2.11.1. Konsep Dasar Berorientasi Objek
Pemrograman borientasi objek menekankan pada konsep-konsep berikut yang merupakan ciri khasnya, yaitu :
1. Kelas
Kelas adalah kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi
object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. Objek Objek membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
Properties Pengatur
Obyek
OBJECT PROGRAM /
TOOLBOX REPORT
FORM
DATABAS OTHERS
(35)
2. Abstraksi
Abstraksi merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
3. Enkapsulasi
Enkapsulasi memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
4. Polimorfisme
Polymorphism (polimorfisme) berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi. Contoh yang konkrit dalam dunia nyata yaitu mobil. Mobil yang ada dipasaran terdiri atas berbagai tipe dan berbagai merk, namun semuanya memiliki interface kemudi yang sama, seperti: stir, tongkat transmisi, pedal gas dan rem. Jika seseorang dapat mengemudikan satu jenis mobil saja dari satu merk tertentu, maka orang itu akan dapat mengemudikan hamper semua jenis mobil yang ada, karena semua mobil tersebut menggunakan interface yang sama. Harus diperhatikan disini bahwa interface yang sama tidak berarti cara kerjanya juga sama. Missal pedal gas, jika ditekan maka kecepatan mobil akan
(36)
27
meningkat, tapi bagaiman proses peningkatan kecepatan ini dapat berbeda-beda untuk setiap jenis mobil.
5. Inheritas
Inheritas mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut ( bahasa berbasis objek tidak selalu memiliki inheritas.) Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
UML (Unified Modeling Language)
Unified Modeling Language (UML) merupakan salah satu alat bantu yang
dapat digunakan dalam bahasa pemograman yang berorientasi objek, saat ini UML
akan mulai menjadi standar masa depan bagi industri pengembangan sistem/perangkat lunak yang berorientasi objek sebab pada dasarnya UML digunakan oleh banyak perusahaan raksasa seperti IBM, Microsoft, dan sebagainya [18].
(37)
Unified Modeling Language merupakan metode pengembangan perangkat lunak (sistem informasi) dengan menggunakan metode grafis serta merupakan bahasa untuk visualisasi, spesifikasi, konstruksi serta dokumentasi.
1. Unified Modeling Language (UML) adalah bahasa yang telah menjadi standard untuk visualisasi, menetapkan, membangun dan mendokumentasikan arti suatu sistem perangkat lunak.
2. Unified Modeling Language (UML) dapat didefinisikan sebagai sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak.
3. Unified Modeling Language (UML) merupakan standard modeling
language yang terdiri dari kumpulan-kumpulan diagram, dikembangkan untuk membantu para pengembang sistem dan software agar bisa menyelesaikan tugas-tugas seperti :
a. Spesifikasi b. Visualisasi c. Desain arsitektur d. Konstruksi
e. Simulasi dan testing f. Dokumentasi
Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik
kesimpulan bahwa “Unified Modeling Language (UML) adalah sebuah bahasa yang
berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (OOP) (Object Oriented programming)”.
UML sendiri terdiri atas pengelompokkan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu; use-case, class, object, state, sequence, collaboration, activity, component, dan deployment diagram. Namun, akan dijelaskan beberapa yang akan digunakan.
(38)
29
2.12.1. Use Case Diagram
Diagram Use Case menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar. yang menjadi persoalan itu apa yang dilakukan bukan bagaimana melakukannya. Diagram Use Case dekat kaitannya dengan kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem.
Gambar 2.2 Use Case Diagram
2.12.2. Activity Diagram
Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain.
Actor
Cancel Appointment
Make Appointment
Check Patient Record Request
Medication
Pay Bill
Extension Points
More Treatment
Bill Insurence
Schedul er
Doctor
Clerk Defer Payment
<<include>>
<<include>>
<<extend>>
system name
System Boundary
Include Use Case
Extende Use Case
extention point
generalization
Use Case
(39)
2.12.3. Class Diagram
Diagram Class memberikan pandangan secara luas dari suatu sistem dengan menunjukan kelas-kelasnya dan hubungan mereka. Diagram Class bersifat statis; menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan.
Gambar 2.3 Class Diagram
2.12.4. Sequence Diagram
Diagram Class dan diagram Object merupakan suatu gambaran model statis. Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.
Customer
name address
Order
date status calcTax calcTotal calcTotalWight 1
0..*
Payment
amount
Credit
number type expDate authorized
Cash
cashTendered
Check
number type expDate authorized
OrderDetail
quantity taxStatus calcSubTotal calcWeight
Item
shippingWeight description getPriceForQuantity getWeight
multiplicity
navigability role name
asociation
abstract class
generatization
1
1..*
line item
0..* 1
1..* 0..*
class name attributes operation
(40)
31
Gambar 2.4 Sequence Diagram
Pengujian Perangkat Lunak
Ujicoba perangkat lunak merupakan elemen yang kritis dan perepresentasikan tinjauan ulan yang menyeluruh terhadap spesifikasi, desain dan pengkodean. Ujicoba merepresentasikan ketidanormalan yang terjadi pada pengembangan perangkat lunak [19]. Dari teknik yang dapat diterapkan dalam menguji suatu perangkat lunak dapat menggunakan dua jenis pengujian yang umum digunakan, yakni:
2.13.1. Pengujian Whitebox
Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software [19]. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya (Ayuliana, 2009):
1. Fungsi-fungsi yang salah atau hilang
Window
UserInterface
aChain
HotelChain
aHotel
Hotel
makeReservation ():void
makeReservation ():void
*[for each day] isRoom := available():boolean
[isRoom]
aReservation
Reservation
aNotice
Confirmation if a room is available for each
day of the stay, make a reservation and send a
confirmation
note
creation condition iteration
activation bar message
delection lifetime object
(41)
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
2.13.2. Pengujian Ketergunaan (Usability Testing)
Ketergunaan atau Usability adalah ketika suatu produk memiliki kegunaan yakni seorang pengguna dapat melakukan apa yang dia ingin lakukan dengan cara yang ia harapkan untuk dapat melakukannya, tanpa halangan, ragu-ragu atau pertanyaan [7]. Dalam konsep usability ada beberapa atribut yang menunjukan bahwa suatu produk atau sistem memiliki ketergunaan yakni suatu produk harus melingkupi beberapa hal [7]:
1. Usefulness
Atribut ini menyangkut sejauh mana suatu produk memungkinkan pengguna dalam mencapai tujuan-tujuannya dan penilaian pengguna terhadap kesediannya untuk menggunakan produk tersebut. Namun, dorongan untuk menggunakan sistem atau produk tersebut akan tidak masuk akal bilamana produk hanya dibiarkan tanpa ada ketergunaan. Jika sistem mudah digunakan, mudah untuk dipelajari dan memuaskan untuk digunakan tapi tidak mencapai tujuan yang spesifik dari pengguna tertentu, hal itu pun tidak akan berguna meskipun diberikan secara gratis.
Artinya, pada tahap awal pengembangan produk, harus memastikan produk atau fitur apa yang diperlukan dalam sistem sebagai unsur-unsur kegunaan.
2. Efficiency
Efesiensi adalah kecepatan yang dapat dicapai untuk merealisasikan tujuan pengguna dengan akurasi tertentu dan ukuran waktu yang normal. Misalnya, menetapkan pengujian ketergunaan yang mengatakan “95% dari semua pengguna akan dapat memuat (menjalankan) perangkat
(42)
33
3. Effectiveness
Efektivitas mengacu pada sejauh mana produk berperilaku dimana pengguna berharap akan kemudahan. Selain itu, pengguna padat menggunakannya untuk melakukan apa yang mereka inginkan. Hal ini biasanya diukur secara kuantitatif dengan tingkat kesalahan. Kegunaan dalam pengujian berdasarkan ukuran efektivitas sekaligus untuk efesiensi harus diikat kedalam beberapa persentase dari total pengguna. Memperluas contoh dari efisiensi yang mungkin dinyatakan sebagai 95% dari semua pengguna akan dapat memuat atau menjalankan perangkat lunak dengan benar pada usaha yang pertama.
4. Satisfying
Mengacu pada persepsi pengguna, perasaan maupun pendapat dari pada produk tersebut. Biaranya diperoleh dari kedua pertanyaan baik tertulis maupun lisan. Pengguna lebih mungkin untuk melakukan dengan baik pada produk yang memenuhi kebutuhan mereka sehingga memberikan kepuasan. Biasanya, pengguna diminta untuk menilai produk atau sistem yang mereka coba dan ini sering dapat mengungkapkan penyebab dan alasan bagaimana suatu masalah dapat terjadi.
5. Learnable
Learnable merupakan bagian dari efektivitas dan memiliki kaitan erat dengan kemampuan pengguna dalam mengoperasikan sistem untuk beberapa tingkat yang ditetapkan secara kompetensi yang telah ditentukan setelah beberapa jumlah dan periode pelatihan. Hal ini juga dapat mengacu pada kemampuan pengguna yang jarang mempelajari kembali sistem setelah periode tidak aktif.
6. Accessible
Aksesibilitas dan kegunaan adalah dua istilah yang memiliki kesamaan layaknya saudara. Dalam arti luas, aksesibilitas adalah berkaitan dengan jalan atau kepemilikan suatu akses kedalam produk atau sistem yang dibutuhkan untuk mencapai tujuan. Dalam
(43)
pembahasan ini, aksesibilitas mempertimbangkan bagi penyandang cacat dapat memperjelas dan menyederhanakan desain untuk orang-orang yang menghadapi keterbatasan sementara (misal, cedera) atau situasional (misalnya kondisi lingkungan perhatian atau buruk dibagi seperti cahaya terang atau tidak cukup cahaya). Ada banyak perangkat pedoman yang tersedia dalam membuat desain aksesabel.
Membuat hal-hal yang lebih bermanfaat dan dapat diakses adalah bagian dari disiplin yang lebih besar dari desain yang berpusat pada pengguna.
2.13.3. Notasi Big O
Berikut ini merupakan beberapa contoh nilai Big-O yang bisa ditemukan dalam beberapa literatur [20] :
1. O(1): konstan. Algoritma dengan O-Besar O(1) dieksekusi di kecepatan yang sama tidak tergantung pada data masukannya. Sebagai contoh, algoritma yang selalu menghasilkan nilai yang sama apapun nilai masukannya dapat dipandang sebagai algoritma dengan efisiensi O(1). Contoh lain adalah algoritma untuk menentukan suatu bilangan genap atau ganjil, look table atau hash table adalah konstan ukuran tabel tetap. O(log n): logaritmik. Algoritma yang didasarkan pada pohon biner kerap mempunyai efisiensi O(log n). Hal ini disebabkan karena BST (binary search tree) yang sangat seimbang mempunyai banyak lapisan log dan untuk mencari sembarang elemen di BST memerlukan penelusuran satu simpul di setiap lapisan. Algoritma untuk mencari suatu item di array terurut menggunakan pencarian biner atau balanced search tree serta semua operasi di binomial heap adalah O(log n).
2. O(n): linear. Pencarian linear untuk menemukan suatu elemen dalam suatu array tak urut dengan n elemen. Algoritma tipe ini hanya memerlukan satu putaran untuk seluruh array. Keadaan terbaik terjadi jika yang dicari terletak di posisi pertama sehingga O(1). Keadaan terjelek terjadi jika elemen yang dicari terletak di posisi terakhir atau tidak ada dalam array. Untuk itu
(1)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
denominator in the equation 2.1. For example take the value segment of the sentence S1:
√∑ � � pada segmen 2 adalah √ .2 = 2.5
Thus, the overall result, as follows:
Table 2.7 Calculation " vector lengths " Q S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 1.804 2.5 2.853 2.207 1.768 2.772 2.24 1.283 3.266 3.33 3.323 1.424 3.279 Then, apply the formula for calculating the Cosine Similarity similarity query with the segmentation of other sentences. In S2, as follows:
COS (Q, S2) = . .∗ . = 0.044
Thus, Retrieved:
Table 2.8 Similiarity Value Between Segments Q S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 Q 1 0 0.044 0.028 0 0.155 0 0 0 0.019 0 0 0
S1 0 1 0.006 0 0.01 0.006 0 0 0 0.011 0 0.013 0.005
S2 0.044 0.006 1 0.251 0.112 0.118 0.149 0.111 0 0.091 0.012 0.011 0.051 S3 0.028 0 0.251 1 0.029 0.018 0.193 0 0 0.144 0.051 0 0.06
S4 0 0.01 0.112 0.029 1 0.009 0.029 0.179 0 0.259 0.019 0.018 0.008
S5 0.155 0.006 0.118 0.018 0.009 1 0 0 0 0.022 0 0.011 0.005
S6 0 0 0.149 0.193 0.029 0 1 0 0.09 0.073 0.05 0 0.185
S7 0 0 0.111 0 0.179 0 0 1 0 0 0 0 0
S8 0 0 0 0 0 0 0.09 0 1 0.061 0 0.142 0
S9 0.019 0.011 0.091 0.144 0.259 0.022 0.073 0 0.061 1 0.13 0.298 0.048 S10 0 0 0.012 0.051 0.019 0 0.05 0 0 0.13 1 0 0.085 S11 0 0.013 0.011 0 0.018 0.011 0 0 0.142 0.298 0 1 0.01 S12 0 0.005 0.051 0.06 0.008 0.005 0.185 0 0 0.048 0.085 0.01 1
MMR calculation method is done by counting the iterations between any combination of two matrix cosine similiarity query the relevance and similiarity sentence. When the sample space information will be taken around the query, then it should set λ at a lower value. However, if you want to focus on strengthening the relevant documents then set λ at a value closer to λ. Sentences with the value of the highest MMR sentence that will be representative of textual news articles.
��
= ��� ���
� � \ [� � � ,
−
− �
� � � � , � ]
���
(2-1)
From the analysis, the results obtained iteration as follows:
Table 1.1 Iteration
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 Q1 0 0.044 0.028 0 0.155 0 0 0 0.019 0 0 0
S1 0 0 -0.002 -0.0012
S2 0.0352 -0.015 0.0116
S3 0.0224 0.0188
S4 0 -0.0058 -0.0018
S5 0.124
S6 0 -0.0386 0
S7 0 0 0
S8 0 0 0
S9 0.0152 -0.0136 0.0108
S10 0 -0.0102 0
S11 0 0 -0.0022
S12 0 -0.012 -0.001
Table 2.9 Results iteration MMR Iterasi ke S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12
1 0 0.035 0.022 0 0.124 0 0 0 0.015 0 0 0
2 - 0.012 0.0188 - 0 0 0 0.0108 0 - -
3 - - - 0 0 - - 0 -
Table 2.10 Thickness Maximum MMR in MMR iteration.
Iterasi ke Kalimat Bobot ArgMax MMR
MMRMAX(1) S5 0.124
MMRMAX(2) S3 0.0188
From the calculation of MMR, then obtained by the extraction of the following sentences:
Table 2.11 MMR Extraction Results
Kalimat ke
Kalimat
S5 rencana tersebut mungkin suatu kontroversial karena kebijakan perang irak makin tidak populer di mata publik as.
S3 laporan-laporan media memberikan perkiraan antara 9.000 dan 40.000 tambahan tentara akan dikirim ke irak
2.3 Steiner Tree Algorithm Analysis
As a continuation of the MMR calculations, given the case that there are several documents that news is news documents in the same topic that is of international events. It is assumed that the results obtained from peringkasan is the same query to the previous case. This news gathered from news portals as already mentioned sebelumyan. Collection of news can be presented as follows:
Table 2.12 Document Sumamry
No. Timestamp Konten Berita Tekstual 1 4 Januari 2007
22:43 WIB
laporan-laporan media memberikan perkiraan antara 9.000 dan 40.000 tambahan tentara akan dikirim ke irak 2 14 Des 2003;
23:14 WIB
Presiden Irak Saddam Hussein ditangkap dalam sebuah operasi bersandi "Red Dawn" atau Fajar Merah
(2)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
3 13 Nov 200202:18 WIB
Presiden Amerika Serikat George Walker Bush mengancam akan mengerahkan seluruh kekuatan militer AS untuk menggempur Irak.
4 20 Maret 2003; 19:35 WIB
Pasukan Amerika Serikat dan sekutunya telah memulai perang dengan menggempur daerah selatan Kota Baghdad, Irak, Kamis (20/3) pagi waktu setempat
5 18 Juli 2003; 19:57 WIB
Peringatan 35 tahun kekuasaan Partai Baath di Kota Fallujah, Irak, berlanjut.
6 on 23 Nov 2004 06:59 WIB
Komisi Pemilihan Umum Ukraina menyatakan Perdana Menteri Viktor Yanukovych sebagai pemenang pemilihan umum. Yanukovych yang didukung pemerintah Rusia meraup suara 49,42 persen.
7 on 09 Des 2000 08:07 WIB
Dua ledakan bom yang terjadi hampir bersamaan mengguncang sebuah kota di perbatasan Rusia-Chechnya, Jumat (8/12) 8 on 05 Okt 2001
at 19:00 WIB
Sebuah pesawat jenis Tupolev 154 milik Maskapai Penerbangan Rusia Sibir Airlines meledak dan jatuh di atas Laut Hitam, Kamis (4/10).
9 14-4-2003 / 20:52 WIB
Tentara Amerika Serikat tiba di Mosul sejak Jumat dengan 11 mobil, diikuti oleh sekitar 300 tentara Kurdi.
10 17 Oktober 2007 14:20
Pemerintah wilayah otonom Kurdi di Irak Utara memperingatkan para anggota parlemen Turki bahwa campur tangan apapun adalah ilegal.
11 5 April 2006 09:46
Pemerintah pusat Baghdad, yang menyebut operasi militer itu sebagai upaya meredam pemberontakan gerilyawan Kurdi, menyatakan wilayah itu sebagai kawasan terlarang.
12 22 Oktober 2015 20:09
Assad bertemu dengan Vladimir Putin di Moscow Selasa waktu setempat dan berterimakasih kepada Putin karena telah melancarkan serangan udara kepada lawan-lawannya di Suriah.
13 25 Oktober 2015, 13:34 WIB
AS diketahui memang telah menolak proposal yang diajukan Rusia untuk menyatukan kekuatan melawan ISIS. 14 15-4-2003 /
17:11 WIB
Saat berpidato di Gedung Putih, Presiden AS George W. Bush mengatakan, Suriah memiliki senjata pemusnah massal. 15 30/09/2015
18:31 WIB
Parlemen Rusia akhirnya membulatkan suara, memberikan kewenangan bagi pemerintah Presiden Vladimir Putin untuk
mengerahkan kekuatan militer negara ke Suriah.
16 Sabtu, 04 Peb 2012 08:02:16 WIB
Sekitar 130.000 prajurit NATO bekerja sama dengan lebih dari 300.000 anggota pasukan keamanan Afghanistan.
By following the pattern of processing cosine similarity, then gained weight similarity between documents as follows:
Table 2.13. Weight of similarity between the document summary
Q R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 1 0.026 0.024 0.028 0.163 0.026 0 0 0 0 0.022 0 0.057 0 0.061 0.069 0
0.026 1 0.012 0.014 0.012 0.013 0 0 0 0.096 0.011 0 0 0 0 0 0
0.024 0.012 1 0.047 0.011 0.012 0 0 0 0 0.01 0.058 0 0 0.028 0.032 0
0.028 0.014 0.047 1 0.188 0.014 0 0 0 0.103 0.012 0.045 0 0.115 0.225 0.228 0
0.163 0.012 0.011 0.188 1 0.012 0 0 0.054 0.089 0.01 0.059 0 0 0 0 0.085
0.026 0.013 0.012 0.014 0.012 1 0 0.081 0 0 0.078 0 0 0 0 0 0
0 0 0 0 0 0 1 0.017 0.013 0 0.02 0.02 0 0.018 0 0.092 0
0 0 0 0 0 0.081 0.017 1 0.08 0.076 0 0 0 0.028 0 0.026 0
0 0 0 0 0.054 0 0.013 0.08 1 0 0 0 0 0.02 0.051 0.019 0
0 0.096 0 0.103 0.089 0 0 0.076 0 1 0.041 0.04 0 0 0 0 0
0.022 0.011 0.01 0.012 0.01 0.078 0.02 0 0 0.041 1 0.116 0 0 0 0.097 0.079
0 0 0.058 0.045 0.059 0 0.02 0 0 0.04 0.116 1 0 0 0 0.071 0
0.057 0 0 0 0 0 0 0 0 0 0 0 1 0.068 0.025 0.176 0
0 0 0 0.115 0 0 0.018 0.028 0.02 0 0 0 0.068 1 0.047 0.081 0
0.061 0 0.028 0.225 0 0 0 0 0.051 0 0 0 0.025 0.047 1 0.062 0
0.069 0 0.032 0.228 0 0 0.092 0.026 0.019 0 0.097 0.071 0.176 0.081 0.062 1 0
0 0 0 0 0.085 0 0 0 0 0 0.079 0 0 0 0 0 1
The weight of the non-directional edge is the value of the similarity of the two edge interrelated. The weight of each edge can be seen in the form of adjcency matrix.
Table 2.14 Adjacency Matrix from Undirected
Graph
Q R1 R2 R3 R4 R5 R6 R7 R8 R9 R1 R11 R12 R13 R14 R15 R16
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 .1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1
Based on the specified grace period and the value of the cumulative index of the incident, obtained a directed graph of the similarity table in the form adjacency matrix, as follows:
Table 2.15 Adjacency Matriks from Directed
Graph
Q R1 R2 R3 R4 R5 R6 R7 R8 R9 R1 R11 R12 R13 R14 R15 R16 Q
R1 1
R2 1
R3 1 1 1 1
R4 1 1 1
R5 1 R6
(3)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
R8
R9 1 1
R10 R11 1 R12 R13
R14 1 1
R15 1 1
R16
From the table above can be in Picturekan multi-view graph as follows:
Picture 2.2 Multiview Graph Representation
2.4. Deterimining Minimum Dominating Set In determining the set of domination, first change the graph above into a bipartite graph is assumed as a graph R. This is done to calculate covering numbers (number of points / vertex cover).
Picture 2.3. Bipartite Graph Form
did return the next stage as in the early stages of the search for the vertex with the greatest weight on a set A then remove the edge associated with the selected vertex. It can be seen the following results on graph R:
Picture 2.4. Finding Dominating Set DS (Dominating Set) = {R4, R15, R9}
2.5.Determining Steiner Tree
Having obtained the dominated points, we then performed approximation steiner tree which is to connect the points (vertices), which becomes part of the set of domination. Here is a picture graph with edge defined by a set of vertices and their timestamps weighted domination.
Picture 2.5. Directed Graph
To form a steiner tree, weighted matrix and the matrix takes the shortest path.
Here is a table of similarity based query: Table 2.16 Table Similarity Query
R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 Q 0.026 0.024 0.028 0.163 0.026 0 0 0 0 0.022 0 0.057 0 0.061 0.1 0
1-w(v)
0.974 0.976 0.972 0.837 0.974 0.978 0.943 0.939 0.931
Of the weight gain which is calculated based on the query. Thus, the value 1-W (v) is the weight given to each vertex representing the weight of a directed edge (A). Thus, the results can be seen as follows:
Table 2.17 Table Tracks (A) with Weight of Vertex
No v R7 R8 R3 R4 R9 R14 R5 R2 R6 R11 R1 R10 R16 R15 R12 R13
1 R7 0.92
2 R8
3 R3 0.812 0.775 0.986 0.953 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B Keterangan:
Hubungan (edge) antar verteks
Edge yang akan dihapus dari verteks dengan bobot minimum
Edge yang sudah di hapus 3 9 11 4 1 12 10 15 6 5 2 8 7 13 14 16 Keterangan:
Verteks bukan bagian dari himpunan dominasi
10 10
(4)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
4 R4 0.911 0.988 0.989
5 R9 1 1
6 R14 1 0.972
7 R5 0.988
8 R2 1
9 R6
10 R11 1
11 R1 0.989
12 R10
13 R16
14 R15 0.824 0.919
15 R12
16 R13
Here is the application of Steiner Tree algorithm:
Steiner Tree Algorithm Input:
a. V adalah vertex, W is total of Weight and A is total of Arc (directed edge)
b. S is set of terminal (dominated vertex), q is vertex of query and k is position value of v which is part of S or not.
c. UG is Undirected Graph d. DG is Directed Graph
Output:Steiner tree T, the roots of the q covering at least k vertices in S
Ai(k, v0, UG, DG, S)
T ← ϕ (kosong)
harga(T) ← 0
if k < | | do
Tbest ← ϕ (kosong) harga(Tbest) ← 0 T’ ← ϕ (kosong) harga(T’) ← 0 harga ← ∞
for v ∈UG ≠ 0, (v0, v) ∈DG, 0 ≤ k’ < | | do
T’ ← Ai(k, v, UG, DG, S) ∪ {(v0, v)}
if harga > cost(T') then Tbest ← T' T ← T ∪ Tbest return T
Thus, the results obtained construction Steiner Tree:
Picture 2.6. Storyline (Steiner Tree)
Graf Steiner Tree gained interpreted as a chronological flow of a collection of vertices with a directed edge based on the time of the incident. Vertex selected as part of the graph steiner tree is an accumulation of vertex weights with weights highest similarity to the query. Thus, a chronological flow (Storyline) obtained are as follows:
Table 2.18 Storyline
V Timestamp Ringkasan Dokumen Query Focussed Bobot W(v) R4 20 Maret 2003;
19:35 WIB
Pasukan Amerika Serikat dan sekutunya telah memulai perang dengan menggempur daerah selatan Kota Baghdad, Irak, Kamis (20/3) pagi waktu setempat
0.163
R9 14-4-2003 / 20:52 WIB
Tentara Amerika Serikat tiba di Mosul sejak Jumat dengan 11 mobil, diikuti oleh sekitar 300 tentara Kurdi.
2.5. Testing
In tests conducted using the method of usability testing, measurement determined based on the recommendations of the respondents in the usability aspect. From the level of learnability, gained as much as 66.65% provides convenience in completing tasks. Based on Efficiency aspect, 66.7% of respondents considered that this application tasks more quickly. From the memorable, as much as 100% of respondents feel the ease in accessing information. In the aspect of error, the user is able to overcome the problems that exist with news search process that saves time with a backlog of as much as 75%. While aspects of satisfication, as much as 83.33% are satisfied with this application because according to user needs.
From these data acquisition, then the accumulation of usability scale levels obtained percentage of total as much as 75%, which is based on the quantitative tables in the category of successful qualification, meaning that the development of this system has been successful.
Moreover, performance testing Pursuant to the algorithm applied, obtained by the complexity of the implementation of the MMR algorithm is O (n2) and Steiner Tree algorithm is O (n).
3. CONCLUSION
Based on the results of the implementation and testing of methods and algorithms MMR Steiner
Tree, the obtained conclusion that search
chronological flow efficiently provide convenience to the user in searching for news sequentially in the form of a chronological flow.
9
4
Keterangan:
Verteks bukan bagian dari himpunan dominasi 10
(5)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
4. BIBLIOGRAPHY
[1] E. Lukman, "Laporan: Inilah Yang Dilakukan 74,6 Juta Pengguna Internet Indonesia Ketika Online," Techinasia, 31 Oktober 2013.
[Online]. Available:
Https://Id.Techinasia.Com/Tingkah-Laku-Pengguna-Internet-Indonesia/. [Accessed 7 10 2015].
[2] M. Mustaqhfiri, Z. Abidin And R.
Kusumawati, "Peringkasan Teks Otomatis Berita Berbahasa Indonesia Menggunakan Metode Maximum Marginal Relevance,"
Matics, Vol. Iv, No. 4, Pp. 1-14, 2011. [3] D. Nopiyanti And K. A. Sekarwati, "Aplikasi
Pencarian Kata Dasar Dokumen Berbahasa Indonesia Dengan Metode Stemming Porter Menggunakan Php & Mysql," In Seminar Ilmiah Nasional Komputer Dan Sistem Intelijen (Kommit 2014) , Depok, 2014. [4] R. V. Imbar, A. M. Ayub And A. Rehatta,
"Implementasi Cosine Similarity Dan
Algoritma Smith-Waterman Untuk
Mendeteksi Kemiripan Teks," Informatika, Vol. 10, No. 1, Pp. 1-12, 2014.
[5] R. Nicholas, "Aplikasi Graf Berbobot Dalam Menentukan Jalur Angkot (Angkutan Kota) Tercepat," Itb, Bandung, 2010/2011.
[6] Z. Fathoni, "Algoritma Penentuan Graf Bipartit," Makalah If2091, P. 2, 2009. [7] C. Lin, C. Lin And J. Li, "Generating Event
Storylines From Microblogs," In Cikm '12 Proceedings Of The 21st Acm International Conference On Information And Knowledge Management, New York, 2012 .
(6)