PEMBUATAN SISTEM CERDAS PELATIHAN UNTUK PEMBELAJARAN BAHASA C TINGKAT PEMULA
NASKAH PUBLIKASI
Disusun oleh: RINO WIYADHA 05.12.1214
JURUSAN SISTEM INFORMASI SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA
2010
DEVELOPING ITS (INTELLIGENT TUTORING SYSTEM ) FOR TRAINING C-LANGUAGE FOR BEGINNERS
Rino Wiyadha Jurusan Sistem Informasi STIMIK AMIKOM YOGYAKARTA
ABSTRACT More than 20 years, education has begun to use computers as part of the teaching system. The system is set up computers on student learning in the same manner, not according to the abilities of different students. Form of this system was first used to teach students to use computers, or better known as the Computer Based Learning and Computer Aided Instruction. However, in line with technological developments, the ability of the system in understanding the problem and the problem was growing.Programming language learning process requires problem-solving process using a programming language written exercises and intensive process of analysis, because of that programming language teaching is a very interesting field for the domain used as teaching materials Intelligent Learning Systems. Intelligent Learning System can help programan language learning, in understanding the basic concepts of programming languages. Intensive exercise facility provides a very significant impact in helping students learn a new programming language, to gain a solid foundation and familiar with the programming environment.
1. Pendahuluan Lebih dari 20 tahun, dunia pendidikan telah mulai menggunakan komputer sebagai bagian dari sistem pengajaran. Perkembangan dunia komputer sendiri telah membawa perubahan dalam dunia pendidikan yang mana saat ini banyak sistem pengajaran yang berjalan dengan berbasis teknologi informatika. Sistem yang digunakan dalam pembelajaran komputer semakin lama semakin mengalami perubahan yang mana dahulu sistem yang diperkenalkan pertama kali hanya sebatas pembelajaran secara konstan. Sistem ini mengatur pembelajaran komputer pada siswa secara sama, tidak menurut pada kemampuan siswa yang berbeda-beda. Bentuk sistem inilah yang pertama kali digunakan untuk mengajar siswa menggunakan komputer, atau lebih dikenal dengan Computer Based Learning dan Computer Aided Instruction. Akan tetapi seiring dengan perkembangan teknologi, maka kemampuan sistem dalam memahami persoalan maupun masalah pun semakin berkembang. Dalam perkembangannya, sistem pembelajaran telah berkembang menjadi lebih cerdas, hal ini diindikasikan dengan dapat menganalisa kemampuan siswa serta pengajaran materi sesuai dengan kemampuannya. Pada sistem ini, kemampuan setiap siswa yang berbeda-beda dalam memahami tentang bahasa pemrograman dianalisa, kemudian sistem ini memberikan pembelajaran sesuai dengan kemampuan siswa tersebut. Tidak hanya itu, kelemahan-kelemahan siswa pun dapat diketahui, sehingga dapat diambil keputusan untuk mengatasinya. Penerapan Sistem Pembelajaran Cerdas dalam memonitor dan mengajarkan bahasa pemrograman telah dikembangkan dan dievaluasi selama bertahun-tahun dalam bidang kajian Kecerdasan Buatan dalam Dunia Pendidikan. Proses pembelajaran bahasa pemrograman memerlukan proses pemecahan masalah dengan metode latihan menulis bahasa pemrograman dan proses analisis yang intensif, oleh karena itulah pengajaran bahasa pemrograman merupakan bidang yang sangat menarik untuk dijadikan domain materi pengajaran Sistem Pembelajaran Cerdas. Kedua hal tersebut juga membawa konsekuensi diperlukannya proses tutorial yang intensif dibanding dengan proses tutorial di dalam kelas dengan jumlah siswa yang cukup besar, dengan dan jumlah pengajar yang terbatas. Sistem Pembelajaran Cerdas ini dapat membantu belajar bahasa programan, dalam memahami konsep-konsep dasar bahasa pemrograman. Fasilitas latihan soal yang intensif memberikan dampak yang sangat signifikan dalam membantu siswa yang baru belajar bahasa pemrograman, untuk memperoleh dasar yang kuat dan terbiasa dengan lingkungan pemrograman.
2. Landasan Teori Sistem Pembelajaran Cerdas (Intelligence Tutoring System, ITS) adalah suatu sistem
yang
memanfaatkan
teknik
tingkat
lanjut
dalam
mendeskripsikan
dan
meningkatkan proses pengajaran. Walaupun demikian pemahaman sistem pembelajaran cerdas telah berkembang menjadi suatu sistem yang mampu “memahami” dan berlaku selayaknya pengajar. Sistem pembelajaran cerdas memberikan fleksibilitas dalam mempresentasikan materi dan kemampuan memahami karakteristik siswa yang lebih besar. Keunggulan
sistem
pembelajaran
cerdas
dibandingkan
guru
adalah
kemampuannya dalam memahami karakteristik unik setiap siswa dan menyampaikan materi pembelajaran sesuai dengan karakteristik siswa tersebut. Kecerdasan sistem pembelajaran cerdas diwujudkan dalam kemampuan mengajarnya untuk menyampaikan materi sesuai karakteristik siswa yang diajarnya, memberikan tugas, dan menilai kemampuan siswa. Dalam bidang rekayasa perangkat lunak, untuk membangun sebuah sistem informasi akan lebih efektif dan mudah apabila dipisah ke dalam modul-modul yang memiliki fungsi dan tugas yang jelas. Sistem tidak hanya mampu mengajarkan dengan proses yang cerdas tetapi juga mampu memanajemen isi materi ajar dengan mudah. Salah satu arsitektur ITS berbasis web yang sederhana terbagi kedalam 5 komponen yaitu : a.
Modul Basisdata Pengetahuan (Knowledge Base Module) berfungsi untuk tempat penyimpanan materi pembelajaran.
b.
Modul Tutor (Tutoring Module) berfungsi untuk menyimpan aturan logika berdasarkan jenis adaptasi mana yang akan dikerjakan.
c.
Modul Evaluasi (Evaluator Module) berfungsi untuk menganalisa jawaban siswa dan memberikan petunjuk dari kesalahan yang dilakukan dan cara memperbaiki.
d.
Modul Antarmuka Siswa (Student Interface Module) berfungsi untuk menyediakan antar muka bagi siswa yang akan belajar.
e.
Modul Siswa (Student Module) berfungsi untuk menyimpan informasi dari sistem mengenai user apa dan bagaimana yang sedang aktif.
Arsitektur dasar dari sistem pembelajaran cerdas berbasis web dapat dilihat pada gambar dibawah ini:
Modul Tutor Modul Basisdata Pengetahuan
Modul
Modul Siswa
Evaluasi
Modul Antarmuka
User
Gambar 2.1. Arsitektur Sistem Pembelajaran Cerdas 3. Analisis (Proses Penelitian) 3.3 Analisis Sistem Teknik pembelajaran dengan cara privat, merupakan metode yang paling efektif di antara metode belajar-mengajar yang lain. Hasil riset menunjukkan metode ini mampu meningkatkan performa siswa pada pre dan post-test hingga 2,0 standar deviasi dengan tutor yang berpengalaman. Pada metode tutorial privat, siswa mendapatkan kesempatan seluas-luasnya untuk berdialog dengan tutor. Bagian yang belum dimengerti dapat langsung ditanyakan, sehingga konstruksi pengetahuan berjalan komperhensif, tidak bersifat parsial. Tutor juga dapat dengan mudah mendeteksi dan memperbaiki kesalahan yang dilakukan oleh siswa, sehingga mencegah siswa mengalami kebingungan maupun frustasi dalam belajar. Untuk dapat melakukan tugas ini maka modul evaluasi seharusnya mempunyai kemampuan antara lain : a.
Memahami variasi sintaks, siswa harus diperbolehkan untuk menggunakan variable yang berbeda, struktur kondisi dan loop yang berbeda dan seterusnya.
b.
Memahami variasi implementasi, algoritma yang berbeda untuk konsep yang sama harus bisa dikenali.
c.
Mengenali kesalahan, jika terdapat kesalahan harus ada penjelasan yang lengkap.
d.
Membantu siswa memperbaiki kesalahan, selain penjelasan yang lengkap atas kesalahan, siswa juga dibantu dalam memperbaiki kesalahan dengan memberikan petunjuk solusi yang benar.
e.
Membantu siswa menemukan kesalahan logika, memberikan petunjuk dan peringatan jika terjadi kesalahan logika yang sering dijumpai.
f.
Mengenali batasan-batasan, jika terdapat kesalahan yang tidak diketahui oleh sistem, harus diberikan keterangan yang jelas, hal ini berkaitan dengan faktor reliabilitas.
g.
Memberikan penilaian atas jawaban siswa, penilaian yang diberikan didasarkan beberapa parameter dan kondisi, tidak hanya dari kebenaran jawaban. Proses yang dilakukan oleh modul evaluasi dalam menganalisa jawaban dari
siswa antara lain : 1. Analisa leksikal atau Scanner. Scanner adalah bagian dari kompilator yang menerima input dari jawaban yang diberikan oleh siswa, berupa stream karakter kemudiam memilah program sumber menjadi satuan leksik yang atau sering disebut dengan token. Scanner bertugas melakukan analisis leksikal, yaitu mengelompokkan kode sumber sehingga menjadi token. Selain itu scanner juga membangun suatu bahasa pada suatu program sumber. Token ini akan menjadi input bagi Parser. 2. Analisa Syntax / Parser. Syntax analizer lebih kompleks dari scanner, berfungsi menentukan bagaimana untuk mendekomposisikanya, dalam analisis sintaksis, yang perlu kita perhatikan adalah pengelompokkan token ke dalam kelas sintaksis, seperti Experesion, Statement dan Procedure. Parser memberikan suatu pohon sintaks, yang mana daunnya adalah token, setiap elemen non daun merepresentasikan suatu kelas sintaksis. Syntax analyzer mengelompokkan token-token ke dalam class syntax ( betuk syntax ), seperti procedure, statement dan expression. Selain itu syntax analyzer menghasilkan suatu pohon yang bertugas untuk menentukan ‘maksud’ dari program sumber, misalnya operator penjumlahan maka semantic analyzer akan mengambil aksi apa yang harus dilakukan.
3. Kode Generator dan Analisa Semantik. Semantic analyzer merupakan prose lanjutan dari proses kompilasi sebelumnya yaitu analisa leksikal (scanning) dan analisa sintak. Secara umum, fungsi dari semantic analyzer adalah untuk menentukan makna dari serangkaian instruksi yang terdapat dalam sumber fungsi ini adalah sesuatu yang unik dan berbeda dengan bagian lain dari keseluruhan proses kompilasi. 3.1 Perancangan Diagram Alir Data a. Diagram konteks
Siswa
Admin pengajar data jawababan , data interaksi, data profil/siswa
hint, materi, soal,latihan, solving problem, tutoring, profil pribadi, evaluasi
evaluasi profil student, evaluasi kesalahan, evaluasi data pembelajaran,
0 Sistem pembelajaran bahasa C
materi, soal‐soal, aturan penanganan, aturan
Gambar Diagram Konteks Gambar di atas menunjukkan bahwa ITS berinteraksi dengan 2 external entity, yaitu Admin dan Pengguna. Admin dapat memasukkan data pembelajaran ke dalam sistem serta dapat memperoleh informasi evaluasi dari materi dan soal-soal pembelajaran yang diberikan. Seorang pengguna dapat memperoleh pembelajaran, baik materi maupun soal-soal serta penanganan kesalahan yang dilakukannya sehingga dapat meningkatkan pengetahuan yang dimilikinya.
b. dad level 0 siswa hint, materi, soal,latihan, solving problem, tutoring,
data jawababan , data interaksi data profil/siswa
1 data feedback, hint solving
modul user interface
evaluasi, data profil siswa, materi soal soal data profil siswa, data i t ki
data
data error , data hi t d t
2
data profil siswa, data i t k i
modul evaluasi
3 modul tutor
data profil siswa data
evaluasi pembelajaran, evaluasi profil
4 modul siswa
Admin
materi, soal
aturan penanganan kesalahan, aturan proses
5
materi, soal
modul basis data
Gambar DAD Level 0
materi, soal latihan, soal
Gambar di atas menggambarkan mengenai pengolahan data yang terjadi di dalam sistem, antara lain proses pengolahan data materi pembelajaran, soal esai, soal pilihan, aturan proses pembelajaran, evaluasi profil student, evaluasi jawaban siswa, pemberian hint maupun feedback dari kesalahan siswa serta proses update profil belajar siswa (student model). Dalam pengolahan data dapat dilakukan : Tambah data, Edit data, dan Hapus data. 4. Hasil Penelitian dan Pembahasan 4.1 Deklarasi Variabel int i; int a,b,c,d; float z;
Gambar 4.1 Hasil pengujian data deklarasi variabel.
Dari gambar diatas modul evaluasi dari sistem sudah mampu mengenali pendeklarasian variabel, kemudian sistem memberi output berupa pesan error, nama variabel beserta tipe data dan nilainya sekaligus. 4.2 Statement If-Else; contoh input benar: int b; if (i==2){ b = i + b; } else { b = 0; }
Gambar 4.2 Hasil Pengujian Data Benar Statement If Else Dari input diatas dapat diketahui bahwa memang tidak terdapat error di dalam data pengujian yang diberikan, tetapi sistem belum memberikan output sesuai yang diharapkan. Sistem belum mampu mengenali statement yang ada.
4.3. Statement While;
int b = 1; int i = 2; int a = 3; while (a ==b) { b = i + b; }
Gambar 4.3 hasil pengujian data benar statement if else Dari gambar program diatas sistem juga sudah mampu memberikan respon yang diinginkan, walaupun respon yang diberikan belum mempunyai arti apapun hanya sekedar nilai variabel dan tipe datanya. 4.4. Statement For; contoh statement benar: float b;
for (int i=0;i<5;i++){ b = i + 1; }
Gambar 4.4 hasil pengujian data benar statement for Dari pesan error diatas walaupun respon yang diharapkan sudah sesuai tapi sistem belum mampu mengenali statement yang ada. Sistem sudah mampu mengambil variabel apa saja yang digunakan (keadaan awal i selama i ) tapi sistem belum mampu mengambil nilai dan mengeksekusinya. 5. Kesimpulan 5.1 Kesimpulan Berdasarkan percobaan yang dilakukan di bab IV sub bab Pengujian sistem maka dapat ditarik kesimpulan : •
Program ini jauh dari sempurna dan masih dibutuhkan perbaikan sistem yang ada baik untuk materi pembelajaran maupun materi pelatihan.
•
Proses interaksi user dengan sistem belum maksimal, program belum mampu memberikan proses tutoring yang lebih mendetail.
•
Modul evaluasi jawaban siswa kurang lengkap. Sistem belum mampu mendeteksi semua kesalahan yang dilakukan oleh user.
•
Pesan kesalahan yang diberikan masih sangat sulit untuk dimengerti bagi orang awam yang baru belajar bahasa pemrograman.
5.2 Saran Berdasarkan evaluasi terhadap proses dan hasil dari sistem pembelajaran ini, maka saran-saran untuk pengembangan selanjutnya dalam bidang ini antara lain: •
Dibutuhkan sistem evaluasi yang lebih baik dan lengkap karena jawaban dari siswa sangat bevariasi sehingga sangat sulit untuk dilakukan proses pemberian feed-back yang tepat untuk model atau kemapuan siswa yang berbeda-beda.
•
Dibutuhkan basis data yang lebih lengkap, termasuk soal pelatihan materi pembelajaran, maupun basis data untuk model siswa. Sehingga proses pembelajaran bisa dimaksimalkan walaupun sistem belum sempurna. Karena dengan soal pelatihan dan materi yang bervariasi akan sangat membantu meningkatkan kemampuan dari siswa.
•
User inteface membutuhkan rancangan dan desain yang lebih menarik agar user dalam proses belajar tidak bosan dan jenuh.
•
Dibutuhkan penelitian lebih lanjut untuk menganalisa dari jawaban siswa, model siswa, pemberian materi maupun instruksi untuk proses tutoring.
DAFTAR PUSTAKA Aho, Alfred, 2008, Compilers Principles Techniques and Tools , Ontario Sykes, Edward , 2005, Design, Development and Assessment of the Java Intelligent Tutoring System, Ontario Jain, Mayank, 2008 , A Generalized Knowledge Representation Architecture for Intelligent Tutoring System, Kharagpur Rinard, Martin, 2008 ,Specifying Languages with Regular Expressions and Context-Free Grammars , Massachusetts. Olson, Philip, 2009, PHP Manual, PHP Documentation Group. Keefe, Matthew, 2008, Flash
and PHP Bible, Wiley Publishing, Inc. ,
Indianapolis. Matthew Keefe, 2004, Flash and PHP Bible, Wiley Publishing, Inc. , Indianapolis Grey ,Michael , 2004, MySQL-Essential Skills, McGraw-Hill, California.