34
BAB III 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.
35
3.2. Perancangan Sistem
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.
36 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”}.
Matrix Similarity Kemiripan Semantik :
Tabel 3.1 Kemiripan Semantik
Hubungan Antar Kata :
Gambar 3.1 Hubungan antar kata
37 Rancangan dan Arsitektur Sistem Penilaian Ketelitian Otomatis :
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 karakterdeletion.
Table key
artikel
Table peserta
Answer
38 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 :
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 menyusunnya. Tokenizingparsing akan menguraikan paragraf menjadi kalimat
39 kemudian menguraikan kalimat menjadi kata-kata. Karakter spasi dan titik
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: Tokens 1 = {“John”, “eats”, “apple”, “.”}.
40 Tokens 2 = {“Apple”, “eats”, ”John”, “.”}.
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.
41 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.
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.
42
3.2.7. 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.
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
Gambar 3.7 Activity Diagram Masuk Halaman Tes
43 Pada Gambar 3.7 dijelaskan bahwa peserta masuk pada halaman tes,
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
Gambar 3.9 Activity Diagram Metode Levenshtein
44 Pada Gambar 3.9 menjelaskan jalan program disaat proses metode
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,
45 a.
Sequence Diagram Login
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 Login
46 Pada Gambar 3.12, peserta masuk halaman tes, dan mengetikkan
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
Gambar 3.13 Sequence Diagram Mengelola Artikel Bahan Tes
47 d.
Sequence Diagram Metode Levenshtein Pada Gambar 3.14 menjelaskan bagaimana proses kerja system pada
metode levenshtein, sampai didapatkan scoring dan penyimpanan data-data peserta
: Peserta System
Database Form Tes
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
48
: 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.
Gambar 3.16 Class Diagram Admin
49
Gambar 3.17 Class Diagram User
3.3. Perancangan Awal User Interface Levenshtein Test