46
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

Skripsi ILS - D2C

Embed Size (px)

DESCRIPTION

INTELLIGENT LEARNING SYSTEM UNTUK PEMBELAJARAN INTERAKTIF LABORATORIUM (STUDI KASUS : LABORATORIUM TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA)

Citation preview

Page 1: Skripsi ILS - D2C

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 2: Skripsi ILS - D2C

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 3: Skripsi ILS - D2C

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 4: Skripsi ILS - D2C

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 5: Skripsi ILS - D2C

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 6: Skripsi ILS - D2C

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 7: Skripsi ILS - D2C

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 8: Skripsi ILS - D2C

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 9: Skripsi ILS - D2C

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 10: Skripsi ILS - D2C

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 11: Skripsi ILS - D2C

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 12: Skripsi ILS - D2C

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 13: Skripsi ILS - D2C

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 14: Skripsi ILS - D2C

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 15: Skripsi ILS - D2C

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 16: Skripsi ILS - D2C

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 17: Skripsi ILS - D2C

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 18: Skripsi ILS - D2C

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 19: Skripsi ILS - D2C

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 20: Skripsi ILS - D2C

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 21: Skripsi ILS - D2C

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 22: Skripsi ILS - D2C

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 23: Skripsi ILS - D2C

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 24: Skripsi ILS - D2C

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 25: Skripsi ILS - D2C

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 26: Skripsi ILS - D2C

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 27: Skripsi ILS - D2C

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 28: Skripsi ILS - D2C

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 29: Skripsi ILS - D2C

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 30: Skripsi ILS - D2C

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 31: Skripsi ILS - D2C

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 32: Skripsi ILS - D2C

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 33: Skripsi ILS - D2C

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 34: Skripsi ILS - D2C

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 35: Skripsi ILS - D2C

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 36: Skripsi ILS - D2C

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 37: Skripsi ILS - D2C

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 38: Skripsi ILS - D2C

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 39: Skripsi ILS - D2C

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 40: Skripsi ILS - D2C

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 41: Skripsi ILS - D2C

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 42: Skripsi ILS - D2C

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 43: Skripsi ILS - D2C

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 44: Skripsi ILS - D2C

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 45: Skripsi ILS - D2C

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 46: Skripsi ILS - D2C

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.