• Tidak ada hasil yang ditemukan

Analisis Perfomansi Algoritma Arifin Setiono Dan Algoritma Porter Untuk Stemming Berbahasa Indonesia

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Perfomansi Algoritma Arifin Setiono Dan Algoritma Porter Untuk Stemming Berbahasa Indonesia"

Copied!
72
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ARIEF FIRMANSYAH

10110516

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

iii

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT, atas segala rahmat dan hidayah–Nya sehingga penulis dapat menyelesaikan tugas akhir ini

dengan mengambil judul “Analisis Performansi Algoritma Arifin Setiono Dan Algoritma Porter Untuk Stemming Berbahasa Indonesia”. Adapun tujuan dari penyusunan tugas akhir ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan jenjang studi stara satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.

Dengan selesainya penyusunan tugas akhir ini, penulis mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Kedua orang tua, terima kasih atas doa dan dukungan yang tidak pernah ada hentinya, baik secara moril dan materil.

2. Ibu Nelly Indriani W, S.Si., M.T. selaku dosen pembimbing yang telah banyak meluangkan waktu untuk membimbing serta mengarahkan dalam proses penyusunan tugas akhir.

3. Bapak Alif Finandhita S.Kom selaku dosen wali IF12 Angkatan 2010.

4. Ibu Ednawati Rainarli, S.Si., M.Si. selaku dosen reviewer yang telah memberikan inspirasi dan membimbing dengan sangat teliti dalam proses penyusunan tugas akhir.

5. Teman-teman mahasiswa seperjuangan dari semester awal hingga akhir yaitu Fatahudin Aziz, Giri Muria Shaleh, Muhammad Tevin Adiman, Margadena C.P dan Muhammad Septiana yang selalu berbagi pemikiran akan penyusunan tugas akhir.

6. Teman-teman yang telah mendukung proses seminar

(3)

iv

Penulis menyadari tugas akhir ini masih jauh dari kata sempurna dengan segala kekurangan yang dimiliki. Untuk itu penulis mengharapkan adanya kritik dan saran yang bersifat membangun dari semua pihak demi kesempurnaan tugas akhir ini. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi pembaca.

Bandung, Juli 2015

(4)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... viii

DAFTAR GAMBAR ... ix

DAFTAR SIMBOL ... xi

DAFTAR LAMPIRAN ... xv

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metode Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Metode Pengembangan Perangkat Lunak ... 3

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Text Minning ... 7

2.2 Parsing ... 7

2.3 Tokenizing... 7

2.4 Stopword Removal ... 8

2.5 Stemming ... 8

2.6 Algoritma ... 8

2.7 Algoritma Arifin Setiono ... 9

2.8 Algoritma Porter... 10

2.9 MySQL ... 14

(5)

2.10.1 Pengertian UML ... 17

2.11 Pengujian Software ... 24

2.11.1 Blackbox Testing ... 24

2.12 Konsep Perangkat Lunak Pendukung ... 25

2.12.1 Microsoft Visual Studio ... 25

2.13 Teori Pengujian Metode ... 27

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 29

3.1 Analisis Masalah ... 30

3.2 Analisis data masukan ... 30

3.3 Analisis Metode ... 26

3.4 Analisis Penggabungan Algoritma Porter dan Arifin Setiono ... 34

3.5 Analisis Kebutuhan Perangkat lunak ... 44

3.5.1 Analisis Kebutuhan Non-Fungsional ... 44

3.5.1.1 Analisis Perangkat keras ... 44

3.5.1.2 Analisis Perangkat lunak ... 45

3.5.1.3 Analisis Perangkat piker ... 45

3.5.2 Analisis Kebutuhan Fungsional ... 45

3.5.2.1 Usecase ... 46

3.5.2.1.1 Identifikasi Aktor ... 46

3.5.2.1.2 Usecase Skenario Ambil File ... 47

3.5.2.1.3 Usecase Skenario Proses ... 48

3.5.2.1.4 Usecase Skenario Hapus ... 49

3.5.2.1.5 Usecase Skenario Konversi ... 49

3.5.2.2 Activity Diagram ... 50

3.5.2.3 Class Diagram ... 53

3.5.2.4 Sequnce Diagram ... 53

3.5.3 Perancangan Sistem ... 56

3.5.3.1 Perancangan Antarmuka ... 56

3.5.3.1.1 Perancangan Antarmuka T01 ... 56

3.5.3.1.2 Perancangan Antarmuka T02 ... 57

(6)

3.6 Jaringan Semantik ... 58

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 59

4.1 Implementasi ... 59

4.1.1 Implementasi Perangkat Keras ... 59

4.1.2 Implementasi Perangkat Lunak ... 59

4.1.3 Implementasi Database ... 60

4.1.4 Implementasi Antarmuka ... 60

4.2 Kompleksitas Waktu ... 61

4.3 Pengujian metode ... 61

4.3.1 Skenario Pengujian ... 61

4.4 Kesimpulan Pengujian ... 76

BAB 5 KESIMPULAN DAN SARAN ... 77

5.1 Kesimpulan ... 77

5.2 Saran ... 77

(7)

79

UNTUK STEMMING DOKUMEN TEKS BAHASA INDONESIA," November 2009.

[2] Willet P, ELECTRONIC LIBRARY AND INFORMATION SYSTEM. UK: University Of Sheffield, 2006.

[3] Gregorius S Budhi, Ibnu Gunawan, and Ferry Yuwono, "ALGORITMA STEMMER FOR BAHASA INDONESIA UNTUK PROCESSING TEXT MINNING BERBASIS METODE BASKET ANALYSIS," p. 63.

[4] Amir Hamzah, PENGARUH STEMMING KATA DALAM PENINGKATAN UNTUK KERJA DOCUMENT

CLUSTERING UNTUK DOKUMEN TEKS BERBAHASA INDONESIA. Yogyakarta: Seminar Nasional

Riset Teknologi Informasi, Juli 2006.

[5] Jelita Asian, EFFECTIVE TECHNIQUES FOR INDONESIAN TEXT RETRIEVAL. Australia: RMIT University, March 2007.

[6] Meisya Fitri, PERANCANGAN SISTEM TEMU BALIK INFORMASI DENGAN METODE PEMBOBOTAN

KOMBINASI TF-IDF UNTUK PENCARIAN DOKUMEN BERBAHASA INDONESIA.: Universitas

Tanjungpura.

[7] Hugh E William, Jelita Asian, and S.M.M Tahaghoghi, STEMMING INDONESIAN. Melbourne, Australia: RMIT University.

[8] Eko Nugroho, PERANCANGAN SISTEM DETEKSI PLAGARISME DOKUMEN TEKS DENGAN

MENGGUNAKAN ALGORITMA RABIN-KARP. Malang: Universitas Brawijaya, 2011.

[9] Dini Nopiyanti, APLIKASI PENCARIAN KATA DASAR DOKUMEN TEKS BERBAHASA INDONESIA

DENGAN MENGGUNAKAN METODE STEMMING PORTER MENGGUNAKAN PHP & MySQL.

Depok: Universitas Guna Dharma, oktober 2014, vol. 8.

[10] Andita Dwiyoga Tahitoe and Diana Purwitasari, IMPLEMENTASI MODIFIKASI CONFIX STRIPPING

STEMMER UNTUK BAHASA INDONESIA DENGAN METODE CORPUS BASED STEMMING.: Institut

Teknologi Sepuluh November.

[11] Lasmedi Afuan, STEMMING DOKUMEN TEKS BERBAHASA INDONESIA MENGGUNAKAN

ALGORITMA PORTER.: Universitas Jenderal Soedirman.

[12] Favorisen Rosyking Lumbanraja, SISTEMPENCARIAN DATA TEKS DENGAN MENGGUNAKAN

METODE KLASIFIKASI ROCCHIO. Lampung: Universitas Lampung, 2013.

(8)

80

[15] F. Z. Tala, A Study of Stemming Effect on information Retrieval in Bahasa Indonesia. M. S. thesis.

M.Sc. Thesis. Master of Logic Projecy. Institute for logic, Language and Computation., Ed.:

Universiteti van Amsterdam the Netherlands.

(9)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Stemming adalah suatu proses pencarian bentuk dasar dari suatu term. Yang dimaksud dengan term itu adalah tiap kata yang berada pada suatu dokumen teks. Stemming diperlukan selain untuk memperkecil jumlah indeks yang berbeda dari suatu dokumen, juga untuk melakukan pengelompokan kata-kata lain yang memiliki kata dasar dan arti yang serupa namun memiliki bentuk atau form yang berbeda karena mendapatkan imbuhan yang berbeda, metode stemming adalah salah satu cara yang digunakan untuk mengubah kata untuk menemukan akar kata dengan menerapkan aturan morfologi bahasa yang baik dan benar. Proses stemming dilakukan dengan menghilangkan semua imbuhan (affiks) baik yang terdiri dari awalan (prefiks) sisipan (infiks) maupun akhiran (suffiks) dan kombinasi awalan dan akhiran (konfiks)[1,6,7,9,10].

Beberapa algoritma yang termasuk kedalam metode stemming yaitu Algoritma Nazief Adriani,Algoritma Porter,Algoritma Arifin Setiono,Algoritma Confix Stripping (CS), Algoritma Vega, Algoritma Enhanded Confix Stripping (ECS),Algoritma Connected Component.Algoritma Porter adalah algoritma stemming yang digunakan untuk stemming dokumen teks berbahasa Inggris namun pada penelitian ini Algoritma Porter digunakan pada dokumen text berbahasa Indonesia, dari penelitian dalam lingkup analisis performansi algoritma ini maka menjadi dasar penelitian ini.

Terdapat penelitian sebelumnya mengenai perbandingan Algoritma Porter

yang berjudul “Perbandingan Algoritma Stemming Porter dan Algoritma Stemming Adriani Nazief Untuk Stemming Dokumen Teks Bahasa Indonesia”

(10)

Penelitian lainnya dari algoritma Arifin Setiono yang berjudul “Pengaruh Stemming Kata Dalam Peningkatan Untuk Kerja Dokumen Clustering Untuk

Dokumen Teks Berbahasa Indonesia”[4]. Algoritma Arifin Setiono digunakan

karena memiliki kelebihan dalam hal mengatasi Overstemming yaitu jika kata tidak ditemukan setelah penghapusan maka algoritma ini kemudian mencoba untuk mengembalikan semua kombinasi yang dihapus untuk mendapatkan kata yang valid [5].

Dalam penelitian ini akan dilakukan analisis performansi pada dokumen dengan menggunakan metode stemming. Berdasarkan hal tersebut maka akan dilakukan analisis performansi metode stemming dengan menggabungkan dari kedua algoritma Arifin setiono dan Porter yang nantinya akan diterapkan pada dokumen berbahasa Indonesia agar menghasilkan hasil yang lebih baik. Parameter yang akan diuji yaitu waktu proses,akurasi yang berpengaruh pada presentasi algoritma yang di implementasikan.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah yang diuraikan, maka dapat dirumuskan masalah dalam penelitian ini yaitu Bagaimana performansi penggabungan Algoritma Arifin Setiono dan Algoritma Porter.

1.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk mengimplementasikan dengan menggabungkan Algoritma Arifin Setiono dan Algoritma Porter dalam mentransformasi kata-kata dalam sebuah dokumen teks berbahasa indonesia.

(11)

1.4 Batasan Masalah

Batasan masalah dari penelitian ini yaitu:

1. Penerapan algoritma pada sistem hanya memproses dokumen berbahasa Indonesia.

2. Parameter yang akan di hasilkan pada aplikasi ini adalah kecepatan,ketepatan, dan jumlah langkah dari kedua algoritma.

3. Dokumen yang akan digunakan adalah dokumen jurnal berbahasa Indonesia berextensi *.txt.

4. Keluaran sistem yang diharapkan berupa kata dasar yang sesuai dengan kamus bahasa Indonesia.

5. Kamus sebagai pembanding kata yang di stemming.

1.5 Metodologi Penelitian

Metode yang digunakan dalam penelitian ini adalah metode deskriptif. Tujuan dari penelitian deskriptif ini adalah untuk membuat deskripsi, gambaran atau lukisan secara sistematis, faktual dan akurat mengenai fakta-fakta, sifat-sifat serta hubungan antarfenomena yang diselidiki.

1.5.1 Tahap Pengumpulan Data

Pengumpulan data adalah cara atau prosedur yang sistematis dan standar untuk memperoleh data yang diperlukan. Adapun metode pengumpulan data pada penelitian ini yaitu studi pustaka dengan cara mengkaji buku, media, atau hasil penelitian orang lain yang memiliki keterkaitan dengan penelitian ini.

1.5.2 Metode Pembangunan Perangkat Lunak

(12)

1. Communication

Komunikasi antara developer dan customer mengenai tujuan pembuatan dari software, mengindetifikasi apakah kebutuhan diketahui.

2. Quick Plan

Perancangan cepat setelah terjalin komunikasi antara developer dan customer.

3. Modeling, Quick design

Segera membuat model, dan quick design fokus pada gambaran dari segi software apakah visible menurut customer.

4. Construction of Prototype

Quick design menuntun pada pembuatan dari prototype 5. Deployment, Delivery & Feedback

Prototype yang dikirimkan kemudian dievaluasi oleh customer, feedback digunakan untuk menyaring kebutuhan untuk software.

(13)

1.6 Sistematika Penulisan

Sistematika penulisan proposal penelitian ini disusu untuk memberikan gambaran umum tentang penelitia yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Bab ini menjelaskan secara singkat mengenai latar belakang masalah, identifikasi masalah, maksud dan tujuan, metodologi penelitian, batasan masalah, serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Pada bab ini berisi teori – teori yang melatarbelakangi penulisan tugas akhir ini, yaitu teori tentang stemming,dan khususnya Algoritma Arifin Setiono dan Algoritma Porter.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menerangkan analisis kecepatan,keakuratan,dan jumlah langkah kedua algoritma pada aplikasi stemming dengan pendekatan analisis UML. Selain itu terdapat juga perancangan untuk aplikasi yang akan dibangun sesuai dengan analisis yang sedang dibuat.

BAB 4 IMPLEMENTASI SISTEM DAN PENGUJIAN

Pada bab ini berisi tentang analisis kebutuhan dalam membangun aplikasi ini yang sesuai dengan metode pembangunan perangkat lunak yang digunakan. Selain itu terdapat juga perancangan antarmuka dan pengujian untuk aplikasi yang akan dibangun sesuai dengan hasil analisis.

BAB 5 KESIMPULAN DAN SARAN

(14)
(15)

7 2.1 Text Mining

Text mining merupakan proses mendapatkan informasi penting yang berasal dari sekumpulan dokumen dengan melakukan pencarian kata-kata yang dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan antar dokumen.

Proses yang dilakukan oleh text mining diawali dengan penerapan struktur terhadap sumber data teks dan dilanjutkan dengan ekstraksi informasi dan pengetahuan yang relevan dari data teks terstruktur ini. Ada beberapa hal yang perlu dilakukan pada tahap pre-processing ini yaitu parsing,tokenizing,stopword dan stemming[3].

2.2 Parsing

Parsing merupakan proses memilah isi dokumen menjadi unit-unit kecil yang akan menjadi penciri misalnya berupa kata,frase atau kalimat. Unit terkecil ini yang disebut token. Proses parsing merujuk pada proses pengidentifikasian token dalam rangkaian teks sehingga bagian dalam parsing dari dokumen teks disebut tokenizer. Proses ini memerlukan pengetahuan tentang bahasa untuk menangani karakter-karakter khusus dan menentukan batasan satuan unit dalam dokumen [12].

2.3 Tokenizing

(16)

2.4 Stopword Removal

Stopword adalah kata-kata umum yang sering muncul. Stopword removal adalah proses penghapusan kata-kata yang termasuk ke dalam stopword biasanya dilakukan agar stemming menjadi efektif dan efisien. Contoh stopword bahasa Indonesia antara lain “yang”,”di”,”ke”,dll.

2.5 Stemming

Stemming adalah suatu proses pencarian bentuk dasar dari tiap kata yang berada pada suatu dokumen teks, selain untuk memperkecil jumlah indeks yang berbeda dari suatu dokumen, juga untuk melakukan pengelompokan kata-kata lain yang memiliki kata dasar dan arti yang serupa namun memiliki bentuk atau form yang berbeda karena mendapatkan imbuhan yang berbeda dengan menerapkan aturan morfologi bahasa Indonesia yang baik dan benar [1,6,7,10].

Proses stemming dilakukan dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan (preffixes) sisipan (infixes) maupun akhiran (suffixes), stemming dilakukan atas dasar asumsi bahwa kata-kata yang memiliki stem yang sama memiliki makna dasar yang sama[9].

Teknik stemming dapat dikategorikan menjadi 3 yaitu berdasarkan aturan dalam bahasa tertentu,berdasarkan kamus, dan berdasarkan kemunculan bersama. Salah satu tujuan utama dilakukan proses stemming adalah meningkatkan efisiensi dengan cara memilah isi dokumen menjadi unit-unit kecil yang akan menjadi penciri misalnya berupa kata,frase atau kalimat[12].

2.6 Algoritma

Algoritma adalah suatu perintah yang berisi langkah-langkah untuk menyelesaikan masalah. Algoritma berasal dari nama tokoh ilmuan islam pada masa itu yaitu Abu Ja’far Muhammad Ibu Musa Al Khawārizmi yang hidup sekitar abad ke-9. Dengan karya bukunya yang terkenal yaitu Al Jabar Wal Muqabala yang berarti “Buku Pemugaran dan Pengurangan”.

(17)

atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

2.7 Algoritma Arifin Setiono

Algoritma Arifin Setiono merupakan algoritma yang digunakan untuk pencarian kata dasar pada dokumen teks dengan teknik stemming[5]. Input dari algoritma ini adalah dokumen teks yang diproses sehingga menghasilkan output berupa kata dasar. Algoritma Arifin Setiono mengasumsikan bahwa setiap kata memiliki dua awalan dan tiga akhiran,yaitu:

[AW1] + [AW2] + KD + [AK3] + [AK2] + [AK1]

Dimana AW = awalan, KD = kata dasar dan AK = akhiran [4].

Langkah – langkah algoritma arifin setiono dalam proses stemming isi dokumen teks.

1. Lakukan pemeriksaan setiap kata, siapkan variabel p1,p2,s1,s2,

2. Pemotangan dilakukan secara berurut, yaitu: a. Awalan I, hasil disimpan pada p1 b. Awalan II, hasil disimpan pada p2 c. Akhiran I, hasil disimpan dalam s1 d. Akhiran II, hasil disimpan dalam s2 e. Akhiran III, hasil disimpan dalam s3

Setiap tahap pemotongan hasil dicek dalam kamus, jika ada dalam kamus algoritma selesai, jika tidak ada proses dilanjutnya ke pemotongan berikutnya.Jika sampai pada langkah 2.e. belum ditemukan dalam kamus, maka dilakukan proses kombinasi. Kata dasar yang dihasilkan dikombinasikan dengan imbuhan-imbuhan dalam 12 kombinasi, yaitu:

a. Kata Dasar

b. Kata Dasar + AK III

(18)

d. Kata Dasar + AK III + AK II + AK I

Algoritma kedua yang digunakan adalah algoritma Porter. Adapun langkah – langkah algoritma ini adalah sebagai berikut :

1. Hapus Particle,

2. Hapus Possesive Pronoun.

3. Hapus awalan pertama. Jika tidak ada lanjutkan ke langkah 4a, jika ada cari maka lanjutkan ke langkah 4b.

4. a. Hapus awalan kedua, lanjutkan ke langkah 5a.

b. Hapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan sebagai root word. Jika ditemukan maka lanjutkan ke langkah 5b.

5. a. Hapus akhiran. Kemudian kata akhir diasumsikan sebagai kata dasar b. Hapus awalan kedua. Kemudian kata akhir diasumsikan sebagai root word.

Terdapat 5 kelompok aturan pada Algoritma Porter untuk bahasa indonesia ini.

Tabel 2.1 Aturan Untuk Inflectional Particle[3] Akhiran Pengganti Kondisi

(19)

Tabel 2.2 Aturan Untuk inflectional Possesive Pronoun[3] Akhiran Pengganti Kondisi

Ukuran

Tabel 2.3 Aturan Untuk First Order Derivational Prefix[3] Awalan Pengganti Kondisi

(20)

Tabel 2.4 Aturan untuk Second order Derivational Prefix[3] Awalan Pengganti Kondisi

Ukuran

Tabel 2.5. Aturan untuk Derivational Suffix[3] Akhiran Pengganti Kondisi

Ukuran (per)janjian →janji

i NULL 2 V|K..c1c1,c1 ≠ s,c2≠i

Pada Porter Stemmer untuk Indonesia perlu ditambahkan beberapa aturan dalam algoritma agar memberikan hasil yang lebih maksimal dan untuk mempermudah proses stem maka dibuatlah beberapa kamus kecil,antara lain sebagai berikut :

1. Kamus kata dasar yang dilekati partikel, untuk menyimpan kata dasar yang memiliki suku kata terakhir (partikel infleksional) serta kata tersebut tidak mendapat imbuhan apapun.Seperti : masalah

(21)

3. Kamus kata dasar yang dilekati kata ganti milik, untuk menyimpan kata dasar yang memiliki suku kata terakhir (kata ganti infleksional) serta kata dasar tersebut tidak mendapatkan imbuhan apapun. Seperti : bangku. 4. Kamus kata dasar yang dilekati kata ganti milik berprefiks, untuk

menyimpan kata dasar yang memiliki suku kata terakhir (kata ganti infleksional) dan mempunyai prefiks. Seperti : bersuku.

5. Kamus kata dasar yang dilekati prefiks pertama, untuk menyimpan kata dasar yang memiliki suku kata pertama (prefiks derivasional pertama) serta kata dasar tersebut tidak mendapatkan imbuhan apapun.. Seperti : median.

6. Kamus kata dasar yang dilekati prefiks pertama bersufiks, untuk menyimpan kata dasar yang memiliki suku kata pertama (prefiks derivasional pertama) dan mempunyai sufiks derivasional.Seperti : terapan.

7. Kamus kata dasar yang dilekati prefiks kedua, untuk menyimpan kata dasar yang memiliki suku kata pertama (prefiks derivasional kedua) serta kata dasar tersebut tidak mendapatkan imbuhan apapun. Seperti : percaya. 8. Kamus kata dasar yang dilekati prefiks kedua bersufiks, untuk menyimpan

kata dasar yang memiliki suku kata pertama (prefiks derivasional) dan mempunyai sufiks derivasional. Seperti :perasaan.

(22)

Gambar 2.1 Algoritma Porter [3]

2.9 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.

Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

(23)

MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

MySQL memiliki beberapa keistimewaan, antara lain :

1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.

2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.

(24)

MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

4. Ragam tipe data

MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

5. Perintah dan Fungsi

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).

6. Keamanan

MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

7. Skalabilitas dan Pembatasan

MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

8. Konektivitas

MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

9. Lokalisasi

MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.

10. Antar Muka

MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

(25)

MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.

12. Struktur tabel

MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle

2.10 Pengenalan UML

Dalam merancang tugas akhir ini penyusun akan menggunakan UML sebagai alat bantu (tools) dalam perancangan dan pendokumentasian sistem yang akan dibuat.

2.10.1 Pengertian UML

Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). UML Menggabungkan konsep berarah objek seperti Booch, OMT, OOSE, dsb sehingga menjadi bahasa pemodelan tunggal. UML menekankan pada apa yang dapat dikerjakan dengan metode-metode tersebut.

UML terdiri dari diagram-diagram, dimana setiap diagram didalam UML memperlihatkan sistem dari berbagai sudut pandang yang berbeda.

a. Class Diagram

(26)

Sebuah kelas diagram terdiri dari sejumlah kelas yang dihubungkan dengan garis yang menunjukan hubunga antar kelas yang disebut Associations, contoh class diagram dapat dilihat pada Gambar 2.2.

Jenis-jenis Associations [13] yaitu : 1. Aggregation

Associations yang menggambarkan hubungan antar kelas dimana kelas yang satu merupakan bagian dari kelas yang lainnya.

2. Composition

Associations yang menggambarkan hubungan erat antar kelas dimana kelas composite mempunyai segala tanggung jawab untuk mengatur kelas lainnya

dan kedua kelas mempunyai lifetime yang sama. 3. Bidirectionality

Associations yang menghubungkan antara dua kelas atau lebih tapi tidak bergantung satu sama lainnya, sehingga apabila salah satu kelas dihilangkan, kelas yang lain dapat tetap digunakan.

4. Generalization

Associations yang menghubungkan dua kelas atau lebih untuk membedakan antara kelas yang umum dengan kelas yang khusus.

5. Inheritance

Associations yang meghubungkan duakelas atau lebih yang dapat menurunkan properties seperti attributes, operations antara kelas induk dengan kelas anak.

Tabel 2.6 komponen Class Diagram[13] Nama

Komponen Keterangan Simbol

(27)

class. Bagian akhir mendefinisikan method-method dari sebuah class

Association Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan di lambangkan olwh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan jiga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(contoh : One-to one, one-to-many, many-to-many)

1..n owned by 1

Composition Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid

Depedency Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik

(28)

b. UseCase Diagram

Usecase diagram adalah sebuah gambaran dari fungsi sistem yang dipandang dari sudut pandang pemakai yang memperkenalkan suatu sistem yang akan dibangun.

1. Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi.

2. System boundary menunjukan cakupan dari sistem yang dibuat dan fungsi dari sistem tersebut.

3. Usecase adalah gambaran fungsionalitas dari suatu sistem sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.

Berikut ini dari gambar 2.2 tiga komponen sistem dalam use case diagram :

Gambar 2.2 Komponen-komponen Use case [13]

Jenis-jenis Use Case Relationships [13] antara lain : 1. Association

Garis yang menghubungkan antara actor dengan use case. 2. Extend

Menghubungkan antara dua atau lebih use case yang merupakan tambahan dari base use case yang biasanya untuk mengatasi kasus pengecualian. 3. Generalization

Hubungan antara use case umum dengan use case yang lebig khusus. 4. Include

(29)

Untuk lebih jelasnya diberikan contoh diagram dari gambar 2.3. pada gambar 2.3 dijelakan tentang pendaftaran.

siswa mendaftar kemudian petugas memberikan kwitansi pembayaran.

Daftar

Memberikan kwitansi penbayaran

Siswa Petugas

Gambar 2.3 Usecase Diagram[13] c. Activity diagram

Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti usecase. Contoh activity diagram dapat dilihat pada Gambar 2.4. Untuk lebih jelasnya diberikan contoh diagram dari gambar 2.4. pada gambar 2.4 terdapat diagram pendaftaran.

(30)

Siswa Petugas Anggota

Daftar

Registrasi

Membuat kartu

Mendapat kartu

Gambar 2.4 Activity diagram[13]

Berikut ini merupakan komponen-komponen yang digunakan dalam Activity Diagram :

Tabel 2.7 komponen-komponen Activity Diagram[13] Simbol keterangan

Initial State

Final State

State

(31)

d. Sequence Diagram

Sebuah sequence diagram [13], menunjukan urutan pertukaran pesan yang dilakukan oleh sekumpulan objek atau aktor yang mengerjakan pekerjaan. Contoh sequence dapat dilihat pada Gambar 2.5.

Untuk lebih jelasnya diberikan contoh diagram dari gambar 2.5. pada gambar 2.5 terdapat diagram pendaftaran. Pada diagram pendaftaran petugas dan daftar anggota sebagai objek, petugas memasukan data siswa pada taftar anggota, setelah itu disimpan data tersebut kedalam database daftar anggota kemudian sistem memberikan pesan kepada petugas bahwa pesan tersebut sudah berhasil disimpan.

Petugas Pinjam

Masukan id buku dan id siswa ()

Proses Query ()

Tampilkan data buku () Simpan data peminjaman

Simpan berhasil

Gambar 2.5 Sequence diagram[13]

Berikut ini merupakan komponon-komponen yang digunakan dalam Sequence Diagram :

(32)

Tabel 2.8 komponen-komponen Sequence Diagram[13]

Simbol Keterangan

Object Lifeline

Activation

Message

Message Call

Message return

2.11 Pengujian Software

Pengujian dilakukan dengan mengeksekusi data uji dan mengecek apakah fungsional perangkat lunak bekerja dengan baik.

2.11.1 Black box Testing

Pengujian Black Box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian black box merupakan metode perancangan data uji yang didasarkan pada

spesifikasi perangkat lunak. Data uji dieksekusi pada perangkat lunak dan kemudian keluar dari perangkat lunak dicek apakah telah sesuai yang diharapkan.

(33)

2. Kesalahan interface Kesalahan dalam struktur data atau akses database eksternal Kesalahan kinerja

3. Inisialisasi dan kesalahan terminasi

2.12 Konsep Perangkat Lunak pendukung

perangkat lunak pendukung merupakan perangkat yang digunakan untuk mendukung dalam perencanaan perancangan sistem yang akan digunakan.

2.12.1 Microsoft Visual Studio

Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.

Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact Framework).

Untuk membuat suatu program aplikasi pada visual studio, maka diperlukan suatu struktur aplikasi atau komponen yang digunakan, berikut beberapa aplikasi yang penulis gunakan pada visual studio antara lain :

a. Toolbar

(34)

Gambar 2.6 ToolBar Visual Studio b. Toolbox

Toolbox Adalah sebuah jendela yang berisi tombol kontrol yang akan user gunakan untuk mendesain atau membangun sebuah form atau report. Toolbox terdiri atas beberapa tombol untuk mengendalikan tampilan, berikut gambar toolbox pada visual studio dapat dilihat pada gambar 2.7:

Gambar 2.7 Tampilan Toolbox Visual Studio c. Jendela Propertis

Jendela propertis adalah jendela yang berfungsi sebagai tempat mengedit properti pada suatu objek yang terpilih pada saat mendesain atau membangun aplikasi bagi user. Berikut gambar jendela propertis dapat dilihat pada gambar 2.8

(35)

d. Form

Form merupakan tempat untuk mendesain atau membangun sebuah program, didalamnya bisa ditanamkan sebuah coding agar form tersebut dapat menjalankan program yang telah didesain oleh user. Berikut gambar form dapat dilihat pada gambar 2.9:

Gambar 2.9 Tampilan Form

2.13 Teori pengujian metode

Pengujian dengan menggunakan data ujin untuk menguji semua eleme program (datainternal,loop,logika,keputusan dan jalur). Data uji dibangkitkan dengan mengetahui struktur internal. Pada aplikasi stemming akan dilakukan pengukuran akurasi dilakukan dengan membandingkan term hasil stemming dengan kamus sebagai pembandingnya.

Perhitungan akurasi dilakukan dengan rumus sebagai berikut :

Akurasi =

X 100%

[16]

(36)
(37)

29 3.1 Analisis Masalah

Metode stemming merupakan metode yang digunakan untuk proses pencarian bentuk dasar dari suatu kata pada sebuah dokumen teks. Hal ini telah dibuktikan pada jurnal “Algoritma porter stemmer for bahasa indonesia untuk pre-processing text mining berbasis metode market basket analysis” karya Gregorius S. Budhi, Ibnu Gunawan,dan Ferry Yuwono[3] . Pada jurnal ini, metode stemming digunakan untuk mengatasi masalah pencarian informasi yang tersimpan didalam dokumen secara efektif dan efisien. Penelitian ini mendapatkan kesimpulan bahwa metode stemming dalam tahap pre-processing sangat berguna karena dapat mengurangi lama waktu proses dan kesalahan proses stem kata cukup kecil, yaitu 2% sehingga dapat diatasi dengan cepat menggunakan pemeriksaaan kembali secara manual terhadap hasil stemmer[3].

Algoritma stemming porter memiliki kelebihan dalam hal kecepatan dan memiliki kelemahan dalam hal keakuratan, hal ini dibuktikan pada penelitian sebelumnya yang berjudul “perbandingan Algoritma stemming Porter dan algoritma stemming Adriani Nazief untuk dokumen teks berbahasa indonesia” oleh Ledy Agusta dalam jurnalnya[1].

Algoritma Arifin setiono memiliki kelebihan dalam hal mengatasi overstemming atau dalam hal keakuratan hal ini dibuktikan pada penelitian sebelumnya yang berjudul“Pengaruh Stemming Kata Dalam Peningkatan Untuk

Kerja Dokumen Clustering Untuk Dokumen Teks Berbahasa Indonesia” oleh amir

hamzah dalam jurnalnya[4].

(38)

3.2 Analisis data masukan

Data yang digunakan dalam menstemming kata dasar pada sistem adalah data berupa teks dari jurnal berekstensi dot(.)*txt. Untuk penelitian ini data diambil kemudian selain teks maka akan dihilangkan dengan tahapan tokenizing dan kamus sebagai pembanding kata yang di stemming.

3.3 Analisis metode

Analisis metode menjelaskan tentang bagaimana stemming itu terjadi dan menjelaskan tentang tahap-tahap yang dilakukan untuk melakukan proses stemming. Secara umum sistem ini terdiri dari beberapa proses, proses-proses

tersebut adalah sebagai berikut: 1. Proses Tokenizing 2. Proses Filtering 3. Proses Stemming

Berikut ini flowchart dari proses-proses yang akan digunakan untuk melakukan stemming.

Hapus Particle

Hapus Posessive Pronoun

Hapus Awalan Pertama

Hapus Awalan ke 2

Hapus Akhiran

Hapus Akhiran

Hapus Awalan ke 2

Pengecekkan kata

Input teks

Jika tidak ada Jika ada

Kata Dasar

(39)

Untuk mengetahui lebih jelas dari proses-proses tersebut maka akan dijelaskan sebagai berikut:

1. Proses Tokenizing

Berikut ini adalah langkah-langkah untuk melakukan tokenizing pada sebuah data yang berada dalam dokumen untuk menghilangkan tanda baca, spasi. data dalam dokumen tersebut adalah sebagai berikut:

Gambar 3.2 Proses Tokenizing

2. Proses Filtering

Proses filtering merupakan proses mengambil kata-kata penting yang terdapat dari hasil tokenizing. Untuk melakukan filtering bisa menggunakan stoplist atau word list. Data hasil tokenizing akan dibandingkan dengan Penelitian lainnya dari kedua algoritma yaitu hanya berfokus pada implementasi algoritma sehingga informasi dari parameter-parameter yang digunakan tidak memiliki standar optimal untuk diterapkan pada rumus yang dipakai oleh kedua algoritma tersebut

(40)

kamus. Jika tidak terdapat terdapat dalam kamus maka kata tersebut akan dihapus. Kata-kata yang tersisa merupakan kata yang dianggap penting. Untuk lebih jelasnya tahapan proses filtering adalah sebagai berikut:

a. Kata hasil proses tokenizing dibandingkan dengan tabel stopword.

b. Jika data hasil tokenizing sama dengan kata di tabel stopword maka akan dihapus.

c. Jika tidak sama dengan tabel stopword maka kata tersebut akan disimpan. Berikut adalah contoh dari proses filtering:

Daftar stopword : yang, akan,pada.

Gambar 3.3 Proses Filtering 3. Proses Stemming

Proses stemming merupakan pengelolaan kata hasil filtering menjadi kata dasar yaitu dengan cara menghilangkan imbuhan yang diantaranya adalah ”di”, “ke”, “me”, “meng”, “-an”, “-kan” untuk lebih jelasnya tahapan dari proses stemming adalah sebagai berikut:

a. Data hasil filtering diperiksa apakah mengandung imbuhan atau tidak.Jika terdapat imbuhan maka akan dilakukan pembuangan imbuhan,terus diulang sampai kata tersebut tidak mengandung imbuhan.

(41)

b. Jika sudah tidak mengandung imbuhan maka akan disimpan. Contoh dari proses stemming adalah sebagai berikut :

(42)

3.4 Analisis Penggabungan Algoritma Porter dan Arifin Setiono

(43)

1. Langkah 1:

Contoh kalimat: Berdirinya Pusat Penelitian Informatika tidak dapat dipisahkan dengan sejarah terbentuknya Lembaga Elektroteknika Nasional. Lembaga Elektroteknika Nasional sebagai lembaga penelitian dalam bidang elektronika diresmikan pada tanggal 10 Juni 1965.

Langkah awal pada algoritma yaitu melakukan hapus particle pada setiap kata, Karakter selain huruf pada tahap ini akan dihilangkan. Maka kalimat diatas akan menjadi :

Berdirinya

Gambar 3.6 langkah ke 1

2. Langkah 2:

Langkah berikutnya yaitu proses filetring dan melakukan penghapusan Possesive pronoun, maka teks akan menjadi :

(44)

Dipisahkan

Gambar 3.7 langkah ke 2 3. Langkah 3:

(45)

tanggal Juni

Gambar 3.8 langkah ke 3

4. Langkah 4:

(46)

Juni

Gambar 3.9 langkah ke 4 5. Langkah 5:

Dikarenakan hasil dari algoritma porter diatas ada beberapa kata yang belum sesuai dengan kamus maka dilakukan proses kombinasi dari algoritma Arifin Setiono. Pada langkah ini akan dilakukan kombinasi dikarenakan ada beberapa kata yang tidak sesuai dengan kamus ,yaitu dengan menggunakan kombinasi kata dasar + akhiran 3 maka kata

Gambar 3.10 langkah ke 5 6. Langkah 6:

Pada langkah ini akan dilakukan kombinasi dari hasil langkah ke 6 yaitu kata dasar + akhiran 3 + akhiran 2 maka kata akan menjadi :

(47)

Elektroteknika

Gambar 3.11 langkah ke 6

7. Langkah 7:

Gambar 3.12 langkah ke 7 8. Langkah 8:

Pada langkah ini akan dilakukan kombinasi dari hasil langkah ke 6 yaitu awalan 1 + awalan 2 + kata dasar maka kata akan menjadi :

(48)

Nasional

Gambar 3.13 langkah ke 8 9. Langkah 9:

Dikarenakan kata masih belum sesuai dengan kata dasar yang berada pada kamus maka langkah dilanjutkan dengan menggunakan kombinasi awalan 1 + awalan 2 + kata dasar + akhiran 3 maka

Gambar 3.14 langkah ke 9 10.Langkah 10 :

Dikarenakan kata masih belum sesuai dengan kata dasar yang berada pada kamus maka langkah dilanjutkan dengan menggunakan kombinasi awalan 1 + awalan 2 + kata dasar + akhiran 3 + akhiran 2 maka menjadi:

(49)

Peneliti

Gambar 3.15 langkah ke 10 11.Langkah 11:

Dikarenakan kata masih belum sesuai dengan kata dasar yang berada pada kamus maka langkah dilanjutkan dengan menggunakan kombinasi awalan 1 + awalan 2 + kata dasar + akhiran 3 + akhiran 2 + akhiran 1 maka menjadi:

Berdirinya

(50)

Dikarenakan kata masih belum sesuai dengan kata dasar yang berada pada kamus maka langkah dilanjutkan dengan menggunakan kombinasi awalan 2 + kata dasar maka menjadi:

Diri

Gambar 3.17 langkah ke 12

13.Langkah 13:

Setelah ditemukan kata yang sesuai dengan kamus maka proses kombinasi berhenti dan beberapa kata agar lebih sesuai dengan kamus digunakan kata pengganti dan menjadi kata dasar yang sesuai.

(51)

Elektroteknika

Gambar 3.18 langkah ke 13 3.5 Analisis kebutuhan perangkat lunak

Analisis kebutuhan perangkat lunak dilakukan bertujuan untuk mensimulasikan kedua algoritma kedalam sebuah perangkat lunak. Analisis kebutuhan perangkat lunak terbagi menjadi dua bagian yaitu:

1. Analisis Kebutuhan Non-Fungsional 2. Analisis Kebutuhan Fungsional 3.5.1 Analisis kebutuhan Non-Fungsional

Analisis kebutuhan non fungsional adalah langkah dimana seorang pembangun perangkat lunak (software developer) menganalisis sumber daya yang akan digunakan dan menggunakan perangkat lunak yang dibangun. Perangkat keras dan perangkat lunak yang dimiliki harus sesuai dengan kebutuhan sehingga dapat ditentukan kompabilitas aplikasi yang dibangun terhadap sumber daya yang ada.

Analisis kebutuhan non fungsional yang dilakukan dibagi dalam tiga tahap, yaitu:

(52)

3.5.1.1. Analisis Perangkat Keras

Spesifikasi perangkat keras minimum yang butuhkan untuk menjalankan sistem Deteksi similaritas dokumen dapat dilihat pada tabel 3.1.

Tabel 3.1 Spesifikasi Perangkat Keras

No Perangkat Keras Spesifikasi

1 Prosesor Kecepatan Minimal 1.8 GHz

2 Monitor Monitor 14.1’’

3 Memori 1024

3.5.1.2. Analisis Perangkat Lunak

Komponen perangkat lunak pendukung yang dibutuhkan untuk menjalankan sistem Deteksi Similaritas Dokumen ini, dapat dilihat pada table 3.2

Tabel 3.2 Spesifikasi Perangkat Lunak

No Perangkat Lunak

1 Sistem operasi Windows XP/ 7 2 Visual Studio 2010

3 Notepad++ 4 Wampserver

5 Mysql

3.5.1.3Analisis Perangkat Pikir

Analisis kebutuhan perangkat pikir merupakan uraian mengenai penguji yang akan menggunakan sistem dan terlibat dalam pengolahan data beserta karakteristiknya sehingga dapat diketahui tingkat pengalaman dan pemahaman pengguna terhadap sistem. Adapun karakteristik dari pengguna adalah sebagai berikut:

1. Pengguna dapat membaca tulisan.

2. Pengguna minimal mampu menggunakan keyboard dan mouse sebagai untuk berinteraksi dengan sistem.

(53)

3.5.2 Analisis Kebutuhan Fungsional

Spesifikasi kebutuhan fungsional adalah spesifikasi tentang hal-hal yang akan dilakukan sistem ketika diimplementasikan. Analisis kebutuhan ini diperlukan untuk menentukan keluaran yang akan dihasilkan sistem, masukan yang diperlukan sistem, lingkup proses yang digunakan untuk mengolah masukan menjadi keluaran.

3.5.2.1Usecase

Use case merupakan gambaran umum dari perancangan sistem yang akan dibangun. Terdapat tiga buah point yang merincikan use case diagram ini, yaitu :

1. Identifikasi Use Case 2. Identifikasi Aktor 3. Skenario Use Case

Adapun rincian dari use case diagram sistem stemming:

(54)

3.5.2.1.1 Identifikasi Aktor

Bagian ini diisi dengan daftar actor dan deskripsi role untuk actor tersebut. Deskripsi role harus menjelaskan wewenang pada role tersebut dalam perangkat lunak. Bisa dibuat dalam bentuk tabel berikut:

Tabel 3.3 Identifikasi Aktor

No Actor Deskripsi

1 User User menginputkan document, user input text manual, user merefresh document

3.5.2.1.2 Use Case Skenario Ambil File

Tabel 3.4 Usecase Skenario Ambil File Use Case Name Ambil file

mengambil file berekstensi .txt

Preconditions Menampilkan tombol Ambil file Succesfull

End

Conditions

Text Terinput ke dalam Form Input

Failed And Condition

Text Tidak Berhasil diinput

Primary

Trigger Aplikasi aktif Included

Case

-

(55)

1 Pengguna Masuk ke form 2 Sistem menampilkan form 3 Pengguna menekan tombol ambil

4 mengambil document/file berektensi .txt ke directori komputer

5 Sistem menampilkan hasil inputan

3.5.2.1.3 Use Case Skenario Proses

Tabel 3.5 Usecase Skenario Proses Use Case Name Proses

Melakukan proses kata dari form inputan document/file

Preconditions Dokument berhasil di input ke form input Succesfull End

Conditions

Proses kata berhasil dilakukan dan menampilkan hasil

Failed And Condition

Proses kata gagal dilakukan

Primary Actors Pengguna Secondary

Actors

-

Trigger Pemilihan tombol proses Included Case -

Main Flow Step Action

(56)

.txt ke directori komputer

2 Pengguna menekan tombol proses

3 Sistem melakukan proses preprocessing, tokenizing,stemming kemudian melakukan perhitungan kemunculan

4 Sistem menampilkan hasil

3.5.2.1.4 Use Case Skenario Hapus

Tabel 3.6 Usecase Skenario Hapus Use Case Name Hapus

Melakukan Proses hapus dari document inputan

Preconditions Proses hapus berhasil dilakukan Succesfull End

Conditions

Proses hapus berhasil dilakukan

Failed And Condition

Proses hapus gagal dilakukan

Primary Actors Pengguna Secondary

Actors

-

Trigger Pemilihan tombol hapus Included Case -

Main Flow Step Action

(57)

3.5.2.1.5Use Case Skenario Konversi

Tabel 3.7 Usecase Skenario Konversi Use Case Name Konvert

Related

Preconditions Dokument berhasil di konvert Succesfull End

Conditions

Proses konvert berhasil dilakukan dan menampilkan hasil

Failed And Condition

Proses konvert gagal dilakukan

Primary Actors Pengguna Secondary

Actors

-

Trigger Pemilihan tombol konvert Included Case -

Main Flow Step Action

1 Pengguna mengambil document/file berektensi .pdf ke directori komputer

2 Pengguna menekan tombol konvert

3 Sistem melakukan proses konvert menjadi .txt 4 Sistem menampilkan hasil

3.5.2.2Activity Diagram

(58)

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum

(59)

Gambar 3.21 Activity Diagram Proses Stemming

(60)

Gambar 3.23 Activity diagram konversi 3.5.2.3Class Diagram

Class diagram adalah diagam yang digunakan untuk menampilkan beberapa kelas serta paket-paket yang ada dalam sistem/perangkat lunak yang sedang kita gunakan.Class diagram memberi kita gambaran (diagram statis) tentang sistem/perangkat lunak dan relas-relasi yang ada didalamnya. Berikut adalah class diagram dari sistem yang dibangun:

(61)

3.5.2.4Sequence Diagram

Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram.

(62)

Gambar 3.26 Sequence Diagram Proses Stemming

(63)

Gambar 3.28 Sequence Diagram konversi 3.5.3 Perancangan sistem

Pada tahap ini digambarkan rancangan sistem yang akan dibangun sebelum dilakukan pengkodean ke dalam suatu bahasa pemrograman.

3.5.3.1Perancangan antarmuka

Perancangan antar muka Sistem Stemming Dokumen teks berbahasa Indonesia dilakukan agar membantu dalam proses implementasi antar muka sistem dari hasil analisis yang telah dilakukan.

3.5.3.1.1 Perancangan Antar Muka T01

(64)

Gambar 3.29 Antar Muka Menu Utama 3.5.3.1.2 Perancangan Antar Muka T02

(65)

Gambar 3.30 Antar Muka Form Utama 3.5.3.1.3 Perancangan antar muka T03

(66)

Gambar 3.31 Antarmuka konversi dari PDF

3.6 Jaringan Semantik

Jaringan semantik menggambarkan keterkaitan antar halaman yang dibangun. Jaringan semantik sistem dapat dilihat pada gambar 3.28

T01 T02 T03

(67)

77

BAB 5

KESIMPULAN

Pada bab ini berisikan kesimpulan dari hasil penelitian yang telah dilakukan serta saran untuk perbaikan dan pengembangan penelitian lebih lanjut.

5.1Kesimpulan

Berdasarkan hasil yang didapat dari penelitian secara keseluruhan, dapat ditarik kesimpulan sebagai berikut:

1. Berdasarkan pengujian yang telah dilakukan pada 15 dokumen rata-rata akurasi dari ke 15 dokumen adalah sebesar 46 %

2. Berdasarkan pengujian yang telah dilakukan pada 15 dokumen rata-rata kecepatan dari ke 15 dokumen adalah sebesar 56,7817995 s

5.2Saran

(68)
(69)

1. DATA PRIBADI

Nama : Arief Firmansyah

Jenis Kelamin : Laki-Laki

Tempat, Tanggal Lahir :Bandung, 22 Desember 1992

Agama : Islam

Kewarganegaraan : Indonesia

Status : Belum Kawin

Anak ke : 3 dari 3 bersaudara

Alamat : Jl. Cimuncang No.88 RT/RW 03/06 Kel.Sukapada Kec.Cibeunying Kidul

No. Telepon : 08172345163

Email : arief22firmansyah@gmail.com

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : SDN Saluyu 1

Tahun Ajaran (1998-2004) 2. Sekolah Menengah Pertama : SMP PELITA Bandung

Tahun Ajaran (2004-2007) 3. Sekolah Menengah Atas : SMA YAS Bandung

Tahun Ajaran (2007-2010) 4. Perguruan Tinggi : Universitas Komputer Indonesia

Tahun Ajaran (2010-2014) Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

Bandung, 31 Juli 2015

(70)
(71)
(72)

Gambar

Gambar 2.4 Activity diagram[13]
Gambar 2.5 Sequence diagram[13]
Tabel 2.8 komponen-komponen Sequence Diagram[13]
Gambar 2.7 Tampilan Toolbox Visual Studio
+7

Referensi

Dokumen terkait

Berdasarkan definisi beberapa istilah di atas malca yang di maksud dengan judul "Pengaruh Penerapan Pembelajaran Remedial dengan Tutor Sebaya Terhadap Prestasi Belajar

Dalam buku Sarasamuscaya yang berisi tentang ajaran agama Hindu, salah satunya menjelaskan tentang api dalam kehidupan manusia yang harus dijaga, yakni “ tryag- ni ;

Sukomanunggal Simokerto Bubutan Genteng Gubeng Gunung Anyar Benowo Sukolilo Tambaksari Mulyorejo Rungkut Tenggilis Mejoyo Pakal Sukomanunggal Tandes Sambikereb Lakarsantri

Berdasarkan hasil Moran’s I dengan menggunakan pembobot costumized contiguity menunjukkan bahwa untuk variabel crime rate (Y), kepadatan penduduk (X1), jumlah

paper ini meneliti dampak penyelidikan tanah terbatas terhadap estimasi Bearing Stratum pada pondasi tiang pancang, merumuskan cara memetakan Bearing Stratum dengan

Diindikasikan pada pasien dengan iskemia yang diketahui angina atau nyeri dada tanpa aktivitas, pada pasien kolesterol dan penyakit jantung keluarga yang mengalami nyeri

Alat pengambil sekret endometrium adalah balai endometre yang di indonesiakan menjadi sapu endometrium, yaitu alat berbentuk seperti sonde inseminasi yang terbuat

Berdasarkan hasil ini maka dapat dinyatakan bahwa Hipotesis 2 diterima, dan hasil ini mendukung hasil penelitian Mafabi, Nasiima, Muhimbise, & Kasekende