7
BAB 2
LANDASAN TEORI
2.1. Intelegensia Semu
2.1.1. Definisi
Menurut Turban (1992, p3), intelegensia semu adalah cabang dari ilmu
komputer yang mengarah pada pembuatan piranti lunak dan piranti keras dengan
tujuan menghasilkan sesuatu seperti yang dihasilkan oleh pola pikir manusia.
Menurut Rich dan Knight (1993, p3), intelegensia semu adalah ilmu yang
mempelajari bagaimana membuat komputer-komputer melakukan hal-hal yang mana
pada saat ini, dapat dikerjakan oleh manusia dengan lebih baik. Menurut Luger dan
Stublefield (1993, p1), intelegensia semu dapat didefinisikan sebagai cabang dari
ilmu komputer yang berhubungan dengan otomatisasi perilaku cerdas. Menurut
Jackson (1999, p15), intelegensia semu adalah bagian dari ilmu komputer yang
berhubungan dengan perancangan sistem komputer intelegensi, yaitu sistem yang
menggambarkan karakteristik yang diasosiasikan dengan intelegensi tingkah laku
manusia – pemahaman bahasa, pembelajaran, penjelasan, pemecahan masalah dan
seterusnya. Menurut Sri Kusumadewi (2003, p2), pengertian intelegensia semu dapat
dipandang dari berbagai sudut pandang, antara lain :
1. Sudut pandang kecerdasan.
Intelegensia semu akan membuat mesin menjadi ’cerdas’ (mampu berbuat seperti
apa yang dilakukan oleh manusia).
2. Sudut pandang penelitian.
8
Intelegensia semu adalah suatu studi bagaimana membuat agar komputer dapat
melakukan sesuatu sebaik yang dikerjakan oleh manusia. Domain yang sering
dibahas oleh para peneliti meliputi :
a. Mundane task
- Persepsi (vision & speech).
- Bahasa alami (understanding, generation & translation).
- Pemikiran yang bersifat commonsense.
- Robot control.
b. Formal task
- Permainan/games.
- Matematika (geometri, logika, kalkulus integral, pembuktian).
c. Expert task
- Analisis finansial.
- Analisis medikal.
- Analisis ilmu pengetahuan.
- Rekayasa (perancangan, pencarian kegagalan, perencanaan manufaktur).
3. Sudut pandang bisnis
Kecerdasaan buatan adalah kumpulan peralatan yang sangat kuat dan
metodologis dalam menyelesaikan masalah-masalah bisnis.
4. Sudut pandang pemrograman.
Kecerdasaan buatan meliputi studi tentang pemrograman simbolik, penyelesaian
masalah (problem solving) dan pencarian (searching).
9
2.1.2. Kelebihan Intelegensia Semu
Menurut Turban dan Frenzel (1992, p9), intelegensia semu memiliki
beberapa kelebihan diantaranya adalah :
1. Intelegensia semu lebih bersifat permanen. Intelegensia semu tidak akan berubah
selama sistem komputer dan program tidak mengubahnya.
2. Intelegensia semu lebih mudah digandakan dan disebarluaskan. Mentransfer
pengetahuan seorang manusia ke manusia lain membutuhkan proses yang cukup
lama dan lagipula pengetahuan tersebut tidak akan digandakan dengan lengkap.
Lain halnya dengan pengetahuan pada sistem komputer, pengetahuan tersebut
dapat digandakan dan dipindahkan dengan mudah ke sistem komputer lain.
3. Intelegensia semu lebih murah. Akan lebih murah dan mudah menggunakan
layanan komputer dibandingkan menggunakan orang untuk melakukan suatu
pekerjaan dalam jangka waktu yang lama.
4. Intelegensia semu bersifat konsisten. Hal ini disebabkan karena intelegensia
semu adalah bagian dari teknologi komputer yang tidak akan melakukan
tindakan layaknya manusia yang terbawa perasaan.
5. Intelegensia semu dapat didokumentasikan. Keputusan ataupun tindakan yang
dilakukan sistem komputer dapat didokumentasikan dengan mudah dengan cara
mencatat setiap aktivitas dari sistem komputer tersebut.
6. Intelegensia dapat mengerjakan suatu pekerjaan dengan lebih cepat dan lebih
baik.
10
2.1.3. Ruang Lingkup Aplikasi Intelegensia Semu
Seperti kebanyakan ilmu, intelegensia semu dibagi-bagi menjadi banyak
cabang ilmu yang selain fokus pada pemecahan masalah juga fokus pada aplikasi-
aplikasi yang berbeda. Menurut Luger (1993, p14) area aplikasi-aplikasi tersebut
antara lain adalah :
1. Permainan Game
Sebagian besar penelitian awal mengenai teknik pencarian dilakukan
pada permainan berpapan yang umum seperti catur. Permainan berpapan
tersebut memiliki properti tertentu yang membuatnya ideal sebagai subjek
penelitian teknik pencarian. Sebagian besar permainan dimainkan dengan
menggunakan kumpulan peraturan yang sudah didefinisikan dengan baik
sehingga mudah untuk melakukan proses pencarian dan membebaskan para
peneliti dari banyaknya ambiguitas dan kompleksitas yang ada. Program
permainan, walaupun sederhana, menawarkan tantangan tersendiri, termasuk
lawan yang langkahnya tidak dapat diperkirakan. Kehadiran lawan seperti ini
membuat perancangan program semakin kompleks dengan menambahkan
elemen ketidakpastian dan kebutuhan psikologi seperti taktik pada game
strategi.
2. Pemikiran Terautomatisasi dan Pembuktian Teori
Pembuktian teori merupakan cabang terlama dari ilmu intelegensia semu
dan merupakan salah satu cabang yang banyak menghasilkan. Penelitian
mengenai pembuktian teori dikatakan merupakan awal dari formalisasi
algoritma pencarian dan pengembangan bahasa untuk representasi formal.
11
Hal yang menarik dari pembuktian teori terautomatisasi berada pada
kekerasan dan keumuman suatu logika. Karena merupakan sistem yang
formal, logika menjadikan dirinya automasi. Banyak masalah dapat
dipecahkan dengan merepresentasikan deskripsi masalah dan informasi yang
mendukung sebagai kebenaran logika dan memperlakukan contoh masalah
sebagai teori untuk dipecahkan. Pemahaman inilah yang mendasari pekerjaan
pada pembuktian teori terautomatisasi dan pemikiran matematis.
3. Sistem Pakar
Salah satu pemahaman yang didapat pada penelitian awal mengenai
pemecahan masalah adalah pentingnya pengetahuan mengenai domain
tertentu. Seorang dokter misalnya, bukan efektif dalam mendiagnosa
penyakit karena ia memiliki kemampuan pemecahan masalah, melainkan
karena ia mengetahui banyak pengetahuan mengenai obat. Pengetahuan
pakar adalah kombinasi dari pemahaman teori dari suatu masalah dan
kumpulan dari peraturan-peraturan pemecahan masalah heuristik yang telah
terbukti efektif pada suatu domain. Sistem pakar dibuat dengan mendapatkan
pengetahuan pakar ini dari seorang pakar dan lalu dimasukkan pada sistem
komputer agar dapat memecahkan masalah yang serupa.
4. Pemahaman Bahasa Alami dan Pemodelan Semantik
Satu dari tujuan jangka panjang intelegensia semu adalah pembuatan
suatu program yang dapat mengerti bahasa manusia. Kemampuan untuk
memahami bahasa alami bukan hanya menjadi aspek yang fundamental bagi
12
intelegensia manusia, namun automasi yang sukses terhadapnya akan
menjadi dampak yang luar biasa terhadap kegunaan dan efektivitas komputer
itu sendiri. Namun sistem yang dapat menggunakan bahasa alami dengan
fleksibel dan kemampuan mengkarakterisasi ucapan manusia masih jauh dari
sempurna. Pemahaman bahasa alami bukan sekedar memilah kalimat-kalimat
menjadi bagian-bagian kecil dan lalu mencarinya di kamus, melainkan
penggunaan pengetahuan mengenai domain dan idiom serta kemampuan
mengaplikasikan pengetahuan kontekstual yang umum untuk memecahkan
ambiguitas yang merupakan bagian dari percakapan manusia.
Jadi kesulitan bukan berada pada bagaimana sistem mengerti arti dari
kata per kata, melainkan pengetahuan terhadap domain tertentu. Contoh,
seseorang yang mengalami percakapan mengenai basket akan menghadapi
kesulitan walaupun dia menguasai sktruktur bahasa tetapi tidak mengetahui
tentang peraturan, pemain atau sejarah mengenai basket. Oleh karena itu,
diperlukan suatu pengumpulan dan pengaturan pengetahuan sehingga dapat
digunakan pada pemahaman bahasa alami yang dimana para peneliti telah
banyak mengembangkan teknik untuk menstrukturkan arti semantik. Teknik
yang biasanya dipakai untuk melakukan hal tersebut adalah pemodelan
jaringan semantik.
5. Perencanaan dan Robotika
Perencanaan merupakan aspek penting pada usaha untuk merancang
robot. Perencanaan mencoba mencari urutan aksi-aksi bersifat atomik yang
dapat digunakan untuk melakukan tugas yang lebih tinggi tingkatannya
13
seperti bergerak melalui ruangan yang penuh rintangan. Perencanaan
merupakan masalah yang sulit karena pada suatu tugas yang akan dilakukan
robot akan tercipta banyak sekali pilihan urutan aksi yang mungkin.
Membuat suatu program komputer yang akan memecahkan suatu masalah
menjadi sub-sub masalah memerlukan suatu heuristik yang rumit dan
pengetahuan tambahan mengenai perencanaan terhadap suatu domain.
Menentukan apa sub-rencana yang perlu disimpan dan bagaimana hal itu
dapat digeneralisasikan untuk digunakan untuk kebutuhan mendatang
merupakan masalah yang sulit pula.
6. Pembelajaran Mesin
Salah satu perbedaan manusia dengan sistem pakar dalam memecahkan
suatu masalah adalah manusia tidak perlu melakukan proses pencarian solusi
ketika manusia sudah tahu solusi terhadap masalah tersebut. Sistem pakar
tidak dapat mengingat solusi melainkan akan melakukan proses komputasi
yang sama seperti sebelumnya, terus dan terus diulang jika diberikan masalah
yang sama berulang kali. Hal ini tidaklah fleksibel sehingga diperlukan
solusi, salah satunya adalah melakukan pembelajaran terhadap program,
entah melalui pengalaman, penganalogian, contoh-contoh atau diperintahkan.
7. Jaringan Syaraf Tiruan
Pada jaringan syaraf tiruan, tiap unit komputasi-nya menghitung fungsi-
fungsi dengan input dan mengirimkan hasilnya ke unit lain yang terhubung
pada jaringan. Intelegensia manusia lebih fleksibel, dapat mengartikan input
14
noise dengan baik seperti mengenali wajah pada ruangan gelap dari sudut
pandang sulit atau dapat dengan baik mengikuti suatu percakapan pada
sebuah pesta yang berisik. Jaringan syaraf tiruan, karena menyimpan
pengetahuan dalam unit yang berjumlah banyak memiliki potensi untuk
memisahkan noise dan mengunakan data tak lengkap. Selain itu jaringan
syaraf tiruan juga menyediakan model alami untuk ke-paralel-an seperti pada
manusia karena tiap neuron adalah unit yang berdiri sendiri.
2.2. Orientasi Objek
2.2.1. Definisi Objek
Objek adalah suatu entitas yang memiliki identity, state, dan behavior
(Mathiassen, 2000, p51). Objek adalah abstraksi dari sebuah fenomena pada domain
permasalahan. Objek dapat berupa suatu entitas yang nyata (tangible) maupun tidak
nyata (intangible).
2.2.2. Pendekatan Orientasi Objek
2.2.2.1. Keuntungan penggunaan orientasi objek
Keuntungan dari penggunaan orientasi objek adalah sebagai berikut :
1. Dapat memodelkan hampir semua fenomena, misal noun menjadi class, verb
menjadi behaviour dan adjective menjadi attribute.
2. Dapat memberikan suatu informasi yang jelas mengenai konteks sistem.
3. Mengurangi biaya pemeliharaan sistem, karena memudahkan pencarian
bagian yang ingin diubah dan perubahan yang dilakukan tidak mempengaruhi
modul lain.
15
2.2.2.2. Alasan penggunaan orientasi objek
Alasan mengapa orientasi objek digunakan adalah sebagai berikut :
1. Dapat dilakukan pemeliharaan
Selama masa hidup suatu sistem diperlukan perubahan-perubahan untuk
mengikuti proses bisnis. Masalah yang terjadi adalah ketika suatu sistem
dirancang dengan struktur yang tidak independen akan mengakibatkan sistem
tersebut sulit untuk dipelihara. Karena perubahan radikal terhadap apa yang
dilakukan akan mempengaruhi struktur dasarnya.
2. Dapat dilakukan pengujian
Unit-unit terkecil yang dibangun dengan menggunakan pendekatan
orientasi objek menghasilkan unit yang cukup independen sehingga pengujian
terhadap suatu unit dapat dilakukan secara hati-hati tanpa mengganggu unit
lainnya.
3. Dapat digunakan ulang
Karena banyak masalah memiliki fitur-fitur yang sama, penggunaan
kembali solusi-solusi yang sudah ada akan menghemat waktu dan
penggunaannya lebih pasti.
2.2.2.3. Class
Class adalah deskripsi dari suatu kumpulan objek yang memiliki struktur
behavioral pattern(methods) dan attributes (Mathiassen, 2000, p53). Class juga
dapat dikatakan sebagai sebuah cetak biru atau pabrik yang membuat objek.
16
Contoh, sebuah class MesinCuci memiliki attributes merk, model, nomorSeri
dan methods tambahPakaian(), tambahDeterjen() dan keluarkanPakaian().
2.2.2.4. Message Passing
Dalam sistem, objek saling bekerja sama dengan cara mengirimkan
message. Sebuah objek mengirimkan message untuk melakukan suatu operasi
dan objek yang menerima message melakukan operasi tersebut. Contoh, sebuah
objek remote mengirimkan message kepada objek televisi agar televisi menyala.
2.2.2.5. Inheritance
Sebuah class dapat memiliki attributes dan methods dari class lain.
Contoh, class MesinCuci memiliki attributes dan methods dari class
PeralatanRumahTangga.
2.2.2.6. Abstraction
Abstraction secara sederhana berarti memilah attributes dan methods dari
suatu objek hingga tersisa hanya yang dibutuhkan saja. Jika seorang programmer
ingin membuat suatu mesin cuci maka ia tidak memerlukan attribute nomorSeri
karena tidak akan begitu berguna, namun jika yang ingin dibuat adalah sebuah
aplikasi yang melacak transaksi pada laundry yang memiliki banyak mesin cuci,
maka attribute nomorSeri dibutuhkan.
17
2.2.2.7. Encapsulation
Ketika sebuah objek melakukan operasinya, operasi tersebut
disembunyikan prosesnya dari pengguna. Contoh, kita tidak perlu tahu
bagaimana TV bisa menghasilkan gambar-gambar bergerak padahal dalam
menghasilkan gambar-gambar tersebut, TV melakukan banyak proses.
2.2.2.8. Polymorphism
Dalam class yang berbeda dimungkinkan suatu method dengan nama
yang sama. Misal, class pintu memiliki method membuka(), class jendela juga
memiliki method membuka(), class koran juga memiliki method membuka().
Tiap class tahu bagaimana melakukan operasi yang seharusnya dilakukan.
2.3. Computer Assisted Instruction
2.3.1. Definisi
Menurut Chambers (1983, p5-6), terdapat banyak istilah yang dapat
digunakan dalam penggunaan komputer sebagai alat bantu pada dunia pendidikan
atau pelatihan, diantaranya di Amerika Serikat seringkali dikenal dengan nama CAI
(Computer Assisted Instruction), CBI (Computer Based Instruction), dan CBE
(Computer Based Education), di luar Amerika Serikat seperti Inggris lebih mengacu
ke CAL (Computer Assisted Learning), dan CBT (Computer Based Training).
CAI (Computer Assisted Instruction) merupakan suatu penggunaan komputer
untuk menyediakan instruksi-instruksi pengajaran dalam bentuk Drill, Practice,
Tutorial, dan Socratic. Penelitian CAI (Computer Assisted Instruction) di Amerika
Serikat berkisar pada akhir tahun 1950-an dan mulai awal tahun 1960-an proyek CAI
18
(Computer Assisted Instruction) dibiayai oleh IBM (International Business Machine)
dan Contol Data Coorporation, pemerintah seperti Nasional Science Foundation
(NFS), dan Universitas-Universitas lainnya.
2.3.2. CAI Non adaptif
CAI dirancang untuk meningkatkan hasil pembelajaran dengan cara
membuat proses belajar menjadi menarik dan penuh dengan umpan balik dari peserta
didik. Hal ini dapat dilakukan dengan cara memberikan materi pembelajaran yang
disajikan kepada peserta didik secara multimedia(tulisan, suara, video, animasi).
Dengan penyajian yang menarik, diharapkan dapat meningkatkan proses belajar agar
lebih efisien dan konsisten, meningkatkan hasil pembelajaran, motivasi peserta
didik, disertai dengan umpan balik yang cepat.
Namun CAI yang telah menjadi penyedia pembelajaran 1-lawan-1 selama 25
tahun dikatakan tidak mampu meningkatkan tingkat pengetahuan peserta didik
secara drastis, karena CAI non adaptif tidak mampu membedakan peserta didik dari
segi kebutuhan dan tingkat kecerdasan peserta didik. CAI non adaptif dinilai pasif
karena hanya menampilkan halaman demi halaman multimedia jika mendapatkan
tanggapan dari peserta didik. Ditambah lagi CAI non adaptif ini tidak memiliki
kemampuan sebagai pengajar sesungguhnya untuk dapat mengetahui kapan harus
membantu peserta didik ketika menghadapai suatu kesulitan terhadap suatu subjek
atau kapan harus melanjutkan pemberian topik baru ketika peserta didik mengalami
peningkatan.
19
2.3.3. Intelligent Tutoring System
Intelligent Tutoring System (ITS) merupakan CAI yang digabungkan dengan
intelegensia semu untuk mendapatkan suatu CAI yang dapat mengatasi kekurangan
dalam memberikan pembelajaran adaptif yang sebelumnya tidak dapat dilakukan
oleh CAI non adaptif. Dengan mengetahui “apa yang diketahui” dan “tidak
diketahui” peserta didik, ITS dapat memberikan pembelajaran yang bersifat adaptif.
Tidak seperti CAI non adaptif, ITS mampu memberikan pembelajaran yang aktif,
mendorong keingintahuan peserta didik, memantau kemampuan peserta didik dan
memberikan bantuan ketika diminta.
ITS mengacu pada sistem pengajaran tingkat lanjut, dimana :
1. Menyediakan interaktivitas yang tinggi, penyampaian pembelajaran dan
pelatihan berbasiskan komputer.
2. Menyesuaikan pembelajaran dengan tingkat pengetahuan peserta didik.
3. Menyediakan pelatihan dengan pengajar berintelegensia semu.
4. Memperbesar metode pembelajaran secara lebih mendalam.
5. Mampu membentuk model yang merepresentasikan pengetahuan yang dimiliki
peserta didik yang dibentuk berdasarkan tanggapan dan jawaban dari peserta
didik.
2.3.4. Adaptive Web-Based Learning
Dikarenakan perkembangan yang pesat dan peningkatan ketersediaan
internet, sistem web-based learning semakin menjadi penting bagi pembelajaran
jarak jauh, pelengkap pembelajaran non adaptif dan pendukung pembelajaran dalam
jangka waktu lama. Web-based learning menjadi suatu sistem yang membolehkan
20
peserta didik untuk belajar sesuai personalisasinya(sesuai kebutuhan peserta didik).
Untuk itu dibutuhkan integrasi pada web-based learning dengan intelegensia semu
agar sistem tersebut dapat menyesuaikan diri dengan personalisasi peserta didik
sehingga dapat disebut adaptive web-based learning (pembelajaran adaptif
berbasiskan web).
Peserta didik yang berbeda tentunya akan memiliki goal pembelajaran yang
berbeda dan kebutuhan pembelajaran yang berbeda pula. Untuk itu suatu adaptive
web-based learning perlu untuk membuat rencana pembelajaran yang berbeda untuk
goal yang berbeda-beda tersebut dengan cara menyajikan materi sesuai preferensi
peserta didik. Berikut adalah kebutuhan yang perlu untuk dipenuhi oleh sebuah
sistem adaptive web-based learning :
1. Pembelajaran dilakukan dengan menyesuaikan pada goal pembelajaran tertentu
untuk peserta didik yang tertentu pula.
2. Pembelajaran dimulai pada titik yang bergantung pada pengetahuan
sebelumnya yang sudah dimiliki peserta didik.
3. Bentuk penyajian materi harus dicocokkan dengan peserta didik.
4. Harus bisa mengawasi jalannya pembelajaran dan melakukan perubahan
perencanaan pembelajaran sesuai evaluasi terhadap keadaan peserta didik.
Dalam pengembangannya, diperlukan suatu arsitektur web-based learning
yang sesuai dengan kebutuhan yang telah disebutkan di atas. Berikut adalah
arsitektur sistem dari adaptive web-based learning yang disarankan oleh Julita
Vassileva :
21
Gambar 2.1 Arsitektur sistem web-based learning Julita Vassileva
Domain Database
Pengetahuan disimpan pada komponen ini. Terdiri dari 2 bagian yaitu
struktur domain dan materi ajar.
Student Model
Merupakan komponen yang memodelkan peserta didik. Terdiri dari 3 bagian
yakni student knowledge, history, personal trait and preferences.
Pedagogical Component
Berisi kumpulan metode dan tugas pengajaran serta peraturan pengajaran.
Course Generator
Merupakan komponen yang membuat pembelajaran, melakukan interaksi
dengan peserta didik dan memelihara student model.
Authoring Module
22
Berisi editor untuk bahan ajar, editor untuk struktur domain dan editor untuk
metode dan tugas pengajaran.
2.4. Domain Database
2.4.1. Struktur Domain
Struktur domain mengandung struktur konsep dari pengetahuan yang akan
diajarkan kepada peserta didik. Pada arsitektur Julita Vassileva, struktur tersebut
direpresentasikan dalam bentuk AND/OR Graph. Tiap node mewakili elemen dari
pengetahuan (konsep, topik, peraturan, dan lain-lain). Jika 2 node A dan B saling
terhubung dengan node ke-3, C, dan memiliki relasi ”AND”, hal ini berarti bahwa
node A dan B harus dipelajari. Selain itu dianggap suatu alternatif. Relasi antar node
dapat memiliki berbagai macam semantik. Contoh, jika node A dan B terhubung
dengan node C dengan relasi ”AND” tipe agregasi, hal ini berarti C adalah konsep
umum dan memiliki sub-konsep A dan B. Terdapat banyak relasi semantik yang
mungkin, contohnya saja, relasi kausal, temporal, analogi, persyaratan sederhana.
AND/OR graph telah dipakai sebagai representasi formal karena cukup kuat
dalam ekspresi. Selain itu AND/OR Graph dapat divisualisasikan pada layar yang
memiliki kelebihan psikologi dalam authoring dan pengajaran. Tiap node dan
hubungan dari struktur domain diasosiasikan pada materi ajar. Struktur domain
digunakan dalam pembuatan perencanaan pengajaran untuk mencapai goal
pengajaran.
23
2.4.2. Materi Ajar
Materi ajar berisi presentasi yang berkomunikasi secara langsung dengan
peserta didik. Tiap materi ajar difokuskan pada topik, konsep, relasi yang diberikan.
Materi ajar diklasifikasikan menurut fungsi pedagogical-nya. Misal pengantar,
permasalahan awal, penjelasan, pertolongan, latihan dan tes. Materi ajar bertugas
melakukan dialog dengan peserta didik. Contoh latihan dan tes direpresentasikan
dengan unit yang lebih kecil yang menyediakan jawaban benar pada tes/latihan,
petunjuk atau pertolongan, penjelasan hingga pemecahan masalah tingkat menengah.
Materi ajar juga diklasifikasikan berdasarkan medianya. Contoh : textual, gambar,
animasi, video.
2.4.3. Learning Object
Dalam membangun suatu struktur domain yang berisi pengetahuan yang akan
diajarkan kepada peserta didik, diperlukan suatu definisi yang jelas terhadap tiap
node yang mewakili elemen pengetahuan tersebut. Dalam suatu materi ajar pun
terdapat bagian-bagian terkecil yang membentuk materi ajar tersebut. Untuk itulah
konsep learning object diperlukan.
2.4.3.1. Definisi
Menurut Wiley (2000), learning object meliputi semua sumber digital
yang dapat digunakan kembali untuk mendukung pembelajaran. McGreal &
Roberts (2001) memperluas definisinya yang kemudian menjadi definisi standar
IEEE Learning Technology Standards Committee, learning object adalah semua
entitas, digital maupun tidak digital yang dapat digunakan dan digunakan lagi
24
atau direferensikan selama pembelajaran yang didukung teknologi. Definisi
mengenai learning object masih banyak diperdebatkan oleh berbagai pihak,
walaupun begitu secara umum semua definisi tersebut menyebutkan bahwa
learning object adalah apa saja dan harus bisa digunakan untuk membantu dalam
proses pembelajaran.
Sebuah metafor yang banyak digunakan untuk menjelaskan learning
object adalah metafor mengenai permainan blok LEGO. Metafor LEGO
menyebutkan suatu gagasan mengenai ”bagian kecil dari pengajaran (blok
LEGO) yang dapat dihimpun(dipasang-pasangkan) menjadi sebuah struktur
pengajaran yang lebih besar(istana atau pesawat ruang angkasa)”. Jadi secara
garis besar, metafor LEGO memiliki tiga properti, yakni :
1. Tiap blok LEGO dapat dipasangkan dengan blok LEGO lainnya.
2. Blok-blok LEGO dapat dihimpun sesuai dengan yang kita inginkan.
3. Blok-blok LEGO sangat mudah dan sederhana sehingga anak-anak pun dapat
memasang-masangkannya.
Namun dikatakan oleh Wiley bahwa sistem learning object yang
menggunakan ketiga properti tersebut tidak selalu dapat menghasilkan suatu
pengajaran yang berguna dan jika hasil penghimpunan learning object tersebut
tidak menghasilkan pengajaran yang berguna maka penghimpunan tersebut telah
gagal walau apapun kegunaan lain dari pengajaran tersebut. Untuk itu diperlukan
suatu metafor lain. Metafor lain tersebut adalah ”atom”.
Sebuah atom adalah sesuatu yang kecil yang dapat dikombinasikan dan
dikombinasikan ulang dengan atom lain untuk menghasilkan sesuatu yang lebih
25
besar. Metafor ini memang mirip dengan metafor LEGO, namun berbeda pada
beberapa hal, yakni :
1. Tidak setiap atom dapat dikombinasikan pada setiap atom.
2. Atom hanya dapat dihimpun dengan struktur tertentu yang telah ditentukan
dalam struktur internalnya masing-masing.
3. Diperlukan latihan untuk menghimpun atom-atom.
Jadi tidak semua learning object dapat digabungkan dengan learning
object lainnya. Learning object hanya dapat digabungkan dengan learning object
yang dapat menerima struktur dari learning object tersebut. Dan untuk
menggabungkan semua learning object tersebut diperlukan suatu keahlian, misal
oleh seorang dosen yang mengerti benar semua learning object yang akan
digabung-gabungkan tersebut.
2.4.3.2. Karakteristik Learning Object
Suatu learning object memiliki karakteristik yang membuatnya disebut
learning object. Berikut adalah karakteristik yang pada umumnya harus ada pada
learning object :
1. Accessibility – komponen instruksional harus selalu dapat diakses dari segala
lokasi baik jauh maupun dekat.
2. Interoperability – learning object harus dapat digunakan pada tool dan
platform apapun. Metadata dan standar untuk learning object meningkatkan
interoperability suatu learning object.
3. Adaptability – memastikan learning object dibuat sempurna untuk masing-
masing individual dan situasi kebutuhannya.
26
4. Reusability – merupakan karakteristik terpenting. Sebuah learning object
yang bagus harus dapat dipakai pada aplikasi lain tanpa harus melakukan
usaha berlebih. Menyimpan, pencarian, dan pengambilan sumber
pembelajaran selalu menjadi halangan bagi pembelajaran non adaptif.
Learning object repositories menyediakan solusi untuk masalah
pendistribusian dan penggunaan ulang sumber pengetahuan.
5. Durability – komponen learning object harus tahan lama ketika walaupun
basis teknologinya berubah, tanpa harus merancang ulang atau meng-coding
ulang.
6. Granularity – sampai pada tingkatan apa suatu learning object dibuat dan
bagaimana menyimpannya. Unit terkecil dari sebuah learning object dapat
berupa program, course, modul, pelajaran, segmen, atau objek mentah. Pada
umumnya tingkatan yang bagus pada granularity akan meningkatkan
reusability, dengan cara mengizinkan penggunaan untuk banyak konteks.
Walaupun, semakin besar jumlah objek yang kecil memerlukan lebih dari
pengkatalogan dan meningkatkan biaya pengaturan.
2.4.3.3. Orientasi Objek pada Learning Object
Pendekatan berorientasi objek dapat dipakai dalam membangun sebuah
learning object dan pada dasarnya learning object memiliki properti yang mirip
dengan objek pada pemrograman berorientasi objek. Menurut Permanand Mohan
dan Christopher Brooks(2004), learning object merupakan objek yang memiliki
data dan method. Datanya adalah link yang merujuk pada sumber fisik yang
sebenarnya. Sumber yang dimaksud dapat berupa text, gambar, video dan lain-
27
lain. Method pada learning object bertugas memverifikasi dan memelihara link
menuju sumber yang membentuk learning object. Method tersebut juga
membolehkan berbagai macam query.
Model learning object menurut Zoltan Fiala, Michael Hinz, Klaus Meissner,
dan Frank Wehner(2003) pun memperlihatkan ciri orientasi objek, yakni dari sisi
enkapsulasi dan abstraksi. Pada gambar 2.2, tingkat terendah dari model tersebut
adalah media components yang mengenkapsulasi asset media tertentu
berdasarkan metadata teknik maupun non-teknik. Kumpulan dari asset media
terdiri dari teks, teks terstruktur(contoh HTML atau XML), gambar, suara, video,
java applets, presentasi flash. Pada tingkat berikutnya, media components
digabung secara semantik membentuk sebuah content unit. Contoh, sebuah
gambar dengan penjelasan textual yang cocok dapat dijadikan sebuah content
unit. Pendefinisian terhadap kumpulan objek-objek media ini adalah factor kunci
dari komponen yang dapat digunakan ulang. Tingkatan abstraksi selanjutnya
adalah document components yang merupakan bagian dari presentasi web
dengan penggunaan aturan semantik yang baik seperti kolom baru, presentasi
produk atau bahkan seluruh website. Contohnya, sebuah content unit yang
mengandung objek gambar dan objek text dapat dienkapsulasi terhadap
document component yang memiliki peraturan semantik “artikel koran”.
Document component tidak hanya dapat berisi content unit, tetapi juga dapat
meng-aggregasi document component lainnya. Aggregasi ini menghasilkan
hirarki dari document component yang menjelaskan struktur logis dari suatu web
site dan sangat bergantung pada konteks aplikasi.
28
Gambar 2.2 Model Learning Object
2.4.4. Peta Konsep
Dalam membangun karakteristik reusability pada learning object,
pendefinisian terhadap learning object perlu dilakukan dengan benar. Peta konsep
adalah salah satu cara untuk mendefinisikan learning object tersebut.
2.4.4.1. Definisi
Peta konsep adalah alat grafik untuk mengatur dan merepresentasikan
pengetahuan. Terdiri dari konsep-konsep, biasanya ditulis dalam bulatan atau
kotak, dan relasi antara konsep diindikasi oleh koneksi garis yang
menghubungkan 2 konsep. Kata-kata pada garis, merupakan kata atau frasa
penghubung, yang menjelaskan relasi antara 2 konsep. Joseph D. Novak dan
29
Alberto J. Canas (2006) mendefinisikan konsep sebagai yang dianggap
keteraturan dalam acara atau objek, atau catatan peristiwa-peristiwa atau benda,
yang ditunjuk oleh label. Sedangkan Proposisi adalah pernyataan tentang
beberapa obyek atau peristiwa dalam semesta, baik yang terjadi secara alami atau
buatan. Proposisi berisi dua atau lebih konsep terhubung menggunakan kata atau
frasa untuk membentuk sebuah pernyataan yang bermakna. Kadang-kadang ini
disebut unit semantik atau unit arti. Gambar 2.3 menunjukkan contoh dari satu
peta konsep yang menggambarkan struktur peta konsep dan memperlihatkan
karakteristik di atas.
Gambar 2.3 Sebuah konsep peta menampilkan fitur peta konsep.
Karakteristik lain dari peta konsep adalah bahwa konsep-konsep diwakili
dalam bentuk hirarki dengan konsep yang paling inklusif dan paling umum di
bagian atas peta dan konsep yang lebih khusus dan kurang umum berada pada
hirarki di bawah. Struktur hirarki untuk domain pengetahuan tertentu juga
30
tergantung pada konteks di mana bahwa pengetahuan adalah diberikan atau
dianggap. Oleh karena itu, adalah lebih baik untuk membangun peta konsep
dengan referensi beberapa pertanyaan tertentu untuk diusahakan dijawab, yang
disebut pertanyaan berfokus. Peta konsep dapat berhubungan dengan beberapa
situasi atau peristiwa yang ingin kita coba untuk pahami melalui organisasi
pengetahuan dalam bentuk peta konsep, sehingga menyediakan konteks untuk
konsep peta.
Karakteristik lain yang penting dari peta konsep adalah penyertaan lintas-
link. Lintas-link adalah link atau hubungan antara konsep-konsep dalam domain
atau segmen yang berbeda dari peta konsep. Lintas-link membantu kita melihat
bagaimana sebuah konsep dalam satu domain pengetahuan yang diwakili
peta terkait dengan konsep yang lain dalam domain yang ditampilkan pada peta.
Dalam pembuatan pengetahuan baru, lintas-link sering mewakili lompatan
kreatif pada bagian dari pembuatan pengetahuan. Ada dua fitur peta konsep yang
penting dalam memfasilitasi pemikiran kreatif: struktur hirarki yang diwakili
dalam peta yang baik dan kemampuan untuk mencari dan mencirikan lintas-link
baru.
2.4.4.2. Ontology
Dalam kamus besar bahasa indonesia, ontologi dapat diartikan sebagai
cabang ilmu filsafat yang berhubungan dengan hakikat hidup. Komunitas
intelegensia semu telah meneliti mengenai masalah representasi pengetahuan dan
permasalahan untuk waktu yang cukup lama. Pendekatan mereka adalah dengan
menentukan standar fasilitas untuk menjelaskan pengetahuan manusia di setiap
31
tingkat granularity dan untuk memperoleh kemampuannya. Menurut Tom
Gruber (1993), dasar dari pendekatan intelegensia semu adalah ontologi, yang
berarti konsensus konsep dari dunia nyata. Setelah ontologi yang dibutuhkan
dibangun, pengindeksan terhadap pengetahuan tak terstruktur yang ada pada
dokumen dan mengkonversinya ke representasi pengetahuan yang formal.
Kemudian pencari dapat memanfaatkan beberapa jenis agen cerdas untuk
mencari, memodifikasi query dan pengetahuan dasar.
Penelitian di intelegensia semu telah menjajaki penggunaan ontologi
formal sebagai cara untuk menentukan konten-perjanjian khusus untuk
pemakaian ulang dan berbagi pengetahuan di antara entiti perangkat lunak.
Gruber telah mengambil sebuah rekayasa perspektif pengembangan pada
ontologi tersebut. Ontologi formal yang dirancang dilihat sebagai artifak, yang
disusun untuk tujuan tertentu dan dievaluasi terhadap kriteria tujuan desain.
Peran ontologi dijelaskan sebagai pendukung kegiatan berbagi pengetahuan, dan
kemudian hadir satu set kriteria untuk memberikan ontologi untuk tujuan
tersebut.
2.4.5. Jaringan Semantik
Jaringan semantik merupakan gambaran pengetahuan grafis yang
menunjukkan hubungan antar berbagai objek. Jaringan semantik terdiri dari
lingkaran-lingkaran atau kotak-kotak yang menunjukkan objek dan informasi
tentang objek-objek tersebut. Objek disini bisa berupa benda atau peristiwa. Antara 2
objek dihubungkan oleh garis yang menunjukkan hubungan antar objek. Gambar 2.4
32
merupakan contoh representasi pengetahuan dengan menggunakan jaringan
semantik.
Salah satu kelebihan dari jaringan semantik adalah ’bisa mewariskan’.
Sebagai contoh, pada gambar 2.4 ada garis yang menghubungkan antara Budi
dengan laki-laki, dan laki-laki ke makhluk hidup. Sehingga apabila ada pertanyaan:
Apaka Budi makhluk hidup? Maka kita bisa merunut garis dari makhluk hidup,
kemudian ke laki-laki, dan akhirnya ke Budi. Sehingga terbukti bahwa Budi adalah
makhluk hidup.
Gambar 2.4 Contoh Jaringan Semantik
Sistem jaringan semantik ini selalu tergantung pada jenis masalah yang akan
dipecahkan. Jika masalah itu bersifat umum, maka hanya memerlukan sedikit
rincian. Jika ternyata masalah itu banyak melibatkan hal-hal lain, maka di dalam
jaringan awalanya diperlukan penjelasan yang lebih rinci lagi.
33
2.5. Student Model
Student Model merupakan salah satu komponen penting dalam penyediaan
pembelajaran yang adaptif. Student model merepresentasikan tingkat kepercayaan sistem
komputer terhadap pengetahuan peserta didik. Berdasarkan arsitektur Julita Vassileva,
student model mencakup 3 bagian antara lain:
2.5.1. Pengetahuan Peserta Didik
Model Pengetahuan Peserta Didik adalah lapisan atas dari Struktur Domain
dalam Domain Database, yang berisi evaluasi probabilistik terhadap keyakinan
siswa dalam menguasai konsep. Memperbarui probabilistik pengetahuan dilakukan
secara dinamis dengan cara mengambil hasil dari jawaban dari pretest terhadap
peserta didik.
2.5.2. History
History berisi daftar semua instruksi tugas, dan metode subtasks yang telah
digunakan untuk setiap konsep selama mengikuti rencana juga menyimpan statistik
tentang keberhasilan berbagai pelajaran metode dekomposisi tugas dan statistik
keberhasilan dari berbagai jenis media materi ajar yang digunakan (teks,
suara, grafis, animasi, video).
2.5.3. Personal Traits and Preferences
Model Personal Traits and Preference dari peserta didik berisi dua daftar
variabel dengan nilainya masing-masing. Bagian pertama berisi fitur psikologis
seperti keyakinan, motivasi, konsentrasi dan yang kedua berisi preferensi peserta
34
didik untuk berbagai jenis media. Nilainya dapat diambil dari tiga ciri-ciri nilai
(rendah, sedang, tinggi) dan ditugaskan kepada siswa di awal pembelajaran.
2.5.4. Penalaran Probabilitas
Metode penalaran probabilitas membolehkan sistem intelegensia semu untuk
menggunakan pengetahuan yang tak tentu atau probabilitas dan dapat membantu
mengumpulkan bukti untuk melakukan hipotesa. Teori pengambilan keputusan,
berhubungan dengan teori probabilitas, menyediakan teknik tambahan untuk
membantu meminimalisasi resiko dalam pengambilan keputusan.
2.5.4.1 Probabilitas dan Teorema Bayes
Tujuan sistem yang melakukan pemecahan masalah adalah
mengumpulkan bukti pada sistem yang berjalan dan memodifikasi perilaku dasar
dari bukti tersebut. Untuk memodelkan perilaku ini, dibutuhkan teori statistik
dari bukti tersebut, yaitu statistik Bayesian. Dugaan dasar dari statistik Bayesian
adalah probabilitas bersyarat (conditional probability) )|( EHP . Ekspresi ini
menggambarkan probabilitas dari hipotesa H yang diberikan untuk kita amati
dengan bukti (evidence) E. Teorema Bayes menyatakan:
∑=
⋅
⋅= k
nnn
iii
HPHEP
HPHEPEHP
0)()|(
)()|()|(
dengan :
• )|( EHP i adalah probabilitas bahwa hipotesis Hi benar jika diberikan bukti
E.
35
• )|( iHEP adalah probabilitas munculnya bukti E jika diketahui hipotesis Hi
benar.
• )( iHP adalah probabilitas hipotesis Hi (menurut hasil sebelumnya) tanpa
memandang bukti apapun.
• k adalah jumlah hipotesis yang mungkin.
Beberapa mekanisme untuk mengeksploitasi kekuatan dari statistik
Bayesian antara lain:
• certainty factor
• teori Dempster-Shafer
• jejaring Bayesian
2.5.4.2 Certainty Factor
Certainty factor (CF) menunjukkan ukuran kepastian terhadap suatu
fakta atau aturan. CF bernilai 1 dikatakan sebagai belief (percaya) dan CF
dengan nilai -1 dikatakan sebagai disbelief (tidak percaya). Dalam sebuah sistem
yang menggunakan CF, aturan-aturan (rules) belief dan disbelief yang digunakan
haruslah terstruktur dengan baik.
Keunggulan CF:
• cocok untuk paradigma rule-based, tidak ada perubahan yang signifikan
dalam merepresentasikannya
• mudah diimplementasikan
• aturan propagasi pada awalnya bersifat masuk akal
Kekurangan CF:
36
• tidak ada teori keputusan dalam CF
• aturan propagasi tidak dapat dijustifikasi secara teoritis
• memiliki asumsi yang berdiri sendiri yang membuat CF mudah digunakan
namun sangat beresiko jika aturan-aturan tidak ditulis dengan hati-hati
2.5.4.3. Teori Dempster-Shafer
Teori Dempster-Shafer merupakan generalisasi dari teori Bayesian
mengenai probabilitas subjektif. Ketika teori Bayesian memerlukan probabilitas
untuk setiap pertanyaan yang ada, teori Dempster-Shafer mengijinkan untuk
menentukan derajat kepercayaan (degree of belief) untuk satu pertanyaan pada
probabilitas untuk pertanyaaan yang berhubungan.
Teori Dempster-Shafer memiliki dua ide dasar. Pertama, mendapatkan
derajat kepercayaan dari satu pertanyaan dari probabilitas subjektif untuk
pertanyaan yang terhubung. Kedua, mengkombinasikan beberapa derajat
kepercayaan didasarkan pada ketidaktergantungan variabel pada bukti.
Keunggulan teori Dempster-Shafer:
• kesulitan dalam menentukan nilai prior probability dapat diabaikan
• aturan kombinasi dapat digunakan untuk menggabungkan bukti-bukti
• dalam keadaan atau situasi tidak pasti, ignorance dapat ditentukan
• mudah untuk menentukan bukti-bukti dengan tingkat abstraksi yang berbeda-
beda
Kekurangan teori Dempster-Shafer:
• perhitungan komputasi yang kompleks
• teori pengambilan keputusan yang kurang
• eksperimen perbandingan antara teori Dempster-Shafer dengan teori
37
probabilitas sulit untuk dilakukan.
• tidak adanya keuntungan yang dapat terlihat dengan jelas pada teori
Dempster-Shafer
2.5.4.4. Jejaring Bayesian
Jejaring Bayesian (Bayesian network) dipelopori oleh ahli ilmu genetika
Sewall Wright (1921). Kemudian beberapa variasi telah dikembangkan pada
berbagai bidang, misalnya dalam bidang ilmu pengetahuan kognitif dan
intelegensia semu. Pada awal perkembangannya di akhir tahun 1970-an, jejaring
Bayesian memenuhi kebutuhan semantic model (top-down) dan perceptual
model (bottom-up), yaitu kombinasi dari cara pembacan bukti (evidence).
Dengan kemampuan untuk mengambil kesimpulan dari banyak arah dan
dikombinasikan dengan dasar probabilitas yang teliti, maka jejaring Bayesian
menjadi metode yang dipilih untuk mengatasi uncertain reasoning (penalaran
dalam ketidakpastian) dalam bidang intelegensia semu dan sistem pakar.
Jejaring Bayesian merupakan sebuah dag (directed acyclic graph) di
mana setiap node-nya (verteks) menggambarkan variabel-variabel acak yang
dinyatakan dari suatu kejadian. Variabel-variabel ini mempunyai dua
kemungkinan nilai, yaitu true (benar) dan false (salah). Sedangkan setiap arc
(edge) dari jejaring Bayesian menggambarkan probabilitas ketergantungan antara
variabel-variabelnya. Ketergantungan tersebut diukur oleh conditional
probability untuk setiap node dengan parent node-nya. Maka jika variabel-
variabel dari jejaring adalah },,1,{ niX i K= dan Pa(Xi) menggambarkan
himpunan parent dari Xi, maka parameter dari jejaring ini adalah sebuah
38
himpunan distribusi },,1)),(|({ niXPaXP ii K= . Probabilitas ini menjelaskan
joint probabilities distribution untuk seluruh jejaring sebagai berikut ini:
∏=
=n
iiin XPaXPXXP
11 ))(|(),,( K
Untuk mendefinisikan sebuah jejaring Bayesian, harus dispesifikasikan:
• Variabel-variabel untuk X1, X2, ..., Xn.
• Hubungan antara variabel-variabel tersebut. Hubungan ini merepresentasikan
pengaruh kasual antar variabel-variabel. Jejaring yang dibentuk dari variabel-
variabel ini dan hubungan-hubungan di antaranya haruslah merupakan
sebuah dag.
• Probabilitas setiap variabel terhadap parent-nya, yaitu P(Xi | Pa(Xi)) untuk i =
1, ..., n.
Jadi jejaring Bayesian merupakan sebuah model dan alat acuan untuk
memecahkan masalah-masalah yang tidak pasti dengan cara menggambarkan
relasi probabilitas.
39
X1
X2
X4
X5
X3rain sprinkler
wet
slippery
Gambar 2.5 Contoh jejaring Bayesian dengan lima variabel
Gambar 2.5 mengilustrasikan contoh sederhana jejaring Bayesian yang
menjelaskan hubungan sebab-musabab di antara musim hujan (rainy season)
(X1), hujan (rain) (X2), keran air menyala (sprinkler) (X3), trotoar basah (wet)
(X4), dan trotoar licin (slippery) (X5). Di sini tidak ada arc yang menghubungkan
secara langsung antara variabel X1 dan X5, berarti tidak ada pengaruh langsung
dari cuaca pada trotoar yang licin. Pengaruh langsung untuk trotoar yang licin
(X5) adalah basahnya trotoar (X4).
Arc di dalam diagram jejaring Bayesian menggambarkan hubungan
sebab-musabab yang sesungguhnya dan bukan aliran informasi selama proses
penalaran (reasoning process) berjalan. Proses penalaran dapat dioperasikan
40
pada jejaring Bayesian dengan mengembangkan informasi di beberapa arah.
Misalnya jika keran air menyala, kemudian kemungkinan trotoar akan menjadi
basah (prediksi). Sebaliknya, jika seseorang terpeleset di trotoar, juga
membuktikan bahwa trotoar tersebut basah (abduksi). Di sisi lain, jika kita
melihat bahwa trotoar basah, yang membuatnya basah apakah keran air menyala
atau terjadi hujan (abduksi); tetapi jika kemudian kita mengamati bahwa keran
air menyala, hal tersebut mengurangi kemungkinan bahwa telah terjadi hujan.
Jejaring Bayesian merupakan salah satu model directed graph dengan
distribusi conditional probability yang harus dispesifikasikan untuk setiap node-
nya. Jika variabelnya diskrit, maka jejaring Bayesian dapat direpresentasikan
sebagai tabel dari conditional probability yang menunjukkan nilai-nilai yang
berbeda untuk setiap kombinasi antara child node dengan parent node-nya.
Perhatikan contoh di bawah ini, di mana semua node mempunyai dua
nilai, yaitu T (true) dan F (false):
41
X1
X3
X4
X5
X2
rainy season
P(X1 = F) P(X1 = T)
0.5 0.5
P(X2 = F) P(X2 = T)
0.8 0.2
0.1 0.9
X1
F
T
Rain
P(X3 = F) P(X3 = T)
0.4 0.6
0.9 0.1
X1
F
T
Sprinkler
P(X4 = F) P(X4 = T)
1.0 0.0
0.1 0.9
X2
F
F
Wet
0.1 0.9
0.01 0.99
T
T
X3
F
T
F
T
P(X5 = F) P(X5 = T)
1.0 0.0
0.2 0.8
X4
F
T
Slippery
Gambar 2.6 Conditional probability untuk setiap node jejaring Bayesian
Terjadinya trotoar basah mempunyai dua sebab, yaitu keran air menyala
(X3 = T) atau hujan (X2 = T). Kekuatan dari hubungan ini terlihat dalam tabel Wet
pada gambar 2.5. Salah satunya adalah kemungkinan trotoar basah yang berasal
dari keran air, yang bernilai probabilitas 0.9 (baris kedua pada tabel), dan kita
notasikan sebagai ),|( 324 XXXP ¬ .
Untuk contoh jejaring Bayesian ini, joint probabilities dari semua node
dapat dikalkulasi dengan perhitungan di bawah ini:
)|(),|()|()|()(),,,,( 453241312154321 XXPXXXPXXPXXPXPXXXXXP ⋅⋅⋅⋅=
42
Setiap variabel hanya bergantung dengan parent-nya. Sebagai contoh,
parent dari X4 adalah X2 dan X3. Kedua parent ini menjelaskan X4. Namun X4
tidak bergantung pada X1, karena X1 tidak menjadi parent secara langsung bagi
X4. Jadi X4 independen terhadap X1. Hal ini menyatakan
),|(),,|( 3243214 XXXPXXXXP = .
Karena rainy season (X1) tidak mempunyai parent maka P(X1) disebut
sebagai prior probability.
Tugas yang paling penting yang kita harapkan dapat terselesaikan dengan
menggunakan jejaring Bayesian adalah penarikan kesimpulan probabilitas
(probabilistic inference). Sebagai contoh, anggap kita sedang mengobservasi
kenyataan bahwa ada seseorang terpeleset di trotoar dikarenakan trotoar tersebut
licin. Kita lihat pada contoh jejaring kita sebelumnya bahwa node X5 hanya
mempunyai satu parent, yaitu X4. Ini membuktikan bahwa trotoar tersebut
menjadi licin karena trotoar basah. Ada dua kemungkinan yang
menyebabkannya, yaitu hujan (X2) atau keran air yang menyala (X3). Pertanyaan
yang akan kita jawab di sini dengan menggunakan teorema Bayesian adalah:
”Mengapa trotoar basah? Apakah karena hujan ataukah karena keran air yang
menyala?” (0 merepresentasikan false dan 1 merepresentasikan true).
Probabilitas X4 = T, bila:
• X3 = T, X2 = T, X5 = T
)|(),|()|()|()(),,,,( 453241312154321 XXPXXXPXXPXXPXPXXXXXP ⋅⋅⋅⋅=
● Untuk X1 = T, maka:
P(X1) = 0.5
43
P(X2 | X1) = 0.9
P(X3 | X1) = 0.1
P(X4 | X2, X3) = 0.99
P(X5 | X4) = 0.8
03564.08.099.01.09.05.0),,,,( 54321 =⋅⋅⋅⋅=XXXXXP ............ (1)
● Untuk X1 = F, maka:
P(X1) = 0.5
P(X2 | X1) = 0.2
P(X3 | X1) = 0.6
P(X4 |X2, X3) = 0.99
P(X5 | X4) = 0.8
04752.08.099.06.02.05.0),,,,( 54321 =⋅⋅⋅⋅=XXXXXP ............ (2)
• X3 = T, X2 = F, X3 = T
)|(),|()|()|()(),,,,( 453241312154321 XXPXXXPXXPXXPXPXXXXXP ⋅⋅⋅⋅=
● Untuk X1 = T, maka:
P(X1) = 0.5
P(X2 | X1) = 0.1
P(X3 | X1) = 0.1
P(X4 | X2, X3) = 0.9
P(X5 | X4) = 0.8
036.08.09.01.01.05.0),,,,( 54321 =⋅⋅⋅⋅=XXXXXP .................. (3)
● Untuk X1 = F, maka:
44
P(X1) = 0.5
P(X2 | X1) = 0.8
P(X3 | X1) = 0.6
P(X4 | X2, X3) = 0.9
P(X5 | X4) = 0.8
1728.08.09.06.08.05.0),,,,( 54321 =⋅⋅⋅⋅=XXXXXP ................ (4)
• X3 = F, X2 = T, X3 = T
)|(),|()|()|()(),,,,( 453241312154321 XXPXXXPXXPXXPXPXXXXXP ⋅⋅⋅⋅=
● Untuk X1 = T, maka:
P(X1) = 0.5
P(X2 | X1) = 0.9
P(X3 | X1) = 0.9
P(X4 | X2, X3) = 0.9
P(X5 | X4) = 0.8
2916.08.09.09.09.05.0),,,,( 54321 =⋅⋅⋅⋅=XXXXXP ................ (5)
● Untuk X1 = F, maka:
P(X1) = 0.5
P(X2 | X1) = 0.2
P(X3 | X1) = 0.4
P(X4 | X2, X3) = 0.9
P(X5 | X4) = 0.8
0288.08.09.04.02.05.0),,,,( 54321 =⋅⋅⋅⋅=XXXXXP ................ (6)
45
Jadi P(X1, X2, X3, X4, X5) untuk X4 = 1 adalah:
∑ ==5321 ,,, 5432154321 ),1,,,(),,,,(
XXXXXXXXXPXXXXXP
57996.0)6()5()4()3()2()1( =+++++=
Probabilitas trotoar basah karena keran air menyala (sprinkler):
)1(
),1,1,,(
)1()1|1(
)1|1(4
,, 54321
4
1343
521
=
===
===
===∑
XP
XXXXXP
XPXXP
XXP XXX
44754.057996.025956.0)1|1( 43 ==== XXP
Probabilitas trotoar basah karena turun hujan (rain):
)1(
),1,,1,(
)1()1|1()1|1(
4
,, 54321
4
1242
531
=
===
===
===∑
XP
XXXXXP
XPXXPXXP XXX
69584.057996.040356.0)1|1( 42 ==== XXP
Dari perhitungan di atas dapat kita simpulkan bahwa trotoar basah
disebabkan karena hujan, dengan bukti )1|1()1|1( 4342 ==>== XXPXXP ,
artinya probabilitas trotoar basah karena hujan lebih besar dari probabilitas
karena keran air menyala.
2.5.5. Penerapan Jejaring Bayesian Untuk Student Model
ITS merupakan bagian dari sistem basis pengetahuan yang diorientasikan
untuk mengajar. Khususnya, sebuah ITS merupakan sistem komputer ahli yang
mempunyai pengetahuan yang dalam tentang masalah subjek tertentu dan memandu
pembelajar dalam memperoleh pengetahuannya dalam sebuah proses yang interaktif.
46
Meskipun ada definisi tentang ITS yang tidak diterima dengan mempertanyakan “apa
arti mengajar dengan cara yang intelijen”, sekumpulan fitur yang ada pada ITS
adalah bahwa ITS dapat menyimpulkan sebuah model dari tingkat di mana seorang
pembelajar telah menguasai suatu subjek pengetahuan. Model ini digunakan untuk
membedakan tipe pengajaran yang dibutuhkan oleh pembelajar. Model pembelajar
(student model) adalah komponen ITS yang menggambarkan keadaan sekarang dari
pengetahuan pembelajar dan proses yang terdiri dari penarikan kesimpulan atas
kemampuan kognitif pembelajar dari data yang diobservasi yang disebut diagnosa.
Student model dan proses diagnosa merupakan dua komponen yang harus
dirancang secara bersamaan dan rancangan ini disebut dengan student modeling
problem. Jejaring Bayesian akan digunakan untuk mengambarkan student model ini
dan proses diagnosa akan menggunakan algoritma Bayesian. Student modeling
problem kemudian menjadi bentuk lain dari pengujian dan penilaian yang dapat
dibangun ke dalam model sebagai maksud untuk meningkatkan representasi dari
pengetahuan pembelajar (Everson, 1995). Everson kemudian menjelaskan
bagaimana pendekatan psikometrik dapat diaplikasikan dalam masalah ini. Teknik
baru ini termasuk pengenalan model secara statistik dan penarikan kesimpulan
menggunakan jejaring Bayesian.
Jejaring Bayesian telah berhasil digunakan untuk merancang sistem pakar
diagnosa penyakit (Millán, 1999). Masalah diagnosa penyakit ini menyimpulkan
suatu penyakit dari satu set gejala-gejala yang terobservasi. Student modeling
problem sangat mirip dengan masalah diagnosa penyakit ini karena student modeling
problem menyimpulkan pengetahuan pembelajar pada subjek tertentu dari satu set
data yang terobservasi, misalnya jawaban pembelajar tersebut pada satu set
47
pertanyaan yang diberikan oleh sistem. Oleh karena itu, dapat disimpulkan jejaring
Bayesian dapat dipakai untuk menyimpulkan student model seperti yang telah
digunakan dalam masalah diagnosa penyakit.
Dalam menarik kesimpulan mengenai informasi kemampuan yang dimiliki
oleh pembelajar, akan lebih baik jika data kemampuan direpresentasikan dalam nilai
berupa angka-angka yang mempunyai interpretasi umum dalam lingkungan
pembelajaran. Representasi yang paling cocok untuk deskripsi ini adalah
probabilitas. Probabilitas mempunyai kelebihan dalam merepresentasikan dan
menginterpretasikan tingkat kemampuan pembelajar karena probabilitas
menyediakan nilai-nilai matematika dan cara untuk mengatasi ketidakpastian dalam
tugas menilai kemampuan dan pengetahuan yang dimiliki pembelajar. Kelebihan
lainnya adalah bahwa probabilitas lebih ringkas, mudah dimengerti, dan lebih mudah
untuk dimanipulasi. Hasil dari probabilitas model pembelajar akan selalu konsisten
walaupun tidak selalu akurat, dan selalu dapat dijelaskan dalam bagian-bagian model
yang digunakan untuk membangunnya.
Dalam skripsi ini, metode yang digunakan untuk menghitung probabilitas
adalah jejaring Bayesian. Alasan memakai jejaring Bayesian ini adalah karena
berdasarkan survey yang dilakukan dalam penelitian-penelitian sebelumnya, tingkat
kepercayaan untuk menggunakan jejaring Bayesian untuk digunakan sebagai
pengambil kesimpulan mengenai student model sangatlah tinggi. Sebagai buktinya
jejaring Bayesian telah berhasil diaplikasikan untuk membangun student model
dalam beberapa aplikasi berikut:
• HYDRIVE (Mislevy, Gitomer, 1996) memodelkan kemampuan pembelajar dalam
menemukan masalah sistem hidrolik pesawat
48
• ANDES (Conati, et al., 1997) adalah sebuah ITS yang mengajarkan bagaimana
menyelesaikan masalah Fisika Newton
2.5.6 Membangun Student Model
Jika kita menggunakan jejaring Bayesian untuk mendefinisikan sebuah
student model, variabel-variabelnya dapat digambarkan dalam beberapa hal yang
berbeda, tergantung pada domain yang bersangkutan. Variabel-variabel dapat berupa
aturan, konsep, masalah, atau bahkan kemampuan atau keahlian. Variabel-variabel
ini dihubungkan dengan pengaruh sebab-musabab (kausal) di antara variabel-
variabel tersebut. Sesekali waktu hubungan antar variabel yang telah didefinisikan
ini perlu untuk ditentukan nilai conditional probability-nya.
Dalam jejaring Bayesian, probabilitas dihitung berdasarkan reliabilitas dari
prior probability dan conditional probability yang dijelaskan dalam jejaring, yakni
kemungkinan seorang peserta didik yang telah menguasai sebuah konsep menjawab
dengan benar pertanyaan yang mengandung konsep tersebut. Untuk menemukan
prior probability ini, digunakan tes diagnosis. Kita merencanakan untuk
memeperlakukan setiap konsep sebagai sebuah subskill yang berbeda, kemudian
menggunakan tes diagnosa untuk mencari tahu subskill manakah yang sudah
dikuasai oleh peserta didik. Dengan menghitung berapa kali setiap konsep atau
subskill dikuasai, maka dapat diperkirakan prior probability dari konsep tersebut.
Bayangkan ketika menjawab sebuah pertanyaan tertentu, seorang peserta
didik telah mengetahui n konsep. Untuk membangun sebuah jejaring Bayesian untuk
student model, perlu kita definisikan beberapa variabel berikut:
• Untuk setiap pertanyaan, sebuah variabel Q menunjukkan kemungkinan peserta
didik mampu atau tidak untuk menjawab pertanyaan. Q mempunyai dua nilai:
49
true jika peserta didik menjawab dengan benar, dan false jika sebaliknya.
• Untuk setiap i = 1, 2, …, n sebuah variabel Ci menunjukkan kemungkinan
peserta didik memahami konsep ke-i. Ci juga mempunyai dua nilai: true jika
peserta didik memahami konsep ke-i, atau false jika sebaliknya.
Jejaring Bayesian yang menggambarkan hubungan antara Q dan Ci adalah
sebagai berikut:
C1 C2 C3
Q
...
Gambar 2.7 Jejaring Bayesian untuk node Q dan Ci
Parameter yang diperlukan untuk jejaring ini adalah:
• Prior probability C1, C2, …, n
• Conditional probability Q yang dihasilkan oleh C1, C2, …, Cn sebanyak n + 2n
parameter
Untuk memudahkan dalam menentukan parameter dibuat dua parameter baru
untuk setiap konsep C:
• si (slip factor): kemungkinan seorang peserta didik yang memahami konsep ke-i
50
gagal untuk menerapkannya secara benar dalam pertanyaan tertentu.
• gi (guess): kemungkinan seorang peserta didik menebak jawaban dengan benar,
bahkan ketika ia tidak menerapkan konsep ke-i dengan benar.
Kemudian, probabilitas ),,,|( 21 nCCCqQP K= dapat dihitung sebagai
berikut:
∏∏∉∈
⋅−=∉¬=∧∈==Ni
iNi
ijjii gsSjcCSicCqQP )1(),,|(
Di mana }|},,2,1{{ ii cCniS =∈= K .
2.5.7 Contoh Penerapan Jejaring Bayesian untuk Student Model
Sebuah contoh sederhana akan digunakan untuk memberikan gambaran
masalah dan pendekatannya. Contoh yang akan dipakai adalah melakukan operasi
pertambahan pecahan dalam matematika. Konsep kemampuan yang dibutuhkan:
• C1: menjumlahkan seluruh angka (AddNum)
• C2: menyederhanakan pecahan (SimplFract)
• C3: menemukan faktor persekutuan terkecil (FindLCM)
• C4: menemukan persamaan pecahan yang sesuai dan menggunakan LCM
(EquivFract)
Tipe masalah (pertanyaan) yang berbeda dapat dikelompokkan sesuai dengan
tingkat kesulitannya. Semakin banyak konsep yang perlu diketahui peserta didik
dalam memecahkan suatu masalah berarti akan semakin tinggi tingkat kesulitan
masalah tersebut. Tipe-tipe masalah dan konsep yang dibutuhkan untuk jawaban
ditunjukkan pada tabel berikut:
51
Tabel 2.1 Hubungan masalah (Q) dan konsep (C)
Tipe Permasalahan Contoh Permasalahan Konsep yang DibutuhkanQ1 3
13
1 + C1
Q2 41
41 + C1, C2
Q3 41
31 + C1, C3, C4
Q4 61
31 + C1, C2, C3, C4
Untuk menggambarkan informasi ini, kita gunakan Jejaring Bayesian berikut:
Gambar 2.8 Topologi jejaring Bayesian untuk pertambahan pecahan
Oleh karena itu, untuk masalah ini kita akan membutuhkan prior probability
dari setiap penguasaan konsep dan conditional probability dari peserta didik untuk
mampu atau tidaknya dalam memecahkan masalah tertentu. Pada contoh di atas, kita
membutuhkan 4 prior probability dan 432 2222 +++ conditional probability,
sehingga seluruhnya berjumlah 34 parameter. Tetapi tidak hanya jumlah parameter
yang dianggap penting, tetapi juga sifat dasar parameter. Sebagai contoh, salah satu
dari parameter akan menjadi probabilitas bahwa seorang peserta didik mampu untuk
52
memecahkan masalah tipe 4, dinyatakan mengenai peserta didik bahwa dia tahu
bagaimana melakukan penjumlahan seluruh angka dan menemukan LCM tetapi tidak
tahu bagaimana menyederhanakan pecahan serta tidak tahu menemukan persamaan
pecahan.
Untuk mengurangi kompleksitas parameter conditional probability yang
digunakan, dengan menggunakan pendekatan yang disajikan di sini maka:
• Prior probability dapat diperkirakan oleh pengajar atau diperoleh dari tes yang
diberikan untuk sebagian kelompok dari para peserta didik untuk mendapatkan
sampel probabilitas dari suatu populasi.
• Probabilitas dari faktor slip atau guess untuk setiap konsep yang ada di dalamnya
harus diperkirakan oleh pengajar dan tentu saja akan dihubungkan dengan
bagaimana tingkat kesulitan konsep tersebut. Akan lebih mudah untuk slip pada
konsep yang mengandung perhitungan yang sulit dan untuk guess pada konsep
yang mudah.
Dengan ini kita telah mengurangi kompleksitas dari model menjadi 12
parameter saja. Sebagai contoh kita perkirakan parameter sesuai pada Tabel 2.2.
Tabel 2.2 Prior probability, slip probability, dan guess probability
Konsep Prior (p) Slip (s) Guess (g) C1 (AddNum) 0.9 0.1 0.3 C2 (SimplFract) 0.8 0.2 0.4 C3 (FindLCM) 0.6 0.4 0.1 C4 (EquivFract) 0.7 0.3 0.1
53
Kemudian conditional probability dapat dihitung dari parameter-parameter
tersebut. Contohnya probabilitas bahwa seorang peserta didik mampu memecahkan
masalah tipe 4, dinyatakan mengenai peserta didik bahwa dia tahu bagaimana untuk
melakukan penjumlahan seluruh angka dan menemukan LCM, tetapi tidak tahu
bagaimana menyederhanakan pecahan serta tidak tahu menemukan persamaan
pecahan, adalah:
0216.01.06.04.09.0)1()1(),,,|( 4321432144 =×××=⋅−⋅⋅−=¬¬= gsgsccccqQP
Jadi semua conditional probability dapat dihitung dengan mengalikan kombinasi
antara slip dan guess seperti cara di atas.
2.6. Course Generator
Course Generator merupakan komponen yang membuat materi ajar, melakukan
interaksi dengan peserta didik dan memelihara student model.
2.6.1. Course Planner
Course Planner merupakan program perencanaan AND/OR Graph yang
memiliki 2 tujuan, yaitu:
1. Menghasilkan rencana konten(topik/konsep) yang digunakan pada
pembelajaran berdasarkan tujuan pengajaran.
2. Menciptakan rencana presentasi(urutan tugas) untuk mengajar tujuan konsep.
Algoritma planning merupakan modifikasi algoritma pencarian AO*
graph(Nilsson, 1980). Graph Solusinya adalah AND-Graph yang dimulai dari konsep
/ topik diketahui oleh peserta didik (probabilitas tingi kendala dalam model peserta
didik) dan mengarah ke tujuan konsep / topik.
54
2.6.2. Executor
Executor melaksanakan rencana pembelajaran yang didapat dari Planner.
Dengan pemilihan strategi yang tepat, executor menghasilkan materi ajar yang
sesuai. Pada saat pembelajaran dilakukan pembaharuan terhadap student model
berdasarkan hasil evaluasi terhadap peserta didik. Setelah itu planner bisa saja
melakukan perencanaan ulang terhadap rencana pembelajaran berdasarkan student
model yang sudah berubah.
2.6.3. Teknik Pencarian
Hampir semua program intelegensia semu dapat dikatakan melakukan suatu
bentuk penyelesaian masalah entah itu menerjemahkan pemandangan visual,
penguraian suatu kalimat atau perencanaan urutan aksi robot. Teknik pencarian
adalah salah satu dari pusat pembicaraan pada sistem penyelesaian masalah. Hal itu
terjadi ketika kapanpun sistem, karena kekurangan pengetahuan, dihadapkan pada
sejumlah alternatif dimana tiap pilihan akan mengarahkan ke pilihan lainnya yang
lebih dalam dan seterusnya sampai masalah tersebut terselesaikan.
2.6.3.1. Teknik Pencarian Melebar Pertama
Pada Teknik Pencarian Melebar Pertama, semua node pada level n akan
dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1.
Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian
berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga
ditemukannya solusi.
Contoh Teknik Pencarian Melebar Pertama
55
Gambar 2.9 Teknik Pencarian Melebar Pertama
Teknik Pencarian Melebar Pertama memiliki keunggulan antara lain
adalah tidak akan menemui jalan buntu. Jika ada sebuah solusi, maka Teknik
Pencarian Melebar Pertama akan menemukan solusi tersebut dan apabila ada
lebih dari satu solusi, maka minimal sebuah solusi akan ditemukan. Akan tetapi
teknik pencarian ini memiliki kelemahan yaitu adalah teknik pencarian ini
memerlukan memori yang cukup banyak, karena menyimpan semua node dalam
satu pohon. Selain itu teknik pencarian ini juga membutuhkan waktu yang lama,
karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1).
2.6.3.2. Teknik Pencarian Mendalam Pertama
Pada Teknik Pencarian Mendalam Pertama, proses pencarian akan
dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang
satu level. Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini
diulang terus hingga ditemukan solusi.
Contoh Teknik Pencarian Mendalam Pertama
56
Gambar 2.10 Teknik Pencarian Mendalam Pertama
Teknik Pencarian Mendalam Pertama memiliki keunggulan antara lain
membutuhkan memori yang relatif kecil, karena node-node pada lintasan yang
aktif saja yang disimpan. Selain itu teknik pencarian ini tidak perlu memeriksa
banyak ruang pencarian secara keseluruhan untuk menemukan sebuah solusi.
Namun teknik pencarian ini juga memiliki kelemahan, yakni memungkinkan
tidak ditemukannya tujuan yang diharapkan dan hanya akan mendapatkan satu
solusi pada setiap pencarian.
2.6.3.3. Teknik Pencarian Heuristik
Heuristik adalah petunjuk praktis yang membantu kita untuk memutuskan
apa yang akan kita lakukan. Dengan heuristik kita tidak perlu berpikir secara
lengkap dalam menghadapi masalah-masalah. Sadar atau tidak sadar kita
seringkali menggunakan heuristik. Kata heuristik itu sendiri diturunkan dari
Bahasa Yunani yaitu “eureka” yang berarti “menemukan”. Dua teknik pencarian
yang dibahas sebelumnya dikatakan merupakan pencarian yang exhaustive.
57
Maksudnya adalah kedua teknik pencarian tersebut melakukan pencarian secara
sistematis namun tanpa mengetahui kira-kira di mana goal node akan ditemukan.
Agar pencarian yang exhaustive tidak terjadi, maka diperlukan suatu cara agar
mekanisme pencarian dapat lebih diarahkan menuju goal node. Hal tersebut
dapat dicapai dengan memberikan petunjuk pada mekanisme pencarian. Secara
teknis, petunjuk yang dimaksud inilah yang disebut heuristik. Dengan
memberikan informasi mengenai jarak dari node saat ini ke node goal misalnya,
akan membuat pencarian menjadi lebih terarah tanpa harus mengeksplorasi node-
node lain yang tidak akan menyebabkan tercapainya tujuan.
Perhatikan gambar 2.11, pada gambar tersebut terdapat sebuah graph
yang tiap path-nya memiliki informasi mengenai jarak antara node saat ini
dengan node selanjutnya. Dengan petunjuk tersebut, path yang jaraknya lebih
kecil akan diambil.
Gambar 2.11 Graph dengan nilai pada tiap path
58
Jika node awal adalah A dan node goal yang dimaksud adalah G, maka
langkah yang akan diambil dengan menggunakan Teknik Pencarian Heuristik ini
adalah A-B-D-F-E-G dengan total path yang diambil adalah 11. Pada awal, di
node A antara 5 dan 9 akan dipilih 5 karena lebih kecil jarak path-nya. Pada node
B dipilih path ke node D karena jarak menuju node D lebih kecil daripada ke
node E. Baru dari node D dipilih path ke E karena path ke F memiliki jarak 3.
Dari E langsung ke goal node dengan jarak path 3.
2.6.3.4. Pembobotan
Pada beberapa jenis grafik biasanya terdapat bobot (weight) di tiap
garisnya dan biasanya direpresentasikan dengan angka riil. Angka-angka tersebut
dapat dibatasi pada bilangan rasional atau bulat. Beberapa algoritma tertentu
membutuhkan pembatasan lebih lanjut dalam pembobotan, contohnya algoritma
Djikstra yang bekerja hanya pada bobot positif. Pada beberapa teori grafik,
istilah jejaring digunakan untuk menyebut grafik yang memiliki bobot. Jejaring
dapat berupa directed ataupun undirected.
2.7. PRADO
PRADO adalah sebuah framework pemrograman yang berbasikan komponen dan
event-driven untuk mengembangkan aplikasi Web dalam PHP 5. PRADO merupakan
singkatan dari PHP Rapid Application Development Object-oriented. Tujuan utama dari
PRADO adalah memaksimalkan reusability dalam pemrograman Web. Reusability
dalam hal ini, bukan hanya berarti menggunakan ulang code sendiri, tetapi juga
menggunakan ulang code orang lain dengan cara yang mudah. Hal tersebut penting
59
karena menghemat waktu dalam upaya reinventing the wheel dan dapat memotong
waktu pengembangan secara dramatis. Pengenalan mengenai konsep komponen
ditujukan agar reusability dapat terwujud.
Untuk mencapai tujuan di atas, PRADO menetapkan sebuah protokol dalam
menulis dan menggunakan komponen untuk membangun aplikasi Web. Komponen
adalah unit perangkat lunak yang serba lengkap dan dapat digunakan kembali dengan
penyesuaian sederhana. Sebuah komponen baru dapat dibuat dengan komposisi
sederhana dari komponen yang sudah ada. Untuk memudahkan interaksi dengan
komponen, PRADO menerapkan sebuah paradigma pemrograman event-driven yang
memungkinkan delegasi dari perilaku ke komponen. Aktivitas user, seperti mengklik
tombol submit, diambil sebagai event server. Methods dapat dilampirkan pada event ini,
sehingga bila terjadi event, methods tersebut secara otomatis terpanggil untuk
menanggapi event. Dibandingkan dengan pemrograman Web tradisional di mana para
pengembang harus berurusan dengan variabel POST atau GET, pemrograman event-
driven membantu pengembang lebih fokus pada logika yang diperlukan dan mengurangi
secara signifikan penulisan code yang low-level secara berulang.
Secara ringkas, mengembangkan aplikasi Web menggunakan PRADO
melibatkan komponen yang telah ada, mengkonfigurasi pengaturan propertinya,
menanggapi event dengan menuliskan fungsi yang menanganinya, dan menyusun
mereka ke dalam halaman untuk aplikasi. Sangat mirip dengan toolkit RAD, seperti
Borland Delphi dan Microsoft Visual Basic, yang digunakan untuk mengembangkan
aplikasi GUI desktop.
60
2.7.1. Keuntungan menggunakan PRADO
PRADO dikatakan sebagai framework yang unik. Bahkan, karena uniknya
dapat mengubah pemrograman PHP yang membosankan menjadi tugas yang
menyenangkan. Berikut ini adalah ringkasan pendek dari fitur utama PRADO :
1. Reusability - Code yang mengikuti protokol komponen PRADO sangat reusable.
Hal ini menguntungkan tim pengembang dalam jangka panjang, karena mereka
dapat menggunakan kembali pekerjaan mereka yang lama dan mengintegrasikan
pekerjaan pihak lain dengan mudah.
2. Event-driven programming - Aktivitas user, seperti mengklik tombol submit,
diambil sebagai event server sehingga pengembang dapat lebih berfokus
menangani interaksi dengan user.
3. Team integration - Presentasi dan logika disimpan secara terpisah. Aplikasi
PRADO dapat berganti-ganti theme.
4. Powerful Web controls - PRADO hadir dengan kumpulan komponen yang
menangani antarmuka pengguna Web. Halaman Web dengan interaksi yang
tinggi dapat dibuat dengan beberapa baris kode. Sebagai contoh, menggunakan
komponen datagrid, programmer dapat dengan cepat membuat sebuah halaman
yang menyajikan tabel data yang memungkinkan paging, penyortiran,
pengeditan, dan menghapus baris data.
61
5. Strong database support - Sejak versi 3.1, PRADO telah dilengkapi dengan
dukungan database lengkap yang ditulis dengan baik. Sesuai dengan
kompleksitas dari obyek bisnisnya, programmer dapat memilih untuk
menggunakan akses data berbasis PDO sederhana, atau dengan active record
yang cukup dikenal, lengkap atau skema pemetaan obyek bisnis SqlMap.
6. Seamless AJAX support - Menggunakan AJAX dalam PRADO sangat mudah
dengan menggunakan active control yang inovatif yang diperkenalkan sejak
versi 3.1. Programmer dapat dengan mudah menulis aplikasi AJAX tanpa
menulis satu baris kode javascript sama sekali. Bahkan, menggunakan active
control tidak jauh berbeda dengan menggunakan non-AJAX Web kontrol biasa.
7. I18N and L10N support - PRADO menyertakan dukungan lengkap untuk
membangun aplikasi dengan beberapa bahasa dan lokalisasi.
8. XHTML compliance - halaman Web yang dihasilkan oleh PRADO adalah sesuai
XHTML.
9. Accommodation of existing work - PRADO adalah framework umum dengan
fokus pada lapisan presentasi. Ia tidak mengecualikan para pengembang dari
penggunaan class yang ada atau toolkit.
2.7.2. PRADO dibandingkan framework lain
PRADO merupakan framework yang unik. Keunikannya terutama terletak
pada paradigma pemrograman berbasis komponen dan event-driven. Walaupun
62
paradigma ini bukan merupakan hal baru dalam pemrograman aplikasi desktop dan
bukan baru dalam beberapa bahasa pemrograman web, PRADO mungkin merupakan
framework PHP pertama yang memungkinkan hal tersebut.
Kebanyakan framework PHP berfokus pada memisahkan presentasi dan
logika dan mendorong pemakaian pola desain MVC (model-view-controller).
PRADO mencapai tujuan yang sama dengan cara menyimpan logika dalam class dan
presentasi dalam template. PRADO melakukan hal lebih pada aspek-aspek lain
selain MVC. PRADO mengisi banyak area kosong dalam pemrograman Web PHP
dengan paradigma pemrograman berbasis komponen, kaya akan kumpulan kontrol
untuk Web, dengan dukungan kuat database, penanganan kesalahan yang fleksibel
dan fitur logging, dan sebagainya.
2.7.3. Sejarah PRADO
Inspirasi awal dari PRADO berasal dari Apache Tapestry. Selama desain dan
implementasi, pengembang banyak meminjam ide dari Borland Delphi dan
Microsoft ASP.NET. Versi pertama PRADO keluar pada bulan Juni 2004 dan ditulis
dalam PHP 4. Digerakkan oleh Zend PHP 5 coding contest, saya menulis ulang
PRADO dalam PHP 5, yang merupakan tindakan bijaksana, karena adanya model
obyek baru yang disediakan oleh PHP 5. PRADO memenangkan hadiah utama
dalam kontes Zend, mendapatkan perolehan suara tertinggi kedua dari masyarakat
dan juri.
Pada bulan Agustus 2004, PRADO mulai dimasukkan di SourceForge
sebagai proyek yang open source. Segera setelah itu, proyek situs xisc.com
diumumkan ke publik. Dengan dukungan fantastis dari tim pengembang PRADO
63
dan pengguna PRADO, PRADO berkembang ke versi 2.0 pada pertengahan 2005.
Dalam versi ini, Wei Zhuo berkontribusi ke PRADO dengan baik dalam dukungan
I18n dan L10N. Pada bulan Mei 2005, pengembang memutuskan untuk menulis
ulang sepenuhnya framework PRADO yang menyelesaikan beberapa masalah
mendasar ditemukan di versi 2.0 dan untuk menangkap beberapa fitur yang tersedia
dalam Microsoft ASP.NET 2.0. Setelah hampir satu tahun kerja keras dengan lebih
dari 50.000 baris kode baru, versi 3,0 itu akhirnya tersedia pada bulan April 2006.
Mulai dari versi 3.0, usaha signifikan dialokasikan untuk memastikan
kualitas dan stabilitas PRADO. Jika pengembang katakan PRADO v2.x dan v1.x
adalah pekerjaan bukti-dari-konsep, kami dapat mengatakan PRADO 3.x telah
berkembang sampai proyek yang cocok untuk pengembangan aplikasi bisnis.
2.7.4. Arsitektur PRADO
PRADO pada umumnya adalah sebuah framework presentasional, meskipun
tidak terbatas pada itu saja. PRADO berfokus pada pembuatan pemrograman Web,
yang sebagian besar berurusan dengan waktu interaksi pengguna, menjadi berbasis
komponen dan event-driven agar para pengembang dapat lebih produktif. Pohon
class berikut menggambarkan beberapa kelas utama yang disediakan oleh PRADO,
64
Gambar 2.12 Pohon Class utama framework PRADO
Ketika sebuah aplikasi PRADO memproses permintaan halaman, diagram objek statis-
nya dapat ditampilkan sebagai berikut,
Gambar 2.13 Diagram Objek Statis halaman web PRADO
Top Related