artificial intelligence
TRANSCRIPT
1
BAB I
PENDAHULUAN
1. Latar Belakang
PT. Greenlabgroup merupakan sebuah perusahaan yang berdiri sejak tahun 2004 dan mempunyai dua divisi,yaitu divisi design dan multimedia, PT. Greenlabgroup bergerak
dibidang kreatif agen spesialis branding, graphic design, advertising, digital marketing,
multimedia, system aplication, mobile solution dan web design. Informasi sangatlah penting bagi perusahaan kami dalam menentukan berhasil atau tidaknya perusahaan kami.
Natural language adalah bagian dari ilmu kecerdasan tiruan yang digunakan untuk proses suatu tata bahasa yang memungkinkan adanya interaksi antara manusia dengan
komputer. Dalam hal ini metode yang kami gunakan adalah recursive-descent dan top-down parsing. Metode recursive-descent adalah metode pemeriksaan suatu perintah dari kanan kekiri dimana bila ada perintah error maka pemeriksaan dihentikan dan tidak dapat
dilanjutkan. Top-down parsing adalah metode yang melakukan penelusuran dari root/ puncak menuju ke leaf/ daun (simbol awal sampai simbol terminal). Alasan
penggunaan metode ini adalah melakukan pengecekan kalimat dari kiri kekanan seperti halnya pengecekkan dalam bahasa Indonesia.
Berdasarkan uraian tersebut maka penulis termotivasi untuk menyelesaikan tugas
laporan KKP dengan judul : “Aplikasi pencarian informasi dengan perintah Query dalam Bahasa Indonesia Natural Language Processing pada PT Greenlabgroup”
2. Identifikasi Masalah
Berdasarkan latar belakang masalah yang ada, maka dapat diperoleh masalah yang
dihadapi adalah sebagai berikut : a) Pada bagian Sekretaris, untuk pengambilan data informasi proyek dari berbagai
pihak masih terkendala, dengan waktu yang sangat tidak cukup b) Penginputan kosakata Bahasa Indonesia baku yang memenuhi grammar yang
sudah ditetapkan dan pengelompokkan data-data customer
3. Maksud dan Tujuan
Adapun maksud dan tujuan penulisan laporan KKP ini adalah untuk merancang suatu program aplikasi untuk membantu proses hasil informasi proyek dan pencarian data
customer PT. Greenlabgroup pada sekretaris dan dapat digunakan untuk pimpinan perusahaan tersebut. Dan apabila ada kebutuhan tambahan yang diinginkan oleh pimpinan
terkait maka pimpinan tidak perlu memanggil sekretaris untuk melihat informasi proyek
tersebut. Tujuannya adalah agar karyawan PT. Greenlabgroup khususnya bagian sekretaris dapat lebih cepat memasukkan data dan lebih berkonsentrasi dan membuat pimpinan terkait
bisa secara cepat dan tepat melihat data-data yang diinginkan.
Tujuan utama dari penelitian adalah :
1. Untuk memudahkan dalam merelasikan table tanpa harus mengetahui bahasa query database di PT.Greenlabgroup
2. Mengaplikasikan Natural Language Processing (NLP) merupakan salah satu aplikasi Artificial Intelligence (AI)
2
4. Batasan Masalah
Karena luasnya masalah yang ada, maka penulis membatasi ruang lingkup permasalahan adalah sebagai berikut :
a. Membuat perintah-perintah secara input text yang dapat dimengerti user dalam menampilkan data yang dibutuhkan
b. Menampilkan pesan error pada saat user salah memasukan struktur perintah atau parameter yang tidak valid.
c. Tata bahasa (grammar) yang mengatur bentuk perintah operasi harus ditentukan
dalam bentuk aturan produksi sehingga tidak sembarang kalimat dapat diproses d. Algoritma yang digunakan adalah recursive-desent dan top down parsing
5. Metode Penilitian
Dalam rangka melengkapi data-data atau informasi yang berhubungan dengan
penyusunan laporan Kuliah Kerja Praktek, maka penulis memperoleh data-data yang dibutuhkan melalui beberapa metode, antara lain dengan melakukan :
A. Wawancara
Wawancara dilakukan dengan pihak-pihak yang terkait pada bidangnya masing-masing, terutama yang berhubungan langsung dengan proses yang terjadi oleh pihak managerial, untuk dapat memproses kebutuhan pihak tersebut.
B. Observasi
Penulis melakukan observasi dengan meninjau langsung lokasi yang bersangkutan dimana penulis dapat melihat langsung informasi yang dibutuhkan pihak managerial, hal ini
dilakukan untuk memperkuat data yang ada pada saat wawancara.
C. Studi Pustaka
Selain melakukan wawancara dan observasi, penulis juga mempelajari KKP yang ada di perpustakaan dan buku lainnya agar lebih memahami dan dapat mengerti lagi dalam
penyusunan KKP ini.
6. Sistematika Penulisan
Untuk mempermudah pembaca dalam penyusunan KKP ini, maka penulis membagi dalam lima bab, yang secara singkat akan diuraikan sebagai berikut :
BAB I PENDAHULUAN
Dalam bab ini berisi uraian tentang latar belakang permasalahan, identifikas
masalah, maksud dan tujuan, batasan masalah, metode peneletian, studi pustaka dan sistematika penulisan
BAB II LANDASAN TEORI Dalam bab ini berisi uraian tentang landasan teori yang berhubungan dengan
materi penulis buat. Teori-teori tersebut antara lain adalah Natural Language Processing, recursive-desent, dan top down parsing
BAB III RANCANGAN ALGORITMA PROGRAM
Bab ini membahas tentang rancangan algoritma yang digunakan penulis dalam perancangan sistem ini
Dalam bab ini, penulis menjelaskan analisa tentang kebutuhan sistem, konsep penerjemah kalimat bahasa Indonesia ke bahasa pemograman,
perancangan sistem yang meliputi perancangan proses, perancangan
database, perancangan masukan dan perancangan keluaran serta spesikasi sistem yang akan diperlukan dan
3
BAB IV IMPLEMENTASI DAN UJI COBA PROGRAM
berisi tentang implementasi atau cara pemakaian program yang penulis buat dan uji coba terhadap program yang telah dibuat.
BAB V PENUTUP Dalam bab ini berisi uraian tentang kesimpulan-kesimpulan yang didapat
serta menggunakan saran yang dianggap perlu
4
BAB II
LANDASAN TEORI
2.1 Bahasa Alami (Natural Language)
Bahasa sebagai bagian yang penting dalam kehidupan manusia. Dalam bentuk tulis dapat berupa catatan dari pengetahuan yang didapat oleh umat manusia
dari satu generasi ke generasi berikutnya, sedangkan dalam bentuk lisan merupakan
sarana komunikasi antar individu dalam suatu masyarakat. Tujuan dalam bidang natural language adalah melakukan proses pembuatan model komputasi dari bahasa,
sehingga dapat terjadi suatu interaksi antara manusia dan komputer dengan perantaraan bahasa alami. Model komputasi ini dapat berguna untuk keperluan
ilmiah misalnya meneliti sifat-sifat dari suatu bentuk bahasa alami maupun
untuk keperluan sehari-hari dalam hal ini memudahkan komunikasi antara manusia dengan komputer. (Syaiful Rahmat Sugianto,UIN Syarif Hidayatullah:2005)
2.2. Pengertian Natural Language Processing
Pengolahan bahasa alami adalah bidang ilmu komputer dan linguistik berkaitan dengan interaksi antara komputer dan manusia. Seluler generasi
bahasa sistem komputer yang mengubah informasi dari database ke dalam
bahasa manusia yang dapat dibaca. Natural Language Processing, biasanya disingkat dengan NLP, mencoba
membuat komputer memahami sesuatu perintah yang dituliskan dalam bentuk bahasa sehari-hari dan diharapkan komputer juga merespon dalam bahasa yang
mirip dengan bahasa natural, setelah komputer bisa memahami perintah dalam
bahasa natural, maka diharapkan system komputer juga dapat memberikan respon dalam bahasa natural pula .
Sebuah sistem natural language harus memperhatikan pengetahuan terhadap bahasa itu sendiri baik dari segi kta yang digunakan bagaimana kata-kata
tersebut digabung untuk menghasilkan suatu kalimat, apa arti suatu kata, apa fungsi sebuah kata dalam sebuah kalimat dan sebagainya. Natural Language processor tidak memperdulikan bagaimana suatu kalimat diinputkan ke komputer.
Tugasnya adalah mengekstrak informasi dari kalimat. Inti dari sistem NLP adalah parser. Parser adalah bagian dari program atau system yang membaca setiap
kalimat, kata demi kata, untuk menentukan “what is what”. NLP tidak bertujuan untuk mentransformasikan bahasa yang diterima
dalam bentuk teks atau suara menjadi data digital dan/atau sebaliknya pula;
melainkan bertujuan untuk memahami arti dari kalimat yang diberikan dalam bahasa alami dan memberikan respon yang sesuai, misalnya dengan melakukan
suatu aksi tertentu atau menampilkan data tertentu. Untuk mencapai tujuan ini dibutuhkan tiga tahap proses. Proses yang pertama ialah parsing atau analisa
sintaksis yang memeriksa kebenaran struktur kalimat berdasarkan suatu grammar (tata bahasa) dan lexicon (kosa kata) tertentu. Proses kedua ialah semantic interpretation atau interpretasi semantik yang bertujuan untuk merepresentasikan
arti dari kalimat secara context-independent untuk keperluan lebih lanjut. Sedangkan proses ketiga ialah contextual interpretation atau interpretasi kontekstual yang
bertujuan untuk merepresentasikan arti secara context dependent dan menentukan maksud dari penggunaan kalimat. Gambaran organisasi dari sebuah sistem NLP yang
lengkap ditunjukkan pada Gambar 2.2. (Syaiful Rahmat Sugianto,UIN Syarif
Hidayatullah:2005)
5
Parsing Realization
Semantic Interpretation Utterance Planning
Contextual Interpretation
Application Reasoning
Gambar 2.1 Organisasi Sebuah Sistem NLP
2.3 Komponen-komponen dalam Natural Language Processing
Menurut Efraim Turban(1993, p283), ada lima komponen dalam natural
language processing yaitu : 1. Parser Parser merupakan komponen utama dalam natural language system. Parser menganalisis input kalimat secara sintaksis. Setiap kata dan bagian bagiannya
diidentifikasi. Kemudian kata-kata tersebut dipetakan oleh parser ke dalam struktur yang disebut parser tree. Parser tree menunjukkan makna dari semua
kata dan bagaimana cara menggabungkan kata-kata tersebut.
2. Lexicon Parser bekerja sama dengan lexicon melakukan proses symtar analysis.
Lexicon berisi semua kata yang dapat dikenal oleh program. Kalimat diurai oleh parser dan lexicon menjadi bentuk parser tree dan membangun struktur data
Words ( Input ) Lexicon and
Grammar Words ( Responses
)
Syntaxtical structure and
logical form of
Response
Syntaxtic Structure
Discourse
Context
Meaning of
Response Logical Form
Application
Context Final Meaning
6
baru yang dapat membantu dalam memperoleh makna sebenarnya dari sebuah
kalimat. 3. Understander
Understander bekerja sama dengan knowledge base dalam menentukan makna suatu kalimat. Untuk mengetahui makna dari suatu input kalimat,
sistem harus mengetahui hal-hal tentang kata tersebut dan bagaimana kata tersebut digabung dan membentuk suatu kalimat yang bermakna. Tujuan dari
understander adalah memanfaatkan parser tree yang telah terbentuk
sebelumnya agar mengacu pada knowledge base. 4. Knowledge base Knowledge base merupakan basis pengetahuan yang dijadikan acuan oleh understander dalam menentukan makna suatu kalimat.
Knowledge base berisi sekumpulan informasi yang terorganisasi dengan baik,
yang secara unik diformat ke dalam bentuk struktur data. 5. Generator
Generator berfungsi menghasilkan jawaban berdasarkan masukan yang telah ada sebelumnya yang tersimpan dalam memori
Input Output
Gambar 2.2 Blok utama dalam natural language
2.4 Aplikasi Dalam Bidang Natural Language
Jenis aplikasi yang bisa dibuat pada bidang bidang natural language adalah text - based application dan dialogue - based applications.
1. Text - Based Application Mencakup segala macam aplikasi yang melakukan proses terhadap text
tertulis seperti misalnya buku, berita di surat kabar, e-mail dan lain sebagainya. Contoh penggunaan dari text - based application ini adalah :
a. Mencari topik tertentu dari buku yang ada pada perpustakaan
b. Memberikan respon atas input yang diberikan c. Mencari isi dari surat atau e-mail d. Menterjemahkan dokumen dari satu bahasa ke bahasa yang
lain
2. Dialogue - based application
Idealnya pedekatan ini melibatkan bahasa lisan atau pengenalan suara,
akan tetapi bidang ini juga memasukkan interaksi dengan cara
Parser Understande
r Generator
Lexicon Knowledge
Base
7
memasukkan teks pertanyaan melalui keyboard. Aplikasi yang sering
ditemui untuk bidang ini adalah : a. Sistem tanya jawab, dimana natural language digunakan
dalam mendapatkan informasi dari suatu database. b. Sistem otomatis pelayanan melalui telepon
c. Kontrol suara pada peralatan elektronik d. Sistem problem – solving yang membantu untuk melakukan
penyelesaian masalah yang umum dihadapi dalam suatu pekerjaan.
2.5 Scanner (Analisis Leksikal) Scanner merupakan salah satu bagian dari kompilator bahasa pada
komputer yang bertugas melakukan analisis leksikal. Analisis leksikal adalah proses
pengidentifikasian semua besaran yang membangun suatu bahasa pada program sumber. Scanner menerima input berupa stream karakter kemudian memilah
program sumber menjadi satuan leksik yang disebut dengan token. Token ini akan menjadi input bagi parser. Tugas dari scanner adalah sebagai berikut:
a. Melakukan pembacaan kode sumber dengan merunut karakter demi karakter b. Mengenali besaran leksik
c. Mentransformasi menjadi sebuah token dan menentukan jenis token-nya.
d. Mengirimkan token e. Membuang/mengabaikan blank dan komentar dalam program
f. Menangani kesalahan g. Menangani tabel simbol
Di dalam aplikasi NLP sistem cerdas yang akan dibuat, yang dimaksud dengan program sumber yang diolah oleh scanner adalah berupa kalimat input dari
pengguna dalam bentuk sms. Ketika scanner menerima input berupa stream karakter kemudian memilah
menjadi satuan leksik, satuan leksik tersebut terdiri atas simbol-simbol satuan yang jika dikombinasikan akan mempunyai arti yang berbeda-beda. Simbol- simbol
yang bisa dipergunakan dalam sebuah bahasa tentunya terbatas jumlahnya, yang
membentuk sebuah himpunan dan disebut sebagai abjad (alphabet). Tata bahasa (grammatika) adalah sekumpulan dari himpunan variabel-
variabel, simbol-simbol terminal, simbol non-terminal, simbol awal yang dibatasi oleh aturan-aturan produksi. Aturan produksi adalah pusat dari tata bahasa yang
menspesifikasikan bagaimana suatu tata bahasa melakukan transformasi suatu string
ke bentuk lainnya Dalam pembicaraan grammar, anggota alfabet dinamakan simbol terminal
atau token. Kalimat adalah string yang tersusun atas simbol-simbol terminal. Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa berupa tak berhingga hingga
kalimat.
Simbol-simbol berikut adalah simbol terminal :
a. Huruf kecil awal alfabet, misalnya : a, b, c b. Simbol operator, misalnya : +, -, dan ´
c. Simbol tanda baca, misalnya : (, ), dan ;
Sedangkan simbol-simbol berikut adalah simbol non terminal :
a. Huruf besar awal alfabet, misalnya : A, B, C
8
b. Huruf S sebagai simbol awal
Pada saat scanner membaca input, tools yang digunakan untuk menggambarkan perpindahan dari posisi satu ke posisi lainnya adalah diagram
transisi.
Gambar 2.3 Diagram transisi
Keterangan:
: state / keadaan awal input suatu kalimat
: looping / perulangan pembacaan simbol
: state / keadaan akhir suatu kalimat
2.6 Parser (Analisis Sintaksis)
Parser atau syntactic analyzer pada kompilator bahasa pemrograman berfungsi untuk memeriksa kebenaran kemunculan setiap token. Pada sistem yang
akan dibuat, fungsi dari parser ini agak berbeda karena token yang akan diolah semua memiliki tipe yang sama yaitu berupa kata (word). Urutan kemunculan token yang berupa kata-kata tersebut akan diolah dengan mengacu pada bank data agar didapatkan makna kalimat yang sesungguhnya. Dengan kata lain, tahap analisa
semantik terjadi di bagian bank data. Kemampuan dari parser untuk mengolah token dan bekerja sama dengan bank data inilah yang paling menentukan tingkat kecerdasan dari sistem yang akan dibuat.
9
2.7 Backus Naur Form (BNF)
BNF (Backus Naur Form) adalah metalanguage sintaktis yang umum digunakan sebagai notasi untuk context-free grammars. Metavariabel atau kelas sintaks ditulis
dengan diapit simbol < dan >. Jika kita menggunakan notasi ini, maka simbol adalah anggota dari element Vn sedangkan simbol “sentences” adalah element dari Vt.
Dengan cara ini kita tidak ragu-ragu melihat apakah suatu simbol merupakan anggota Vn ataukah anggota Vt. BNF secara intensif telah banyak digunakan dalam
pendefinisian secara formal berbagai bahasa pemrograman. Bahasa pemrograman
populer yang menggunakan deskripsi BNF adalah ALGOL. Sebagai contoh, pendefinisian sebuah identifier di dalam BNF adalah sebagai berikut :
<kolom> ::= <identifier> | <identifier>|< identifier> <huruf> ::= a|b|c|......|y|z
<angka> ::= 0|1|2|......|8|9
2.8 Metode-metode Parsing Ada dua jenis metode penguraian yang sering digunakan, yaitu:
a. Penguraian dari atas kebawah (top-down parsing) Penguraian dari atas ke bawah dapat dipandang sebagai suatu usaha
untuk mencari derivasi yang paling kiri (leftmost) dari suatu rangkaian
masukan. Dapat dikatakan juga sebagai suatu usaha untuk membentuk pohon urai (parser) untuk memasukkan dari akarnya dan membentuk node pohon parser dalam urutan preorder.
Perhatikan tata bahasa ini.
S => Ab A =>bc | a
Gambar pohon top-down-nya adalah
S S S
A b A b A b
bc a a
Gambar 2.4 Langkah-Langkah Dalam Pohon Top-Down
b. Pengurutan dari bawah ke atas (bottom-up parsing) Penguraian dari bawah ke atas lebih banyak mempergunakan
penguraian shift-reduce. Penguraian shift-reduce berusaha untuk membuat pohon parser bagi suatu masukan dimulai dari bawah (leaf) dan bergerak
keatas menuju puncak (root ). Pada setiap langkah reduksi suatu substring
yang sesuai dengan sisi kanan suatu produksi diganti dengan symbol yang berada dikanan produksi itu, langkah ini sering disebut derivasi rightmost.
10
Perhatikan tata bahasa ini.
S =>aABe A =>Abc | b
B =>d Kalimat „abbcde‟ dapat direduksi ke S dengan langkah-langkah berikut:
Abbcde ->aAbcde->aABe->S
2.9 Metode Recursive-Descent
Metode recursive-descent adalah kelas metoda parsing yang tidak menggunakan produksi alternatif ketika hasil akibat penggunaan sebuah
produksi tidak sesuai dengan simbol input. Jika produksi A mempunyai
dua buah ruas kanan atau lebih maka produksi yang dipilih untuk digunakan adalah produksi dengan simbol pertama ruas kanannya sama dengan
input yang sedang dibaca. Jika tidak ada produksi yang demikian maka dikatakan bahwa parsing tidak
dapat dilakukan. Ketentuan produksi yang digunakan metoda recursive descent adalah : Jika terdapat dua atau lebih produksi dengan ruas kiri yang
sama maka karakter pertama dari semua ruas kanan produksi tersebut tidak
boleh sama. Ketentuan ini tidak melarang adanya produksi yang bersifat rekursi kiri. Contoh suatu bahasa dengan aturan produksi sebagai berikut:
S → aB | A A → a
B → b | d
Misal akan dilakukan parsing terhadap string “ac‟. Maka analisis sintaks
terhadap string tersebut dengan menggunakan metode recursive descent adalah:
S
Input :
Hasil :
Sisa : ac
Penjelasan : Masukkan simbol terkiri
Sebagai input. Gunakan aturan produksi S
Dengan simbol pertama ruas kanan = a.
11
Gambar 2.5 Metode recursive descent
2.10 Analisis Semantik
Analisis semantik merupakan kelanjutan dari proses scanning dan parsing. Fungsi dari analisis semantik adalah untuk menentukan makna dari serangkaian
instruksi yang terdapat dalam program sumber atau masukan dari penguna Menganalisa semantik harus mampu menentukan aksi atau respon apa yang yang
akan dilakukan terhadap instruksi yang diberikan. (“Syaiful Rahmat Sugianto,UIN
Syarif Hidayatullah:2005”)
2.11 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, 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(Ronen Feldman, 2007). Setelah data menjadi data terstruktur dan
berupa nilai numerik maka data dapat dijadikan sebagai sumber data yang dapat diolah lebih lanjut. Berberapa 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 delimeter (Ronen Feldman, 2007).
Gambar 2.6 Proses Case Folding
Tampilkan Semua
Data Dari Proyek
tampilkan semua
data dari proyek
S
a B
Input : a
Hasil : a
Sisa : c
Penjelasan : Hasil = input. Gunakan
Aturan produksi B. Karena produksi
Demikian,maka parsing gagal
dilakukan
12
2. Tokenizing Tahap Tokenizing adalah tahap pemotongan string input berdasarkan tiap
kata yang menyusunnya.
Gambar 2.7 Proses Tokenizing
2.12 Studi Literatur
Penelitian Daniël de Kok,Harm Brouwer. (2001). Teknologi telah digunakan untuk membantu pengguna dalam pekerjaan yang berkaitan dengan bahasa alami,
seperti spelling and grammar checker yang bisa ditemukan di program pengolah kata untuk membantu menghindari kesalahan pengejaan dan tata bahasa, serta CAT Tools
(Computer-Aided Translation Tools), yang digunakan untuk membantu proses
penerjemahan. Penelitian Sri Kusuma Dewi (2003). Penelitian mengenai Pemrosesan Bahasa
Alami (Natural Language Processing) untuk Bahasa Indonesia telah dilakukan setidaknya sejak tahun 1995, yaitu pengembangan prototipe aplikasi penganalisis tata
bahasa Indonesia menggunakan parser LL dan LR (Sari, 1995).
penelitian Dale, R., Moisl, H and Somers, H. (ed.) (2000). Parser yang menggunakan strategi Lefmost derivation (karakter non-terminal yang paling kiri
ditulis ulang terlebih dulu). Parser LR merupakan bottom-up parser yang menggunakan strategi Righmost derivation (karakter non-terminal yang paling kanan
ditulis ulang terlebih dulu). Tidak jauh berberda dengan penelitian Purwo handoko,Agus. (2009) Dalam
Penggunaan konversi bahasa SQL dengan menggunakan Bahasa Alami atauNatural
Language Processing telah sebelumnya diteliti oleh beberapa peneliti diantaranya. Penelitian yang dilakukan oleh Agus Purwo Handoko (2009) yang
berjudul Aplikasi Pengolahan Bahasa Alami untuk Operasi Queri Database dimana dalam penelitiannya inidalam pengujiannya dilakukan terhadap satu buah basis data
yang memiliki satu buah tableyaitu tabel mahasiswa yang terdiri dari tiga
field (nim, nama dan alamat). Dari Hasilpenelitian ini masih melakukan queri yang sangat sederhana dimana pengerjaannya hanyamenampilkan data saja dalam
satu tabel. Suatu data yang ditampilkan hanya berupapenggunaan Select * from nama tabel dan dengan penggunaan kondisi where saja.
Tidak jauh berberda dengan penelitian Syaiful, R.S (2005) “Penerjemah bahasa
jawa-indonesia menggunakan natural language processing dengan metode context-free recursive-descent”,
variable yang di gunakan sebagai masukan dalam penerjemahan Jawa - Indonesia berupa text atau string (kalimat berbahasa Jawa). Masukan tersebut di uraikan
melalui proses analisis sematik (Analisa Leksikal, Analisa Sintak, dan Parsing) sehingga menghasilkan output
(keluaran). Keluaran dari sistem ini, jika di terima oleh semantik akan menghasilkan
text atau string berupa bahasa indonesia.
Tampilkan Semua
Data Dari Proyek
tampilkan
semua
data
dari
proyek
13
BAB III
ANALISIS MASALAH DAN PERANCANGAN PROGRAM
3.1 Analisis Masalah dan Solusi
Sebagian besar dari perusahaan memiliki permasalahan yaitu pada proses pencarian informasi, terkadang pemilik perusahaan membutuhkan data secara cepat
untuk pengambilan keputusan, data yang dibutuhkan juga memiliki informasi yang
berintegritas. Maka dengan demikian penulis membuat solusi untuk mengembangkan suatu aplikasi untuk tujuan pengguna agar membuat pencarian informasi untuk
mendapatkan data, dengan membuat sebuat perintah query ke dalam Bahasa Indonesia agar pengguna mudah dalam melakukan pencarian informasi.
Adapun alur program aplikasi pencarian informasi dengan perintah query dalam
Bahasa Indonesia yang akan dibuat yaitu seperti dibawah ini :
Gambar 3.1 Alur program
3.2 Rancangan Basis Data Adapun aplikasi yang akan dibuat mengikuti alur dari rancangan database
OLTP(On Line Transaction Process) yang sudah ada pada perusahaan, berikut rancangan
basis data proyek pada perusahaan :
Gambar 3.2 Logical Record Structure (LRS)
14
3.3 Spesifikasi Basis Data Spesifikasi basis data merupakan rinci tiap-tiap relasi tabel atau file. Adapun
spesifikasi basis data adalah : a) Nama Tabel : mstpelanggan
Media : Harddisk Isi : Data pelanggan
Primary Key : idpelanggan
Struktur : Tabel 3.1
Spesifikasi Basis Data mstpelanggan
No Nama Kolom Tipe Lebar
1 Idpelanggan Integer 11
2 Prospect Varchar 200
3 Birth Date
4 Telp Varchar 20
5 Hp Varchar 20
6 Officetelp Varchar 20
7 Officename Varchar 100
8 Offalm Text
9 Offcity Varchar 100
10 Jk Enum F,M
b) Nama Tabel : pegawai
Media : Harddisk Isi : Data pegawai
Primary Key : idpegawai Struktur :
Tabel 3.2 Spesifikasi Basis Data pegawai
No Nama Kolom Tipe Lebar
1 Idpegawai Varchar 10
2 Nama Varchar 100
3 Notelp Varchar 20
4 Jk Enum F,M
c) Nama Tabel : jasa
Media : Harddisk Isi : Data detail list jasa
Primary Key : idjasa
Struktur : Tabel 3.3
Spesifikasi Basis Data jasa
No Nama Kolom Tipe Lebar
1 Idjasa Integer 11
2 Nmjasa varchar 100
3 Harga integer 11
4 Lamawaktu(estimasi) Int 2
15
d) Nama Tabel : torder Media : Harddisk Isi : Data order pelanggan Primary Key : idorder
Struktur : Tabel 3.4
Spesifikasi Basis Data torder
No Nama Kolom Tipe Lebar
1 Idorder Integer 11
2 Idpelanggan Integer 11
3 Tglorder Date
4 Ket Text
5 Status Enum Fail,history,active
e) Nama Tabel : detailjasa
Media : Harddisk Isi : Data detail order jasa pelanggan
Primary Key : idorder + idjasa Struktur :
Tabel 3.5
Spesifikasi Basis Data detailjasa
No Nama Kolom Tipe Lebar
1 Idorder Integer 11
2 Idjasa Integer 11
3 Harga Integer 11
4 Lamapengerjaan Integer 2
f) Nama Tabel : invoice Media : Harddisk Isi : Data order invoice
Primary Key : idinvoice Struktur :
Tabel 3.6 Spesifikasi Basis Data invoice
No Nama Kolom Tipe Lebar
1 Idinvoice Integer 11
2 Tglinvoice Date
3 Value Integer 11
4 Batasbayar Date
5 Idorder Integer 11
6 Idjasa Int 11
7 Sts Enum Proses,selesai
16
g) Nama Tabel : tblpic
Media : Harddisk Isi : Data person in charge dari order
Primary Key : idorder+idpegawai Struktur :
Tabel 3.7 Spesifikasi Basis Data tblpic
No Nama Kolom Tipe Lebar
1 Idorder Integer 11
2 Idpegawai Varchar 10
3 Roles Varchar 200
3.4 Rancangan Layar Rancangan layar yang akan dikembangkan secara friendly user dengan
menggunakan framework bootstraps. Berikut halaman yang akan dibuat seperti halaman
Login yang terlihat pada Gambar 3.2.
Gambar 3.3 Login Apps
Adapun tampilan setelah user masuk ke aplikasi, terlihat pada Gambar 3.3
komponen yang ditampilkan yaitu judul, teks area untuk membuat perintah serta di
bawahnya untuk hasil dari perintah yang ditulis oleh pengguna.
17
Gambar 3.4 Tampilan untuk Laporan
Tampilan berikutnya yaitu tampilan untuk informasi panduan atau dokumentasi
bagi pengguna yang akan menggunakan aplikasi ini, informasi akan muncul dalam
bentuk pop up. Rancangan layarnya yaitu :
Gambar 3.5 Tampilan info panduan pengguna
18
3.5 Rancangan dan Metode
Alur proses yang akan dilakukan pengguna yaitu login lalu membuat perintah dalam bentuk bahasa Indonesia pada teks yang disediakan, setelah itu data yang
diinginkan ditampilkan oleh sistem, berikut gambar rich picture dari alur yang diatas :
Gambar 3.6 Alur aktifitas user
Algoritma yang akan dipakai yaitu dengan metode recursive descent. Recursive Descent Parsing adalah bentuk parsing yang termasuk dalam Top Down parsing. dimana
metode ini melakukan parsing secara menurun dari root menuju ke daun(leaf). mode yang diambil yaitu non backtracking mode atau tidak mengambil token secara mundur.
proses pencarian dengan cara menurun secara rekursif untuk semua variabel, tahapannya sebagai berikut :
Gambar 3.7 Komponen pengolah bahasa alami untuk operasi query data
19
a) Parser
Parser adalah suatu proses untuk menentukan rangkaian dari token ke dalam suatu tata bahasa tertentu atau tidak. Proses ini tergantung pada aturan
produksi yang sudah didefinisikan. 1) Parse Tree
Sebuah parser akan membentuk pohon sintaks (parse tree). Sebuah tree adalah suatu graph terhubung dan memiliki satu buah root (akar) dan
dari situ memiliki lintasan ke setiap simpul (daun/leaf). Pohon sintaks
berfungsi untuk menggambarkan bagaimana memperoleh suatu string dengan cara menurunkan simbol-simbol variabel menjadi simbol-simbol
terminal, sampai tidak ada simbol yang belum tergantikan.
Gambar 3.8 Parse Tree
2) Sintaksis Bahasa alami yang digunakan pada sistem ini adalah bahasa
Indonesia yang mempunyai tata aturan penulisan (grammar) tersendiri
yang dituliskan dalam bentuk Backus Naur Form(BNF) sebagai aturan produksi yang bisa dimengerti oleh sistem. Aturan produksi merupakan
suatu kaidah yang dibentuk untuk menyusun suatu kata atau perintah. Bentuk aturan produksi yang dihasilkan dari sebuah kalimat bahasa
Indonesia yang dituliskan dalam bentuk BNF. Berikut definisi aturan produksi dalam bentuk BNF :
<kolom> ::= {field yang ada di db} <table> ::= {table yang ada di db}
<S> ::= tampilkan | lihat <F> ::= <data>
<data> ::= * | <kolom>{<koma><kolom>}
<T> ::= dari <table> <K> ::= berdasarkan | dimana
<H> ::= dan | atau <op_log> ::= > | < | = | !
<P> ::= <kolom> <op_log>{<op_log>}1 <val>
<kondisi> ::= <K> <P> {<H> <P>} <perintah> ::= <S> <F> <T> {<kondisi>}1
20
3) State Diagram
Beberapa aturan produksi dalam bentuk State Diagram.
1. <P> -> <kolom> <op_log> <val>
Gambar 3.9 State Diagram Terminal <P>
2. <kondisi> -> <K> <P> (<H> <P>)*
Gambar 3.10 State Diagram Terminal <kondisi>
3. <perintah> -> <S> <F> <T> (<kondisi>)1
Gambar 3.11 State Diagram Terminal <perintah>
b) Understander Understander bekerja sama dengan knowledge base dalam menentukan
makna suatu kalimat. Untuk mengetahui makna dari suatu input kalimat, sistem dapat mengetahui hal-hal tentang kata yang diproses dan bagaimana kata
tersebut membentuk suatu kalimat yang bermakna. Adapun hasil dari proses
understander sebagai berikut: Tampilkan -> select Lihat -> select Dari -> from
Dimana -> where
Dan -> and Atau -> or Jika diinputkan “tampilkan semua data dari proyek” maka understander
akan membuat kalimat yang diinput menjadi kalimat yang bermakna dengan
mengganti beberapa kata yang sesuai dengan terminal dengan knowledge base yang dimiliki oleh sistem, dan hasil kalimatnya yaitu “select * from proyek”.
21
c) Knowledge Base
Knowledge Base yaitu basis pengetahuan yang dijadikan acuan oleh understander dalam menentukan makna suatu kalimat. Knowledge base berisi
sekumpulan informasi yang terorganisir kedalam bentuk struktur data. Berikut contoh dari knowledge base yang akan disediakan :
Tabel 3.8
Knowledge Base
Sintaks Indonesia Sintaks Query
Tampilkan Select
Lihat Select
Semua data *
Dari Form
Dimana Where
= =
>= >=
<= <=
> >
< <
!= !=
Seperti Like
Dan And
Atau Or
d) Generator
Generator berfungsi menghasilkan jawaban dari hasil proses
understander lalu memunculkan data dari perintah yang sudah memiliki makna atau nilai agar dapat dieksekusi oleh fungsi mysql_query dalam program.
3.6 Flowchart Untuk menggambarkan urutan-urutan proses data pada sistem ini, maka digunakan
flowchart sebagai penjelas. Berikut ini flowchart untuk masing-masing proses :
a. Flowchart Menu Login
Berikut ini adalah flowchart login user, tampilan ini muncul ketika pengguna baru menjalankan program ini. Melalui tampilan ini user diharuskan
untuk login terlebih dahulu jika ingin menggunakan program ini.
22
Gambar 3.12 Flowchart Login User
b. Flowchart Menu Utama
Berikut flowchart untuk menggambarkan jalannya program untuk mendapatkan data proyek sesuai dengan perintah query dalam bahasa
Indonesia yang dibuat oleh user :
23
Gambar 3.13 Flowchart Proses Eksekusi perintah query dalam
bahasa Indonesia
24
c. Flowchart informasi panduan dan logout Berikut flowchart informasi panduan dan keluar dari program ini :
Gambar 3.14 Flowchart menu info panduan dan logout
3.7 Algoritma Algoritma ini berisi langkah-langkah dan urutan proses berjalannya suatu program.
Berikut akan dijelaskan algoritma proses program pembuatan perintah query dalam
Bahasa Indonesia yaitu :
a. Algoritma Login User
1. Tampil Halaman Login 2. Input Username, Password
3. Klik Log In
4. If isset(Log In) Then 5. Cek tabel user berdasarkan input username dan password
25
b. Algoritma Parsing dan Tokenisasi
6. Hitung data record hasil dari langkah ke-5 masukan ke
variabel num_data 7. If num_data tidak kosong Then
8. Fetch data dari tabel user
9. Daftarkan session iduser dan username 10. Header(“location: halaman utama”)
11. Else 12. setMessage “Incorrect Username or Password
13. Header(“location: halaman login”)
14. End If 15. End If
1. Input perintah kueri Bahasa Indonesia 2. Pecah kata berdasarkan “ untuk mendapatkan value
3. Hitung value
4. Pecah kata berdasarkan spasi 5. Hiraukan data value dari hasil pecah kata lalu masukan ke array pieces
6. Daftar terminal untuk label kata kedalam array term (S,F,FR,T,Kondisi,P) 7. i = 0
8. o = 0
9. Foreach term 10. If term == F
11. Asteris = pieces[1].” “.pieces[2]; 12. If asteris == semua data
13. Perintah[F] = “semua data”; 14. i = i+1
15. else
16. pecah piece[i] berdasarkan koma lalu masukan ke array cols 17. foreach cols
18. perintah[F][] = cols; 19. end foreach
20. end if
21. else if term == Kondisi 22. if pieces[i] != null
23. perintah[Kondisi][K] = pieces[i] 24. end if else if term == P
25. if pieces[i] != null
26. for j=0; j<jumlah value; j++ 27. if j>0
28. label = j-1; 29. perintah[Kondisi][H.label] = pieces[o+2];
30. end if 31. o = i+(j*3)
26
c. Algoritma Understander
32. perintah[Kondisi][P.j][kolom] = pieces[o] 33. perintah[Kondisi][P.j][op_log] = pieces[o+1]
34. perintah[Kondisi][P.j][val] = value[j] 35. end for
36. end if
37. else 38. perintah[term] = pieces[i]
39. end if 40. i++
41. End Foreach
1. Siapkan variabel tampil_reffQuery
2. Siapkan variabel tamp untuk message error 3. Siapkan array data_array_slash berisi knowledge sintaks perintah indonesia
4. Siapkan array data_array_query berisi knowledge sintaks kueri mysql
5. Foreach perintah as param=>hm 6. If is_array(hm)
7. Foreach hm as param2 => hm2 8. If is_array(hm2)
9. Foreach hm2 as param3=>hm3
10. If in_array(hm3,data_array_slash[param3] 11. Tampil_reffQuery .= data_array_query[hm3].‟ „;
12. Tamp .= hm3.‟ „; 13. Else if param 3 == val
14. Tampil_reffQuery .= hm3‟ „; 15. Tamp .= hm3.‟ „;
16. Else
17. Tampil pesan error 18. End if
19. End foreach 20. Else
21. If param == F
If in_array(hm2,data_array_slash[param] If param2>0 22. Tampil_reffQuery .= ‟, „;
23. Tamp .= ‟, „; 24. Endif
25. Tampil_reffQuery .= hm2.‟ „; 26. Tamp .= hm2.‟ „;
27. Else
28. Tampil pesan error “kolom tidak ditemukan” 29. End if
30. Else 31. Potong kata untuk mengambil string pertama dari variabel
param2
32. If in_array(hm2,data_array_slash[param]
27
d. Algoritma Execute Query
e. Algoritma Logout
33. Tampil_reffQuery .= hm2.‟ „; 34. Tamp .= hm2.‟ „;
35. Else 36. Tampil pesan error “kolom tidak ditemukan”
37. End if 38. End if
39. End Foreach
40. Else 41. If in_array(hm,data_array_slash[param]
42. Tampil_reffQuery .= data_array_query[hm].‟ „; 43. Tamp .= hm.‟ „;
44. Else
45. Tampil pesan error 46. End if
47. End if 48. End foreach
1. Tampil_reffQuery hasil dari proses understender di execute dengan menggunakan mysql_query
2. Fetch data dari hasil query 3. Tampilkan data dalam bentuk tabel
1. Klik Icon Logout pada menu utama
2. If logout 3. Hapus semua session
4. Kembali ke halaman login 5. End if
28
BAB IV
IMPLEMENTASI DAN UJI COBA PROGRAM
4.1. Persyaratan Program Agar program berjalan dengan baik, spesifikasi perangkat yang dipakai
untuk implementasi aplikasi ini juga harus mendukung. Berikut spesifikasi yang dapat mendukung berjalannya sistem :
a. Spesifikasi Hardware Spesifikasi hardware yang digunakan untuk menjalankan program adalah
sebagai berikut : 1) Processor : Intel Core 2 Duo
2) RAM : 1 GB
3) HARDDISK : 250GB 4) VGA : Intel HD
5) Layar : 14 inch
b. Spesifikasi Software Spesifikasi software yang digunakan untuk menunjang jalannya program
adalah sebagai berikut
1) Microsoft Windows 7 Ultimate 32-bit 2) PHP Version 5.3.8
3) MySQL Database Version 5.0.8-dev 4) Apache Webserver 2.2.21
5) Google Chrome / Mozilla Firefox
4.2. Data Masukan
Data masukan atau format sintak perintah yang tersedia adalah sebagai berikut :
a. Menampilkan semua data
Membuat perintah untuk menampilkan semua data laporan proyek tanpa
kondisi dari database yaitu sebagai berikut : 1) Tampilkan semua data dari proyek
2) Lihat semua data dari proyek
b. Menampilkan beberapa kolom
Membuat perintah untuk menampilkan data laporan proyek dengan hanya menampilkan beberapa kolom yang dibutuhkan saja dari database, contohnya
yaitu sebagai berikut : 1) Tampilkan pic,harga_jual,produk,project_manager dari proyek
2) Lihat pic,harga_jual,produk,project_manager dari proyek
c. Menampilkan semua data dengan kondisi
Membuat perintah untuk menampilkan data laporan proyek sesuai dengan kondisi yang dibutuhkan dari database, contohnya yaitu sebagai
berikut : 1) Tampilkan semua data dari proyek dimana harga_jual > “50000000”
2) Tampilkan semua data dari proyek dimana harga_jual > “50000000”
dan produk = “Website Development” 3) Lihat semua data dari proyek dimana harga_jual > “50000000”
29
4) Lihat semua data dari proyek dimana harga_jual > “50000000” dan
produk = “Website Development”
d. Menampilkan beberapa kolom dan kondisi Membuat perintah untuk menampilkan data laporan proyek sesuai
dengan kondisi yang dibutuhkan dari database, contohnya yaitu sebagai berikut :
1) Tampilkan pic,harga_jual,produk,project_manager dari proyek
dimana harga_jual > “50000000” 2) Tampilkan pic,harga_jual,produk,project_manager dari proyek
dimana harga_jual > “50000000” dan produk = “Website Development”
3) Lihat pic,harga_jual,produk,project_manager dari proyek dimana
harga_jual > “50000000” 4) Lihat pic,harga_jual,produk,project_manager dari proyek dimana
harga_jual > “50000000” dan produk = “Website Development”
4.3. Panduan Penggunaan Program Persyaratan minimum yang dibutuhkan oleh sistem harus dipenuhi, sehingga
program natural language processing untuk membuat perintah query dalam bahasa
Indonesia dapat berjalan dengan baik. Untuk mempermudah penerapannya, program ini juga dilengkapi dengan panduan penggunaan program yang disertai
dengan tampilan layar semua aktifitas yang ada pada sistem. Diharapkan dengan adanya panduan ini, pengguna dapat mengerti cara menggunakan program.
a. Tampilan Form Login Form login akan tampil pada saat aplikasi berbasis web dijalankan.
Pengguna harus mengisi Username dan Password kemudian klik tombol login, sehingga dapat masuk kedalam menu administrator atau menu utama.
Gambar 4.1 Tampilan Form Login
Untuk dapat masuk ke dalam administrator atau menu utama, pengguna harus mengisikan Nama Pengguna dan Kata Sandi yang terdapat di
dalam database dengan benar. Jika Nama Penggguna dan Sandi yang dimasukkan salah dan tidak terdapat di dalam database, maka akan muncul
tampilan pesan “Incorrect Username or Password”, bentuk tampilannya dapat
di lihat pada gambar berikut:
30
Gambar 4.2 Incorrect Username or Password
b. Tampilan setelah login Setelah memasukan Usename dan Password yang benar (Login
berhasil) maka pengguna langsung di arahkan ke halaman antarmuka aplikasi yang menampilkan tampilan form Masukan Perintah. Pada form ini pengguna
dapat memasukan perintah pada kolom “Masukan Perintah” dan dapat
mencoba menjalankan proses di aplikasi, dan apabila pengguna mendapatkan permasalahan dalam mengunakan aplikasi dan permasalahan dalam
penggunaan kata-kata yang akan di gunakan dapat melihat menu Bantuan (?) untuk dapat menggunakan perintah yang diinginkan, untuk mengakhiri dari
perintah yang pengguna inginkan,maka dapat diklik tombol “Proses”.
Gambar 4.3 Dashboard Aplikasi
c. Tampilan panduan yang ada pada sistem
Pada fasilitas (?) ini, pengguna yang baru pertama menggunakan aplikasi dapat melihat dan memahami langkah-langkah, panduan, dan
petunjuk penggunaan bahasa penulisan dalam menggunakan Aplikasi. Untuk
melihat bisa klik tombol yang ditunjuk pada gambar dibawah ini :
31
Gambar 4.4 Dashboard Aplikasi
Sesudah di klik maka akan muncul pop up beberapa panduan dan bentuk untuk penggunaan penulisan perintah beserta susunan kolom yang
digunakan di aplikasi yang tersedia di dalam database tabel proyek.
Gambar 4.5 Fasilitas Bantuan Pada Aplikasi
d. Tampilan setelah proses terjemah perintah
Berikut adalah contoh penulisan kalimat perintah yang berfungsi untuk
menampilkan semua data yang terdapat di dalam tabel proyek
32
Gambar 4.6 Contoh Penulisan Kalimat
Setelah menekan tombol proses maka semua data yang berada di
dalam tabel proyek yang akan ditampilkan kedalam layar.
Gambar 4.7 Baris Data Yang Berada Di Dalam Table
33
Tidak jauh berbeda dengan contoh perintah yang terdapat di Gambar
4.7 diatas, berikut ini jika masukan kalimat perintah menampilkan data tetapi dengan kolom yang dibutuhkan atau dipilih :
Gambar 4.8 Kalimat Kolom Yang Dibutuhkan
Setelah menekan tombol proses maka tampilan data hanya memunculkan beberapa kolom yang dipilih dari kalimat sebelumnya, tetapi
semua record data masih dimunculkan.
Gambar 4.9 Hasil Perintah Pemilihan
Adapun contoh kalimat perintah jika semua kolom ditampilkan tetapi
dengan kondisi data yang ditampilkan sesuai dengan parameter yang dibutuhkan.
Gambar 4.10 Menggunakan Simbol
34
Tampilan hasil dari data proses kalimat perintah diatas yaitu hanya
memunculkan data yang harga_jual lebih besar dari 50.000.000.
Gambar 4.11 Hasil Dari Menggunakan Simbol
Jika perintah yang diinput lebih dari satu kondisi, maka gunakan kata
dan/atau untuk kata penghubung diantara kedua parameter yang digunakan.
Gambar 4.12 Contoh Kalimat Dengan Dua Parameter
35
Setelah menekan tombol proses maka data yang ditampilkan hanya
yang memenuhi parameter yang digunakan.
Gambar 4.13 Hasil Dengan Dua Parameter
Jika perintah yang diinput memiliki kondisi dan yang ditampilkan hanya beberapa kolom yaitu sebagai berikut :
Gambar 4.14 Contoh Dengan Kondisi Beberapa Parameter
Hasil dari proses diatas yaitu data yang ditampilkan hanya yang
memenuhi kriteria dari kondisi yang digunakan serta kolom yang tampil hanya kolom yang dibutuhkan atau dipilih.
36
Gambar 4.15 Hasil Dengan Beberapa Parameter
Jika perintah yang diinput memiliki beberapa kondisi dan yang
ditampilkan hanya beberapa kolom yaitu sebagai berikut :
Gambar 4.16 Beberapa Kondisi dan Beberapa Kolom
Hasil dari proses diatas yaitu data yang ditampilkan hanya yang
memenuhi kriteria dari beberapa kondisi yang digunakan serta kolom yang
tampil hanya kolom yang dibutuhkan atau dipilih.
Gambar 4.17 Hasil Dari Beberapa Kondisi dan Beberapa Kolom
37
e. Tampilan info error
Hasil dari kalimat perintah yang salah dapat memicu tampilan error di munculkan secara mengambang di tengah page (pop-up) dan menampilkan
kalimat yang mengandung kesalahan dalam penulisan dan penggunaan nama kolom. Berikut ini adalah beberapa kasus atau contoh dari kesalahan penulisan
perintah kalimat:
Gambar 4.18 Salah Dalam Penulisan Perintah
Jika salah dalam penulisan nama kolom maka akan memunculkan pesan
error dengan kalimat “error kolom nama_kolom tidak ditemukan” contoh:
Gambar 4.19 Salah Dalam Penulisan Nama Kolom
Jika salah dalam penulisan kalimat perintah dan aplikasi tidak dapat
memproses kalimat yang dimasukan maka muncul pesan error “Tidak dapat mengolah perintah yang anda masukan, Mohon periksa kembali inputan anda.”
contoh:
38
Gambar 4.20 Kesalahan Dalam Pengetikan
Jika salah dalam penulisan kalimat perintah yang spesifik maka aplikasi
tidak dapat memproses kalimat yang di masukan dan memunculkan pesan error “error kolom kalimat tidak ditemukan” contoh:
Gambar 4.21 Kesalahan Penulisan Kalimat Spesifik
f. Tampilan LogOut Aplikasi
Jika pengguna telah selesai menggunakan aplikasi maka demi keamanan
data yang berada di dalam database yang terhubung dengan aplikasi maka pengguna di haruskan menekan tombol logout yang berada di sebelah kanan
page aplikasi.
Gambar 4.22 Logout Aplikasi
39
4.4. Evaluasi
Evaluasi merupakan suatu proses atau kegiatan yang sistematis dan berkelanjutan untuk menentuakan suatu nilai berdasarkan pada kriteria tertentu. Evaluasi
rancangan aplikasi merupakan kegiatan yang sistematis, berkelanjutan dan menyeluruh dalam rangka pengendalian, penjaminan dan penetapan kualitas
berbagai komponen pembelajaran berdasarkan kriteria tertentu sebagai bentuk
pertanggungjawaban user dalam menggunakan aplikasi.
Didalam sebuah rancangan aplikasi terdapat kelebihan dan kekurangan yang terdapat dalam aplikasi yang telah berjalan.
a. Kelebihan Yang Dimiliki Aplikasi
Kelebihan yang dimiliki oleh aplikasi berbasis web PT. Greenlabgroup adalah sebagai berikut:
1. Penyampaian informasi dapat melalui sebuah aplikasi berbasis web yang
dinamis, yang menyediakan informasi yang dapat diakses kapan saja di
mana saja selama masih di dalam wilayah kantor. 2. Pencarian data-data transaksi kearah yang lebih efisien, aktual dan dapat
mudah dimengerti oleh pengguna tanpa harus membutuhkan divisi IT dalam membuat laporan.
3. Pengguna dipermudah dengan user interface yang sederhana, cukup dengan
satu textarea untuk membuat perintah dalam bentuk bahasa Indonesia. 4. Kemudahan rangkaian bahasa yang digunakan untuk membuat suatu
perintah.
b. Kekurangan Yang Dimiliki Aplikasi
Kekurangan yang dimiliki oleh aplikasi berbasis Web PT. Greenlabgroup
adalah sebagai berikut:
1. Aplikasi tidak mendukung perintah seperti grup berdasarkan(group by), urutkan berdasarkan(order by), mempunyai (having).
2. Tidak tersedia beberapa tabel yang dapat dipilih untuk ditampilkan.
40
BAB V PENUTUP
Berdasarkan pengkajian program yang telah dilakukan terhadap masalah dan
penyelesaian yang telah dilakukan, maka ditarik kesimpulan dan saran yang akan diperlukan
untuk pengembangan sistem ini untuk ketahap lebih lanjut. 1. Kesimpulan
Berdasarkan dari uraian bab sebelumnya terhadap permasalahan dan aplikasi yang telah dikembangkan, maka dapat ditarik kesimpulan mengenai proses
penerjemahan dari bahasa Indonesia menjadi bahasa query terhadap aplikasi
penerjemah didalam perusahaan,antara lain : a. Pencarian data-data transaksi kearah yang lebih efisien, aktual dan dapat mudah
dimengerti oleh pengguna b. Pengguna dipermudah dengan user interface yang sederhana, cukup dengan
satu textarea untuk membuat perintah dalam bentuk bahasa Indonesia. c. Kemudahan rangkaian bahasa yang digunakan untuk membuat suatu perintah.
2. Saran Program penerjemah dari bahasa Indonesia menjadi bahasa query ini masih memiliki
beberapa keterbatasan. Sehingga untuk itu penulis menyarankan beberapa pengembangan aplikasi selanjutnya yaitu :
a. Memperkaya sintaks perintah yang ada seperti grup berdasarkan(group by),
urutkan berdasarkan(order by), mempunyai (having) b. Tersedia beberapa tabel yang dapat dipilih untuk ditampilkan.
41
DAFTAR PUSTAKA
Daniël de Kok,Harm Brouwer. 2001. Natural Language Processing for the Working Programmer. Firrar Utdirartatmo. 2001. Teknik Kompilasi. Yogyakarta : J & J Learning. Purwo handoko,Agus. 2009. Aplikasi Pengolah Bahasa Alami Untuk Operasi Queri Database,
vol.2,no.2. Surakarta Sugianto, S.R. 2005. “Penerjemah bahasa jawa-indonesia menggunakan natural language processing dengan metode context-free recursive-descent”, Skripsi S1 Teknik
Informatika,Universitas Islam Syarif Hidayatullah Dewi, S.K. 2003. Teknik dan aplikasi Artificial Intelligence, Edisi ke-1 (Yogyakarta:Graha
Ilmu). Dale, R., Moisl, H. and Somers, H. ed. 2000. Handbook of Natural Language Processing.
Marce Dekker