Upload
didicyber-al-ghafuri
View
274
Download
3
Embed Size (px)
DESCRIPTION
INTELLIGENT LEARNING SYSTEM UNTUK PEMBELAJARAN INTERAKTIF LABORATORIUM (STUDI KASUS : LABORATORIUM TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA)
Citation preview
INTELLIGENT LEARNING SYSTEM UNTUK
PEMBELAJARAN INTERAKTIF LABORATORIUM
(STUDI KASUS : LABORATORIUM TEKNIK
INFORMATIKA UNIVERSITAS DR. SOETOMO
SURABAYA)
TUGAS AKHIR
Diajukan sebagai salah satu syarat
untuk memperoleh gelar Sarjana Komputer
Oleh :
OBBADI
NIM. 2006420034
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS DR. SOETOMO
SURABAYA
2012
Page 1 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat-Nya
sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul “Intelligent
Learning System Untuk Pembelajaran Interaktif Laboratorium (Studi Kasus
: Laboratorium Teknik Informatika Universitas DR. Soetomo Surabaya)” sesuai dengan yang direncanakan.
Atas terselesaikannya Tugas Akhir ini, penulis menyampaikan banyak
terima kasih kepada :
1. Kedua orang tuaku tercinta, Asmawi dan Sulthaniyah yang selalu
membimbing, mendoakan, dan memberikan motivasi di setiap waktu.
Kakakku M. Ramzi, S.Pd.I yang memberikan dukungan moril dan materil.
2. Bapak Dwi Cahyono, S.Kom, MT dan Bapak Hengki Suhartoyo, S.Kom,
selaku Dosen Pembimbing, terima kasih atas segala bantuan dan
kesabarannya selama proses bimbingan Tugas Akhir hingga selesai.
3. Ibu Anik Vega V., S.Kom, MT, selaku Ketua Jurusan Informatika.
4. Ibu Safrin Zuraidah, ST, MT, selaku Dekan Fakultas Teknik Informatika.
5. Agus Cupank, terima kasih atas saran dan bantuannya. Teman-teman
Crackatau? Community yang selalu memberikan pencerahan. Teman-
teman kos Gubuk Derita Family yang selalu memberikan keceriaan dan
semangat, terutama Mz Black yang selalu menyediakan kopi dan rokok di
setiap pagi selama aku mengerjakan skripsi. Teman-teman Informatika
angkatan 2011, terima kasih atas bantuannya dalam uji coba sistem. Serta
teman-teman yang lain yang tidak bisa disebutkan, terima kasih atas
bantuannya hingga Tugas Akhir ini selesai.
Penulis berharap hasil dari Tugas Akhir ini dapat bermanfaat bagi pihak
yang berkepentingan dan dikembangkan sesuai dengan kebutuhan dan
perkembangan teknologi supaya lebih baik. Akhir kata, sebagai manusia yang tak
luput dari kesalahan dan khilaf, maka penulis meminta maaf bilamana ada sesuatu
yang kurang berkenan.
Surabaya, Juli 2012
Penulis
Page 2 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
ABSTRAK
Pembelajaran dalam kelompok kecil lebih efisien daripada pembelajaran
dalam kelompok besar. Pembelajaran dalam kelompok kecil dapat ditemui dalam
sebuah laboratorium, dimana jumlah praktikan yang relevan menjadikan suasana
pembelajaran cukup efektif.
Keinginan dan kemampuan praktikan yang berbeda-beda menuntut adanya
metode pembelajaran yang berbeda-beda, dan intensitas pelaksanaan praktikum
yang relatif sebentar yang berakibat ketidakpuasan dalam pelaksanaan sebuah
praktikum. Dengan demikian, diperlukan sebuah alternatif pembelajaran yang
tidak terbatas oleh waktu dengan memanfaatkan peranan teknologi seperti
Intelligent Learning System (ILS).
ILS merupakan sebuah sistem pembelajaran cerdas dengan menghadirkan
virtual asisten dosen (agen) yang dapat membantu praktikan dalam memecahkan
permasalahannya terkait dengan materi praktikum. Tugas akhir ini memberikan
penjelasan tentang pembuatan dan implementasi sistem pembelajaran cerdas pada
Laboratorium Pemrograman Universitas DR. Soetomo Surabaya dengan
pembahasan materi praktikum adalah Algoritma dan Pemrograman I. Sistem ini
terdiri dari beberapa agen (multiagent) yang memiliki kemampuan yang berbeda-
beda dan bersifat delegation dan intelligence yang dirancang dalam bentuk
interaktif antara praktikan dan agen berbasis dialoge based application. Sistem ini
dapat dijadikan sebagai alternatif pembelajaran laboratorium yang terbatas oleh
intensitas pelaksanaan praktikum dan perbedaan keinginan praktikan, dikarenakan
pembelajaran pada sistem ini lebih mudah dipahami oleh praktikan dan
memudahkan praktikan yang cenderung memilki ketakutan dalam bertanya
kepada asisten dosen.
Kata kunci :
Pembelajaran kelompok kecil, Intelligent Learning System (ILS), dialoge based
application, agen, Java.
Page 3 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
BAB I
PENDAHULUAN
1.1. Latar Belakang
Sistem pembelajaran saat ini sudah banyak ditemui dalam kelompok kecil,
sehingga proses pembelajaran dapat berjalan baik [8. 193]. Hal senada juga
disampaikan oleh Bloom [8. 193] melalui penelitiannya bahwa one-to-one
teaching atau pengajaran secara kelompok kecil lebih baik dibandingkan
kelompok besar. Pembelajaran dalam kelompok kecil juga ditemui dalam sebuah
laboratorium, adanya asisten laboratorium atau asisten dosen (asdos) yang
bertindak sebagai pengajar dan jumlah praktikan yang relevan menjadikan
suasana pembelajaran cukup efektif.
Keinginan dan kemampuan penalaran praktikan yang berbeda-beda tidak
menuntut kemungkinan akan penggunaan metode pembelajaran yang juga
berbeda untuk setiap praktikan. Adanya sentuhan teknologi pada pembelajaran
laboratorium menjadi alternatif lain sebagai penunjang pembelajaran, seperti pada
pembelajaran interaktif dengan sistem pembelajaran cerdas (Intelligent Learning
System). Menurut Sang-Mok Jeong and Ki-Sang Song [8. 193] jika human
teacher (kehadiran pengajar) dapat dihadirkan dalam sistem pembelajaran tersebut
maka efek yang sama akan diperoleh apabila pengajaran dilakukan secara
langsung.
Alternatif sistem pembelajaran yang bisa menghadirkan virtual asdos
(virtual teacher) dapat mendukung terciptanya Intelligent Learning System
dengan adanya sistem yang memberikan pengajaran secara private diharapkan
membantu proses pembelajaran di laboratorium. Serta intensitas praktikum yang
sebentar menjadi alasan tersendiri akan perlunya sistem ini sebagai penunjang
pembelajaran laboratorium.
Berdasarkan pada pokok permasalahan tersebut, maka pada Tugas Akhir ini
penulis membuat sistem pembelajaran berbasis “INTELLIGENT LEARNING
Page 4 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
SYSTEM UNTUK PEMBELAJARAN INTERAKTIF LABORATORIUM”
berdasarkan pada studi kasus di Laboratorium Teknik Informatika Universitas
DR. Soetomo Surabaya.
1.2. Rumusan Masalah
Berdasarkan pada uraian latar belakang di atas, penulis merumuskan
permasalahan sebagai berikut :
1. Perbedaan keinginan dan kemampuan praktikan terhadap metode
pengajaran asisten yang mengakibatkan kesulitan dalam pemahaman
sebuah materi.
2. Intensitas pelaksanaan praktikum yang sebentar dan berakibat
ketidakpuasan dalam proses pembelajaran.
1.3. Batasan Masalah
Batasan permasalahan dalam sistem pembelajaran interaktif ini adalah :
1. Interaksi antara praktikan dan virtual asdos berbasis dialoge based
application, yakni interaksi dengan cara memasukkan pertanyaan melalui
keyboard.
2. Agent (virtual asdos) memiliki dua kemampuan, yakni delegation
(menjalankan tugas atau menjawab pertanyaan sesuai dengan perintah
praktikan) dan intelligent (memiliki knowledge base, dan memiliki
kemampuan reasoning sesuai dengan knowledge base yang dimilikinya).
3. Pembangkitan tanggapan agen diproses dengan modul temu kembali
informasi yang terbagi dalam Parsing dan Stemming, Analisa Semantik,
dan Translasi.
4. Koreksi kesalahan pengetikan (key type error correction) menggunakan
algoritma Levenshtein Distance (LD).
5. Materi praktikum yang dibahas pada sistem ini adalah Algoritma dan
Pemrograman, dimana modul praktikum yang diambil adalah Bahasa
Pemrograman I (Pemrograman Java).
Page 5 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
6. Pembahasan materi java meliputi penulisan penamaan variabel dan tipe
data primitif (String, integer, double, float, long, short, boolean, char) dan
array, pengertian operator (numerik, aritmatika, shortcut, logika,
pembanding), penulisan syarat dan kondisi (if..else, switch..case),
penulisan perulangan (for, while, do..while), dan penjelasan algoritma
dalam bentuk pseudocode dan source code.
1.4. Tujuan
Tujuan yang ingin dicapai penulis dalam pembuatan Tugas Akhir ini adalah
membuat sistem pembelajaran cerdas dengan menghadirkan virtual asdos sebagai
pengajar.
1.5. Manfaat
Manfaat yang dapat diperoleh dengan adanya sistem ini adalah :
1. Membantu praktikan dalam menyelesaikan permasalahannya terkait
dengan materi praktikum.
2. Keleluasaan praktikan dalam belajar materi praktikum tanpa terikat oleh
waktu dan kehadiran asisten dosen.
1.6. Sistematika Penelitian
Metode penelitian yang penulis gunakan pada pembuatan sistem ini adalah
Agent Oriented Software Engineering (AOSE) dalam hal ini adalah Multiagent
System Engineering (MaSE). MaSE dimulai dengan langkah spesifikasi sistem,
dan selanjutnya memproduksi sekumpulan dokumen rancangan formal dalam
bentuk-bentuk grafis [2. 42].
Tahapan proses-proses dari metodologi MaSE terdiri dari tujuh langkah
aktivitas seperti pada Gambar 1.1 [hal. 5], dan dikelompokkan dalam dua fase
yakni fase analisis dan fase desain [2. 42-43]. Fase analisis terdiri dari :
1. Capturing Goal
Page 6 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Mengidentifikasi tujuan-tujuan, struktur dan menyajikannya sebagai
hirarki tujuan pembuatan sistem.
2. Applying Use Cases
Penyerapan skenario utama dari konteks awal sistem yang digambarkan
dengan diagram Use Cases, dimana hal tersebut juga digunakan untuk
membangun diagram terurut (seperti pada Unified Modeling Language).
3. Refining Roles
Merupakan langkah terakhir dari tahapan analisis, yaitu untuk
pembentukan model peran dan model tugas konkuren. Model peran
menggambarkan peranan dari agen dalam sistem dimana peran yang
dibentuk juga harus menunjukan bagaimana tujuan sistem akan dicapai
dan jalur komunikasi diantara peran-peran tersebut.
Gambar 1.1. Tahapan dan Model Metodologi MaSE
Sumber : Pustaka [2. 42]
Sedangkan fase desain terdiri dari :
4. Create Agent Classes
Merupakan sebuah diagram class agent yang menggambarkan secara
menyeluruh sistem multiagen. Diagram class agen memperlihatkan agen-
agen dan peranan yang dimainkannya.
Page 7 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
5. Contruction Conversations
Merupakan diagram rincian mekanisme percakapan dari agen-agen yang
digambarkan dalam diagram komunikasi classes, yang berbentuk mesin
status berhingga (finite state machine).
6. Assembling Agent Classes
Langkah ini mendefinisikan aristektur agen dan komponen-komponen
penyusunnya.
7. System Design
Meliputi pembuatan diagram deployment, yang menspesifikan penempatan
agen-agen dalam sebuah sistem.
1.7. Sistematika Pembahasan
Sistematika pembahasan atau penulisan laporan Tugas Akhir ini adalah
sebagai berikut :
BAB I PENDAHULUAN
Menjelaskan latar belakang masalah, perumusan masalah, pembatasan
dari sistem yang akan dibuat, tujuan dari dibuatnya sistem, manfaat
dari adanya sistem, metodologi penelitian, dan sistematika penulisan
tugas akhir.
BAB II LANDASAN TEORI
Menjelaskan teori-teori yang berhubungan dan atau dipakai pada
pembuatan sistem ini. Teori ini meliputi Intelligent Learning System
(ILS), Agen, Natural Languange Processing (NLP), Unified Modeling
Language (UML), dan Bahasa Pemrograman Java.
BAB III ANALISIS DAN DESAIN
Menjelaskan tentang analisa dan desain sistem yang akan dibuat.
Keduanya dijelasakan dalam deskripsi sistem, aktor/pengguna yang
terlibat, skenario sistem dalam bentuk use case diagram, pembentukan
class diagram, Natural Language Processing, komunikasi praktikan
dengan virtual asdos dalam bentuk sequence diagram dan activity
Page 8 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
diagram, pembangkitan tanggapan agen, pembuatan struktur tabel
database, dan desain antarmuka input dan output.
BAB IV IMPLEMENTASI
Menjelaskan tentang implementasi rancangan sistem dari bab 3 dalam
bentuk program atau aplikasi. Pada bab ini dijelaskan kebutuhan
software dan hardware pengembangan dan penerapan sistem yang
dibuat, daftar tabel database yang digunakan dan daftar berkas
program dari pembuatan sistem. Dan bagian akhir dari bab ini
menjelaskan uji coba program berdasarkan kebenaran input dan
output, uji penerimaan sesuai tujuan dan analisa kebenaran setiap
proses atau keluaran sistem.
BAB V PENUTUP
Menjelaskan tentang kecukupan solusi terhadap permasalahan, serta
kesesuaian dengan tujuan penelitian ini. Pada bab akhir ini juga
menjelaskan saran yang memungkinkan sistem dikembangkan lebih
lanjut.
Page 9 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
BAB II
LANDASAN TEORI
3.1. Intelligent Learning System (ILS)
“Intelligent Learning System (ILS) provide direct customized instruction to
the learners without the intervention of human tutors” [4. 12]. Sistem
pembelajaran cerdas merupakan sistem pembelajaran yang menangani beberapa
instruksi pelajar tanpa adanya intervensi dari seorang guru, dimana sistem ini
mempunyai sebuah instrumen dalam proses pemodelan pembelajaran dan
pemodelan pelajar.
Intelligent Learning System atau sistem pembelajaran cerdas merupakan
sebuah algoritma yang dirancang secara ilmiah yang membantu mengidentifikasi
kesenjangan dalam pemahaman pelajar terhadap materi membelajaran atau
metode pengajaran. Sistem ini pada dasarnya menggunakan logika adaptif dan
didesain utntuk memberikan pembelajaran [6. 719].
Intelligent Learning System bertujuan memberikan keterampilan pelatihan
yang berkualitas tinggi dan kinerja tinggi pada semua tingkat pendidikan melalui
dukungan teknologi yang disediakan dengan semua alat dan sumber daya yang
bertujuan untuk mencapai keunggulan dalam belajar. Intelligent Learning System
menyediakan solusi pembelajaran secara sederhana, komprehensif, dan terpadu [4.
13].
Tujuan lain dari sistem pembelajaran cerdas adalah membuat proses
pembelajaran lebih cepat, lebih hidup, dan lebih menyenangkan. Sistem ini
dirancang untuk membuat asimilasi materi model pembelajaran baru yang lebih
cepat dan membantu memperkuat pemahaman terhadap materi pembelajaran dan
konsep pengajaran, hal inni dapat menghilangkan ruang ambiguitas atau
kebingungan dalam pembelajaran [6. 719].
Intelligent Learning System mendistribusikan sebuah sistem pembelajaran
yang bersifat E-Learning dimana sistem tersebut memiliki modul yang bersifat
Page 10 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
independen. Sistem ini didesain dan dikembangkan sesuai dengan kebutuhan
pembelajaran yang bersifat kelompok dan perorangan. Pada dasarnya sistem ini
memiliki tiga aktor utama yang berperan penting dalam sebuah sistem
pembelajaran cerdas [4. 13]. Gambar 2.1 menunjukkan skema alur dari sistem
pembelajaran cerdas dengan ontologies.
Gambar 2.1. Skema Umum Sistem Pembelajaran Cerdas
Sumber : Pustaka [4. 13]
Konsep Intelligent Learning System yaitu student model, pedagogical
module, communication model, domain knowledge, dan experts model. Ke lima
konsep tersebut menjadi kerangka atau komponen utama penyusun sistem
pembelajaran cerdas dan saling berhubungan satu sama lain seperti yang
ditunjukkan pada Gambar 2.2.
Gambar 2.2. Komponen Utama Sistem Pembelajaran Cerdas
Sumber : Pustaka [6. 720]
Page 11 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Model pelajar (student model) dalam sistem pembelajaran cerdas harus
menjamin personalisasi seperti yang terdapat pada lingkungan e-learning. Selain
itu model pelajar merupakan informasi spesifik setiap pelajar yang bertujuan
untuk memodelkan keadaan siswa.
Pedagogical module merupakan kerangka atau metode pengajaran yang
berupa sebuah tata cara atau instrumen penyampaian sebuah materi. Metode ini
sama halnya seperti metode yang digunakan seorang guru (human teacher) dalam
menyampaikan materi. Akan tetapi, dalam sistem pembelajaran cerdas peran guru
digantikan oleh agen (agent teacher character). Pencapaian hasil terbaik agent
teacher character bilamana mampu mengetahui tingkat kemampuan pembelajaran
dan juga dapat memberikan motivasi berupa feedback ke user [8. 194]
Domain knowledge merupakan ranah pengetahuan tentang model
pembelajaran yang digunakan sebagai feedback untuk memandu permasalahan
tentang materi yang dipilih untuk membangkitkan suasana pembelajaran seperti
dengan adanya interaktif (tanya jawab) dengan agent teacher character.
Expert model merupakan sebuah model kecerdasan (intelligent model) yang
berisi informasi wawasan pembelajaran dan rasa keingintahuan dan emosi dalam
pembelajaran. Expert model juga digunakan untuk memperbaiki hasil
pembelajaran yang buruk sesuai dengan basis pengetahuan atau ranah
pengetahuan yang terdapat dalam media penyimpanan (database).
Communication model merupakan model penyampaian materi atau model
interaksi dengan pelajar. Model komunikasi ini merupakan implementasi
perencanaan dalam pedagogical module yang dapat berupa penyampaian materi
secara langsung seperti penggunaan animasi atau efek suara, atau adanya
interaktif dengan agen melalui sebuah dialog atau tanya jawab.
3.2. Agen
Populernya penggunaan teknologi agen pada berbagai bidang ilmu bukan
berarti membuat jelas definisi agen, tetapi justru membuat definisi agen semakin
tidak jelas, karena setiap peneliti berusaha untuk mendefinisikan agen sesuai
Page 12 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
dengan latar belakang ilmu yang mereka miliki. Bagaimanapun juga sampai saat
ini belum ada kesepakatan dari para peneliti tentang definisi formal mengenai apa
yang disebut dengan agen [9. 2].
Akibat yang timbul dari tidak adanya kesepakatan tentang definisi agen
pada akhirnya muncul penggunaan agen dengan banner yang bermacam-macam
meskipun yang dimaksud terkadang sama, atau tidak ada perbedaaan yang
signifikan didalamnya, misalnya pada penggunaan kata intelligent agent, agent
technology, software agent, autonomous agent, ataupun agent. Berikut beberapa
definisi agen, serta karakteristik agen dari berbagai sumber.
3.2.1. Definisi Agen
Webster’s New World Dictionary [4. 194] mendefinisikan agen sebagai “a
person or thing that acts or is capable of acting or is empowered to act, for
another”, kemudian didefinisikan oleh Romi Satria W. [9. 3] sebagai berikut :
a. Agen mempunyai kemampuan untuk melakukan suatu tugas atau
pekerjaan.
b. Agen melakukan suatu tugas/pekerjaan dalam kapasitas untuk sesuatu,
atau untuk orang lain.
Caglayan [8. 195] mendefinisikan agen sebagai suatu entitas software
komputer yang memungkinkan user (pengguna) untuk mendelegasikan tugas
kepadanya secara mandiri (autonomously). Brenner [8. 195] mendefinisikan
bahwa agen harus bisa berjalan dalam kerangka lingkungan jaringan (network
environment).
Coen [2. 40] mendefiniskan agen sebagai “An agent is a computer system
that situated in some enviroment, and that is capable of autonomous action in this
enviroment in order to meet its design objective”. Agen adalah sistem komputer
yang terdapat pada lingkungan tertentu dan mampu bertindak secara mandiri
dalam rangka memenuhi tujuan tertentu.
Franklin [2. 40] mendefinisikan agen cerdas sebagai “Intelligent agents are
software entities that carry out some set on behalf of user or another program
with some degree of independence or autonomy, and in so doing, employ some
Page 13 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
knowledge or representation of user’s goals or desires”. Agen cerdas adalah
entitas perangkat lunak yang melakukan beberapa set atas pengguna atau program
lain secara independen atau mandiri, dimana seluruh aktifitasnya dikembangkan
berdasarkan representasi pengetahuan dan tujuan atau keinginan pengguna.
Secara prinsip, sebuah agen atau disebut juga sebuah perangkat lunak agen,
atau juga sebuah agen cerdas adalah sebuah perangkat lunak autonomous yang
hidup, aktif, dan mampu beradaptasi secara mandiri, proaktif terhadap setiap
kondisi lingkungan yang diciptakan untuknya [2. 40].
Konsep agent sudah dikenal lama dalam bidang Artificial Intelligent (AI),
tepatnya dikenalkan oleh seorang peneliti bernama Carl Hewitt dengan concurrent
actor model-nya pada tahun 1977 [9. 2]. Dalam modelnya Hewitt mengemukakan
teori tentang suatu obyek yang yang dia sebut sebagai actor, yang mempunyai
karakteristik menguasai dirinya sendiri, interaktif, dan bisa merespon pesan yang
datang dari lain obyek sejenis. Dari berbagai penelitian berhubungan dengan hal
diatas, kemudian lahirlah cabang ilmu besar yang merupakan turunan dari AI
yaitu Distributed Artificial Intelligence (DAI), antara lain membawahi bidang
penelitian Distributed Problem Solving (DPS), Parallel Artificial Intelligence
(PAI), dan Multi Agent System (MAS) seperti yang ditunjukkan pada Gambar 2.3.
Distributed Artificial Intelligence(DAI)
Parallel AI(PAI)
DistributedProblem Solving
(DPS)
MultiagentSyatem(MAS)
Gambar 2.3. Ruang Lingkup dan Distribusi Kecerdasan Buatan
Sumber : Pustaka [9. 2]
3.2.2. Karakteristik Agen
Page 14 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Skema sifat atau karakteristik model sebuah agen seperti pada Gambar 2.4a
[hal. 17] dan sistem multiagen seperti pada Gambar 2.4b secara organisasi adalah
sebagai berikut [2. 40-41] :
a. Sebuah agen didasarkan pada sekumpulan pengetahuan terpercaya (beliefs,
siqnificant knowledge). Dengan pengetahuan, agen mempunyai
kemampuan berargumentasi (actions) yang direpresentasikan secara lebih
umum dari pada basis aturan (rules).
Gambar 2.4. Model Perangkat Lunak Berbasis Agen
Sumber : Pustaka [2. 40]
b. Sebuah agen memiliki sifat autonomous dalam pengertian bahwa agen
bekerja atau melayani diri sendiri dan memiliki kepentingan tanpa
interfensi langsung secara ekternal. Menurut hasil penalarannya agen dapat
memutuskan sendiri dan tindakan kapan akan dilaksanakan (plans, and
actions). Jika agen menyimpulkan sesuatu, dimungkinkan untuk
memberitahukan kepada agen-agen lain. Prilaku autonomous ini
diturunkan dari mesin aturan yang secara proaktif terus mengevaluasi
aturan.
Page 15 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
c. Sebuah agen memiliki tujuan jelas (well-define goal) yang disajikan oleh
pengetahuan dan prilaku yang dimilikinya (yaitu kemampuan memberikan
alasan berdasarkan pengetahuan). Sebuah agen mencoba memberikan
alasan sederhana (actions), memberikan pengetahuannya, untuk memenuhi
tujuannya.
Wooldrige and DeLoach [2. 41] mengemukakan bahwa sistem Multiagen
(Multiagen System, MAS) dapat dipandang sebagai sebuah kelompok dari entitas-
entitas cerdas (atau agen-agen) yang mampu melakukan interaksi antara satu agen
dengan agen lainnya untuk mencapai tujuan-tujuannya secara bersama-sama.
Pemahaman tentang agen, fungsi, peran, dan perbedaan mendasar dikaitkan
dengan software agent yang ada, berikut ini akan dijelaskan tentang beberapa
atribut dan karakteristik yang dimiliki oleh software agent. Menurut Romi Satria
W. [9. 3-4] karakteristik software agent sebagai berikut :
a. Autonomy : Agent dapat melakukan tugas secara mandiri dan tidak
dipengaruhi secara langsung oleh user, agent lain ataupun oleh lingkungan
(environment). Untuk mencapai tujuan dalam melakukan tugasnya secara
mandiri, agent harus memiliki kemampuan kontrol terhadap setiap aksi
yang mereka perbuat, baik aksi keluar maupun kedalam. Dan satu hal
penting lagi yang mendukung autonomy adalah masalah intelegensi
(intelligence) dari agent.
b. Intelligence, Reasoning, dan Learning : Setiap agent harus mempunyai
standar minimum untuk bisa disebut agent, yaitu intelegensi (intelligence).
Dalam konsep intelligence, ada tiga komponen yang harus dimiliki yaitu
internal knowledge base, kemampuan reasoning berdasar pada knowledge
base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam
perubahan lingkungan.
c. Mobility dan Stationary : Khusus untuk mobile agent, dia harus memiliki
kemampuan yang merupakan karakteristik tertinggi yang dia miliki yaitu
mobilitas. Berkebalikan dari hal tersebut adalah stationary agent.
Page 16 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Bagaimanapun juga keduanya tetap harus memiliki kemampuan untuk
mengirim pesan dan berkomunikasi dengan agent lain.
d. Delegation : Sesuai dengan namanya dan seperti yang sudah dibahas pada
bagian definisi, agent bergerak dalam kerangka menjalankan tugas yang
diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah
karakteristik utama suatu program disebut agent.
e. Reactivity : Karakteristik agent yang lain adalah kemampuan untuk bisa
cepat beradaptasi dengan adanya perubahan informasi yang ada dalam
suatu lingkungan (environment). Lingkungan itu bisa mencakup agent lain,
user, adanya informasi dari luar, dan lain sebagainya.
f. Proactivity dan Goal-Oriented : Sifat proactivity boleh dikatakan adalah
kelanjutan dari sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi
terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif
langkah penyelesaian apa yang harus diambil. Untuk itu agent harus
didesain memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada
tujuan yang diembannya (goal-oriented).
g. Communication and Coordination Capability : Agent harus memiliki
kemampuan berkomunikasi dengan user dan juga agent lain. Masalah
komunikasi dengan user masuk ke dalam user interface dan perangkatnya,
sedangkan masalah komunikasi, koordinasi, dan kolaborasi dengan agent
lain adalah masalah sentral penelitian Multi Agent System (MAS).
Bagaimanapun juga, untuk bisa berkoordinasi dengan agent lain dalam
menjalankan tugas perlu bahasa standar untuk berkomunikasi.
3.3. Natural Language Processing (NLP)
Natural Language Processing (NLP) atau Pemrosesan Bahasa Alami
(PBA) adalah cabang ilmu komputer dan linguistik yang mengkaji interaksi antara
komputer dengan bahasa (alami) manusia. Pemrosesan bahasa alami sering
dianggap sebagai cabang dari kecerdasan buatan dan bidang kajiannya
bersinggungan dengan linguistik komputasional. Kajian pemrosesan bahasa alami
Page 17 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
antara lain mencakup segmentasi tuturan (speech segmentation), segmentasi
teks (text segmentation), penandaan kelas kata (part-of-speech tagging), serta
pengawataksaan makna (word sense disambiguation). Meskipun kajian yang
mencakup teks dan tuturan, pemrosesan tuturan (speech processing) berkembang
menjadi suatu bidang kajian terpisah [7. 1].
Tujuan dalam bidang natural language adalah melakukan proses pembuatan
model komputasi dari bahasa, sehingga terjadi interaksi antara manusia dengan
komputer dengan perantara bahasa alami. Model komputasi ini dapat berguna
untuk keperluan ilmiah seperti meneliti sifat-sifat dari suatu bentuk bahasa alami
maupun uttuk keperluan sehari-sehari, dalam hal ini memudahkan komunikasi
antara manusia dengan komputer [7. 1].
Bidang-bidang pengetahuan yang berhubungan dengan pengolahan bahasa
alami [7. 2-3] adalah sebagai berikut :
a. Fonetik dan fonologi : berhubungan dengan suara yang menghasilkan kata
yang dapat dikenali. Bidang ini penting dalam aplikasi yang memakai
metode speech-based system.
b. Morfologi : yaitu pengetahuan tentang kata dan bentuknya yang
dimanfaatkan untuk membedakan satu kata dengan kata lainnya. Pada
tingkat ini juga dapat dipisahkan antara kata dan elemen lain seperti tanda
baca.
c. Sintaksis : yaitu pemahaman tentang urutan kata dan pembentukan kalimat
dan hubungan antar kata tersebut dalam proses perubahan bentuk dari
kalimat menjadi sesuatu yang sistematis.
d. Semantik : yaitu pemetaan bentuk struktur sintaksis dengan memanfaatkan
tiap kata ke dalam bentuk yang lebih mendasar dan tidak tergantung
dengan struktur kalimat.
e. Pragmatik : berkaitan dengan tingkatan pengetahuan masing-masing
konteks yang berbeda tergantung pada situasi dan tujuan pembuatan
sistem.
Page 18 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
f. Discourse knowledge : melakukan pengenalan apakah suatu kalimat yang
sudah dibaca dan dikenali sebelumnya dalam mempengaruhi arti dari
kalimat selanjutnya. Informasi ini penting diketahui untuk melakukan
pengolahan arti terhadap kata ganti orang dan untuk mengartikan aspek
sementara dari informasi.
g. World knowledge : mencakup arti sebuah kata secara umum dan apakah
ada arti khusus bagi suatu kata dalam suatu percakapan dengan konteks
tertentu.
Jenis aplikasi yang terdapat pada bidang pengolahan bahasa alami [7. 4]
antara lain adalah :
a. Text-based application : mencakup segala macam aplikasi yang
melakukan terhadap teks tertulis seperti pada buku, berita di surat kabar, e-
mail dan lain sebagainya. Contoh penggunaan aplikasi ini antara lain
adalah mencari topik tertentu dari buku yang ada di perpustakaan, mencari
isi dari surat atau e-mail, menerjemahkan dokumen dari satu bahasa ke
bahasa yang lain. Akan tetapi, tidak semua sistem dapat melakukan hal
yang demikian, misalnya pada pencarian topik dari suatu buku di
perpustakaan dapat dilakukan dengan pendekatan sistem database yang
cukup lengkap. Salah satu bentuk yang cukup menarik adalah jika sistem
diminta mencari isi dari suatu buku atau artikel, dimana pendekatan yang
dilakukan sama seperti pendekatan yang dilakukan oleh manusia jika
menghadapi suatu tes reading and comprehension.
b. Dialogue-based application : merupakan pendekatan yang melibatkan
bahasa lisan atau pengenalan suara. Akan tetapi, bidang ini juga
memasukkan interaksi dengan cara memasukkan teks pertanyaan melalui
keyboard. Aplikasi yang sering ditemui dalam bidang ini antara lain
seperti sistem tanya jawab dimana natural language digunakan dalam
mendapatkan informasi dari database, sistem otomasi pelayanan melalui
telepon, kontrol suara pada peralatan elektronik, sistem problem-solving
Page 19 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
yang membantu untuk melakukan penyelesaian masalah yang umum
dihadapi dalam suatu pekerjaan. Perlu diketahui bahwa untuk sistem yang
dapat melakukan interaksi melalui bahasa lisan ada pada bagian speech
recognition yang merupakan bagian terpisah dari natural language.
3.3.1. Teori Bahasa
Menurut Gorys Keraf [3. 9] bahasa alat komunikasi antar anggota
masyarakat, berupa lambang bunyi suara, yang dihasilkan oleh alat ucap manusia.
Bahasa terdiri dari dua bagian yaitu bentuk (arus ujaran) dan makna (isi). Bentuk
bahasa terdiri dari dua unsur yaitu unsur segmental yaitu bentuk bahasa yang bisa
dibagi-bagi atas bagian-bagian (unsur-unsur) dan unsur suprasegmental yang
hadir akibat dari unsur segmental. Unsur segmental secara hirarki dari paling
besar hingga ke bagian yang paling kecil adalah :
a. Wacana (alinea, rangkaian alinea yang membentuk satu kesatuan, bab,
anak bab, suatu karangan utuh).
b. Kalimat (satuan kumpulan kata yang terkecil yang mengandung pikiran
yang lengkap).
c. Klausa (suatu konstruksi yang didalamnya terdapat beberapa kata yang
mengandung hubungan fungsional, yang dalam tata bahasa lama dikenal
dengan pengertian subyek, predikat, obyek dan keterangan-keterangan).
d. Frasa (suatu konstruksi yang terdiri dari dua kata atau lebih yang
membentuk satu kesatuan).
e. Kata (unsur yang dibicarakan dalam morfologi).
f. Morfem (kesatuan yang ikut serta dalam pembentukan kata yang dapat
dibedakan artinya).
g. Suku kata.
h. Fonem.
Dalam teori bahasa terdapat bagian antara lain adalah morfologi, sintaksis,
frasa dan klausa, kalimat, dan semantik [3. 10].
Page 20 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Morfologi adalah bagian dari tata bahasa yang membicarakan bentuk kata,
bentuk kata dipengaruhi oleh unsur pembentuk kata yang disebut dengan morfem
[3. 10]. Morfem adalah kesatuan yang ikut serta dalam pembentukan kata dan
yang dapat membedakan arti. Terdapat dua bentuk morfem yaitu :
a. Morfem dasar atau morfem bebas yang disebut kata dasar, contoh : kerja,
puas, bapa, kayu, warna, rasa dan sebagainya.
b. Morfem terikat yang disebut imbuhan yang dibagi menjadi 4 (empat)
berdasarkan tempat terikatnya pada morfem dasar yaitu :
1) Prefiks (awalan) : me-, ber-, di-, ter-, pe-, per-, ke-, se-.
2) Infiks (sisipan) : -el, -er, -em.
3) Sufiks (akhiran) : -an, -kan, -i, -nya.
4) Konfiks (gabungan) : gabungan dari dua atau lebih dari ketiga
macam morfem yang bersama-sama membentuk suatu kesatuan arti
(misal : ber-an, ke-an, pe-an, per-an, se-nya), contoh : gabungan
prefiks per- dan sufiks –an yang membentuk satu kesatuan yang
memiliki arti jika digabung dengan morfem bebas buat menjadi
“perbuatan”.
Sintaksis adalah bagian dari tatabahasa yang mempelajari dasar-dasar dan
proses-proses pembentukan kalimat dalam suatu bahasa [3. 11]. Pengolahan kata,
frasa, klausa dan kalimat beserta urutan kata dalam penbentukan kalimat dan
hubungan antar kata dalam proses perubahan bentuk kalimat menjadi bentuk yang
lebih sistematis dipelajari dalam sintaksis. Implementasi dari sintaksis dalam
penelitian ini digunakan dalam proses parsing kalimat, stemming kata. Tata
tingkat/hirarki dalam bahasa dariyang paling kecil sampai dengan yang paling
luas beserta bidang ilmunya masing-masing adalah :
a. Fonologi dengan tataran fon/fonem dan suku kata.
b. Morfologi dengan tataran morfem (morfem terikat dan morfem bebas) dan
kata (kata dasar dan kata turunan/jadian).
c. Sintaksis dengan tataran Frasa, Klausa dan Kalimat.
Page 21 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
d. Wacana dengan tataran alinea, bagian, anak bab, bab dan Karangan yang
utuh (terdiri dari bab-bab).
Frasa menurut Gorys Keraf [3. 12] suatu konstruksi yang terdiri dari dua
kata atau lebih yang membentuk suatu kesatuan yang menimbulkan suatu makna
baru yang sebelumnya tidak ada. Contoh Frasa misalnya “rumah ayah” akan
muncul makna baru yang menyatakan “milik”, kata “rumah makan” akan muncul
makna baru yang menyatakan “untuk”.
Klausa adalah suatu konstruksi yang didalamnya terdapat beberapa kata
yang mengandung hubungan fungsional, yang dalam tata bahasa lama dikenal
dengan pengertian subyek, predikat, obyek dan keterangan-keterangan [3. 12].
Sebuah kalusa sekurang-kurangnya mengandung satu subyek, satu predikat dan
secara fakultatif satu obyek, dalam hal-hal tertentu klausa terdiri dari satu predikat
dan boleh dengan keterangan (bentuk impersonal), misalnya ”saya menyanyikan
sebuah lagu”.
Kalimat adalah satuan kumpulan kata yang terkecil yang mengandung
pikiran yang lengkap, kesempurnaan dari kalimat merupakan keharmonisan antara
bentuk dan tanggapan [3. 12]. Kalau tanggapan atau ide jauh lebih luas daripada
bentuk, maka dapat dikatakan sebagai bentuk kalimat yang tidak sempurna. Syarat
dari kesempurnaan kalimat adalah kesempurnaan dalam tanggapan yang harus
dinyatakan dalam kelengkapan bentuk yang terdiri dari Subyek + Predikat +
Obyek.
Semantik adalah bagian dari tata bahasa yang mempelajari makna dalam
bahasa tertentu, mencari asal mula dan perkembangan dari arti suatu kata,
semantik hanya membicarakan tentang makna kata dan perkembangan makna kata
[3. 13]. Terdapat beberapa hal dalam memberi makna kata dalam semantik antara
lain :
a. Sinonim adalah kata-kata yang memiliki bentuk berbeda tetapi memiliki
arti sama, contoh ”buku” sinonim ”kitab”.
Page 22 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
b. Homonim adalah kata-kata yang memiliki bentuk sama tetapi memiliki arti
berbeda, contoh ”bisa” berarti ”dapat”, dan ”bisa” dalam arti ”racun”.
c. Perubahan makna, terdapat dua perubahan makna kata yaitu :
1) Perubahan makna meluas dimana cakupan makna yang baru lebih
luas dari pada maka yang lama, contoh kata ”berlayar” dulu
memiliki makna bergerak dilaut dengan menggunakan layar,
makna sekarang adalah semua tindakan mengarungi laut atau
perairan dengan menggunakan alat apa saja disebut ”berlayar”.
2) Perubahan makna menyempit dimana cakupan arti dulu lebih luas
dari makan sekarang, contoh : kata ”Sarjana” dulu dipakai untuk
menyebut semua orang cendekiawan, makna sekarang hanya
dipakai untuk gelar universitas.
d. Nilai rasa. Nilai rasa yang terkandung dalam kata, contoh kata ”cerewet”
memiliki makna banyak bicara tidak pada tempatnya atau tidak bisa
menahan mulut, memiliki nilai rasa menjengkelkan dan rasa bosan pada
kita.
e. Analogi adalah pembentkan kata baru berdasarkan suatu contoh yang
sudah ada, contoh kata ”ekspor” dalam Bahasa Inggris salah satunya
memiliki hubungan dalam bentuk ”to export”, dalam bahasa indonesia
memiliki bentuk kata-kata baru ”pengeksporan”.
f. Kontaminasi dan perancauan yaitu ungkapan yang diturunkan dari dua
ungkapan yang berlainan, contoh ungkapan ”membungkukkan badan” dan
”menundukkan kepala” dibuat kontaminasi ”menundukkan badan”
Semantik masih menjadi hal yang sulit dalam komputasi bahasa, banyak
cara untuk merepresentasikan semantik yang sama dan terdapat beberapa
interpretasi dari semantik yang sama [3. 15]. Analisa Semantik dalam penelitian
ini adalah proses yang digunakan untuk mengenali kata-kata yang mendahului dan
berhubungan dengan kata yang ada dalam domain.
Page 23 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
3.3.2. Temu Kembali Informasi (Information Retrieval)
Menurut Christopher D. Manning [3. 16] Temu Kembali Informasi
(Information Retrieval) adalah menemukan bahan (biasanya dokumen) dari
sesuatu yang tidak terstruktur (biasanya teks) dalam jumlah yang besar untuk
menghasilkan informasi yang dibutuhkan (biasanya tersimpan dalam komputer).
Klas Burén [3. 16] menyatakan bahwa Temu Kembali Informasi (IR) dan
Ekstraksi Informasi (Information Extraction (IE)) adalah dua hal umum yang
digunakan untuk pengindeksan, pengkategorian, penyimpulan dan mengambil
informasi dari informasi yang tidak terstruktur, perbedaannya adalah IR secara
sederhana mengambil dan menemukan informasi dari teks dan dokumen yang
berisi informasi yang dibutuhkan, sedangkan IE mengekstraksi informasi dari teks
[3. 16].
Tabel 2.1. Hubungan (Relasi) Semantik
Sumber : Pustaka [3. 31]
Kategori Relasi
Benda Adalah (is A), Memiliki (has)
Aksi Kemampuan (Has Ability)
Fungsi Fungsi (Has Function), Digunakan di (Used In Location),
Menggunakan.
Even Sebelum (Before), Selah (After)
Properti Warna (Color), Rasa (Teste)
Spasial Lokasi (Location Of)
Temu kembali informasi merupakan modul yang digunakan untuk
mengambil informasi dari sumber teks bebas berbahasa Indonesia dengan
memanfaatkan fitur kata kunci relasi (Tabel 2.1 [hal. 25]), contoh kata
“menggunakan”, “fungsi” dan dibangkitkan berdasarkan pada jaringan semantik
(Gambar 2.5) yang merelasikan fakta fakta sesuai dengan domain kehidupan
sehari-hari dirumah.
Page 24 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Gambar 2.5. Contoh Jaringan Semantik Domain Kehidupan Sehari-hari
Sumber : Pustaka [3. 31]
3.3.3. Parsing
Parsing dalam penelitian ini adalah proses untuk mengurai kalimat menjadi
bentuk kata-kata dan frasa-frasa. Menurut Klas Burén [3. 16] terdapat dua model
parsing yaitu :
a. Keyword based parsing adalah model parsing yang sederhana dan efektif
dalam mengurai teks input. Keyword based parsing tidak melibatkan
pengetahuan sintak. Dalam praktek keyword based parsing bisa berjalan
baik dengan sederhana (dalam pengertian sintaksisnya memiliki sedikit
arti) dan input umum (dalam domain tetentu) tetapi memiliki masalah pada
input yang lebih rumit dan tidak umum.
Page 25 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
b. Grammar based parsing adalah cara parsing yang lebih kompleks dimana
dalam parsing ini melibatkan pengetahuan sintaksis. Secara teori memiliki
tingkat keakuratan lebih tinggi dalam memahami dan mengerti arti dari
input yang diberikan, namun demikian pada grammar based parsing
memiliki kendala dalam performa atau kinerjanya karena diperlukan
komputasi atau perhituangan serta kata-kata dan struktur kalimat yang
diberikan harus dimengerti. Dalam aplikasinya, grammar based parsing
memiliki potensi yang sangat tinggi dalam memahami input dengan baik
tetapi sangat sulit dalam desain.
3.3.4. Stemming
Menurut Lily [3. 17] stemming adalah proses untuk mencari akar (root) dari
kata dengan menghilangkan imbuhan yang melekat dalam kata. Dengan kata lain
stemming adalah proses untuk mencari kata dasar dari input kata yang diberikan
dengan menghilangkan imbuhan yang melekat pada kata input.
Jelita Asian [3. 17-18] menyatakan bahwa stemming digunakan untuk
menghilangkan awalan, akhiran, sisipan dari kata yang akan diaplikasikan pada
pencarian teks, mesin translasi (mesin penerjemah), peringkasan dokumen dan
pengklasifikasian teks. Contoh stemming antara lain “membaca” dikonstruksi dari
awalan “me”+”baca”, awalam “me” dihilangkan sehingga hasil stemming yang
diharapkan adalah kata dasar “baca”.
Proses stemming melibatkan daftar kata yang di sebut “stop word” yang
berisi kata-kata yang tidak perlu lagi dilakukan stemming karena sudah
merupakan kata dasar atau kata yang tidak mungkin dilakukan stemming, serta
dilibatkan kamus kata dasar yang digunakan untuk menguji apakah kata yang
dilakukan proses stemming merupakan kata dasar.
Terdapat beberapa algoritma untuk stemming bahasa Indonesia yang telah
dilakukan dalam para peneliti sebelumnya [3. 18-19] antara lain :
a. Algoritma Nazief dan Adriani (1996) : algoritma didasarkan pada analisis
menyeluruh terhadap aturan morfologi yang dikelopokkan bersama dan
Page 26 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
menolak atau mengijinkan imbuhan secara kompak. Termasuk prefiks,
sufiks, infiks (sisipan) dan konfik (kombinasi profiks, sufiks dan infiks).
Algoritma juga mendukung merekam kata, yaitu pendekatan untuk
mengembalikan huruf inisial dari kata dasar yang telah dihilangkan pada
proses sebelumnya jika kata yang distemming bukan kata dasar. Algoritma
menggunakan kamus kata dasar untuk menguji kata yang distemming
apakah kata dasar selama proses stemming berlangsung.
b. Algoritma Ariffin dan Setiono (2002) : algoritma ini lebih rumit dari
algoritma Nazief dan Adriani, algoritma ini juga menggunakan kamus
sebagai acuan untuk mencari kata dasar dari kata yang distemming selama
proses berlangsung. Secara ringkas pendekatan yang digunakan adalah
dengan menghilangkan prefiks terlebih dahulu kemudian suffiks, proses
stemming berhenti saat kata yang di stemm ada dalam kamus.
c. Algoritma Vega (2001) : Algoritma Vega berbeda dengan algoritma
stemming Bahasa Indonesia yang lain dimana algoritma tidak
menggunakan kamus untuk mengetahui kata dasar dari kata yang
distemming. Pendekatan yang digunakan adalah dengan memecah kata
yang di stemm menjadi bagian-bagian yang lebih kecil, contohnya
“didudukkan” dipecah menjadi bagian “di”+”duduk”(kata dasar)+”kan”,
dengan mencari awalan dari kata “di-” dan diakhiri dengan “-i” atau “-
kan”. Terdapat empat ejaan berbeda dalam algoritma ini yaitu : standard,
extended, iterative standard, dan iterative extended. Standard terbagi
dalam standard prefiks yang dihilangkan \ber-", \di-", and \ke-", sufiks \-i",
\-an", dan \-nya", dan infiks \-el-", \-em-",\-er-".
d. Algoritma Ahmad, Yusoff, dan Sembok (1996) : memiliki dua perbedaan
dari algoritma Bahasa Indonesia yang ada yaitu : pertama algoritma ini
dibangun menggunakan pendekatan bahasa malaysia, dari pada bahasa
Indonesia, yang kedua algoritma ini tidak menggunakan aturan.
Pendekatan stemming Bahasa Indonesia dengan menggunakan bahasa
Page 27 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Indonesia yaitu dengan mengganti kamus dari dari algoritma ini yang
berbahasa Malaysia menjadi bahasa Indonesia.
3.3.5. Basis Pengetahuan (Knowledge Base)
Menurut William J. Raynor [3. 19] Basis Pengetahuan adalah sekumpulan
fakta yang dapat digunakan untuk program. Sama seperti basis data dapat
digunakan untuk mengorganisasikan sekumpulan data, basis pengetahuan adalah
sekumpulan fakta yang terorganisasi atau statement dari hubungan antara obyek,
organisasi tertentu dari basis pengetahuan yang ditunjukkan oleh metode
representasi dari basis pengetahuan yang dipilih oleh desainer program.
Basis pengetahuan dalam penelitian ini direpresentasikan dalam bentuk
tabel basis pengetahuan didalam Relational Data Base (RDB) yang digunakan
sebagai dasar dari agen dalam memberikan tanggapan atas permintaan atau
pertanyaan pengguna dalam percakapan yang dikembangkan. Inti dasar (kernel)
dari basis pengetahuan (KB) adalah jaringan semantik (Semantic Network/SN)
yang direpresentasikan dalam bentuk node (titik) yang menunjukkan konsep dan
arah panah yang menunjukkan relasi diantara konsep (spesifikasi dari relasi dan
fungsi) [3. 19]..
3.3.6. Koreksi Kesalahan Pengetikan (Key Type Error Correction)
Sistem dialog atau komunikasi interaktif dari pengguna dengan sistem
komputer (agen antarmuka) dalam bentuk tanya jawab (QA) melalui teks yang
dimasukkan melalui media keyboard sering terjadi kesalahan pengetikan,
sehingga tanggapan yang diharapkan kurang atau bahkan tidak relevan, sehingga
diperlukan adanya pembenahan/perbaikan dari teks yang dimasukkan sebelum
diproses lebih lanjut oleh agen untuk memberikan tanggapan yang relevan pada
pengguna [3. 21].
Koreksi kesalahan pengetikan dilakukan dengan mencari data (kata/frasa)
relevan dengan kata yang perlu dilakukan perbaikan (kata sumber) dalam basis
pengetahuan agen yang menjadi kata referensi. Dalam penelitian ini algoritma
Page 28 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
yang digunakan untuk koreksi kesalahan adalah algoritma Levenshtein Distance.
Menurut Muhammad Bahari Ilmy [3. 21] algoritma Levenshtein Distance adalah
salah satu algoritma yang dapat digunakan yang mengukur nilai kedekatan antara
kata sumber dengan kata referensi yang ditunjukkan dengan nilai jarak,
diharapkan dengan diketahuinya jarak hubungan dari kata sumber dan kata
referensi menjadi dasar untuk memperbaiki kesalahan dalam pengetikan, contoh
ditunjukkan Tabel 2.2. Berikut algoritma Levenshtein Distance :
1. for i <- 0 to kata_dicari.length do
2. for j <- 0 to kata_sumber.length do
3. if i = 0 then
4. m[i,j] <- j //perbandingan dengan kosong
5. else if j = 0 then
6. m[i,j] <- i //perbandingan dengan kosong
7. else //implementeasi pemrograman dinamis
8. if s1[i] = s2[j] then
9. cost <- 0
10. else
11. cost <- 1
12. m[i,j] = minimum (
13. m[i-1, j-1] + cost, //substitusi
14. m[i-1,j] + 1, //penghapusan
15. m[i ,j-1] + 1, //penambahan
16. )
17. return m[kata_dicari.length, kata_sumber.length]
Tabel 2.2. Contoh Implementasi Algoritma Levenshtein Distance (LD)
Sumber : Pustaka [3. 22]
Kata Sumnber Kata Referensi Jarak Hubungan
awar mawar 1
mawr mawar 1
awr mawar 2
Page 29 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
roda soda 1
asa rasa 1
bara marah 2
merah marah 1
Jarak terkecil antara kata sumber dengan kata referensi bisa dijadikan acuan
untuk memperbaiki kesalahan pengetikan, contoh dari tabel diatas kata sumber
“mawr” dapat diterjemahkan dari kata referensi “mawar”.
3.4. Unified Modeling Language (UML)
Unified Modeling Language (UML) merupakan sistem arsitektur yang
bekerja dalam object oriented analysis design untuk menspesifikasikan,
menvisualisasikan, membangun dan mendokumentasikan obyek-obyek dari
sistem software untuk memodelkan bisnis dan komponennya. Semantik (makna
istilah) untuk semua notasi UML adalah model struktural dan model behavioral.
Model struktural (model statis) menekankan pada struktur obyek dalam sebuah
sistem, atribut dan hubungan antar komponen. Model behavioral (model dinamis)
menekankan perilaku objek dalam sebuah sistem, termasuk metode, interaksi,
kolaborasi, dan state history [1. 161].
UML mempunyai beberapa tujuan [1. 161] yaitu :
a. Memberikan bahasa pemodelan visual yang ekspresif mudah dimengerti
secara umum.
b. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa
pemrograman dan proses rekayasa.
c. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
Ada 4 macam hubungan didalam penggunaan UML [10. 57] yaitu;
a. Dependency, adalah hubungan semantik antara dua benda/things yang
mana sebuah benda berubah mengakibatkan benda satunya akan berubah
pula. Umumnya sebuah dependency digambarkan sebuah panah dengan
garis terputus-putus.
Page 30 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
b. Association, hubungan antar benda struktural yang terhubung diantara
obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus,
yang menggambarkan sebuah hubungan struktural diantara seluruh atau
sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang
dilengkapi dengan sebuah label, nama, dan status hubungannya.
c. Generalizations, menggambarkan hubungan khusus dalam obyek
anak/child yang menggantikan obyek parent/induk . Dalam hal ini, obyek
anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya
kepada obyek induk digambarkan dengan garis panah.
d. Realizations, merupakan hubungan semantik antara pengelompokkan yang
menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan
diantara interface dan kelas atau elements, serta antara use cases dan
collaborations. Model dari sebuah hubungan realization.
3.4.1. Use Case Diagram
Diagram use case menggambarkan apa saja aktifitas yang dilakukan oleh
suatu sistem dari sudut pandang pengamatan luar, dan yang menjadi persoalan
adalah “apa yang dilakukan” bukan “bagaimana melakukannya”. Diagram use
case erat kaitannya dengan kejadian-kejadian. Kejadian (skenario) merupakan
contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem [10. 58],
misalnya use case pasien dalam membuat janji (Gambar 2.6).
Gambar 2.6. Contoh Use Case Diagram Pasien yang Membuat Janji
Sumber : Pustaka [10. 59]
Diagram Use Case berguna dalam 3 (tiga) hal [10. 59]:
Page 31 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
a. Menjelaskan fasilitas yang ada (requirements) : Use Case baru selalu
menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadi
lebih jelas.
b. Komunikasi dengan klien : Penggunaan notasi dan simbol dalam diagram
Use Case membuat pengembang lebih mudah berkomunikasi dengan
klien-kliennya.
c. Membuat test dari kasus-kasus secara umum : Kumpulan dari kejadian-
kejadian untuk Use Case bisa dilakukan uji kasus layak untuk kejadian-
kejadian tersebut.
3.4.2. Class Diagram
Diagram class memberikan pandangan secara luas dari suatu sistem dengan
menunjukan kelas-kelasnya dan hubungan mereka. Diagram class bersifat statis,
yakni menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika
mereka berhubungan [10. 59]. Diagram class mempunyai 3 (tiga) macam
hubungan (relationalships) [10. 59-60] sebagai berikut :
a. Association : suatu hubungan antara bagian dari dua kelas. Association
terjadi antara dua kelas diamana salah satu bagian dari kelas mengetahui
yang lainnya dalam melakukan suatu kegiatan. Di dalam diagram, sebuah
association adalah penghubung yang menghubungkan dua kelas.
b. Aggregation : suatu association dimana salah satu kelasnya merupakan
bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang
mencakup keseluruhan bagian. Sebagai contoh : “OrderDetail” merupakan
kumpulan dari “Order”.
c. Generalization : suatu hubungan turunan dengan mengasumsikan satu
kelas merupakan suatu super class (kelas super) dari kelas yang lain.
Generalization memiliki tingkatan yang berpusat pada super class.
Contohnya “Payment” adalah super class dari “Cash”, “Check”, dan
“Credit”.
Page 32 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Gambar 2.7. Contoh Class Diagram Transaksi Pembelian Barang
Sumber : Pustaka [10. 61]
Association mempunyai 2 titik. Salah satu titik bisa memiliki label untuk
menjelaskan association tersebut. Contoh : “OrderDetail” (Gambar 2.7 [hal. 35])
adalah line item untuk setiap permintaan. Panah navigability (pengatur alur arah)
dalam suatu association menggambarkan arah mana association dapat ditransfer
atau disusun. Seperti dalam contoh : “OrderDetail” dapat disusun dari item-nya,
namun tidak bisa sebaliknya. Panah ini juga menjelaskan siapa “memiliki”
implementasi dari association; dalam kasus ini “OrderDetail” memiliki Item.
Association tanpa arah panah merupakan bidirectional (bolak-balik).
3.4.3. Package Diagram
Gambar 2.8. Contoh Package Diagram pada E-Commerce
Sumber : Pustaka [10. 61]
Page 33 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Pengorganisasian diagram kelas yang kompleks, dapat dilakukan
pengelompokan kelas-kelas berupa package (paket-paket). Package adalah
kumpulan elemen-elemen logika UML [10. 61] seperti pada Gambar 2.8.
Ada jenis khusus dari diagram kelas yaitu diagram obyek. Kegunaannya
untuk penjelasan yang sedikit dengan relasi yang sulit, khususnya relasi rekursif.
Gambar 2.9 [hal. 37] menunjukkan diagram kelass kecil menunjukkan bahwa
“department” dapat mengandung banyak “department” yang lain.
Gambar 2.9. Contoh Kelas yang Relasinya Rekursif
Sumber : Pustaka [Yanti. 62]
Setiap tingkatan pada diagram berpengaruh pada single instance (bagian
tunggal). Nama bagian digaris bawahi dalam diagram UML. Untuk Class name
(nama kelas) maupun instance name (nama bagian) bisa mengambil dari diagram
Object selama arti diagram tersebut masih jelas (Gambar 2.10).
Gambar 2.10. Contoh Instance Name pada Package “Department”
Sumber : Pustaka [10. 62]
3.4.4. 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-
Page 34 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke
kanan berdasarkan waktu terjadinya dalam pesan yang terurut [10. 62]. Gambar
2.11 [hal. 38] menjelaskan diagram sequence untuk pembuatan reservasi hotel,
dimana obyek yang mengawali urutan message adalah “Reservation Window”.
“Reservation Window” mengirimkan pesan “makeReservation()” ke
“HotelChain”. Kemudian “HotelChain” mengirim pesan yang sama ke “Hotel”.
Bila “Hotel” punya kamar kosong, maka dibuat “Reservation” dan
“Confirmation”.
Gambar 2.11. Contoh Sequence Diagram pada Reservasi Hotel
Sumber : Pustaka [10. 63]
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. Pada Gambar 2.11 terlihat bahwa
“Hotel” telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada
kamar kosong. Bila benar, maka “Hotel” membuat “Reservation” dan
Page 35 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
“Confirmation”. Pemanggilan diri sendiri disebut dengan iterasi. Expression yang
dikurung dengan “[ ]”, adalah condition (keadaan kondisi). Sequence diagram
dapat dibuat atau ditambahkan sebuah note (catatan).
3.4.5. Activity Diagram
Pada dasarnya diagram activity sering digunakan oleh flowchart. Diagram
ini berhubungan dengan diagram state chart. Diagram state chart berfokus pada
obyek yang dalam suatu proses (atau proses menjadi suatu obyek), sedangkan
diagram activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam
suatu proses tunggal [10. 55-56].
Gambar 2.12. Contoh Actifity Diagram pada Penarikan Uang melalui ATM
Sumber : Pustaka [10. 66]
Page 36 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
Contohnya pengambilan uang dari bank melalui mesin ATM yang
ditunjukkan Gambar 2.12 [hal. 39]. Ada tiga aktifitas kelas (orang, dan lainnya)
yang terkait, yaitu : Customer, ATM, dan Bank. Proses berawal dari lingkaran
start hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada
bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi.
Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih
percabangan exclusive transition (transisi eksklusif). Label Guard Expression
(ada di dalam []) yang menerangkan output (keluaran) dari percabangan.
percabangan akan menghasilkan bentuk menyerupai bentuk intan. Transition bisa
bercabang menjadi beberapa aktifitas paralel yang disebut Fork. Fork beserta join
(gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang
penuh) [10. 67].
3.5. Bahasa Pemrograman Java
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems
pada pertengahan tahun 1991 (dahulu Java bernama OAK). Menurut definisi dari
Sun Microsystems, Java adalah nama untuk sekumpulan teknologi untuk
membuat dan menjalankan perangkat lunak pada komputer standalone ataupun
pada lingkungan jaringan [5. 6].
Object Oriented Programming (OOP) adalah teknik dasar pembuatan
program yang real saat ini dan dikenal banyak orang. Tapi secara personal ada
yang memahami konsep OOP ada beberapa kesamaan pemahaman penalaran
yang didapat saat menganalisa bahasa pemrograman sebelumnya, tapi secara
mendasar sebenarnya jauh berbeda. Pemrograman berbasis obyek mendasarkan
pada konsep obyek dan interaksinya. Ada beberapa pokok yang berhubungan
dengan obyek diantaranya : class, methods, inheritance, encapsulation,
abstraction, polymorphism dan lainnya [5. 25].
Class adalah poin penting dari OOP yang berisi data dan kode dengan aksi.
Dalam Java segalanya terjadi dalam class. Object adalah unit dasar dalam OOP
dengan aksi, identitas, bagian dari class tapi tidak sama. sebuah obyek di
Page 37 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
ekspresikan dengan variable dan method. Methods merupakan sebuah class
mendefinisikan atribut dan aksi, peran metode disini menjelaskan bagaimana
suatu atribut beraksi [5. 26].
Inheritance adalah pewarisan atau turunan, seperti ibu/bapak dengan
anaknya, tumbuhan, dan sebagainya. Dalam bahasa pemrograman Java
inheritance merupakan turunan dan pengembangan dari class ke class lainnya
dan saling berhubungan satu sama lain serta atribut dari class diwariskan dari
kelas sebelumnya yang dikenal dengan super class / parent class / based class.
Sedangkan class baru yang menjadi turunannya disebut dengan subclass / child
class / derived class [5. 25].
3.5.1. Variabel
Variabel adalah bagian dari program yang digunakan untuk menyimpan
data, sehingga variabel harus dideklarasikan yaitu dengan cara diberi sebuah tipe
data, nama variabel, dan dapat juga diberi nilai awal/inisial. Ada 7 (tujuh) macam
variabel [5. 51-52], yaitu :
a. Variabel instan (instance) : merupakan variabel yang dideklarasikan di
dalam kelas dan tidak memiliki modifer static.
b. Variabel kelas : yakni variabel yang dideklarasikan di dalam kelas dan
diberi modifier static. Sifat dari variabel static adalah melekat pada kelas
dan tidak terpengaruh oleh proses instansiasi.
c. Komponen Array : merupakan deretan variabel yang bertipe sama dan
dianggap sebagai suatu kelompok.
d. Parameter Method : merupakan variabel yang berfungsi sebagai argumen
input.
e. Parameter konstruktor : merupakan nilai argumen yang dilewatkan pada
konstruktor.
f. Parameter exception handler : merupakan variabel yang tercipta pada
setiap kali exception terjadi dan ditangkap oleh catch pada blok try..catch.
Page 38 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
g. Variabel lokal dan blok : merupakan variabel yang dideklarasikan secara
lokal untuk suatu blok, misalnya variabel inisialisasi, terminasi, dan
increment pada perulangan, serta variabel yang berada di dalam blok
statement tersebut.
3.5.2. Tipe Data
Ditinjau dari mekanisme penyimpanan data dalam memory, tipe data terbagi
menjadi 2 (dua) macam [5. 58-61] yaitu :
a. Tipe data primitif
Tipe data yang terdiri dari 4 tipe data untuk merepresentasikan bilangan
bulat/integer (int, byte, short, long), 2 tipe data untuk bilangan nyata/real
(float, double), dan 2 tipe data lain (char, boolean). Tabel 2.3 [hal. 43]
menunjukkan range tipe data primitif.
Tabel 2.3. Range Tipe Data Primitif
Sumber : Pustaka [5. 61]
Tipe Data Keterangan Range
byte Bilangan bulat (1 byte = 8 bit) -128 s/d 127
short Bilangan bulat (2 byte = 16 bit) -32768 s/d 32767
int Bilangan bulat (4 byte = 32 bit) -2147483648 s/d
214783648
long Bilangan bulat (8 byte = 64 bit) -9223372036854775808
sampai dengan
9223372036854775808
float Bilangan decimal/pecahan 4 byte
dengan 7 significant digit. Misal
bilangan 32.3989231134 dan
32.3989234399, disimpan sama
menjadi 32.398923
1038
double Bilangan decimal/pecahan 8 byte
dengan 15 significant digit
10380
char Huruf dan simbol yang
menempati 2 byte. Contoh “a”,
dan lainnya. Karakter khusus
seperti “\n” untuk tombol enter
disebut literal
boolean Nilai logika benar dan salah TRUE dan FALSE
Page 39 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
b. Tipe data referensi
Tipe data yang berisi informasi referensi alamat memory lainnya yang
digunakan untuk menyimpan nilai sesungguhnya. Variabel yang bertipe
data referensi merupakan variabel yang menyimpan data obyek pada saat
menginstansiasi suatu obyek dari kelas. Contoh : Mobil bmw = new Mobil
(“Biru Metalik”, 2012, “Pertamax”);.
3.5.3. Operator
Operator adalah simbol dan karakter khusus yang terdapar dalam bahasa
pemrograman untuk mengubah nilai suatu operand [5. 61]. Macam-macam dari
operator [5. 61-74] sebagai berikut :
a. Operator numerik / aritmatika : merupakan operator matematika yang
digunakan dalam operasi perhitungan seperti penjumlahan (+),
pengurangan (–), perkalian (*), pembagian (/), dan sisa
pembagian/modulus (%).
b. Operator shortcut : merupakan operator yang mempersingkat penulisan
operator yang digunakan dalam ekspresi yang bersifat mengganti nilai
sebuah variabel (Tabel 2.4). Operator shortcut terdapat prefix dan suffix
yang dikenal dengan preincremental (ditambahkan sebelum kompiler
mengekseskusi) dan postincremental (ditambahkan setelah kompiler
mengekseskusi), misalnya “i++” dan “++i” sama artinya dengan “i=i+1”.
Tabel 2.4. Ekivalensi Operator Shortcut
Sumber : Pustaka [5. 65]
Operator Penugasan Operasi Contoh Ekivalensi
+= Penjumlahan k += 3 k = k+3
–= Pengurangan i –= 5 i = i–5
*= Perkalian m *= 10 m = m*10
/= Pembagian j /= 7 j = j/7
%= Modulus k %= 2 k = k%2
c. Operator logika : merupakan operator yang digunakan untuk kombinasi
dua atau beberapa pernyataan bersyarat. Operator ini terdiri dari logika
AND (&&), OR (||), dan NOT (!).
Page 40 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
d. Operator pembanding/relasional : merupakan operator yang digunakan
untuk mengevaluasi hubungan antar operand apakah bernilai benar atau
salah. Tabel 2.5 merupakan macam-macam operator pembanding.
e. Operator bitwise integer : merupakan operator yang memungkinkan untuk
memanipulasi bit-bit individual dari sebuah tipe data interger. Operator ini
meliputi AND (&), OR (|), XOR (^), NOT (!), pindah kiri (<<), pindah
kanan (>>), pindah kanan tak berlambang (>>>).
Tabel 2.5. Operator Pembanding
Sumber : Pustaka [5. 74]
Operator Arti Operasi Contoh Hasil
< Kurang dari 3 < 5 Benar
<= Kurang dari atau sama dengan 3 <= 5 Benar
> Lebih besar dari 3 > 5 Salah
>= Lebih besar atau sama dengan 3 >= 5 Salah
== Sama dengan 3 == 5 Salah
!= Tidak sama dengan 3 != 5 Benar
3.5.4. Syarat dan Kondisi
Dalam Java terdapat 2 (dua) keyword yang digunakan dalam penggunaan
syarat dan kondisi [5. 85-94] yaitu :
a. Bentuk if...else : merupakan keyword yang digunakan untuk memeriksa
apakah suatu variabel/ekspresi memenuhi persyaratan suatu kondisi.
Bentuk umum dari if…else sebagai berikut :
1. if (kondisi 1) { -- if tunggal
2. pernyataan 1
3. }
4. else if (kondisi 2) { -- if majemuk
5. if (kondisi 3) { -- if bertingkat
6. pernyataan 2
7. }
8. }
9. else {
10. pernyataan 3
Page 41 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
11. }
b. Bentuk switch…case : merupakan bentuk kondisi yang digunakan untuk
menyeleksi kondisi yang memiliki banyak kemungkinan (multiple
condition) dan memiliki kemiripan dengan kondisi if…else. Bentuk umum
dari switch…case adalah sebagai berikut :
1. switch (ekspresi) {
2. case nilai_1 : pernyataan 1
3. break;
4. case nilai_2 : pernyataan 2
5. break;
6. case nilai_n : pernyataan n
7. break;
8. default : pernyataan default
9. }
3.5.5. Perulangan (Looping)
Perulangan merupakan proses pengulangan sebuah fungsi yang ditanamkan
dalam sebuah blok statement. Macam-macam perulangan yang terdapat dalam
Java [5. 95-102] sebagai berikut :
a. Bentuk for : merupakan keyword yang paling sering digunakan dan
berfungsi mengulang statement atau blok sejumlah yang dikehendaki.
Bentuk umum dari for sebagai berikut :
1. for (kondisi awal ; syarat/kondisi akhir ; jumlah kenaikan perulangan) {
2. blok pernyataan
3. }
b. Bentuk while : bentuk ini akan terus mengulang blok statement selama
kondisi yang ditentukan belum tercapai. Berapapun jumlah perulangan
tidak penting pada bentuk ini, sehingga bentuk ini dikategorikan ke dalam
jenis perulangan tak berhingga. Bentuk umum dari while sebagai berikut :
1. while (kondisi) {
2. blok pernyataan
Page 42 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
3. }
c. Bentuk do…while : bentuk ini kebalikan dari while dimana interpreter
akan memeriksa statement terlebih dahulu kemudian memeriksa kondisi.
Bentuk umum dari do…while sebagai berikut :
1. do {
2. blok pernyataan
3. }
4. while (kondisi)
Page 43 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
BAB V
PENUTUP
5.1. Kesimpulan
Melihat pada tujuan pembuatan sistem, dan setelah dilakukan implementasi
dan uji coba sistem pada pengguna, maka dapat disimpulkan sebagai berikut :
1. Pembangkitan basis pengetahuan agen (virtual asisten dosen) diproses
melalui parsing dan stemming, semantik, dan translasi yang sertai dengan
modul temu kembali informasi (IR).
2. Tanggapan agen berdasarkan permintaan praktikan dan disesuaikan
dengan basis pengetahuan yang dimiliki oleh agen.
3. Berdasarkan uji coba sistem didapatkan rata-rata delay jawaban agen pada
sesi II sebesar 628 miliseconds (ms) dan pada sesi III sebesar 393,3 ms.
Tanggapan relevan yang diberikan agen pada sesi II adalah 48,75% dan
meningkat pada sesi III menjadi 88,75%, sedangkan tanggapan tidak
relevan yang diberikan agen pada sesi II adalah 51,25% dan menurun pada
sesi III menjadi 11,25%.
4. Sistem pembelajaran cerdas dengan menghadirkan virtual asisten dosen
sebagai virtual teacher diharapkan menjadi salah satu alternatif media
pembelajaran laboratorium yang terbatas oleh intensitas pelaksanaan
praktikum dan perbedaan keinginan praktikan. Sistem ini juga diharapkan
dapat membantu praktikan dalam memecahkan permasalahannya terkait
dengan materi praktikum.
Page 44 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
5.2. Saran
Mengutip sebuah pernyataan “tidak ada program/aplikasi yang sempurna
selama masih dibuat oleh manusia”, ada beberapa hal yang perlu dibenahi pada
sistem ini, antara lain sebagai berikut :
1. Perlunya pembenahan Grammar Bahasa Indonesia pada tanggapan agen.
2. Penambahan konten atau isi pembahasan materi praktikum (domain agen)
yang lebih luas dan mencakup seluruh isi modul praktikum.
3. Dialog antara agen dengan praktikan disesuaikan dengan karakter agen
yang dipilih.
4. Perlunya statistik tingkat perkembangan kemampuan praktikan terhadap
pemahaman materi dan dikenali oleh agen sehingga agen dapat
memberikan tanggapan yang lebih relevan sesuai tingkat kemampuan
praktikan.
Page 45 of 46 Dokumen Skripsi : DidiCyber [[email protected]]
DAFTAR PUSTAKA
[1] Anggraini, Dina, dan Widiastuti, dan Magdalena Zega, Yuliar.
Pengembangan Sistem Informasi Tata Persuratan Menggunakan UML
dan Natural Language Processing (Kasus pada Direktorat Jalan dan
Jembatan Wilayah Barat Departemen Pekerjaan Umum). Jurnal
Informatika Komputer No. 3 Vol. 13, Desember 2008.
[2] Azhari dan Hartati, Sri. Overview Metodologi Rekayasa Perangkat Lunak
Berorientasi Agen. Seminar Nasional Aplikasi Teknologi Informasi 2005
(SNATI 2005) Yogyakarta, 18 Juni 2005.
[3] Cahyono, Dwi. 2009. Agent Antarmuka Cerdas untuk Game sebagai
Terapi Kemampuan Sosial pada Anak dengan Asperger Syndrome.
Tesis Magister Teknik Institut Teknologi Sepuluh Nopember (ITS)
Surabaya.
[4] Deliyska, Boryana and Manoilov, Peter. Research and Conceptualization
of Ontologies in Intelligent Learning Systems. International Journal of
Distance Education Technologies, October-December 2010.
[5] Hermawan, Benny. 2004. Menguasai Java 2 dan Object Oriented
Programming. Yogyakarta : Andi Offset.
[6] Karampiperis, Phytagoras and Sampson, Demitrios. Adaptive Learning
Object Selection in Intelligent Learning Systems. 4ο Συνέδριο ΕΤΠΕ,
29/09 – 03/10/2004, Παν/μιο Αθηνών (Kongres ERDF 4 Universitas
Athena, 29 September – 03 Oktober 2004).
[7] Martiana, Entin. 2007. Pengantar Pengolahan Bahasa Alami – Bab 3.
Lecturer EEPIS, Institut Teknologi Sepuluh Nopember (ITS) Surabaya.
[8] Suteja, Bernard Renaldy dan Wardoyo, Retantyo. Virtual Agent Character
untuk Mendukung Intelligent Learning System Berbasis Web. Jurnal
Informatika Vol. 3 No. 2, Desember 2007.
[9] Wahono, Romi Satria. 2006. Pengantar Software Agent : Teori dan
Aplikasi. Kuliah Umum IlmuKomputer.com.
[10] Yanti dan Nanno. 2006. Analisis dan Perancangan Sistem – Unified
Modeling Language (UML). Journal Mercubuana, Universitas
Mercubuana, Jakarta.