PERANCANGAN SISTEM PENILAIAN TES KETELITIAN ENTRY DATA UNTUK PEREKRUTAN PEGAWAI DENGAN MENGGUNAKAN ALGORITMA LEVENSHTEIN DISTANCE.

(1)

PEGAWAI DENGAN MENGGUNAKAN ALGORITMA

LEVENSHTEIN DISTANCE

SKRIPSI

Oleh :

HAQIQI AGUS D.F.

0834010166

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL

“VETERAN” JAWA TIMUR

2012


(2)

Puji syukur ke hadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya, sehingga dapat terselesaikannya Tugas Akhir ini.

Dengan selesainya tugas akhir ini tidak terlepas dari bantuan banyak pihak yang telah memberikan masukan-masukan. Untuk itu penyusun mengucapkan terima kasih sebagai perwujudan rasa syukur atas terselesaikannya tugas akhir ini dengan lancar. Ucapan terima kasih ini saya tujukan kepada :

1. Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.

2. Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

3. Dr. Ir. Ni Ketut Sari, MT. selaku Ketua Jurusan Teknik Informatika UPN “Veteran” Jawa Timur.

4. Intan Yuniar Purbasari, S.Kom., M.Cs. selaku dosen pembimbing I pada Tugas Akhir ini, yang telah banyak memberikan petunjuk, masukan, bimbingan, dorongan serta kritik yang bermanfaat sejak awal hingga terselesainya Tugas Akhir ini.

5. Wahyu S.J. Saputra, S.Kom.M.Kom. selaku dosen pembimbing II yang telah banyak memberikan petunjuk, masukan serta kritik yang bermanfaat hingga terselesainya Skripsi ini.

6. Terimakasih buat Papaku serta Mamaku tercinta yang telah memberi semangat, dorongan dan do’a yang tiada henti-hentinya. Terimakasih buat adik-adikku tersayang,untuk kakek dan nenek,tante tante dan omku,untuk


(3)

7. Terima kasih untuk seseorang yang tidak saya sebut namanya, yang selama ini memberikan support, dukungan dan do’a sehingga saya mampu untuk menyelesaikan Tugas Akhir ini. Untuk keluarganya terimakasih om Wahib, Tante Ayu, Mbak Evi, Mas Heru, Mas Fendin, terimakasih atas dukungannya selama ini.

8. Terimakasih buat teman seperjuanganku Ekshadi, Kiki Oktaria, Rizky Firmansyah, Slamet Soendoro, Min Umami, Eva Yulia, Maysita, Eva Yulia, Eca, Dudi Harianto, Eka Adi Saputra, Andre Istighfarianto, Eng, yang telah memberi semangat dan banyak membantu selama ini.

9. Terimakasih buat teman bermain dan teman fitnesku, Om Mayoon, Mas Emil, Mas David, Mas Ari, Mas Freedy, John Key trimakasih yang banyak karena kalian sudah ajak aku refresing disaat otak ini lagi butek..

10.Serta orang-orang yang tidak dapat saya sebutkan satu persatu namanya. Terimakasih atas bantuannya semoga Allah SWT yang membalas semua kebaikan dan bantuan tersebut

Surabaya, 2012


(4)

ii

Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Rahmat-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki, akhirnya peneliti dapat menyelesaikan Tugas Akhir yang berjudul “PERANCANGAN SISTEM PENILAIAN TES KETELITIAN ENTRY DATA UNTUK PEREKRUTAN PEGAWAI DENGAN MENGGUNAKAN ALGORITMA LEVENSHTEIN DISTANCE” tepat waktu.

Tugas Akhir ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika,

Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Dalam penyusunan Tugas akhir ini, Peneliti berusaha untuk menerapkan ilmu yang telah didapat selama menjalani perkuliahan dengan tidak terlepas dari petunjuk, bimbingan, bantuan, dan dukungan berbagai pihak.

Dengan tidak lupa akan kodratnya sebagai manusia, Peneliti menyadari bahwa dalam karya tugas akhir ini masih mengandung kekurangan sehingga dengan segala kerendahan hati, Peneliti masih akan tetap terus mengharapkan saran serta kritik yang membangun dari rekan-rekan pembaca.

Surabaya, 2012


(5)

v

Halaman LEMBAR PENGESAHAN

ABSTRAK ... i

KATA PENGANTAR ... ii

UCAPAN TERIMA KASIH ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xi

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Perumusan Masalah ... 2

1.3. Batasan Masalah ... 2

1.4. Tujuan ... 3

1.5. Manfaat ... 3

1.6. Metodologi ... 4

1.7. Sistematika Penulisan ... 5

BAB II TINJAUAN PUSTAKA ... 7

2.1 Kemiripan Sintatik dan Semantik ... 7

2.2 Metode Pendeteksi Plagiarisme ... 8

2.3 Teks Mining ... 9

2.4 Ruang Lingkup Teks Mining ... 10

2.5 Ektraksi Dokumen ... 13

2.6 Case Folding dan Tokenizing ... 13

2.7 Filtering ... 14


(6)

2.9 Levenshtein Distance ... 15

2.10 Pengertian dan Sejarah Netbeans ... 17

2.11 Platform Netbeans ... 18

2.12 Netbeans IDE (Integrated Development Environment) ... 19

2.13 Paket-Paket Tambahan Netbeans IDE ………. 20

2.14 Unified Modelling Languange (UML) ... . 24

2.15 Use Case Diagram ... . 25

2.16 Class Diagram ... . 27

2.17 Activity Diagram ... . 30

2.18 Sequence Diagram ... 31

2.19 Cardinality Ratio ... . 32

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 34

3.1 Analisis Kebutuhan Sistem ... 34

3.2 Perancangan Sistem ... 35

3.2.1 Algoritma Levenshtein Distance ... 35

3.2.2 Kemiripan Sintatik dan Semantik ... 37

3.2.3 Tokenizing ... 38

3.2.4 Implementasi Penilaian Menggunakan SynSemSim ... 39

3.2.5 Alir Sistem ... 40

3.2.6 Use Case Diagram ... 40

3.2.7 Activity Diagram ... 42

3.2.8 Sequence Diagram ... . 44

3.2.9 Class Diagram ... . 48

3.3 Perancangan Awal User Interface Levenshtein Test ... 49

BAB IV IMPLEMENTASI ... 51

4.1 Spesifikasi Sistem ... 51

4.2 Implementasi User Interface ... 51

4.2.1 Tampilan Login Peserta ... 52


(7)

4.2.3 Halaman Login Administrator ... . 57

4.2.4 Halaman Admin-Data Peserta ... 58

4.2.5 Halaman Admin-Data Artikel Test ... . 59

4.2.6 Halaman Admin-Trial Lavenshtein Test ... . 60

4.2.7 Halaman Admin-Setting Login Admin ... . 61

BAB V UJI COBA DAN EVALUASI ... 62

5.1. Uji Coba Sistem ... 62

5.1.1 Uji Coba Sistem Pada Halaman Trial Test Dengan Inputan Sesuai Bahan Uji ... 62

5.1.2 Uji Coba Sistem Pada Halaman Trial Test Dengan Inputan Kata yang Sama Tetapi Huruf Besar diRubah ke Hruf Kecil, dan Sebaliknya ...63

5.1.3 Uji Coba Pada Sistem Pada Halaman Trial Test Dengan Inputan Jumlah Kata Yang Sama Tetapi Ada Kesalahan Pada Pengetikkan. ... 64

5.1.4 Uji CobaSistem Pada Halaman Trai Test Dengan Inputan Kata Yang Masih Kurang. ... . 65

5.1.5 Uji Coba Pada Sistem Pada Halaman Trial Test Dengan Inputan Kata Yang Melebihi Banyak Kata Yang di Ujikan. ... . 66

5.1.6 UJi Coba Sistem Pada Halaman Trial Test Dimana Peran “.” Ataupun “,” Masih diperhitungkan. ... 66

5.2. Evaluasi Terhadap User Dengan Sistem ... 67

5.2.1. Evaluasi Perbandingan Perhitungan Manual Dengan Sistem .... 69

BAB VI PENUTUP ... 71

6.1. Kesimpulan ... 71

6.2. Saran ... 72 DAFTAR PUSTAKA


(8)

DOSEN PEMBIMBING II : WAHYU S.J. SAPUTRA, S.Kom.,M.Kom. PENYUSUN : HAQIQI AGUS DIAN FIRMANSYAH

i

ABSTRAK

Di era globalisasi ini perkembangan teknologi berkembang begitu pesat seiring dengan kemajuan pola pikir sumber daya manusia yang semakin maju. Keinginan untuk selalu menciptakan suatu hasil karya mengalami perubahan secara bertahap yang bersifat kompetitif agar dapat menciptakan kemudahan bagi manusia. Perencanaan dan usaha pemenuhan kebutuhan sumber daya manusia, yang dilakukan dalam seleksi, bila dikelola secara professional akan sangat menentukan mutu dan kesuksesan perusahaan. Dengan kata lain seleksi pegawai yang di bagian entry data kebanyakan tes penguasaan pada Microsoft Excel, tes semacam ini masih kurang efektif, dikarenakan tidak dapat diketahuinya seberapa tingkat ketelitian, oleh karena itu dalam kasus ini akan merancang sebuah system penilaian tes ketelitian, dimana pihak manajemen dalam proses seleksi pegawai, khususnya pada proses penilaian hasil tes ketelitian entry data untuk perekrutan pegawai.

Mendukung pembuatan aplikasi tersebut maka perlu adanya metode yang dipakai dalam skripsi ini akan menggunakan algoritma Levenshtein Distance, Algoritma Levenshtein Distance adalah suatu pengukuran (metrik) yang dihasilkan melalui perhitungan jumlah perbedaan ("jarak") yang terdapat diantara dua untaian karakter (string). Teknik menghitung kemiripan antar kalimat adalah menghitung kemiripan arti tiap kata dengan seluruh kata pada kalimat lain,dimana pada algoritma ini dapat dilihat seberapa tepat ketelitian yang di miliki oleh seseorang dan aplikasi ini akan di buat dengan menggunakan bahasa pemrograman java.

Tes ketelitian entry data secara secara umum akan menunjukkan seberapa tinggi tingkat ketelitian seseorang yang harus dilakukan secara berhati-hati dan dengan algoritma yang tepat, tes seperti ini akan memperoleh sumber daya yang baik untuk jangka waktu yang lebih panjang. Dalam aplikasi ini penguji menentukan data apa saja yang dipakai,dari hasil evaluasi perbandingan perhitungan manual dengan perhitungan dengan system didapatkan kesamaan pada perhitungan penilain akhir.

Kata Kunci: Sistem Pendukung Keputusan, AlgoritmaLevenshtein Distance, Tes


(9)

1 1.1. Latar Belakang

Di era globalisasi ini perkembangan teknologi berkembang begitu pesat seiring dengan kemajuan pola pikir sumber daya manusia yang semakin maju. Keinginan untuk selalu menciptakan suatu hasil karya mengalami perubahan bertahap yang bersifat kompetitif agar dapat menciptakan kemudahan bagi manusianya sendiri yang di dukung dengan perangkat - perangkat canggih. Kondisi tersebut menginspirasi peneliti selaku mahasiswa untuk menciptakan produk yang bersifat ekonomis dan efisien dengan hasil yang bersifat kualitatif.

Investasi di bidang Sumber Daya Manusia merupakan investasi yang sangat penting, sekaligus memerlukan perhatian khusus dalam penanganannya. Sebagai salah satu elemen perusahaan, Manajemen Sumber Daya Manusia tidak dapat dipisahkan dari bidang manajemen lainnya dalam pencapaian tujuan perusahaan. Perencanaan dan usaha pemenuhan kebutuhan Sumber Daya Manusia yang dilakukan dalam seleksi, bila dikelola secara profesional akan sangat menentukan mutu dan kesuksesan perusahaan, dengan kata lain seleksi yang efektif akan memperoleh sumber daya yang baik untuk jangka waktu yang lebih panjang Tujuan utama dari proses tes penilaian ketelitian adalah untuk mendapatkan orang yang tepat bagi perusahaan pada ketelitian entry data, sehingga orang tersebut mampu bekerja secara optimal dan dapat bertahan di perusahaan untuk waktu yang lama.


(10)

Dunia kerja, khususnya pada kantor perpajakan, kantor perpajakan sering membutuhkan pegawai yang cepat dan teliti dalam memasukan data-data perusahan yang sangat penting, pegawai tersebut bertugas memasukan data-data penting perusahan yang menyangkut perpajakan, tetapi sering terjadi kasus kesalahan dalam memasukkan data di karenakan kurang tingginya ketelitian pegawai, hal ini sangatlah berdampak buruk pada kantor perpajakan.

Menilai tingkat ketelitian calon pegawai, maka perlu di buatkanlah aplikasi pada desktop yang berupa system penilaian ketelitian entry data untuk perekrutan calon pegawai, menambahkan cara lama yang masi kurang efektif, karena tes nya hanya pada Microsoft Excel saja, tanpa dapat mengetahui tingkat ketelitian entry data, sehingga perlu di buatlah system ini agar kantor perpajakan atau perusahaan benar-benar mendapatkan pegawai yang diharapkan.

1.2. Perumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan di atas, maka dapat ditarik suatu rumusan masalah sebagai berikut :

a. Bagaimana merancang suatu sistem untuk penilaian ketelitian entry data untuk perekrutan pegawai?

b. Bagaimana hasil nilai similarity menggunakan algoritma Levenshtein

Distance?

c. Bagaimana mengetahui tingkat kecepatan pengetikan / input data.

1.3. Batasan Masalah


(11)

diberikan pembatasan atau ruang lingkup pembahasan. Adapun batasan - batasan masalah adalah sebagai berikut :

a. Sistem menguji kemiripan ejaan kalimat, symbol, dan angka. b. Hanya digunakan bagi peserta yang mengikuti tes.

c. Digunkan di perusahaan untuk mencari pegawai yang mempunyai ketelitian dan kecepatan dalam hal pengetikan dan input data

d. Sistem tidak untuk di online kan.

1.4. Tujuan

Tujuan yang ingin dicapai dalam tugas akhir ini adalah merancang system penilaian tes ketelitian entry data untuk perekrutan pegawai dengan menggunakan algoritma levenshtein distance.

1.5. Manfaat

Adapun manfaat yang akan diperoleh dalam pembuatan system ini adalah sebagai berikut:

a. Sistem dapat menentukan persentase kemiripan (similarity) antara dokumen yang diujikan dengan dokumen inputan calon karyawan .

b. Sistem dapat melakukan timer pada saat proses tes pengetikan berlangsung, sehingga nantinya dapat diketahui berapa lama waktu dalam proses input atau pengetikan data berlangsung.

c. Sistem dapat melakukan penilaian atau scoring dengan waktu yang singkat. d. Mempermudah pihak HRD melakukan tes ketelitian dan kecepatan entry

data pada calon karyawan sehingga dapat mempercepat dalam pemilihan pegawai yang sesuai kebutuhan perusahaan.


(12)

1.6. Metodologi

Sebelum menganalisis lebih jauh terhadap penilaian ketelitian entry data, maka disusun metodologi yang dijabarkan dalam langkah-langkah sebagai berikut:

1. Studi Literatur

Mempelajari tentang sistem informasi retrieval dan metode pencocokan string melalui berbagai macam media, antara lain melalui internet, jurnal-jurnal dan buku yang berhubungan dengan text processing.

2. Perancangan Sistem

Melakukan perancangan sistem dengan menguji algoritma yang digunakan terhadap data-data yang ada, yang sudah di persiapkan untuk mengetahui algoritma tersebut baik atau cocok di gunakan.

3. Implementasi

Pembuatan aplikasi penilaian ketelitian berdasarkan perancangan yang telah dibuat sebelumnya ke dalam program komputer.

4. Uji coba produk dan evaluasi.

Melakukan uji coba program yang telah dibuat. Kemudian melakukan evaluasi terhadap kekurangan program dan memperbaikinya, sehingga menjadikan sebuah system yang benar-benar mempunyai tinggi kegunaan dan kemudahan dalam menjalankan system tersebut.

5. Penulisan Buku Tugas Akhir

Tahap akhir dari semua pengerjaan tugas akhir adalah yaitu penulisan buku dimana semua metode, hasil implementasi, uji coba dan kesimpulan dituliskan ke dalam buku tersebut dengan aturan yang sudah ditetapkan.


(13)

1.7 Sistematika Penulisan

Dalam dokumentasi laporan tugas akhir ini, pembahasan disajikan dalam enam bab dengan sitematika pembahasan sebagai berikut :

a. BAB I PENDAHULUAN

Bab ini berisikan tentang latar belakang masalah, perumusan masalah, batasan masalah, tujuan, manfaat, dan sistematika penulisan pembuatan tugas akhir ini.

b. BAB II LANDASAN TEORI

Pada bab ini menjelaskan tentang teori-teori pemecahan masalah yang berhubungan dan digunakan untuk mendukung dalam pembuatan tugas akhir ini.

c. BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini dijelaskan tentang tata cara perancangan sistem yang digunakan untuk mengolah sumber data yang dibutuhkan sistem antara lain : Perancangan perangkat keras, perancangan perangkat lunak, seperti pada Flowchart , Use Case, dan perancangan server data

d. BAB IV IMPLEMENTASI SISTEM

Pada bab ini menjelaskan implementasi dari program yang telah dibuat meliputi lingkungan implementasi , implementasi proses dan implementasi antarmuka.


(14)

e. BAB V UJI COBA DAN EVALUASI

Pada bab ini menjelaskan tentang pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat.

f. BAB VI PENUTUP

Bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan sistem

g. DAFTAR PUSTAKA

Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang digunakan dalam pembutan laporan tugas akhir ini .


(15)

7 2.1. Kemiripan Sintatik dan Semantik

Teknik menghitung kemiripan kata secara sintaktik pada penelitian menggunakan algoritma Levenshtein Distance. Algoritma ini menghitung kemiripan antar kata berdasarkan total biaya terkecil dari transformasi salah satu kata menjadi kata yang lain dengan menggunakan edit-rules, yaitu penambahan karakter (insertion), penggantian karakter (subtituion), dan penghapusan karakter(deletion) [6]. Algoritma Levenshtein Distance dimulai dari elemen pojok kiri atas sebuah larik (array) dua dimensi dengan indeks baris adalah karakter sumber dan indeks kolom adalah karakter target yang dibandingkan dengan kata sumber. Tiap cell[i,j] merepresentasikan biaya terkecil dari transformasi karakter ke-i dari kata sumber ke karakter ke-j dari kata target. Biaya edit-distance adalah nilai dari cell[n,m]. Untuk biaya edit-distance adalah pada cell[n,m] yaitu 2. Setelah mendapatkan biaya edit-distance maka untuk menghitung nilai Levenshtein dilakukan perhitungan seperti yang terdapat pada gambar seperti di bawah ini.

Lavenshtein Distance menggunakan Persamaan :


(16)

Nilai kemiripan (similarity score) diasumsikan pada rentang 0 (nol) hingga 1 (satu), yang artinya nilai 1 adalah nilai maksimum yang menunjukan bahwa dua kata adalah sama identik [7]. Pendekatan yang digunakan oleh penelitian ini mampu mengukur nilai kemiripan antar dua string berdasarkan pada susunan karakter.

2.2. Metode Pendeteksi Plagiarisme

Metode pendeteksi plagiarisme dibagi menjadi tiga bagian yaitu metode perbandingan teks lengkap, metode dokumen fingerprinting, dan metode kesamaan kata kunci. Berikut ini penjelasan dari masing-masing metode dan algoritma pendeteksi plagiarisme :

a. Perbandingan Teks Lengkap. Metode ini diterapkan dengan membandingkan semua isi dokumen. Dapat diterapkan untuk dokumen yang besar. Pendekatan ini membutuhkan waktu yang lama tetapi cukup efektif, karena kumpulan dokumen yang diperbandingkan adalah dokumen yang disimpan pada penyimpanan lokal.

Metode perbandingan teks lengkap tidak dapat diterapkan untuk kumpulan dokumen yang tidak terdapat pada dokumen lokal. Algoritma yang digunakan pada metode ini adalah algoritma Brute-Force , algoritma edit distance, algoritma Boyer Moore dan algoritma lavenshtein distance

b. Dokumen Fingerprinting. Dokumen fingerprinting merupakan metode yang digunakan untuk mendeteksi keakuratan salinan antar dokumen,


(17)

baik semua teks yang terdapat di dalam dokumen atau hanya sebagian teks saja. Prinsip kerja dari metode dokumen fingerprinting ini adalah dengan menggunakan teknik hashing. Teknik hashing adalah sebuah fungsi yang mengkonversi setiap 9 string menjadi bilangan. Misalnya Rabin-Karp, Winnowing dan Manber

c. Kesamaan Kata Kunci. Prinsip dari metode ini adalah mengekstrak kata kunci dari dokumen dan kemudian dibandingkan dengan kata kunci pada dokumen yang lain. Pendekatan yang digunakan pada metode ini adalah teknik dot.

2.3. Teks Mining

Teks mining, yang juga disebut sebagai Teks Data Mining (TDM) atau Knowledge Discovery in Text (KDT), secara umum mengacu pada proses ekstraksi informasi dari dokumen-dokumen teks tak terstruktur (unstructured). Teks mining dapat didefinisikan sebagai penemuan informasi baru dan tidak diketahui sebelumnya oleh komputer, dengan secara otomatis mengekstrak informasi dari sumber-sumber teks tak terstruktur yang berbeda. Kunci dari proses ini adalah menggabungkan informasi yang berhasil diekstraksi dari berbagai sumber. Tujuan utama teks mining adalah mendukung proses knowledge discovery pada koleksi dokumen yang besar. Pada prinsipnya, teks mining adalah bidang ilmu multidisipliner, melibatkan information retrieval (IR), text analysis, information extraction (IE), clustering, categorization, visualization, database technology, natural language processing (NLP), machine learning, dan data


(18)

mining. Dapat pula dikatakan bahwa teks mining merupakan salah satu bentuk aplikasi kecerdasan buatan (artificial intelligence / AI).

Teks mining mencoba memecahkan masalah information overload dengan menggunakan teknik-teknik dari bidang ilmu yang terkait. Teks mining dapat dipandang sebagai suatu perluasan dari data mining atau knowledge-discovery in database (KDD), yang mencoba untuk menemukan pola-pola menarik dari basis data berskala besar. Namun teks mining memiliki potensi komersil yang lebih tinggi dibandingkan dengan data mining, karena kebanyakan format alami dari penyimpanan informasi adalah berupa teks. Teks mining menggunakan informasi teks tak terstruktur dan mengujinya dalam upaya mengungkap dalam teks. Perbedaan mendasar antara teks mining dan data mining terletak pada sumber data yang digunakan. Pada data mining, pola-pola diekstrak dari basis data yang terstruktur, sedangkan di teks mining, pola-pola diekstrak dari data tekstual (natural language ). Secara umum, basis data didesain untuk program dengan tujuan melakukan pemrosesan secara otomatis, sedangkan teks ditulis untuk dibaca langsung oleh manusia.

2.4. Ruang Lingkup Teks Mining

Teks mining merupakan suatu proses yang melibatkan beberapa area teknologi. Namun secara umum proses-proses pada teks mining mengadopsi proses data mining. Bahkan beberapa teknik dalam proses teks mining juga menggunakan teknik-teknik data mining. Ada empat tahap proses pokok dalam teks mining, yaitu pemrosesan awal terhadap teks (text preprocessing),


(19)

transformasi teks (text transformation), pemilihan fitur (feature selection), dan penemuan pola (pattern discovery).[3]

a. Text Preprocessing

Tahap ini melakukan analisis semantik (kebenaran arti) dan sintaktik (kebenaran susunan) terhadap teks. Tujuan dari pemrosesan awal adalah untuk mempersiapkan teks menjadi data yang akan mengalami pengolahan lebih lanjut.

b. Text Transformation

Transformasi teks atau pembentukan atribut mengacu pada proses untuk mendapatkan representasi dokumen yang diharapkan. Pendekatan representasi dokumen yang lazim. Transformasi teks sekaligus juga melakukan pengubahan kata-kata ke bentuk dasarnya dan pengurangan dimensi kata di dalam dokumen. Tindakan ini diwujudkan dengan menerapkan stemming dan menghapus

stopwords. c. Feature Selection

Pemilihan fitur (kata) merupakan tahap lanjut dari pengurangan dimensi pada proses transformasi teks. Walaupun tahap sebelumnya sudah melakukan penghapusan kata-kata yang tidak deskriptif (stopwords), namun tidak semua kata-kata di dalam dokumen memiliki arti penting. Oleh karena itu, untuk mengurangi dimensi, pemilihan hanya dilakukan terhadap katakata yang relevan yang benar-benar merepresentasikan isi dari suatu dokumen. Ide dasar dari pemilihan fitur adalah menghapus kata-kata yang kemunculannya di suatu dokumen terlalu sedikit atau


(20)

terlalu banyak. Algoritma yang digunakan pada teks mining, biasanya tidak hanya melakukan perhitungan pada dokumen saja, tetapi juga pada feature . Empat macam feature yang sering digunakan:

Character , merupakan komponan individual, bisa huruf, angka,

karakter spesial dan spasi, merupakan block pembangun pada level paling tinggi pembentuk semantik feature , seperti kata, term dan concept . Pada umumnya, representasi character-based ini jarang digunakan pada beberapa teknik pemrosesan teks.

Words.

Terms merupakan single word dan multiword phrase yang terpilih

secara langsung dari corpus. Representasi term-based dari dokumen tersusun dari subset term dalam dokumen.

Concept, merupakan feature yang di-generate dari sebuah dokumen

secara manual, rule-based, atau metodologi lain. d. Pattern Discovery

Pattern discovery merupakan tahap penting untuk menemukan pola

atau pengetahuan (knowledge ) dari keseluruhan teks. Tindakan yang lazim dilakukan pada tahap ini adalah operasi teks mining, dan biasanya menggunakan teknik-teknik data mining. Dalam penemuan pola ini, proses teks mining dikombinasikan dengan proses-proses data mining. Masukan awal dari proses teks mining adalah suatu data teks dan menghasilkan keluaran berupa pola sebagai hasil interpretasi atau evaluasi. Apabila hasil keluaran dari penemuan pola belum sesuai untuk aplikasi, dilanjutkan evaluasi dengan melakukan


(21)

iterasi ke satu atau beberapa tahap sebelumnya. Sebaliknya, hasil interpretasi merupakan tahap akhir dari proses teks mining dan akan disajikan ke pengguna dalam bentuk visual.

2.5. Ektraksi Dokumen

Teks yang akan dilakukan proses teks mining, pada umumnya memiliki beberapa karakteristik diantaranya adalah memiliki dimensi yang tinggi, terdapat noise pada data, dan terdapat struktur teks yang tidak baik. Cara yang digunakan dalam mempelajari suatu data teks, adalah dengan terlebih dahulu menentukan fitur-fitur yang mewakili setiap kata untuk setiap fitur yang ada pada dokumen. Sebelum menentukan fitur-fitur yang mewakili, diperlukan tahap preprocessing yang dilakukan secara umum dalam teks mining pada dokumen, yaitu case

folding, tokenizing, filtering, stemming, tagging dan analyzing.

2.6. Case Folding dan Tokenizing

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 . Tahap tokenizing / parsing adalah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya.


(22)

2.7. Filtering

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. Contohnya adalah „yang‟, „di‟, „dan‟, „dari‟, dan seterusnya.

Gambar 2.3 Filtering

2.8. 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. Tahap ini kebanyakan dipakai untuk teks berbahasa nggris dan lebih sulit diterapkan pada teks berbahasa Indonesia. Hal ini dikarenakan bahasa Indonesia tidak memiliki rumus bentuk baku yang permanen. Contoh dari tahapan ini pada teks adalah bisa di lihat pada Gambar 2.4.


(23)

Gambar 2.4 Stemming

2.9. Levenshtein Distance

Levenshtein Distance atau sering disebut juga edit distance adalah suatu

pengukuran (metrik) yang dihasilkan melalui perhitungan jumlah perbedaan ("jarak") yang terdapat diantara dua untaian karakter (string). Perbedaan yang diukur adalah jumlah minimal operasi penambahan (insert), penghapusan (delete) dan penggantian karakter (substitute) yang dibutuhkan untuk meniadakan perbedaan diantara keduanya. Teknik menghitung kemiripan antar kalimat adalah menghitung kemiripan arti tiap kata dengan seluruh kata pada kalimat lain. Sebagai contoh:

Kalimat 1: “John eats apple”. Kalimat 2: “Apple eats John”.

Proses tokenizing dari kedua kalimat tersebut menghasilkan token: Tokens 1 = {“John”, “eats”, “apple”}.

Tokens 2 = {“Apple”, “eats”, ”John”}.


(24)

Hubungan Antar Kata :

Gambar 2.5 Hubungan Antar Kata

Rancangan dan Arsitektur Sistem Penilaian Ketelitian Otomatis :

Gambar 2.6 Rancangan dan Arsitektur

Proses kemiripan semantik dengan menggunakan thesaurus WordNet menghasilkan matrix similarity seperti yang ditunjukkan dalam Tabel. Setelah matrix similarity didapatkan, maka dilanjutkan proses fast heuristic dan Matching Average yang ditunjukkan pada Gambar 2.1. dengan hasil nilai kemiripan kedua kalimat adalah 1 yang artinya adalah sama identik secara semantik.


(25)

2.10. Pengertian dan Sejarah Netbeans

NetBeans adalah Integrated Development Environment (IDE) berbasiskan Java dari Sun Microsystems yang berjalan di atas Swing. Swing sebuah teknologi Java untuk pengembangan aplikasi Desktop yang dapat bejalan di berbagai macam platforms seperti Windows, Linux, Mac OS X and Solaris.

Suatu IDE adalah lingkup pemrograman yang diintegrasikan kedalam suatu aplikasi perangkat lunak yang menyediakan pembangun. Graphic User

Interface (GUI), suatu text atau kode editor, suatu compiler atau interpreter dan

suatu debugger. Netbeans merupakan software development yang Open Source, dengan kata lain software ini di bawah pengembangan bersama dan juga bebas biaya.

NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan

pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra. Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama.

Mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans. Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut „modul‟. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinteraksi dengan NetBeans Open API dan file

manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang dibangun


(26)

baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful.

Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun 1999. Sun kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus berkembang.

2.11. Platform Netbeans

Platform NetBeans adalah framework yang dapat digunakan kembali

(reusable) untuk menyederhanakan pengembangan aplikasi desktop. Ketika aplikasi berbasis platform NetBeans dijalankan, kelas Main dari platform dieksekusi. Modul-modul yang tersedia ditempatkan di sebuah registry di dalam memori, dan tugas startup modul dijalankan. Secara umum, kode modul dimuatkan ke dalam memori hanya ketika ia diperlukan.

Aplikasi dapat menginstal modul secara dinamis. Aplikasi dapat memasukkan modul Update Center untuk mengijinkan pengguna aplikasi men-download digitally-signed upgrade dan fitur-fitur baru secara langsung ke dalam aplikasi yang berjalan. Penginstalan kembali sebuah upgrade atau rilis baru tidak memaksa pengguna untuk men-download keseluruhan aplikasi lagi.

Platform NetBeans menawarkan layanan-layanan yang umum bagi aplikasi


(27)

aplikasi. Fitur-fitur yang disediakan oleh platform NetBeans: a. Manajemen antarmuka (misal: menu & toolbar). b. Manajemen pengaturan pengguna.

c. Manajemen penyimpanan (menyimpan dan membuka berbagai macam data).

d. Manajemen jendela.

e. Wizard framework (mendukung dialog langkah demi langkah).

2.12. Netbeans IDE (Integrated Development Environment)

NetBeans IDE adalah IDE open source yang ditulis sepenuhnya dengan

bahasa pemrograman Java menggunakan platform NetBeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.

Versi terbaru setelah itu adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007 mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain visual SOA, skema XML, web service dan pemodelan UML.

NetBeans C/C++ Pack mendukung proyek C/C++.

Modularitas: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat


(28)

semua modul yang diperlukan dalam pengembangan Java dalam sekali download, memungkinkan pengguna untuk mulai bekerja sesegera mungkin. Modul-modul juga mengijinkan NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE.

2.13. Paket – Paket Tambahan Netbeans IDE

Sejak Juli 2006, NetBeans IDE di lisensikan di bawah Common

Development and Distribution License (CDDL), yaitu lisensi yang berbasis

Mozilla Public License (MPL).

Paket-Paket Tambahan NetBeans IDE :

a. NetBeans Mobility Pack

NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi

yang berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga mencakup PDA, dan lain-lain.

NetBeans Mobility Pack dapat digunakan untuk menulis, menguji,

dan debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan dukungan terhadap Mobile

Information Device Profile (MIDP) 2.0, Connected Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration

(CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk lingkungan pengujian yang lebih kokoh. NetBeans


(29)

Mobility Pack saat ini tersedia dalam dua klaster yang berbeda, yang

satu memuat CDC dan yang lainnya CLDC.

b. NetBeans Profiler

NetBeans Profiler adalah alat untuk mengoptimalkan aplikasi Java,

membantu menemukan kebocoran memori dan mengoptimalkan kecepatan. Profiler ini berdasarkan sebuah proyek riset Sun

Laboratories yang dahulu bernama Jfluid. Riset tersebut

mengungkap teknik tertentu yang dapat digunakan untuk menurunkan overhead proses profiling aplikasi Java. Salah satu dari teknik tersebut adalah instrumentas i kode byte dinamis, yang berguna untuk profiling aplikasi Java yang besar. Dengan menggunakan instrumentasi kode byte dinamis dan algoritma-algoritma tambahan, Netbeans Profiler mampu mendapatkan informasi runtime aplikasi yang terlalu besar atau kompleks bagi profiler lain. NetBeans IDE 6.0 akan mendukung Profiling Point yang memungkinkan kita memprofilkan titik yang tepat dari eksekusi dan mengukur waktu eksekusi.

c. NetBeans C/C++ Pack

NetBeans C/C++ Pack menambahkan dukungan terhadap pengembang C/C++ ke NetBeans IDE 5.5. Paket ini memperbolehkan pengembang menggunakan sekumpulan kompiler dan alat sendiri bersama dengan NetBeans IDE untuk membangun

aplikasi native untuk MS Windows, Linux, dan Solaris. Paket ini


(30)

template, browser kelas yang dinamis, dukungan pembuatan file dan fungsionalitas debugger. Para pengembang juga dapat mengembangkan paket tersebut dengan fungsionalitas tambahan mereka sendiri.

d. NetBeans Enterprise Pack

NetBeans Enterprise Pack memperluas dukungan terhadap

pengembangan aplikasi perusahaan dan web service di NetBeans IDE 5.5.

Enterprise Pack ini mengembangkan kemampuan untuk menulis,

menguji, dan debug aplikasi dengan arsitektur berorientasi layanan (Service-Oriented Architecture) menggunakan XML, BPEL, dan

Java web service. Paket ini menambahkan alat desain visual untuk

pemodelan UML, skema XML, dan web service orchestration, juga dukungan untuk web service dengan menggunakan identitas yang aman. Paket ini juga menginstal dan mengkonfigurasi runtime yang diperlukan, termasuk mesin BPEL dan server manajemen identitas yang terintegrasi dengan Sun Java System Application Server.

e. NetBeans Ruby Pack

Versi NetBeans 6.0 mendatang akan mengijinkan pengembangan IDE menggunakan Ruby dan Jruby, sebagaimana Rails untuk dua implementasi Ruby yang lain. Preview NetBeans Ruby Pack tersedia sejak rilis Milestone 7 NetBeans 6.

Ruby Pack memasukkan fungsionalitas editor seperti:


(31)

- Pewarnaan sintaks untuk Ruby - Pelengkapan kode

- Occurence highlighting

- Pop-up dokumentasi yang terintegrasi untuk pemanggilan Ruby API

- Analisis semantik dengan highlighting parameter dan variabel lokal yang tidak terpakai

f. NetBeans JavaScript Editor

NetBeans JavaScript Editor menyediakan perluasan dukungan

terhadap JavaScript dan CSS. Fitur-fiturnya antara lain: a) Editor JavaScript :

- Syntax highlighting

- Pelengkapan kode untuk objek dan fungsi native - Semua fitur dalam editor NetBeans

- Pembuatan kerangka kelas JavaScript secara otomatis - Pembuatan pemanggilan AJAX dari template

b) Ekstensi editor CSS

- Pelengkapan kode untuk nama-nama style - Navigasi cepat melalui panel navigator

- Penampilan deklarasi aturan CSS di List View - Penampilan struktur file di Tree View

- Mengurutkan outline view berdasarkan nama, tipe, atau urutan deklarasi (List & Tree)


(32)

- Pemfaktoran kembali sebagian nama rule (hanya Tree)

2.14. Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah

menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, 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). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah


(33)

bermunculan di dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.

Seperti juga tercantum pada gambar diatas UML mendefinisikan diagram-diagram sebagai berikut:

a. use case diagram b. class diagram c. statechart diagram d. activity diagram e. sequence diagram f. collaboration diagram

2.15.Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk


(34)

melakukan pekerjaan-pekerjaan tertentu.

Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common.

Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. Contoh Use Case Diagram bisa dilihat pada Gambar 2.7


(35)

2.16.Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.Class memiliki tiga area pokok :

a. Nama (dan stereotype) b. Atribut

c. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :

a. Private, tidak dapat dipanggil dari luar class yang bersangkutan b. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan

anak-anak yang mewarisinya.

c. Public, dapat dipanggil oleh siapa saja


(36)

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.

Gambar 2.9 Contoh Class Abstrak

Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.

Gambar 2.10 Contoh Package

Hubungan Antar Class

a. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.


(37)

b. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”). c. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat

diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

d. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan

dijelaskan kemudian. Contoh class diagram :


(38)

2.17.Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat 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.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segi empat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk

menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Adapun activity diagram yang tidak mengunakan swimline. untuk lebih jelasnya dapat dilihat pada Gambar 2.12.


(39)

Gambar 2.12 Contoh Activity Diagram

2.18.Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di

sekitar sistem termasuk pengguna, display, dan sebagainya, berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.


(40)

Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali

dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, UML mendefinisikan icon khusus untuk objek-objek boundary, controller dan persistent entity. Contoh sequence diagram:

Gambar 2.13 Contoh Sequence Diagram

2.19.Cardinality Ratio

Dalam penggambaran ER-diagram juga diperlukan cardinality rasio yaitu notasi yang menunjukan banyaknya relasi yang terjadi antar enitas. Cardinality rasio juga untuk membantu gambaran relasi secara lengkap.Terdapat tiga macam relasi dalam hubungan atribut dalam satu file, relasi dari data dapat berupa:

a. Hubungan satu ke satu (one to one), dimana satu anggota entitas hanya berhubungan dengan satu anggota entitas yang lain.


(41)

b. Hubungan satu ke banyak (one to many), dimana satu anggota entitas berhubungan lebih dari satu dengan anggota entitas yang lain.

c. Hubungan banyak ke banyak (many to many), dimana satu anggota entitas berhubungan lebih dari satu dengan anggota entitas yang lain serta sebaliknya.

Pada tools PowerDesigner yang digunakan penulis dalam perancangan dan pembuatan sistem, simbol–simbol yang digunakan pada ER diagram konvensional berbeda dengan simbol–simbol yang digunakan oleh tools PowerDesigner. Pada tabel dibawah ini merupakan simbol–simbol ER diagram yang digunakan oleh penulis dalam pembuatan sistem dengan menggunakan tools PowerDesigner.

Tabel 2.2 Simbol ER Diagram (PowerDesigner)

Simbol Keterangan

Simbol entitas, “Ent_1” merupakan nama dari

entity.Sedangkan “Atribut_1”, “Atribut_2”

dan “Atribut_3” Merupakan atribut–atribut yang ada pada entity

Simbol one to one relationship, “Relation_11” Merupakan nama dari relationship

Simbol one to many relationship, “Macam

dana” Merupakan nama dari relationship

Simbol many to many relationship,

“Melaksanakan” Merupakan nama dari


(42)

34

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Kebutuhan Sistem

System penilaian ketelitian entry data ini dikembangkan dalam bentuk dekstop dengan memanfaatkan penggunaan IDE netbeans dengan menggunakan

Bahasa Pemrograman Java. Dimana hasil akhir dari pembuatan aplikasi ini dapat mempermudah pihak perusahaan, khususnya HRD dalam memilih karyawan yang mempunyai ketelitian dan kecepatan dalam pengetikan dan entry data.

Analisis terhadap pembuatan program aplikasi ini dimaksudkan untuk mengetahui proses pembuatan system penilaian ketelitian entry data untuk perektutan pegawai dengan menggunakan algoritma levenshteinDistance yang siap digunakan pada perusahaan, yang nantinya sangat membantu kelancaran dan kemudahan untuk memilah dan memilih pegawai yang benar-benar sesuai harapan, yaitu pegawai yang cepat dan teliti dalam pengetikan dan input data-data yang banyak.

Dianalisis dan dirancang serangkaian aksi sebagai solusi atas permasalahan yang terjadi pada aplikasi system penilaian tes ketelitian entry data untuk perekrutan pegawai, mencakup hal-hal yang dibutuhkan yang kesemuanya meliputi kebutuhan-kebutuhan pendukung pada pembuatan aplikasi sampai selesai yaitu yang berfokus pada alat yang dibutuhkan baik perangkat keras maupun lunak dan kebutuhan data yang meliputi data-data yang dibutuhkan yang berhubungan dengan pembuatan aplikasi ini.


(43)

Dalam perancangan system penilaian ketelitian entry data ini, adapun langkah-langkah yang dilakukan adalah:

a. Mempelajari konsep algoritma Levenshtein distance yang digunakan dalam mendeteksi kesamaan kata.

b. Menganalisis dan merancang sistem untuk mendeteksi Kesamaan kata /

similarity

c. Melakukan implementasi sistem berdasarkan analisis dan perancangan yang telah dilakukan sebelumnya.

d. Melakukan uji coba terhadap sistem yang telah dibuat dengan menganalisis hasil daripada sistem. Hasil yang dikeluarkan oleh sistem berupa persentase kemiripan (similarity) yang dikeluarkan menjadi score atas kemiripan dengan bahan yang di ujikan, dan memberikan timer pada saat proses tes entry data,sehingga dapat diketahui lama pengetikan / entry data.

3.2.1. Algoritma Levenshtein distance

Levenshtein Distance atau sering disebut juga edit distance adalah suatu

pengukuran (metrik) yang dihasilkan melalui perhitungan jumlah perbedaan ("jarak") yang terdapat diantara dua untaian karakter (string).

Perbedaan yang diukur adalah jumlah minimal operasi penambahan (insert), penghapusan (delete) dan penggantian karakter (substitute) yang dibutuhkan untuk meniadakan perbedaan diantara keduanya.


(44)

tiap kata dengan seluruh kata pada kalimat lain. Sebagai contoh: Kalimat 1: “John eats apple”.

Kalimat 2: “Apple eats John”.

Proses tokenizing dari kedua kalimat tersebut menghasilkan token: Tokens 1 = {“John”, “eats”, “apple”}.

Tokens 2 = {“Apple”, “eats”, ”John”}.

Matrix Similarity Kemiripan Semantik :

Tabel 3.1 Kemiripan Semantik

Hubungan Antar Kata :


(45)

Gambar 3.2 Rancangan dan arsitektur system

Proses kemiripan semantik dengan menggunakan thesaurus WordNet menghasilkan matrix similarity seperti yang ditunjukkan dalam Tabel 3.1. Setelah matrix similarity didapatkan, maka dilanjutkan proses fast heuristic dan Matching

Average dengan hasil nilai kemiripan kedua kalimat adalah yang artinya adalah

sama identik secara semantik.

3.2.2. Kemiripan Sintatik dan Semantik

Teknik menghitung kemiripan kata secara sintaktik pada penelitian menggunakan algoritma Levenshtein Distance. Algoritma ini menghitung kemiripan antar kata berdasarkan total biaya terkecil dari transformasi salah satu kata menjadi kata yang lain dengan menggunakan edit-rules, yaitu penambahan karakter (insertion), penggantian karakter (subtituion), dan penghapusan karakter(deletion).

Table key artikel Table

peserta Answer


(46)

sebuah larik (array) dua dimensi dengan indeks baris adalah karakter sumber dan indeks kolom adalah karakter target yang dibandingkan dengan kata sumber. Tiap cell[i,j] merepresentasikan biaya terkecil dari transformasi karakter ke-i dari kata sumber ke karakter ke-j dari kata target. Biaya edit-distance adalah nilai dari cell[n,m]. Untuk biaya edit-distance adalah pada cell[n,m] yaitu 2. Setelah mendapatkan biaya edit-distance maka untuk menghitung nilai Levenshtein dilakukan perhitungan seperti yang terdapat pada gambar seperti di bawah ini.

Lavenshtein Distance menggunakan Persamaan :

Gambar 3.3 Menghitung Nilai Lavenshtein

Nilai kemiripan (similarity score) diasumsikan pada rentang 0 (nol) hingga 1 (satu), yang artinya nilai 1 adalah nilai maksimum yang menunjukan bahwa dua kata adalah sama identik. Pendekatan yang digunakan oleh penelitian ini mampu mengukur nilai kemiripan antar dua string berdasarkan pada susunan karakter.

3.2.3. Tokenizing

Tokenizing adalah proses pemotongan string input berdasarkan kata yang


(47)

memegang peranan penting pada tahan tokenizing. Karakter spasi digunakan sebagai delimeter untuk memecah kalimat menjadi kumpulan kata-kata, sedangkan karakter titik digunakan sebagai delimeter untuk memotong paragraf menjadi bentuk kalimat-kalimat. Contoh proses tokenizing :

Gambar 3.4 Tokenizing

3.2.4. Implementasi Penilaian Menggunakan SynSemSim

Implementasi sistem penilaian otomatis menggunakan metode

syntactic-semantic similarity (SynSemSim) terdiri dari beberapa bagian yaitu tokenizing

(memecah kalimat menjadi beberapa token), POS tagging dan parsing (mengidentifikasi struktur kalimat),measuring similarity (menghitung kemiripan kalimat dengan menggunakan metode SynSemSim menghasilkan matrix similarity), scoring (menghitung nilai akhir dari matrix similarity menggunakan metode fast heuristic dan matching average). Pada contoh Kalimat “John eats apple” dan Kalimat 2 “Apple eats John”, proses tokenizing:


(48)

Setelah mendapatkan tokens, maka proses POS tagging dan Parsing menghasilkan struktur kalimat seperti yang ditunjukkan pada Gambar 2.2. Dari proses ini didapatkan matrix similarity seperti yang ditunjukan pada Gambar 2.2. Proses fast heuristic masing-masing matrix:

a. Matrix 1 menghasilkan nilai 0,4 + 0,4 = 0,8 b. Matrix 2 menghasilkan nilai 1,0 + 1,0 = 2 c. Matrix 3 menghasilkan nilai 0,4 + 0,4 = 0,8 d. Matrix 4 menghasilkan nilai 1,0 + 1,0 = 2 Maka nilai kemiripan adalah :

3.2.5. Alir Sistem

Perancangan system ini dirancangan dengan menggunakan Unified

Modeling Language (UML), adapun tahapan dalam pembuatannya adalah:

3.2.6. Use Case Diagram

Diagram Use Case menggambarkan apa saja aktifitas yang dilakukan oleh suatu sistem dari sudut pandang pengamatan luar yang menjadi persoalan itu tentang apa yang dilakukan bukan bagaimana melakukannya.


(49)

requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan

merancang test case untuk semua feature yang ada pada sistem.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari.

mengelola Data Peserta admin

Login

masuk halaman aplikasi Tes

Peserta Metode Levenshtein

mengelola artikel bahan Tes <<include>>

Gambar 3.5 Use Case Diagram

Dalam system ini mempunyai 2 aktor yaitu user dan admin, dimana user melakukan login menginputkan nomer dan nama peserta,lalu masuk halaman aplikasi tes dan mulai mengerjakan.

Untuk admin melakukan login pada login administrator, dimana admin bertugas untuk mengelola data peserta dan mengelola artikel bahan tes.


(50)

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. a. Activity diagram login

Menggambarkan alir aktivitas login admin dan peserta dalam sistem yang sedang dirancang, yang di mulai dari input login dan validasi user dan password untuk admin. Contoh activity diagram login :

Start

End

Input Login Validasi

Database Aplikasi

Admin-peserta

Gambar 3.6 Activity Diagram Login

b. Activity Diagram Masuk Halaman Tes

masuk Aplikasi Tes ketelitian dan Memulai Pengerjaan

pesan berhasil menyimpan hasil Tes

Hasil disimpan

Database Aplikasi

Peserta


(51)

kemudian melakukan tes yang sesuai di ujikan, setelah selesai melakukan tes, hasil di simpan di dalam data base.

c. Activity Diagram mengelola artikel bahan tes

input artikel baru sebagai bahan tes

view artikel bahan tes validasi start end Database Aplikasi admin

Gambar 3.8 Activity Diagram Mengelola Artikel Bahan Tes

Pada Gambar 3.8 menjelaskan admin memasukkan bahan tes dan menyimpannya pada data base, dan dapat mengecek dan mencoba artikel atau bahan tes yang akan di ujikan pada peserta tes.

d. Activity Diagram Metode Levenshtein

peserta membuka aplikasi

memasukkan / mengetikkan kata dari artikel

Menampilkan Hasil Pengecekan Ketelitian & Ketepatan

Tokenizing

Post tagging & Parsing

Measuring Syntactic & Semantic Similarity

Scoring

System Aplikasi

Peserta


(52)

levenshtein tersebut melakukan eksekusi data.

e. Activity Mengelola Data Peserta

start

end

Form kelola Data Peserta

view data peserta

cek data peserta

Database aplikasi

: admin

Gambar 3.10 Activity Diagram Mengelola Data Peserata

Gambar 3.10 menjelaskan alur kerja admin dimana admin dapat melihat data peserta yang sudah melakuksn tes yang telah tersimpan di dalam data base.

3.2.8. Sequence Diagram

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. Lifeline adalah garis dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari suatu pesan pada lifeline penerima. Activation bar menerangkan lamanya suatu pesan diproses. Diagram activity ini juga mengikuti sesuai dengan banyak activity diagram yang terjadi pada alir sistem. Berikut sequence diagramnya,


(53)

peserta : admin Form Login Control Login Database Form Load ( )

isi form Login ( )

cek Data Login ( )

Validasi ( ) view Data ( )

pesan ( ) View form Admin atau Peserta ( )

Gambar 3.11 Sequence Diagram Login

Gambar sequence login diatas dijelaskan peserta/ aktor melakukan login dan apabila ada kolom yang tidak terisi akan ada pesan yang muncul, begitu juga dengan login admin, akan dilakukan pencocokan nama dan password yang sudah di setting dan di simpan di dalam data base yang harus diisi pada kolom nama dan

password, jika salah satu tidak diisikan, maka akan keluar pesan atau petunjuk.

b. Sequence Diagram Masuk Halaman Aplikasi Tes

: Peserta Form Tes ketelitian

control Tes Ketelitian

Database Form View ( )

input Tes Ketelitian ( )

get control

simpan ( ) validasi simpan ( ) view data ( )

Gambar 3.12 Sequence Diagram Masuk Halaman Tes Validasi Login ( )


(54)

menginputkan sesuai bahan tes, setelah itu klik simpan jika sudah penginputan selesai, maka hasil akan tersimpan di dalam

data base.

c. Sequence Diagram Mengelola Artikel Bahan Tes

Pada gambar di bawah terlihat admin dapat menambahkan artikel bahan tes dan menyimpannya, dan dapat menghapus artikel bahan tes yang tidak di butuhkan. Dan semua artikel bahan tes yang ada pada aplikasi, tersimpan di dalam data base, dengan begitu pihak HRD perusahaan tidak susah payah setiap melakukan tes harus membuat lagi bahan tes, sehingga mempermudah dan mempercepat jalannya proses pemilihan calon pegawai.

: admin Form Artikel Control Artikel Database

Form Artikel ( ) input Artikel ( )

get Control ( )

simpan ( ) Validasi Simpan ( ) view data ( )


(55)

Pada Gambar 3.14 menjelaskan bagaimana proses kerja system pada metode levenshtein, sampai didapatkan scoring dan penyimpanan data-data peserta

: Peserta Form Tes System Database

Ketelitian Form Artikel ()

Mengetik Kata Dari Artikel ()

Tokenizing

Get Control () Post tagging & Parsing ()

Get Control ()

Measuring Syntactic & Semantic Symilarity ()

Get Control ()

Scoring ()

Gambar 3.14 Sequence Diagram Metode levenshtein

e. Sequence Mengelola Data Peserta

Pada gambar 3.15 sequence mengelola data peserta di bawah ini menjelaskan alur pegolahan data yang dilakukan admin, yang dapat melihat menghapus dan meyimpan data peserta. Untuk lebih jelasnya dapat dilihat pada Gambar 3.14


(56)

: admin Form Kelola Data peserta

control data peserta

Database view form ( )

input kelola data peserta ( )

get control ( )

simpan ( ) validasi simpan ( )

view form kelola data peserta ( )

Gambar 3.15 Sequence Mengelola Data Peserta

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


(57)

Gambar 3.17 Class Diagram User

3.3. Perancangan Awal User Interface Levenshtein Test

Pada gambar di bawah ini merupakan rancangan untuk login peserta dan jika

login untuk admin,pilih menu administrator

Gambar 3.18 Perancangan Login

Pada gambar 3.13 di bawah ini merupakan rancangan system untuk form peserta, tugas peserta melakukan input data ulang dari bahan artikel, ke dalam form input ulang artikel. Di dalam form peserta juga terdapat timer, start, dan simpan. Peserta klik menu start jika siap melakukan input ulang, dan otomatis

Levenshtein Test

No. Peserta :

Nama Peserta :


(58)

simpan, dan otomatis timer berhenti.

Gambar 3.19 Perancangan Form Peserta

Untuk gambar di bawah ini adalah rancangan bagi admin, di dalam form tersebut terdapat beberapa menu, yaitu : beranda, data artikel, data peserta, seting, keluar. Menu data artikel adalah tempat untuk menyimpan dan menambah artikel. Menu data peserta adalah tempat data-data peserta yang sudah melakukan tes. Menu seting adalah menu yang digunakan untuk mengganti nama dan password admin. Menu keluar berguna untuk keluar dari aplikasi.

Gambar 3.20 Perancangan Form Admin Levenshtein Test Form Peserta

Timer Timer Timer

Form Input Ulang Artikel Bahan Artikel

Timer START Simpan

Form Admin

Beranda Data

Artikel


(59)

51

Pada bab ini akan membahas mengenai implementasi dari rancangan

system aplikasi yang telah dibuat pada bab sebelumnya. Bab ini menjelaskan cara

implementasi proses, dan implementasi antarmuka dari program yang telah dibuat.

4.1. Spesifikasi Sistem

Spesifikasi sistem merupakan sistem yang digunakan untuk memproses semua kegiatan yang terdiri atas masing- masing kegiatan yang saling berkaitan, misalnya dari proses persiapan tes, penginputan data, dan pelaksanaan tes serta sistem ini juga mempunyai admisnitrator yang digunakan untuk mengolah sistem serta database yang berguna untuk menyimpan data.

4.2. Implementasi User Interface

Perancangan desain antarmuka yang dilakukan pada bab sebelumnya selesai, maka pada bab ini akan diimplementasikan desain antarmuka yang telah dibuat pada bab sebelumnya, dimana dalam perancangan dijelaskan pada sistem ini terdapat menu bagi peserta tes serta menu administrator, pada menu peserta pada bagian ini peserta dapat melakukan tes dan mendapatkan hasil tes, sedangkan pada menu administrator merupakan menu khusus bagi admin sehingga dapat mengelola data yang terapat pada sistem ini, dimana dengan administrator tersebut admin dapat mengelola semua data baik itu data para


(60)

peserta serta materi tes yang harus dikerjakan oleh peserta. Berikut adalah tampilan awal dari aplikasi ini.

Gambar 4.1 Tampilan Awal Sistem

4.2.1. Tampilan Login Peserta

Pada tampilan awal ini terdapat menu input bagi peserta. Dimana pada login ini juga digunakan untuk login admin, sehingga tidak terlalu banyak tampilan login yang dibuat.

Menu login ini adalah menu awal bagi peserta yang akan melakukan tes ketelitian. Tampilan awal yang muncul adalah peserta memasukkan nomer peserta serta nama peserta yang akan mengikuti tes ketelitiani, nomer peserta bertujuan untuk mengantisipasi apabila terdapat nama yang sama, hal ini bertujuan agar admin atau bagian perekrut pegawai dapat melihat hasil serta identitas peserta yang melakukan tes ketelitian.


(61)

Gambar 4.2 Tampilan Login Peserta

Pada Gambar 4.2 adalah tampilan login bagi peserta yang akan melakukan tes ketelitian. Peserta menginputkan nomor peserta dan nama setelah itu peserta akan menuju ke menu selanjutnya untuk melakukan tes.

4.2.2. Tampilan Tes Ketelitian

Pada bagian ini peseta yang mengikuti tes akan dihadapkan pada suatu aplikasi tes ketelitian, dimana pada aplikasi ini peserta tes dituntut untuk menirukan atau mengetik ulang artikel yang telah disediakan oleh system. Artikel yang disediakan oleh system akan berbeda-beda bagi setiap peserta tes.

Pada tes ini diutamakan ketelitian serta cepat dan tepatnya kalimat atau artikel yang harus diketik ulang. Ini dimaksudkan agar karyawan atau pegawai saat melakukan entri data dapat bekerja secara maksimal, cepat dan tepat, berikut adalah tampilan window bagi peserta tes ketelitian.


(62)

Gambar 4.3 Tampilan Tes Ketelitian

Pada Gambar 4.3 adalah tampilan bagi peserta yang akan melakukan tes ketelitian, disana terdapat form bagi peserta untuk memasukkan artikel yang telah diperintahkan. Terdapat icon start yang ddigunakan untuk memulai tes, sehingga nantinya saat tes tersebut akan di hitung oleh timer seberapa cepat dan tepat peserta tes tersebut dapat menginputkan data yang telah diperintahkan oleh aplikasi ini. setelah peserta memilih tombol start maka sistem mulai menghitung waktu setelah peserta telah menyelesaikan tes tersebut maka peserta akan memilih tombol simpan sehingga system akan menyimpan hasil tes peserta tersebut, untuk hasilnya hanya admin yang dapat mengetahui hasil dari tes tersebut termasuk


(63)

waktu serta ketepatan menulis ulang artikel tersebut telah sesuai dengan apa yang telah diperintahkan atau tidak.

Berikut adalah potongan code dalam aplikasi ini yang digunakan untuk mengatur dan menghitung ketepatan pengetikan dengan menggunakan algoritma Levenshtein.

package levenshteintest; public class Levenshtein {

private static int minimum(int a, int b, int c) { return Math.min(a, Math.min(b, c));

}

private static int cost(char s, char t) { return s==t?0:1;

}

private static int[][] matriks(int s, int t) { int[][] matrix = new int[s + 1][t + 1]; for (int i = 0; i <= s; i++) {

matrix[i][0] = i; }

for (int j = 0; j <= t; j++) { matrix[0][j] = j;

}

return matrix; }

public static int hitungLevenshtein(final String s, final String t) {

char[] s_arr = s.toCharArray(); char[] t_arr = t.toCharArray(); if(s.equals(t)) { return 0; }

if (s_arr.length == 0) { return t_arr.length;} if (t_arr.length == 0) { return s_arr.length;}

int matrix[][] = matriks(s_arr.length,


(64)

for (int i = 0; i < s_arr.length; i++) {

for (int j = 1; j <= t_arr.length; j++) { matrix[i+1][j] = minimum(matrix[i][j] + 1,

matrix[i+1][j -

1] + 1,

matrix[i][j - 1] + cost(s_arr[i], t_arr[j-1]));

} }

return matrix[s_arr.length][t_arr.length]; }

}

Gambar 4.4 Potongan Source Code Algoritma Levenshtein

Seperti pada penjelasan metode levenshtein sendiri dimana metode tersebut merupakan pengukuran (matrik) yang dihasilkan melalui perhitungan jumlah perbedaan (jarak) yang terdapat diantara dua untaian karakter (string). Pada code diatas dapat dilihat adanya matriks pada class levenshtein. Seperti pada potongan code int [ ] [ ] matriks (int s, int t)”, “int [] [] matrix = new int [s + 1] [t + 1];”. Dan perhitungan tersebut didasasrkan pada perhitungan jarak dan dan karakter (string) seperti di tunjukkan pada potongan code :

char [ ] s_arr = s.toCharArray(); char [ ] t_arr = t.toCharArray(); if (s.equals(t)) { return 0; }

if (s_arr.length == 0) { return t_arr.length; } if (t_arr.length == 0) { return s_arr.length; }


(65)

int matrix [ ] [ ] = matriks(s_arr.length, t_arr.length); dan seterusnya. Pada potongan code dapat dilihat perhitungan yang dilakukan atau implementasi dari metode levenshtein yang diterapkan pada code editor bahasa pemrograman java.

4.2.3. Halaman Login Admin

Pada halaman login admin yang berhak untuk masuk dan mengelola data didalamnya adalah seorang admin yang telah memiliki username serta password admin. Admin disini bertugas untuk mengelola dan mengetahui hasil tes dari peserta tes ketelitian.

Gambar 4.5 Halaman Login Admin

Setelah admin dapat masuk kedalam menu administrator maka admin berhak untuk mengelola serta melihat hasil yang sudah dilakukan peserta, selain itu admin juga bertugas untuk memasukkan artikel yang akan digunakan oleh peserta tes ketelitian, dalam administrator ini memiliki beberapa menu untuk mengelola sistem ini, diantaranya adalah menu home, menu peserta, menu artikel, menu trial test, menu setting serta log out.


(66)

4.2.4. Halaman Admin- Data Peserta

Pada menu data peserta ini, admin dapat mengetahui hasil tes dari para peserta, dimana terdapat kecepatan atau waktu pengerjaan serta ketepatan penulisan yang telah dilakukan oleh peserta tes, sehingga hasil dari tes yang telah dilakukan hanya akan diketahui oleh administrator. Tampilan dari menu peserta tersebut dapat dilihat pada Gambar 4.6.

Gambar 4.6. Halaman Menu Peserta

Pada Gambar 4.6 terdapat menu cari dan juga export data ke excel, pada menu cari ini berfungsi untuk mencari data peserta dengan 3 cara pencarian yaitu berdasar nomer tes, nama dan tanggal tes. Selain itu juga terdapat menu export

excel yang berfungsi untuk meng-eksport data ke excel sehingga data dapat di print dan dapat ditempel sebagai pengumuman hasil tes ke para peserta tes, selain


(67)

peserta tes. Caranya dengan memilih salah satu nama peserta setelah itu pilih menu pilihan hapus data.

4.2.5. Halaman Admin- Data Artikel Test

Pada admin dalam sistem ini juga terdapat menu data artikel tes, sehingga dalam menu ini administrator dapat memasukkan artikel yang nantinya sebagai bahan tes bagi peserta.

Gambar 4.7 Halaman Data Artikel Tes

Seperti gambar yang ditunjukkan oleh Gambar 4.7 admin dapat memasukan artikel sebagai bahan test bagi peserta tes ketelitian. Caranya dengan memilih tombol tambah data sehingga nantinya admin dapat memasukkan artikel dan dapat disimpan sebagai bahan test bagi peserta, selain itu dalam menu ini


(68)

terdapat menu ubah data dan hapus data, apabila admin ingin mengelola data yang sudah ada disediakan oleh sistem ini, apabila ingin menghapus data juga bisa langsung di hapus oleh admin, sehingga data artikel yang sudah tidak digunakan dapat dihapus.

4.2.6. Halaman Admin- Trial Lavenshtein Test

Pada menu ini admin dapat melakukan trial atau uji coba terhadap aplikasi ini, sehingga admin dapat mengetahui jalannya sistem ini sebelum digunakan oleh peserta tes.

Gambar 4.8 Halaman Trial

Pada Gambar 4.8 merupakan gambar halaman trial aplikasi ini, pada menu

trial ini terdapat tampilan yang hampir mirip dengan halaman tes peserta, yaitu


(69)

selain itu juga sudah terdapat timer untuk menghitung kecepatan pengetikan serta juga terdapat nilai ketepatan dan ketelitian, setelah selesai mencoba mengetik artikel yang disediakan pada menu trial ini juga langsung dapat melihat hasil uji coba sistem.

4.2.7. Halaman Admin- Setting Login Admin

Pada sistem ini juga terdapat menu setting, pada menu setting ini berguna untuk mengatur data admin yang akan login dalam menu administrator.

Gambar 4.9 Halaman Setting Login

Pada Gamabar 4.9 merupakan tampilan dari setting Login Admin, sehngga administrator dapat mengubah username serta password yang digunakan untuk masuk ke dalam admin sistem ini.


(70)

62 BAB V

UJI COBA DAN EVALUASI

Bab ini akan membahas mengenai uji coba terhadap aplikasi tes ketelitian yang telah dibuat dan selanjutnya akan dibuat evaluasi dari hasil uji coba tersebut. Uji coba dilaksanakan untuk mengetahui apakah sistem aplikasi dapat berjalan dengan baik sesuai perancangan yang dibuat. Evaluasi dilakukan untuk menentukan tingkat keberhasilan dari sistem yang dibuat.

Aplikasi ini digunakan oleh sebuah perusahaan yang ingin mencari pegawai peng-input data. Sehingga diciptakannya aplikasi ini. Sehingga pada saat perekrutan karyawan atau pegawai aplikasi ini digunakan untuk menge-test seberapa cepat dan tepat seorang dalam melakukan input suatu data.

5.1. Uji Coba Sistem

Untuk memastikan bahwa sistem ini berjalan dengan lancar, maka akan dilakukan uji coba pada aplikasi ini sehingga aplikasi akan layak untuk digunakan sebagai tes ketelitian suatu perusahaan untuk merekrut karyawan peng-input data.

5.1.1. Uji Coba Sistem Pada Halaman Trial Test Dengan Inputan Sesuai Bahan Uji Coba

Pada uji coba ini dilakukan peng-inputan sesuai yang diberikan pada bahan tes, dimana kita harus menginputkan tanpa ada kesalahan sedikitpun, sehingga kebenaran dari hasil inputan didapatkan nilai 100, yang artinya inputan tersebut benar 100% sesuai bahan yang di ujikan. Seperti contoh pada Gambar 5.1


(71)

Gambar 5.1. Inputan Yang Tidak Ada Kesalahan

5.1.2. Uji Coba Sistem Pada Halaman Trial Test Dengan Inputan Kata yang Sama Tetapi Huruf Besar di Rubah ke Huruf Kecil, dan Sebaliknya.


(1)

68

Dari sepuluh orang tersebut, didapatkan nilai akhir yang paling bagus, yaitu dengan cara membagi nilai mreka dengan waktu pengerjaan tes mereka, maka didapatkan nilai akhir yang paling baik dan yang nantinya layak untuk direkrut menjadi pegawai, yang diberi warna kuning merekalah nama-nama yang layak direkrut, berikut lebih jelasnya bias di lihat pada Gambar 5.8.

Gambar 5.8. Peserta Dengan Nilai Terbaik

Dari Gambar 5.18 bisa dilihat,

Sobron berada di ranking pertama dengan nilai terbaik 15.1. Haqiqi berada di ranking ke dua dengan nilai 13.7. dan Haris berada di ranking ke tiga dengan nilai 12.1.


(2)

69

Dari data-data dan penjelasan tersebut, bahwa sistem ini mampu mendapatkan calon pegawai yang sesuai diharapkan, yaitu pegawai yang cepat dan teliti untuk di pekerjakan pada bagian penginputan data.

5.2.1. Evaluasi Perbandingan Perhitungan Manual Dengan Sistem.

Sebagai contoh kita buat kaliamat terlebih dahulu, seperti contoh kalimat yang akan di ujikan adalah Tokens 1( John eat apple.).

Tokens 2( John eat apple.).

Tokens 2 diperumpamakan sebagai kalimat inputan User, dan Tokens 1 diperumpamakan sebagai bahan uji tes. Kita hitung melalu tabel kemiripan semantic.

Tabel 5.1. Perhitungan Kemiripan

Kolom 1 Kolom 2 Kolom 3

John Eat Apple

Baris 1 John 1 0 0

Baris 2 Eat 0 1 0

Baris 3 Apple 0 0 1

Kemudian akan dilakukan perhitungan dengan rumus : Levenshtein Distence(str1,str2)= 1- edit distance

maxlenght(str1, str2)

Token 1(John eat apple.) Token 2(John eat apple.)


(3)

70

maka perhitungannya dari masing – masing matrix didapatkan hasil dari Tabel 5.1. :

a. Matrix 1 menghasilkan nilai 1,0 + 1,0 = 2 b. Matrix 2 menghasilkan nilai 1,0 + 1,0 = 2 c. Matrix 3 menghasilkan nilai 1,0 + 1,0 = 2 d. Matrix 4 menghasilkan nilai 1,0 + 1,0 = 2

Matrix 4 adalah berupa karakter “.” Dimana semua karakter akan diperhitungkan.

(Matrix 1 + Matrix 2 + Matrix 3 + Matrix 4)

= (2 + 2 + 2 + 2) = 1 (Hasil satu adalah nilai yang mutlak benar)= 100 8

Sekarang kita perbandingkan dengan sistem :

Gambar 5.9. Perbandingan Manual Dengan Sistem

Dari hasil evaluasi perhitungan manual dengan perhitungan sistem, telah didapatkan hasil yang sama.


(4)

71

BAB VI

P E N U T U P

6.1. Kesimpulan

Dari hasil analisis tugas akhir yang telah dilakukan, maka didapatkan kesimpulan sebagai berikut :

a. Telah berhasil dibangun aplikasi test ketelitian bagi perekrutan pegawai input data sehingga nantinya perusahaan yang menggunakan aplikasi ini dapat mengetahui kemampuan calon pegawai dalam menginputan data dari segi kecepatan dan ketepatan input data.

b. Dalam pembuatan aplikasi ini digunakan algoritma Levenshtein Distance karena algoritma Levenshtein Distance adalah suatu pengukuran (metrik) yang dihasilkan melalui perhitungan jumlah perbedaan ("jarak") yang terdapat diantara dua untaian karakter (string). Teknik menghitung kemiripan antar kalimat adalah menghitung kemiripan arti tiap kata dengan seluruh kata pada kalimat lain, sehingga dalam aplikasi ini cocok digunakan algoritma ini untuk mendapatkan hasil ketepatan peng-inputan data yang sesuai dengan keinginan admin.

c. Dari perbandingan antara perhitungan manual dengan system, didapatkan nilai yang sama pada percobaan perhitungan manual maupun perhitungan melalui system.


(5)

72 6.2. Saran

Untuk saran pengembangan dalam sistem penilaian tes ketelitian entry data ini adalah dengan menambahkan perhitungan otomatis, yaitu antara nilai ketepatan inputan dengan waktu lama pengerjaan tes / timer. Dimana pada perhitungan nilai akhir pada sistem ini masih dilakukan perhitungan manual pada export excel antara nilai ketepatan inputan dengan timer. Selain itu juga bisa ditambahkan suatu tes psikologi sederhana seperti tes psikologi spasial bangun, yang berguna untuk membangun logika dari peserta tes, sehingga selain mempunyai ketelitian dalam entry data, juga mempunyai karakteristik dari calon pegawai, karena saat ini kualitas pegawai tidak hanya dilihat dari nilai akademik yang di dapat, tetapi juga dari psikologi calon pegawai yang mampu mengisi kebutuhan sumber daya manusia yang di butuhkan.


(6)

DAFTAR PUSTAKA

1. Dao TN. An Improvement On Capturing Similarity Between String. July 2005. URL: http://www.codeproject.com/KB/recipes/improvestringsimilarity. diakses tanggal 15 Agustus 2012.

2. Firdausiah AB, Siahaan DO, Sistem Penilaian Otomatis Jawaban Essay Menggunakan Ontology Pada Moodle. TELKOMNIKA. 6:167-172. 2008

3. Nugroho,Boy.2009.”Stemming Pada Bahasa Indonesia”.

http://boynurah.wordpress.com/2009/07/16/stemming-bahasa-indonesia/. Diakses Tanggal 20 Agustus 2012: 10.30 WIB.

4. Sholiq. 2006. Pemodelan Sistem Informasi Berorientasi Objek dengan UML.

5. Sri D., 2003. Pengantar Unified Modeling Language (UML). IlmuKomputer.com

6. Valenti S, Neri F and Cucchiarelli A. An overview of current research on automated essay grading. Journal of Information Technology Education. 2:319-330. 2003.

7. Widodo,Sri. 2010. http://mes56.com/new-folder/similarity-project-sri-widodo/. Diakses Tanggal 02 September 2012