• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
22
0
0

Teks penuh

(1)

7 2.1 Information Retrieval

Information Retrieval adalah sebuah proses untuk menemukan kembali informasi yang dibutuhkan dari sebuah sistem penyimpanan dan penelusuran informasi. Sistem Temu Kembali Informasi mensyaratkan ada kebutuhan informasi dari pengguna, ada dokumen atau data yang berisi informasi yang diorganisasikan dalam sebuah sistem yang memudahkan temu kembali informasi dan strategi penelusuran yang tepat sehingga dokumen yang sesuai dengan kebutuhan dapat ditemukembalikan [3].

Sistem Temu Balik Informasi terdiri dari tiga komponen utama, yaitu masukan (input), pemroses (processor),dan keluaran (output). Menurut Manning et al (2009) Information Retrieval (IR) adalah menemukan bahan (biasanya dokumen) yang bersifat tidak terstruktur (biasanya teks) yang memenuhi kebutuhan informasi dari dalam koleksi besar (biasanya disimpan di komputer) [4].

2.2 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.1 Text Preprocessing

Struktur data yang baik dapat memudahkan proses komputerisasi secara otomatis. Pada Text Mining, informasi yang akan digali berisi informasi-informasi yang strukturnya sembarang. Oleh karena itu,

(2)

diperlukan proses pengubahan bentuk menjadi data yang terstruktur sesuai kebutuhannya untuk proses dalam data mining, yang biasanya akan menjadi nilai-nilai numerik. Proses ini sering disebut Text Preprocessing. Setelah data menjadi data terstruktur dan berupa nilai numerik maka data dapat dijadikan sebagai sumber data yang dapat diolah lebih lanjut [5]. Beberapa proses yang dilakukan adalah sebagai berikut:

1. Case Folding

Case folding adalah mengubah semua huruf dalam dokumen menjadi huruf kecil. Hanya huruf ‘a’ sampai dengan ‘z’ yang diterima. Karakter selain huruf dihilangkan dan dianggap delimiter [5].

Gambar 2.1 Proses Case Folding

2. Tokenizing

Tahap Tokenizing adalah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya [5].

(3)

2.2.2 Text Transformation

Terdapat beberapa tahapan yang dilakukan pada text transformation yakni sebagai berikut:

1. Stopword removal atau Filtering

Tahap filtering adalah tahap mengambil kata-kata penting dari hasil token. Bisa menggunakan algoritma stoplist (membuang kata yang kurang penting) atau wordlist (menyimpan kata penting). Stoplist / stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words [5].

Gambar 2.3 Proses Stopword Removal

2. Stemming

Tahap stemming adalah tahap mencari root kata dari tiap kata hasil filtering. Pada tahap ini dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu representasi yang sama [5].

(4)

2.3 Stemming

Stemming adalah proses menghilangkan imbuhan dari suatu dokumen atau query menjadi root word.

Efektifitas algoritma stemming dipengaruhi oleh beberapa faktor [15]: 1. Overstemming: yaitu pemenggalan imbuhan yang melebihi dari yang

seharusnya. Contoh: kata “masalah” menjadi “masa”. Kesalahan ini dapat timbul karena bentuk kata dasar yang menyerupai imbuhan. 2. Understemming: yaitu pemenggalan imbuhan yang terlalu sedikit dari

yang seharusnya. Contoh: kata “belajar” menjadi “lajar”. Kesalahan ini dapat timbul karena kekurangan pada aturan pola imbuhan yang didefinisikan.

3. Unchange: yaitu kasus khusus dari understemming, dimana tidak terjadi pemenggalan imbuhan sama sekali. Contoh: kata “telapak”, setelah pemenggalan kata dasar, hasil yang didapat tetap “telapak”. Kesalahan ini dapat ditimbulkan karena kekurangan pada aturan imbuhan yang didefinisikan.

4. Spelling Exception: yaitu huruf pertama kata dasar yang didapat tidak benar yang diakibatkan dari penggalan awal. Contoh: kata “memukul” menjadi “ukul”. Kesalahan ini dapat ditimbulkan karena ada beberapa imbuhan yang berubah bentuk ketika ditempelkan pada suatu kata dasar. Misalnya awalan beR-, meN-, teR-, peR-, akan bergantung pada huruf pertama kata dasar dimana imbuhan tersebut ditempelkan (Contoh ber- + ajar = belajar, pen- + lihat = penglihatan, pen- + sakit = penyakit). Atau sebaliknya ada imbuhan yang mengakibatkan huruf pertama kata dasar yang ditempelinya menjadi luluh. Misalnya meng- / peng- meluluhkan huruf ‘k’ (Contoh mengarang dari meng- dan karang) atau men- / pen- meluluhkan huruf ‘p’ (Contoh: menuai dari men- dan tuai). 2.4 Algoritma Stemming

Algoritma Stemming adalah prosedur komputasi yang mencari asal kata dari suatu kata dalam kalimat yang dilakukan dengan cara memisahkan masing-masing kata dari kata dasar dan imbuhannya. Pada saat ini, ada

(5)

beberapa algoritma stemming untuk bahasa Indonesia yang telah dikembangkan diantaranya yaitu Algoritma Nazief & Adriani, Algoritma Arifin & Setiono, serta Algoritma Porter [6].

2.5 Algoritma Stemming Nazief Adriani

Algoritma Stemming Nazief & Adriani dibuat oleh Bob Nazief dan Mirna Adriani dari Fakultas Ilmu Komputer Universitas Indonesia tahun 1996. Algoritma ini mengacu pada aturan morfologi Bahasi Indonesia yang mengelompokkan imbuhan, yaitu imbuhan yang diperbolehkan atau imbuhan yang tidak diperbolehkan. Pengelompokan ini termasuk imbuhan di depan (awalan), imbuhan kata belakang (akhiran), imbuhan kata ditengah (sisipan), dan kombinasi imbuhan pada awal dan akhir kata (konfiks). Algoritma ini menggunakan kamus kata keterangan yang digunakan untuk mengetahui bahwa proses stemming telah mendapatkan kata dasar [6]. Langkah-langkah algoritma Nazief Adriani [2]:

1. Cari kata yang akan distem dalam kamus. Jika ditemukan maka diasumsikan bahwa kata tesebut adalah root word. Maka algoritma berhenti.

2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika berupa particles (“-lah”, “-kah”, atau “-pun”) maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada.

3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah

“-k”, maka “-k” juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b.

b. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) kemudian dikembalikan, lanjut ke langkah 4.

4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b.

(6)

a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka algoritma berhenti, jika tidak pergi ke langkah 4b. b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika

root word belum juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan: jika awalan kedua sama dengan awalan pertama algoritma berhenti.

5. Melakukan Recoding.

6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word. Proses selesai.

Tipe awalan ditentukan melalui langkah-langkah berikut [2]:

1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara berturut-turut adalah “di-”, “ke-”, atau “se-”.

2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah proses tambahan untuk menentukan tipe awalannya.

3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe” maka berhenti.

4. Jika tipe awalannya “none” maka berhenti. Jika tipe awalannya bukan “none” maka awalan dapat dilihat pada Tabel 2.2. Hapus awalan jika ditemukan.

Tabel 2.1 Kombinasi Awalan Akhiran yang tidak diizinkan [2]. Awalan Akhiran yang tidak diizinkan

be- -i

di- -an

ke- -i, -kan

me- -an

(7)

Tabel 2.2 Cara menentukan tipe awalan kata “te” [2].

Following Characters Tipe

Awalan

Set 1 Set 2 Set 3 Set 4

“-r-” “-r-” - - none

“-r-” vowel - - ter-luluh

“-r-” not (vowel or

“-r-”) “-er-“ vowel ter

“-r-” not (vowel or

“-r-”) “-er-“ not vowel ter- “-r-” not (vowel or “-r-”) not “-er-“ - ter not (vowel or

“-r-”) “-er-“ vowel - none

not (vowel or

“-r-”) “-er-“ not vowel - te

Tabel 2.3 Jenis awalan berdasarkan tipe awalannya [2]. Tipe Awalan Awalan yang harus dihapus

di- di- ke- ke- se- se- te- te- ter ter ter-luluh ter

Untuk mengatasi keterbatasan pada algoritma di atas, maka ditambahkan aturan-aturan dibawah ini:

1. Aturan untuk reduplikasi [2].

a) Jika kedua kata yang dihubungkan oleh kata penghubung adalah kata yang sama maka root word adalah bentuk tunggalnya, contoh : “buku-buku” root word-nya adalah “buku”.

b) Kata lain, misalnya “bolak-balik”, “berbalas-balasan, dan ”seolah-olah”. Untuk mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika keduanya memiliki root word yang sama maka diubah menjadi bentuk tunggal, contoh: kata “berbalas-balasan”, “berbalas” dan “balasan” memiliki root word yang sama yaitu

(8)

“balas”, maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik”, “bolak” dan “balik” memiliki root word yang berbeda, maka root word-nya adalah “bolak-balik”. 2. Tambahan bentuk awalan dan akhiran serta aturannya [2].

a) Untuk tipe awalan “mem-“, kata yang diawali dengan awalan “memp-” memiliki tipe awalan “mem-”.

b) Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-” memiliki tipe awalan “meng-”.

2.6 Algoritma Stemming Arifin Setiono

Algoritma ini diciptakan oleh Arifin dan Setiono. Berbeda dengan algoritma Nazief Adriani, algoritma Arifin Setiono memulai tahapannya dengan penghapusan awalan dari suatu kata. Setiap tahapan akan dilakukan pemeriksaan kata ke dalam kamus kata dasar. Jika kata ditemukan, maka algoritma berhenti atau selesai. Jika tidak ditemukan maka akan dilanjutkan ketahapan berikutnya [13].

Tahap yang dilakukan dalam Algoritma Arifin Setiono adalah sebagai berikut [7]:

1. Pemeriksaan semua kemungkinan bentuk kata. Setiap kata diasumsikan memiliki 2 Awalan (prefiks) dan 3 Akhiran (sufiks).

Jika dalam kata yang diperiksa tidak memiliki imbuhan sebanyak imbuhan seperti formula di atas, maka imbuhan yang kosong atau tidak ada tersebut diberi tanda x untuk prefiks dan diberi tanda xx untuk sufiks.

2. Pemotongan dalam Algoritma ini dilakukan secara berurutan sebagai berikut:

AW : AW (Awalan) AK : AK (Akhiran) KD : KD (Kata Dasar)

a. AW I, hasilnya disimpan pada pe1 (prefiks 1) b. AW II, hasilnya disimpan pada pe2 (prefiks 2)

(9)

c. AK I, hasilnya disimpan pada su1 (sufiks 1) d. AK II, hasilnya disimpan pada su2 (sufiks 2) e. AK III, hasilnya disimpan pada su3 (sufiks 3)

Dalam setiap tahap pemotongan di atas selalu diikuti dengan pemeriksaan di dalam kamus. Hal ini untuk mengetahui apakah hasil pemotongan tersebut sudah ada dalam bentuk dasar. Apabila pemeriksaan ini berhasil maka proses dinyatakan selesai dan tidak perlu melanjutkan proses pemotongan imbuhan selanjutnya.

3. Akan tetapi, apabila sampai pada pemotongan AK III, belum ditemukan dalam kamus, maka akan dilakukan proses kombinasi. Kata dasar yang dihasilkan dikombinasikan dengan imbuhan-imbuhannya dalam 12 konfigurasi berikut : a. KD b. KD + AK III c. KD + AK III + AK II d. KD + AK III + AK II + AK I e. AW I + AW II + KD f. AW I + AW II + KD + AK III g. AW I + AW II + KD + AK III + AK II h. AW I + AW II + KD + AK III + AK II + AK I i. AW II + KD j. AW II + KD + AK III k. AW II + KD + AK III + AK II l. AW II + KD + AK III + AK II + AK I

Kombinasi a, b, c, d, h, dan l sudah diperiksa pada tahap sebelumnya, karena kombinasi ini adalah hasil pemotongan bertahap tersebut. Dengan demikian, kombinasi yang masih perlu dilakukan tinggal 6 yakni pada kombinasi-kombinasi yang belum dilakukan (e, f, g, i, j, dan k). Apabila dalam proses kombinasi yang dilakukan itu ada, maka pemeriksaan pada kombinasi lainnya sudah tidak diperlukan lagi. Pemeriksaan dalam 12 kombinasi ini sangat diperlukan karena fenomena overstemming pada algoritma pemotongan imbuhan.

(10)

Kelemahan ini berakibat pada pemotongan bagian kata yang sebenarnya adalah milik kata dasar itu sendiri yang kebetulan mirip dengan salah satu jenis imbuhan yang ada. Dengan 12 kombinasi itu, pemotongan yang sudah terlanjur tersebut dapat dikembalikan sesuai posisinya [7]. 2.7 Aturan Peluruhan Kata Dasar

Ada beberapa kata dasar yang apabila dilekati oleh awalan “me(N)-“, “pe(N)-”, “pe(R)-”, ”te(R)-”, ”be(R)-,” akan mengelami peluruhan atau perubahan pada karakter awal dari kata dasar tersebut. Sebagai contoh kata “tanya”, karakter awal dari kata “tanya” akan berubah apabila ditambahkan awalan “me-“dan menjadi “menanya”. Begitu juga untuk beberapa kata dasar lainnya. Untuk melakukan proses stemming pada kata-kata tersebut harus mengikuti aturan peluruhan yang telah ditetapkan oleh algoritma [8]. Aturan-aturan tersebut dijelaskan pada tabel berikut.

(11)

Tabel 2.4 Aturan peluruhan kata [9].

Prefiks Variation Form Rules

me- meng- + Vowel|k|g|h…e.g: ambil - mengambil ikat - mengikat kuat - menguat ganggu - mengganggu hilang - menghilang meny- + s…,e.g: sisir - menyisir semai - menyemai mem- + b|f|p…,e.g beku - membeku fitnah - memfitnah pukul - memukul men- + c|d|j|t….,e.g: cuci - mencuci darat - mendarat jual - menjual tukar - menukar me- + l|m|n|r|y|w…./e.g: lintas - melintas makan - memakan nikah - menikah rusak - merusak yakin - meyakin(kan) wabah - mewabah pe- peng- + Vowel|k|g|h…e.g: ikat - pengikat olah - pengolah ukur - pengukur ganggu - pengganggu hilang - penghilang peny- + s…,e.g: saring - penyaring semai - penyemai

(12)

pem- + b|f|p…,e.g: baca - pembaca fitnah - pemfitnah pukul - pemukul pen- + c|d|j|t….,e.g: cuci - pencuci datang - pendatang jual - penjual tukar - penukar pe- + l|m|n|r|y|w…./e.g: lintas - pelintas makan - pemakan rusak - perusak warna - pewarna

ber- bel- + ajar, e.g:

ajar - belajar be- + r|KVr….,e.g: rencana - berencana kerja - bekerja ber-

+ any word wich violates conditions of the

alomorphs bel- and be- tukar - bertukar

jalan - berjalan per-

pel- + ajar, e.g:

ajar - pelajar

pe- + r|KVr….,e.g: ramal - peramal

per-

+ any word wich violates conditions of the

alomorphs pel- and pe- kaya - perkaya

ter- te- + r ….,e.g:

rasa - terasa ter- + K|V….,dimana K != r, e.g: atur - teratur di- v to passive v makan - dimakan

n to passive v sisir - disisir ke- adj. to n tua - ketua

(13)

Sufiks Variation Form Rules -kan

v to command v ambil - ambilkan n to command v sisir - sisirkan adj. to command v jauh - jauhkan -i

v to intensive v ambil - ambili n to intensive v sisir - sisiri adj. to command v jauh - jauhi

-an v to n makan - makanan

Infiks Variation Form Rules

-el-

-

tunjuk - telunjuk

-em- kuning - kemuning

-er- gigi - gerigi

2.8 Teori Pengujian Metode

Pada sistem ini, pengujian dilakukan dengan menggunakan data uji guna menguji sistem yang telah dibuat. Terdapat dua pengujian yang akan dilakukan yakni pengukuran akurasi algoritma dengan membandingkan term hasil stemming dengan kamus sebagai pembandingnya serta pengujian kecepatan algoritma dengan mengukur execution time dari masing-masing algoritma pada saat eksekusi program.

Perhitungan akurasi dilakukan dengan rumus sebagai berikut :

𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑡𝑒𝑟𝑚 𝑦𝑎𝑛𝑔 𝑏𝑒𝑛𝑎𝑟

𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑒𝑟𝑚 ℎ𝑎𝑠𝑖𝑙 𝑆𝑡𝑒𝑚𝑚𝑖𝑛𝑔𝑋 100% [8]

2.9 Bahasa Pemrograman

Bahasa pemrograman merupakan kumpulan instruksi atau perintah standar yang digunakan untuk memerintahkan komputer agar dapat menjalankan fungsi tertentu. Bahasa pemrograman dapat juga didefinisikan sebagai suatu himpunan dari aturan sintaks dan semantic yang dipakai untuk mendefinisikan program komputer [10].

(14)

2.9.1 Personal Home Page (PHP)

Personal Home Page atau yang biasa disebut PHP (sekarang PHP: Hypertext Processor) adalah skrip yang dijalankan di sisi server. Jadi, konsepnya berbeda dengan JavaScript yang dijalankan pada sisi klien. Keuntungan penggunaan PHP, kode yang menyusun program tidak perlu dibagikan ke pemakai, yang berarti bahwa kerahasiaan kode dapat dilindungi.

Secara khusus, PHP dirancang untuk membentuk web dinamais. Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaan terkini. Misalnya, anda bisa menampilkan isi database ke halaman web. Pada prinsipnya, PHP mempunyai fungsi yang sama dengan skrip-skrip seperti ASP (Active Server Page), Cold Fusion, ataupun Perl.

Hal menarik yang didukung oleh PHP tetapi tidak mungkin dilakukan oleh JavaScript adalah kenyataan bahwa PHP bisa digunakan untuk mengakses berbagai macam database seperti Access, Oracle, MySQL, dan lain-lain. Seperti halnya JavaScript, kode PHP dapat disisipkan pada kode HTML. Selain itu PHP juga bisa digunakan untuk menghasilkan kode-kode HTML [10].

2.10 Database

Basis data (atau database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Database digunakan untuk menyimpan informasi atau data yang terintegrasi dengan baik di dalam computer [11].

2.10.1 Database Management System (DBMS)

DBMS merupakan suatu sistem perangkat lunak yang memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan memanipulasi data yang ada [11].

(15)

2.10.1.1 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 hamper atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan 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 non-transaksional. Pada modus operasi nontransaksional, MySQL dapat dikatakan unggul dalam hal

(16)

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 nontransaksional [11].

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.

3. Multi-user.

MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.Performance tuning 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).

(17)

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

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

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

11. Klien dan Peralatan

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.

(18)

2.11 Unified Modelling Language (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 [12].

2.11.1 Use Case

Menurut Wijaya pada tahun 2015, Use case diagram adalah gambaran dari beberapa atau seluruh aktor dan use case dengan tujuan mengenali interaksi mereka dalam suatu sistem. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang ditentukan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem [12].

Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case yaitu [12]:

1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit-unit atau aktor.

(19)

Gambar 2.5 Contoh Use Case Diagram [12]

Scenario Usecase

Use Case scenario adalah alur jalannya proses use case dari sisi aktor dan system. Skenario use case dibuat per use case terkecil, misalkan untuk generalisasi maka scenario yang dibuat adalah use case yang lebih khusus. Skenario normal adalah scenario bila system berjalan normal tanpa terjadi kesalahan atau error. Sedangkan skenario alternatif adalah scenario bila system tidak berjalan normal atau mengalami error. Skenario normal dan skenario alternatif dapat berjumlah lebih dari satu. Alur skenario inilah yang nantinya menjadi landasan pembuatan sequence diagram / diagram sekuen [12].

2.11.2 Activity Diagram

Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas mendukung perilaku parallel [12].

(20)

Gambar 2.6 Contoh Activity Diagram [12]

2.11.3 Component Diagram

Diagram komponen atau component diagram dibuat untuk menunjukkan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem. Pengertian komponen sendiri dalam UML adalah hal-hal fisik dari sistem yang akan dimodelkan dan ada ketika sistem dieksekusi [12]. Diantara contoh komponen dasar pada sebuah Sistem yaitu :

1. Komponen user interface yang menangani tampilan

2. Komponen bussiness processing yang menangani fungsi-fungsi proses bisnis

3. Komponen data yang menangani manipulasi data 4. Komponen security yang menangani keamanan sistem

(21)

Gambar 2.7 Contoh component diagram [12]

2.11.4 Deployment Diagram

Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi [12]. Diagram deployment juga dapat digunakan untuk memodelkan hal-hal berikut: 1. Sistem tambahan (embedded system) yang menggambarkan rancangan

device, node, dan hardware. 2. Sistem client/server

3. Sistem terdistribusi murni 4. Rekayasa ulang aplikasi

(22)

2.12 Tools yang Digunakan

Terdapat beberapa tools yang digunakan untuk membangun sistem yakni:

1. Sublime Text

Sublime Text merupakan sebuah text editor yang digunakan untuk oleh para Programmer untuk menuliskan sebuah kode program. Sublime Text mendukung sejumlah bahasa pemrograman seperti C, C++, PHP, Javascript, dll.

2. Xampp

Xampp adalah sebuah perangkat lunak bersifat bebas yang mendukung banyak sistem operasi dan berfungsi sebagai server lokal yang berdiri sendiri. Xampp terdiri atas beberapa aplikasi program yakni Apache HTTP Server, MySQL, FileZilla, Mercury dan Tomcat.

3. Web Browser

Perangkat yang digunakan untuk mencari atau menjelajahi informasi di dalam jaringan internet dari sebuah media seperti situs, blog, jejaring sosial, dan lain sebagainya yang tersimpan di dalam internet.

Gambar

Gambar 2.1 Proses Case Folding
Gambar 2.3 Proses Stopword Removal
Tabel 2.1 Kombinasi Awalan Akhiran yang tidak diizinkan [2].
Tabel 2.2 Cara menentukan tipe awalan kata “te” [2].
+5

Referensi

Dokumen terkait

Kesan-kesan buruk lain : Tiada kesan yang penting atau bahaya kritikal yang diketahui.

Kajian Lingkungan Hidup Strategis yang selanjutnya disingkat KLHS adalah proses mengintegrasikan pembangunan berkelanjutan yang berwawasan lingkungan hidup dalam

Sejauh ini mengapa banyak yang mengatakan bahwa pekerjaan sebagai pegawai perbankan sangatlah sulit, itu juga didukung dengan pernyataan bahwa banyaknya kriteria

Penghambatan HIF-1 dan gen targetnya seperti Vascular Endothelial Growth Factor (VEGF) dan Glucose Transport -1 (GLUT-1)terbukti efektif dapat menurunkan

dapat dikatakan bahwa tafsir Al-Qurt}ubi menggunakan metode tahlili>. Hal ini dapat dilihat dari cara Al-Qurt}ubi dalam menjelaskan kandungan ayat secara panjang lebar

Aturan-aturan yang hasilnya tidak terklasifikasi disebabkan karena semua atribut atau variabel yang terdefinisikan, seperti: kategori, tingkat perekonomian, tingkat

(2003) Indonesia Population: Etnis Tionghoa, Pribumi Indonesia dan Kemajemukkan Peran Negara, Sejarah, dan Budaya, dalam Hubungan antar etnis.. Instute of Southerst

mengetahui bagaimana jenis produk setoran awal Bipih dan implikasinya terhadap calon jamaah haji serta memberikan analisis hukum ekonomi syariah tentang penentuan