BAB 2 LANDASAN TEORI
2.1 INTELEGENSIA SEMU Sebelum kita memperdalam mengenai intelegensia semu, terlebih dahulu kita mendefinisikan tentang intelligence atau kecerdasan, yang dalam hal ini berkaitan dengan mesin atau komputer. Jadi intelegensia semu adalah bagian dari semua bidang ilmu komputer. Intelegensia semu bertujuan untuk memungkinkan suatu komputer menjadi terlihat lebih pandai dan menyerupai manusia, yaitu mempunyai pikiran sendiri. Menurut Alan Turing, sebuah mesin dapat dikatakan sebagai cerdas jika mesin tersebut mampu menyelesaikan sebuah tes, yang umum disebut sebagai Turing test. Dalam tes ini, seorang interogator dihadapkan dengan seorang manusia dan sebuah mesin komputer. Interogator berkomunikasi dengan keduanya menggunakan media tekstual. Jika melalui proses tanya jawab sang interogator tidak dapat membedakan antara manusia dengan mesin komputer, maka menurut Turing mesin tersebut dapat diasumsikan cerdas. Menurut Russell dan Norvig (2003, p5), intelegensia semu mempunyai definisi-definisi yang dapat dibagi menjadi 4 kategori berikut: •
Sistem yang dapat berpikir seperti manusia (acting humanly) •
Seni membuat mesin yang dapat melakukan fungsi-fungsi tertentu yang ketika dilakukan oleh manusia akan membutuhkan kecerdasan.
•
Studi tentang bagaimana membuat komputer melakukan perkerjaan yang
10
11 pada saat ini manusia melakukannya dengan lebih baik. •
Sistem yang dapat berpikit secara rasional (thinking humanly) •
Usaha yang baru dan menarik untuk membuat komputer berpikir.
•
Otomatisasi aktivitas-aktivitas yang kita asosiasikan dengan pemikiran manusia, antara lain aktivitas-aktivitas seperti pengambilan keputusan, pemecahan masalah, belajar, dan sebagainya.
•
Sistem yang dapat bertindak seperti manusia (acting rationally) •
Suatu bidang studi yang bertujuan untuk menjelaskan dan meniru intelligent behaviour dalam bentuk proses komputasional.
•
Cabang dari ilmu komputer yang memperhatikan otomatisasi intelligent behaviour.
•
Sistem yang dapat bertindak secara rasional (thinking rationally) •
Studi tentang mental faculties melalui metode-metode komputasional.
•
Studi komputasi yang memungkinkan pemahaman, penalaran, dan aksi. Intelegensia semu ini membuat komputer menjadi lebih berguna, antara
lain karena dari hasil dari penelitian intelegensia semu saat ini, komputer dapat melakukan berbagai fungsi seperti: •
Belajar dari lingkungan tanpa instruksi program langsung
•
Mengenali gambar-gambar sederhana
•
Mengerti bahasa yang mudah dan mampu meresponnya
•
Memecahkan masalah yang kompleks
•
Memproses model psikologi
12 2.2 COMPUTER-ASSISTED INSTRUCTION Komputer telah digunakan dalam dunia pendidikan sejak 25 tahun yang lalu. Pengembangan awal ke depan memperkenalkan program perangkat lunak sebagai alat bantu dalam proses pembelajaran yang diformulasikan ke dalam bentuk Computer-Assisted Instruction (CAI). Menurut Freedman (1996, p11), CAI adalah suatu sistem pengajaran yang menggunakan komputer sebagai alat bantu dalam menyampaikan materi-materi yang diajarkan. CAI telah mengalami berbagai perkembangan. Berdasarkan Freedman (1996, p101), CAI pertama kali dicetuskan di Harvard University pada sekitar tahun 1965, yang kemudian bekerja sama dengan IBM untuk dikembangkan lebih lanjut. CAI dikenal dengan berbagai istilah, misalnya di Amerika Serikat CAI lebih dikenal dengan nama Computer-Assisted Learning (CAL), di Inggris lebih mengenal CAI sebagai Computer-Based Training (CBT), dan juga dikenal istilahistilah lainnya seperti Computer-Based Instruction (CBI), Computer-Based Education (CBE), Interactive Multimedia Instruction (IMI), dan ComputerManaged
Instruction
(CMI).
Istilah-istilah
ini
dapat
digunakan
untuk
menunjukkan kegunaan teknologi komputer dalam penulisan materi, manajemen proses pendidikan, pelatihan, instruksi, dan pengajaran. Perbedaan istilah-istilah tersebut mencerminkan bagian dari dukungan komputer dan aktivitas tradisional manusia dalam pendidikan dan spesifikasi dari proses-proses berbasiskan komputer.
13 2.2.1 CAI Tradisional CAI dirancang untuk meningkatkan pembelajaran melalui interaksi dengan komputer yang menampilkan permasalahan-permasalahan kepada pelajar secara interaktif dengan tujuan supaya proses belajar menjadi lebih efisien, konsisten, dan meningkatkan motivasi pemelajar, disertai dengan umpan balik yang cepat dan bersifat individualized. Kelemahan CAI mengacu pada tutor komputerisasi tradisional dengan: •
Hanya menyediakan interaktivitas yang terbatas
•
Penyampaian semua instruksi secara sekuensial
•
Penyediaan umpan balik yang terbatas ketika pelajar menjawab pertanyaan secara tidak benar
•
Umumnya berdasarkan ide tentang pengajaran Walaupun CAI telah menjadi penyedia pembelajaran individu selama 25
tahun, sistem tersebut sangat pasif, di mana sistem ini hanya menampilkan teks dari halaman satu ke halaman lainnya yang menggunakan sebuah decision tree untuk memandu pemelajar berdasarkan jawaban dan tanggapan dari si pemelajar (Urban-Lurain, 1996). CAI gagal meningkatkan tingkat pengetahuan pemelajar, karena CAI tidak mampu untuk membedakan pemelajar dari segi kebutuhan maupun latar belakang si pemelajar. Dan tentu saja sistem ini tidak memiliki kemampuan sebagai pengajar sesungguhanya yang dapat mengetahui kapan harus membantu pemelajar ketika menghadapi kesulitan terhadap suatu subjek atau kapan akan melanjutkan pemberian topik baru ketika pemelajar sudah mengalami peningkatan.
14 2.2.2 Intelligent Tutoring System Dengan adanya kemajuan dalam bidang intelegensia semu dan pengetahuan kognitif, para peneliti dalam bidang teknologi informasi melihat adanya kebutuhan intelegensia semu pada sistem CAI. Maka dikombinasikan dengan kemampuan dalam proses komputer terutama dalam bidang pengajaran secara prosedural dan strategi untuk memecahkan masalah, teknik intelegensia semu dipakai untuk mengevaluasi status pengetahuan yang dimiliki oleh pemelajar. Tanpa pengetahuan yang cukup tentang “apa yang diketahui” dan “tidak diketahui” oleh pemelajar akan masalah yang sedang diberikan, sistem tersebut tidak dapat memberikan pengajaran yang bersifat adaptif terhadap pemelajar. Oleh karena telah hadir sebuah bidang baru hasil integrasi antara intelegensia semu dengan CAI yang disebut Intelligent Tutoring System (ITS) untuk mengatasi kekurangan-kekurangan CAI. Pengertian ITS menurut beberapa narasumber antara lain: •
Menurut Frederic Danna (1997), ITS adalah sebuah perangkat lunak yang bertujuan untuk mengkomunikasikan pengatahuan dari suatu domain (matematika, bahasa, dan sebagainya) kepada penggunanya. Sistem ini disebut intelijen jika sistem ini dapat mengadaptasi interaksi-interaksi pemelajar.
•
Menurut Stankov, Glaavinic, dan Rosic (2000), ITS adalah sebuah sistem komputer generasi baru untuk dukungan dan peningkatan pembelajaran. Definisi umum dari ITS mengkarakterisasikannya sebagai sistem yang berdasar pada basis pengetahuan, pengajar, dan pemelajar.
15 Berdasarkan
definisinya,
ITS
adalah
sistem
intelegensia
yang
menyediakan pembelajaran kepada pemelajar dan memiliki kemampuan untuk membandingkan pemahaman pengetahuan belajar oleh model pakar. Oleh karena itu, tidak seperti CAI yang pasif menunggu pemelajar untuk melanjutkan subjeknya, ITS secara nyata mendorong keingintahuan pemelajar dengan secara aktif memantau kemampuan pemelajar dan memberikan bantuan ketika diminta. ITS mengacu pada sistem instruksional komputerisasi tingkat lanjut, di mana: •
Menyediakan interaktivitas yang tinggi, penyampaian pembelajaran dan pelatihan berbasiskan komputer.
•
Menyesuaikan pembelajaran dengan kekuatan dan kelemahan pemelajar
•
Menyediakan pelatihan dengan pengajar intelegensia semu
•
Memperbesar metode pembelajaran secara lebih mendalam ITS merupakan program perangkat lunak yang diberikan untuk
mendukung proses belajar. Sistem ini dapat diterapkan di dalam sistem pendidikan pada umumnya, maupun sistem pendidikan jarak jauh, antara lain aplikasi dalam bentuk CD-ROM atau aplikasi yang diakses melalui Internet. ITS menampilkan cara baru dalam pendidikan yang dapat membantu peran pengajar biasa dan meningkatkan peranan tersebut. ITS dapat membentuk suatu model yang merepresentasikan pengetahuan yang dimiliki pemelajar. Model dibentuk berdasarkan jawaban dan tanggapan pemelajar. Penelitian yang telah dilakukan terhadap sistem-sistem prototype yang telah dibuat mengindikasikan bahwa pemelajar yang menggunakan ITS rata-rata
16 dapat belajar lebih cepat dan dapat mengubah proses pembelajaran dengan lebih baik dibandingkan dengan pemelajar yang diajar pada ruang kelas. Penerapan dari ITS ini dapat dilihat pada Carneggie-Mellon University, di mana pada pertengahan tahun 80-an para peneliti membangun sebuah ITS yang disebut LISP Tutor, yang mengajarkan kemampuan pemrograman kepada mahasiswanya. Efisiensi ITS juga dapat dilihat dari hasil sebuah eksperimen yang terkontrol yang membuktikan bahwa pemelajar yang menggunakan ITS memperoleh nilai 43% lebih tinggi pada ujian akhir daripada kelompok lainnya yang diajar secara tradisional. Selain itu, kelompok yang diajar secara tradisional ini juga membutuhkan waktu 30% lebih banyak dibandingkan kelompok pengguna ITS ketika diberikan permasalahan-permasalahan yang lebih kompleks. Selain untuk menyediakan keuntungan dari pembelajaran untuk setiap pemelajar, ITS juga mampu memberikan efektivitas biaya. Selain itu ITS dapat menilai setiap aksi yang dilakukan pemelajar dalam lingkungan yang interaktif, membangun model dari pengetahuan mereka, dan menentukan strategi pelatihan berdasarkan masukan dari salah satu komponen sistem.
2.3 BCOOL Kemajuan teknologi informasi dan telekomunikasi telah banyak dimanfaatkan untuk menyertai proses pembelajaran. Namun hal ini belum sepenuhnya dapat dimanfaatkan mengingat hampir semua rancangan model pembelajaran yang digunakan masih menggunakan metodologi rancangan belajar kelas (Martinez, 2002). Berangkat dari pemikiran bahwa teknologi seharusnya
17 digunakan
untuk
memfasilitasi
proses
pembelajaran,
lahirlah
konsep
pembelajaran Brain Compatible Online Learning (Santika, Tanamal, 2004) atau BCOOL.
Gambar 2.1 Model konseptual BCOOL
18 Kerangka
konseptual
model
pembelajaran
BCOOL
sebagaimana
diperlihatkan oleh Gambar 2.1 dijelaskan dengan penjelasan sebagai berikut: •
Gaining attention, dimaksudkan untuk membangun kesiapan emosional para pemelajar untuk memulai proses belajarnya. Gaining attention dapat dilakukan melalui penyajian ringkasan materi ajar yang komprehensif dan applet simulator interaktif. Lebih dari itu, dengan memangaatkan teknologi hyperlink yang tersedia, materi prerekusit yang diperlukan dapat secara mudah diakses untuk mendukung upaya pemelajar dalam merekonstruksi pemahaman awal yang dimilikinya.
•
Pattern searching, yaitu tahap yang diharapkan dapat memfasilitasi pemelajar dalam membangun struktur kognitifnya secara lebih efektif dan efisien. Pemahaman awal yang dibangun melalui tahap gaining attention akan direkonfirmasi melalui aktivitas review dan penyediaan peta konsep.
•
Exploration, yakni tahap di mana pemelajar memiliki kesempatan yang sangat luas untuk menjelajahi seluruh materi pembelajaran. Di samping dapat mengakses materi ajar dan simulator-simulator interaktif yang telah dipersiapkan oleh instruktur, pemelajar juga dapat mengakses informasiinformasi yang relevan yang tersedia di berbagai sumber di Internet.
•
Multiple repetition and feedback, yaitu tahap akhir dari BCOOL terdiri dari latihan-latihan dalam bentuk online quiz pilihan ganda. Atas dasar jawaban online quiz yang diberikan oleh pemelajar, analisis Bayesian dengan mudah dapat mengetahui nilai probabilitas penguasaan setiap konsep yang dicapai oleh setiap individu pemelajar.
19
2.4 PENALARAN PROBABILITAS Sejauh ini, telah dikenal beberapa teknik yang digunakan untuk menggambarkan model kepercayaan, di mana ada dua kondisi nyata yang didapatkan, yaitu sebagain fakta yang dipercaya benar (true) dan yang dipercaya salah (false). Misalnya untuk memecahkan masalah yang mampu menjelaskan tingkat kepercayaan tak tentu tetapi ada beberapa bukti (evidence) yang mendukung masalah tersebut. Dalam beberapa situasi memecahkan suatu masalah, pengetahuan yang tersedia tidak lengkap atau tidak tepat, misalnya seperti suatu prediksi dan diagnosa medis. Dalam kasus seperti ini, pengetahuan yang ada tidak mencukupi untuk mendukung urutan yang diperlukan untuk mengambil kesimpulan logis. Meskipun pengetahuan yang kita miliki tidak lengkap, kita dapat membuat dan menggunakan generalisasi (penyamarataan) dan pendekatan yang membantu kita untuk menyimpulkan pengalaman kita dan meramalkan sesuatu yang belum diketahui. Metode penalaran probabilitas mengijinkan sistem intelegensia semu untuk menggunakan pengetahuan yang tak tentu atau probabilitas dan dapat membantu kita mengumpulkan bukti untuk melakukan hipotesa. Penalaran probabilitas merupakan alat yang tepat untuk membuat keputusan. Teori pengambilan keputusan, berhubungan dengan teori probabilitas, menyediakan teknik tambahan untuk membantu meminimalisasi resiko dalam pengambilan keputusan.
20 2.4.1 Probabilitas dan Teorema Bayes Tujuan penting untuk beberapa sistem pemecahan masalah adalah mengumpulkan bukti pada sistem yang berjalan dan untuk memodifikasi perilaku dasar dari bukti tersebut. Untuk memodelkan perilaku ini, kita membutuhkan teori statistik dari bukti tersebut, yaitu statistik Bayesian. Dugaan dasar dari statistik Bayesian adalah probabilitas bersyarat (conditional probability) P ( H | E ) .
Ekspresi ini menggambarkan probabilitas dari hipotesa H yang diberikan untuk kita amati dengan bukti (evidence) E. Teorema Bayes menyatakan: P( H i | E ) =
P( E | H i ) ⋅ P( H i ) k
∑ P( E | H n =0
n
) ⋅ P( H n )
•
P ( H i | E ) adalah probabilitas bahwa hipotesa Hi = true jika diketahui bukti E.
•
P ( E | H i ) adalah probabilitas adanya bukti E jika diketahui hipotesa Hi = true.
•
P( H i ) adalah probabilitas utama bahwa Hi = true dengan ketiadaan beberapa bukti tertentu. Probabilitas ini disebut prior probability.
•
k adalah jumlah banyaknya kemungkinan hipotesa yang terjadi. Beberapa alasan yang membuat teorema Bayes ini sulit untuk dikerjakan
dalam menangani probabilitas antara lain: •
Terlalu banyak probabilitas yang harus disediakan, sehingga upaya untuk memperolehnya bermasalah.
•
Ruang yang menjadi batasan untuk menyediakan probabilitas terlalu luas.
•
Waktu yang diperlukan untuk melakukan perhitungan terlalu besar.
21 Meskipun ada alasan-alasan tersebut, melalui statistik Bayesian disediakan dasar sistem penalaran untuk masalah tak tentu yang sangat kompleks. Adapun beberapa mekanisme untuk mengeksploitasi kekuatan dari statistik Bayesian antara lain: •
certainty factor
•
teori Dempster-Shafer
•
jejaring Bayesian
2.4.2 Certainty Factor
Certainty factor (CF) adalah sebuah nilai numerik dari sebuah bukti yang diterima sebagai sebuah kesimpulan. 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:
•
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
22 2.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 berbedabeda Kekurangan teori Dempster-Shafer:
•
perhitungan komputasi yang kompleks
•
teori pengambilan keputusan yang kurang
•
eksperimen perbandingan antara teori Dempster-Shafer dengan teori probabilitas sulit untuk dilakukan.
•
tidak adanya keuntungan yang dapat terlihat dengan jelas pada teori Dempster-Shafer
23 2.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 { X i , i = 1,K , n} dan Pa(Xi) menggambarkan himpunan parent dari Xi, maka
parameter
dari
jejaring
ini adalah
sebuah
himpunan
distribusi
{P( X i | Pa( X i )), i = 1,K, n} . Probabilitas ini menjelaskan joint probabilities distribution untuk seluruh jejaring sebagai berikut ini:
24 n
P ( X 1 , K, X n ) = ∏ P ( X i | Pa( X i )) i =1
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 variabelvariabel 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.
25
X1
rain
X2
X3
wet
X4
slippery
X5
sprinkler
Gambar 2.2 Contoh jejaring Bayesian dengan lima variabel
Gambar 2.2 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 sebabmusabab yang sesungguhnya dan bukan aliran informasi selama proses penalaran (reasoning process) berjalan. Proses penalaran dapat dioperasikan pada jejaring
26 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 nodenya. 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):
27 rainy season P(X1 = F)
P(X1 = T)
0.5
0.5
X1
Rain
Sprinkler X1
P(X3 = F)
P(X3 = T)
F
0.4
0.6
T
0.9
0.1
X2
X3
X1
P(X2 = F)
P(X2 = T)
F
0.8
0.2
T
0.1
0.9
Wet X3 X2 P(X4 = F) P(X4 = T) X4
Slippery X4
P(X5 = F)
P(X5 = T)
F
1.0
0.0
T
0.2
0.8
F
F
1.0
0.0
T
F
0.1
0.9
F
T
0.1
0.9
T
T
0.01
0.99
X5
Gambar 2.3 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.2. Salah satunya adalah kemungkinan trotoar basah yang berasal dari keran air, yang bernilai probabilitas 0.9 (baris kedua pada tabel), dan kita notasikan sebagai P ( X 4 | ¬X 2 , X 3 ) . Untuk contoh jejaring Bayesian ini, joint probabilities dari semua node dapat dikalkulasi dengan perhitungan di bawah ini: P( X 1 , X 2 , X 3 , X 4 , X 5 ) = P( X 1 ) ⋅ P( X 2 | X 1 ) ⋅ P( X 3 | X 1 ) ⋅ P( X 4 | X 2 , X 3 ) ⋅ P( X 5 | X 4 )
28 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
P( X 4 | X 1 , X 2 , X 3 ) = P( X 4 | X 2 , X 3 ) . 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 P( X 1 , X 2 , X 3 , X 4 , X 5 ) = P( X 1 ) ⋅ P( X 2 | X 1 ) ⋅ P( X 3 | X 1 ) ⋅ P( X 4 | X 2 , X 3 ) ⋅ P( X 5 | X 4 )
●
Untuk X1 = T, maka: P(X1) = 0.5
29 P(X2 | X1) = 0.9 P(X3 | X1) = 0.1 P(X4 | X2, X3) = 0.99 P(X5 | X4) = 0.8 P ( X 1 , X 2 , X 3 , X 4 , X 5 ) = 0.5 ⋅ 0.9 ⋅ 0.1 ⋅ 0.99 ⋅ 0.8 = 0.03564 .......................(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 P ( X 1 , X 2 , X 3 , X 4 , X 5 ) = 0.5 ⋅ 0.2 ⋅ 0.6 ⋅ 0.99 ⋅ 0.8 = 0.04752 .......................(2)
•
X3 = T, X2 = F, X5 = T P( X 1 , X 2 , X 3 , X 4 , X 5 ) = P( X 1 ) ⋅ P( X 2 | X 1 ) ⋅ P( X 3 | X 1 ) ⋅ P( X 4 | X 2 , X 3 ) ⋅ P( X 5 | X 4 )
●
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 P ( X 1 , X 2 , X 3 , X 4 , X 5 ) = 0.5 ⋅ 0.1 ⋅ 0.1 ⋅ 0.9 ⋅ 0.8 = 0.0036 ...........................(3)
●
Untuk X1 = F, maka:
30 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 P ( X 1 , X 2 , X 3 , X 4 , X 5 ) = 0.5 ⋅ 0.8 ⋅ 0.6 ⋅ 0.9 ⋅ 0.8 = 0.1728 ...........................(4) •
X3 = F, X2 = T, X5 = T P( X 1 , X 2 , X 3 , X 4 , X 5 ) = P( X 1 ) ⋅ P( X 2 | X 1 ) ⋅ P( X 3 | X 1 ) ⋅ P( X 4 | X 2 , X 3 ) ⋅ P( X 5 | X 4 )
●
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 P ( X 1 , X 2 , X 3 , X 4 , X 5 ) = 0.5 ⋅ 0.9 ⋅ 0.9 ⋅ 0.9 ⋅ 0.8 = 0.2916 ...........................(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 P ( X 1 , X 2 , X 3 , X 4 , X 5 ) = 0.5 ⋅ 0.2 ⋅ 0.4 ⋅ 0.9 ⋅ 0.8 = 0.0288 ...........................(6)
31 Jadi P(X1, X2, X3, X4, X5) untuk X4 = 1 adalah:
P( X 1 , X 2 , X 3 , X 4 , X 5 ) = ∑ X
1,X2 ,X3 ,X5
P( X 1 , X 2 , X 3 , X 4 = 1, X 5 )
= (1) + (2) + (3) + (4) + (5) + (6) = 0.57996 Probabilitas trotoar basah karena keran air menyala (sprinkler):
P ( X 3 = 1 | X 4 = 1) =
P ( X 3 = 1, X 4 = 1) = P ( X 4 = 1)
P( X 3 = 1 | X 4 = 1) =
∑
X1 , X 2 , X 5
P ( X 1 , X 2 , X 3 = 1, X 4 = 1, X 5 ) P ( X 4 = 1)
0.25956 = 0.44754 0.57996
Probabilitas trotoar basah karena turun hujan (rain):
P ( X 2 = 1 | X 4 = 1) =
P ( X 2 = 1, X 4 = 1) = P ( X 4 = 1)
P( X 2 = 1 | X 4 = 1) =
∑
X1 , X 3 , X 5
P ( X 1 , X 2 = 1, X 3 , X 4 = 1, X 5 ) P ( X 4 = 1)
0.40356 = 0.69584 0.57996
Dari perhitungan di atas dapat kita simpulkan bahwa trotoar basah disebabkan karena hujan, dengan bukti P ( X 2 = 1 | X 4 = 1) > P( X 3 = 1 | X 4 = 1) , artinya probabilitas trotoar basah karena hujan lebih besar dari probabilitas karena keran air menyala.
2.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
32 yang interaktif. 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.
Kemudian
dijelaskan
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
33 modeling problem menyimpulkan pengetahuan pembelajar pada subjek tertentu dari satu set data yang terobservasi, misalnya jawaban pembelajar tersebut pada satu set 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
34 buktinya jejaring Bayesian telah berhasil diaplikasikan untuk membangun student model dalam beberapa aplikasi berikut: •
HYDRIVE memodelkan kemampuan pembelajar dalam menemukan masalah sistem hidrolik pesawat
•
ANDES adalah sebuah ITS yang mengajarkan bagaimana menyelesaikan masalah Fisika Newton
2.5.1 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. Variabelvariabel 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 pembelajar 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 pembelajar. Dengan menghitung berapa kali setiap konsep
35 atau subskill dikuasai, maka dapat diperkirakan prior probability dari konsep tersebut. Bayangkan ketika menjawab sebuah pertanyaan tertentu, seorang pembelajar 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 pembelajar mampu atau tidak untuk menjawab pertanyaan. Q mempunyai dua nilai: true jika pembelajar menjawab dengan benar, dan false jika sebaliknya.
•
Untuk setiap i = 1, 2, …, n sebuah variabel Ci menunjukkan kemungkinan pembelajar memahami konsep ke-i. Ci juga mempunyai dua nilai: true jika pembelajar memahami konsep ke-i, atau false jika sebaliknya. Jejaring Bayesian yang menggambarkan hubungan antara Q dan Ci adalah
sebagai berikut:
C1
...
C2
Q
Gambar 2.4 Jejaring Bayesian untuk node Q dan Ci
C3
36 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 pembelajar yang memahami konsep ke-i gagal untuk menerapkannya secara benar dalam pertanyaan tertentu.
•
gi (guess): kemungkinan seorang pembelajar menebak jawaban dengan benar, bahkan ketika ia tidak menerapkan konsep ke-i dengan benar. Kemudian, probabilitas P (Q = q | C1 , C 2 , K, C n ) dapat dihitung sebagai
berikut:
P (Q = q | C i = ci , i ∈ S ∧ C j = ¬c j , j ∉ S ) = ∏ (1 − s i ) ⋅ ∏ g i i∈N
i∉N
Di mana S = {i ∈ {1,2,K, n} | C i = ci } . 2.5.2 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)
37 Tipe masalah (pertanyaan) yang berbeda dapat dikelompokkan sesuai dengan tingkat kesulitannya. Semakin banyak konsep yang perlu diketahui pembelajar 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: Tabel 2.1 Hubungan masalah (Q) dan konsep (C)
Tipe Permasalahan Contoh Permasalahan Konsep yang Dibutuhkan Q1
1
Q2
1
Q3
1
Q4
1
3
+ 13
C1
4
+ 14
C1, C2
3
+ 14
C1, C3, C4
3
+ 16
C1, C2, C3, C4
Untuk menggambarkan informasi ini, kita gunakan Jejaring Bayesian berikut:
Gambar 2.5 Topologi jejaring Bayesian untuk pertambahan pecahan
38 Oleh karena itu, untuk masalah ini kita akan membutuhkan prior probability dari setiap penguasaan konsep dan conditional probability dari pembelajar untuk mampu atau tidaknya dalam memecahkan masalah tertentu. Pada contoh di atas, kita membutuhkan 4 prior probability dan 2 + 2 2 + 2 3 + 2 4 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 pembelajar mampu untuk memecahkan masalah tipe 4, dinyatakan mengenai pembelajar 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 pembelajar 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.
39 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
Kemudian conditional probability dapat dihitung dari parameterparameter tersebut. Contohnya probabilitas bahwa seorang pembelajar mampu memecahkan masalah tipe 4, dinyatakan mengenai pembelajar 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: P (Q4 = q 4 | c1 , ¬c 2 , c3 , ¬c 4 ) = (1 − s1 ) ⋅ g 2 ⋅ (1 − s 3 ) ⋅ g 4 = 0.9 × 0.4 × 0.6 × 0.1 = 0.0216
Jadi semua conditional probability dapat dihitung dengan mengalikan kombinasi antara slip dan guess seperti cara di atas.
2.6 PEMETAAN KONSEP
Pemetaan konsep dikembangkan oleh Joseph Novak di Cornell University pada tahun 1960-an berdasarkan dari teori David Ausubel yang menekankan pentingnya sebuah pengetahuan awal dalam pembelajaran tentang konsep yang baru. Pemetaan konsep adalah sebuah teknik untuk menampilkan pengetahuan dalam bentuk grafik. Grafik-grafik pengetahuan adalah jaringan dari konsepkonsep. Jaringan terdiri dari beberapa node dan garis-garis yang menghubungkan
40 node. Node mewakili konsep, sementara garis (atau anak panah) mewakili hubungan antar konsep-konsep yang ada. Oleh karena itu, melalui pemetaan konsep seseorang dapat: •
Melihat koneksi antara pengetahuan-pengetahuan yang relevan yang telah dimiliki sebelumnya
•
Menghubungkan pengetahuan-pengetahuan yang dimilikinya dengan konsepkonsep baru yang sedang dipelajari
•
Mengorganisasikan pengetahuan dalam sebuah urutan logis dengan struktur yang tidak kaku
Gambar 2.6 Contoh pemetaan konsep
41 Pemetaan konsep dibuat dengan tujuan sebagai berikut: •
Untuk memproses ide-ide (brainstorming, dan lain-lain)
•
Untuk mendesain sebuah struktur kompleks (teks yang panjang, hypermedia, web site yang besar, dan lain-lain)
•
Untuk mengkomunikasikan ide-ide yang kompleksitas
•
Untuk mempermudah pembelajaran dengan menegaskan gabungan pengetahuan yang lama dengan yang baru
•
Untuk menilai pemahaman atau mendiagnosa kesalahpahaman
2.7 BAHASA PEMROGRAMAN PHP
PHP adalah salah satu bahasa pemrograman yang berjalan dalam sebuah web server dan berfungsi sebagai pengolah data pada sebuah server sehingga web site tersebut menjadi lebih dinamis dan mudah di-update setiap saat dari web browser mana pun. Beberapa keunggulan PHP adalah: •
PHP memiliki tingkat akses yang lebih cepat
•
PHP memiliki tingkat lifecycle yang cepat sehingga selalu mengikuti perkembangan teknologi Internet
•
PHP mampu berjalan di Linux sebagai platform sistem operasi, namun juga dapat berjalan di FreeBSD, Unix, Solaris, Windows, dan lain-lain
•
PHP mendukung akses ke beberapa basis data yang sudah ada, baik yang bersifat free maupun komersial, antara lain MySQL, PostgreSQL, mSQL, Informix, dan Microsoft SQL Server
•
PHP bersifat free sehingga efektif dalam biaya
42
2.8 BASIS DATA
Menurut Subekti (1997, p8), basis data adalah kumpulan terintegrasi dari occurences file/table yang merupakan presentasi data dari suatu model enterprise. Misalnya basis data kemahasiswaan dan perkuliahan, keuangan, personalia, material, dan logistik. Sifat dari basis data adalah integrated dan shared. Integrated berarti basis data tersebut terdiri dari penggabungan beberapa file data yang berbeda-beda dengan mengurangi dan membatasi pengulangan baik keseluruhan file maupun sebagian. Sedangkan shared berarti bahwa data individual dalam basis data dapat digunakan secara bersamaan oleh beberapa pengguna yang berbeda. Basis data adalah sebuah koleksi dari data yang berhubungan. Penyimpanan data untuk sebuah basis data dikerjakan oleh penggunaan dari satu atau lebih file. Sebuah basis data yang komprehensif seharusnya mempunyai semua informasi untuk mengatur beberapa kegiatan usaha, misalnya sebuah bisnis, pelajaran ilmiah, atau sebuah departemen pemerintah. Koleksi data komprehensif yang mendukung beberapa bagian dari beberapa kegiatan juga biasanya disebut basis data. Sebuah basis data adalah representasi struktur dari data yang menggambarkan sebuah subset yang didefinisikan dan dibatasi antara record. Basis data adalah koleksi dari data, biasanya menggambarkan aktivitas satu atau lebih organisasi yang berhubungan. Sebagai contoh sebuah basis data universitas mungkin mempunyai informasi tentang:
43 •
Entitas seperti mahasiswa, fakultas, kuliah, dan ruang kelas.
•
Relasi antar entitas, seperti pendaftaran mahasiswa pada kuliah.
•
Fakultas mengajar kuliah, dan penggunaan ruang kelas untuk kuliah
2.8.1 Basis Data Relasional
Basis
data
relasional
adalah
kumpulan
tabel-tabel
yang
saling
berhubungan. Tabel tersebut terdiri atas field dan record, di mana field terdiri dari beberapa record, sedangkan record sendiri merupakan data atau informasi. Sebuah record dapat diibaratkan sebagai sebuah baris data dalam tabel, sedangkan field (atau atribut) adalah sebuah kolom dalam tabel. Pada dasarnya, key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Artinya, jika suatu atribut dijadikan sebagai key maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut. Ada tiga macam key yang dapat diterapkan pada suatu tabel, yaitu primary key, foreign key, dan candidate key. Primary key merupakan field yang digunakan untuk menghubungkan tabel dengan tabel lainnya. Primary key dapat terdiri dari sebuah atau beberapa field yang harus unik. Foreign key merupakan key tujuan, yaitu berupa field yang digunakan sebagai field tujuan yang dihubungkan dengan primary key sebagai key asal. Sedangkan candidate key adalah field yang dapat menjadi primary key pada suatu tabel. 2.8.2 Structured Query Language
Structured Query Language (SQL) merupakan suatu alat untuk mengorganisasikan, mengatur, dan mengambil data yang tersimpan dalam suatu
44 basis data komputer (Weinberg, 1999). SQL digunakan untuk mengontrol semua fungsi DBMS (Database Management System), termasuk: •
Data definition
•
Data retrieval
•
Data manipulation
•
Access control
•
Data sharing
•
Data integrity Bentuk perintah umum dalam SQL adalah select, insert, delete, dan
update. 2.8.3 MySQL
MySQL adalah salah satu jenis basis data yang didukung oleh bahasa pemrograman PHP. MySQL saat ini digunakan dalam mayoritas aplikasi yang menggunakan PHP sebagai bahasa pemrogramannya. Hal itu dikarenakan MySQL mempunyai beberapa keuntungan seperti: •
Efektif dalam biaya karena bersifat free
•
Memiliki performa yang cepat
•
Mudah digunakan karena menggunakan sintaks SQL
•
Dengan menggunakan sintaks PHP ataupun tools lain seperti phpMyAdmin, data yang disimpan pada MySQL dapat dimanipulasi dengan mudah dan praktis
•
Open source
45 2.9 ALAT PERANCANGAN SISTEM
Menurut Pressman (1992, p186) ada tiga alasan dalam memakai perancangan dalam membuat suatu sistem: •
Supaya dapat terfokus pada bagian sistem yang penting
•
Supaya dapat terfokus pada bagian yang akan mengalami perubahanperubahan dan koreksi serta dokumentasi
•
Supaya dapat mengerti akan lingkungan pemakai, sehingga sistem tersebut lebih baik
2.9.1 State Transition Diagram
State transition diagram merupakan suatu alat perancangan yang menggambarkan sistem untuk mempengaruhi keadaan yang dinamis (Pressman, 1992). Keadaan di sini dapat difokuskan dan dihubungkan dalam berbagai cara untuk merepresentasikan sifat yang sekuensial dan concurrent (bersamaan). Transisi di antara dua keadaan umumnya disebabkan oleh suatu kondisi. Adapun komponen dan simbol yang digunakan dalam diagram ini adalah: •
Modul yang dipanggil apabila terjadi suatu tindakan, dinotasikan dengan lingkaran kecil.
Gambar 2.7 Notasi modul •
State, yaitu tampilan kondisi sistem yang digunakan menurut keadaan atau atribut untuk memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu keberadaan atau kondisi tertentu. State ini disimbolkan dengan kotak.
46
Gambar 2.8 Notasi state •
State transition, dinotasikan dengan anak panah dan disertai keterangan tindakan yang dilakukan.
Gambar 2.9 Notasi state transition •
Kondisi dan aksi, dinotasikan seperti di bawah ini:
Gambar 2.10 Notasi kondisi dan aksi
2.9.2 Spesifikasi Proses
Spesifikasi proses merupakan penjelasan dari proses-proses yang terjadi di dalam sistem. Spesifikasi proses harus dapat dimengerti baik oleh pemakai maupun pembuat sistem. Spesifikasi proses akan menjadi pedoman bagi pembuat program dalam membuat kode program maupun dokumentasi. Ada banyak cara untuk membuat spesifikasi suatu proses, antara lain dengan menggunakan (Pressman, 1992):
47 •
Tabel keputusan (decision table)
•
Bahasa terstruktur (pseudocode)
•
Bagan alur (flowchart)
•
Diagram Nassi-Shneiderman (diagram N-S)
•
Bentuk narasi atau cerita
2.10 INTERAKSI MANUSIA DAN KOMPUTER
Interaksi manusia dan komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya. Interaksi manusia dan komputer menitik beratkan pada perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka pemakai adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan komputer. Dalam merancang dan membuat sistem, salah satu yang perlu diperhatikan adalah dalam perancangan tampilannya, karena sebuah tampilan yang tidak user friendly akan sulit dipelajari, dimengerti, dan mungkin membingungkan bagi pemakai dalam menggunakan sistem komputer tersebut, sehingga dapat membuat si pemakai menjadi frustasi, gagal, dan takut. Beberapa hal yang perlu dimengerti dalam melakukan desain interface adalah siapa yang menggunakan sistem komputer, bagaimana pemakai menafsirkan informasi yang disampaikan dan dihasilkan oleh sistem komputer, bagaimana pemakai belajar untuk berinteraksi dengan sistem komputer, dan apa yang diharapkan dari pemakai sistem komputer.
48 Menurut Shneiderman (1998, p72) ada delapan faktor utama yang perlu diperhatikan dalam merancang tampilan, yaitu : •
Harus konsisten Misalnya dalam pemakaian menu, layar help, perintah, warna, jenis huruf, tampilan layar haruslah konsisten.
•
Memperbolehkan pemakai untuk mempergunakan tombol pintas. Bertujuan untuk meningkatkan penggunaan suatu aplikasi, bisa berupa singkatan, special keys, perintah tersembunyi, dan fasilitas lainnya yang memahami pengetahuan pemakai. Tujuan dari tombol ini adalah mempermudah dan mempercepat pengoperasian.
•
Umpan balik yang informatif, sehingga tidak membingungkan pemakai. Untuk setiap aksi user, sistem harus memberikan feedback.
•
Rancangan layar untuk menampilkan keadaan akhir. Setiap layar yang ditampilkan menghasilkan keadaan akhir
•
Ada penanganan kesalahan. Dalam merancang sistem harus dipikirkan kemungkinan seorang user membuat kesalahan. Untuk mengatasi hal ini maka sistem harus memberikan instruksi atau solusi yang sederhana sehingga kesalahan tersebut dapat diperbaiki oleh user.
•
Mengijinkan pemakai memperbaiki kesalahan yang dilakukan. Kebanyakan suatu aksi yang dilakukan user harus bisa dilakukan pembalikan aksi.
•
Pengontrol terletak pada pemakai sistem.
49 Memungkinkan user untuk menguasai sisten atau sebagai inisiator bukan sebagai responden. •
Mengurangi hafalan bagi pemakai manusia sangat terbatas memorinya dalam mengingat informasi jangka pendek, sehingga sebaiknya seminim mungkin meminta user untuk menghafal.