Developer Guide

Embed Size (px)

Citation preview

BUKU PELENGKAP TUGAS AKHIR RE 1599

PERANCANGAN SISTEM VISUALISASI AUTOMATIS

Muchammad Nur Qomaruddin NRP. 2205100082

Dosen Pembimbing Prof. Dr. Ir. Achmad Jazidie, M.Eng. Yusuf Bilfaqih, S.T., M.T.

JURUSAN TEKNIK ELEKTRO Fakultas Teknologi Industri Institut Teknologi Sepuluh Nopember Surabaya 2009

Daftar Isi Daftar Isi_______________________________________ i BAB 1 PENDAHULUAN__________________________ 11.1 Definisi Moodle ________________________________ 1 1.2 Desain Moodle _________________________________ 1 1.3 Manajemen situs _______________________________ 2 1.4 Manajemen pengguna ___________________________ 21.4.1 Pendaftaran kursus_________________________________ 2 1.4.2 Peran ___________________________________________ 2

1.5 Manajemen kursus _____________________________ 3 1.6 Pemakaian Moodle _____________________________ 3 1.7 Rilis Moodle ___________________________________ 4

BAB 2 PENGEMBANGAN MOODLE _______________ 52.1 Membuat plugin baru ___________________________ 52.1.1 Modul aktivitas ___________________________________ 5 2.1.2 Blok ____________________________________________ 5

2.2 Mengubah kode inti Moodle______________________ 6 2.3 Kontribusi yang tidak melibatkan pemrograman PHP 72.3.1 Membuat tema Moodle _____________________________ 7 2.3.2 Menerjemahkan Moodle ke bahasa yang lain ____________ 7 2.3.3 Membantu dokumentasi Moodle ______________________ 8 2.3.4 Membantu proses pengujian _________________________ 8

BAB 3 PEMBUATAN SISTEM VISUALISASI_______ 113.1 Deskripsi sistem visualisasi ______________________ 11 3.2 Instalasi Moodle_______________________________ 12 3.3 Pemilihan tema _______________________________ 13

i

3.4 Pembuatan antarmuka__________________________ 14 3.5 Pembuatan program utama______________________ 19 3.6 Pembuatan aturan fuzzy_________________________ 36 3.7 Pengubahan aturan fuzzy ________________________ 44

BAB 4 PENUTUP ______________________________ 47 Daftar Pustaka ________________________________ 49 Lampiran: 168 Aturan Fuzzy ____________________ A. 1 Lampiran: Variasi Atribut Tampilan ______________ A. 7 Lampiran: Konfigurasi CSS ____________________ A. 13 Lampiran: 42 Kelompok Aturan Fuzzy ___________ A. 19

ii

BAB 1 PENDAHULUANBuku ini disusun sebagai pelengkap Buku Tugas Akhir yang berjudul Desain dan Visualisasi Automatis Kansei Sistem E-Learning Menggunakan Algoritma Genetik dan Aturan Fuzzy. Buku pelengkap Tugas Akhir ini ditulis sebagai panduan bagi mahasiswa untuk memahami hal-hal teknis yang dilibatkan dalam pengerjaan Tugas Akhir. Bab permulaan ini memberikan penjelasan tentang Moodle.

1.1 Definisi MoodleMoodle adalah paket perangkat lunak untuk pembuatan kursus berbasis Internet yang tersedia secara gratis sebagai perangkat lunak Open Source (di bawah GNU Public License). Moodle dapat diinstal di setiap komputer yang mampu menjalankan PHP dan mendukung basis data tipe SQL (seperti MySQL). Moodle dapat dijalankan di sistem operasi Windows dan Mac serta beragam jenis dari linux (seperti Red Hat atau Debian GNU). Istilah Moodle merupakan akronim dari Modular Object-Oriented Dynamic Learning Environment yang sangat berguna bagi para programer dan teoretikus pendidikan. Kata Moodle juga merupakan kata kerja yang mendeskripsikan proses pengerjaan sesuatu yang mendatangkan wawasan dan kreativitas. Setiap orang yang menggunakan Moodle disebut dengan istilah Moodler.

1.2 Desain MoodleDesain Moodle sangat sesuai untuk menjalankan kelas online yang mendukung pembelajaran tatap muka. Karakteristik lain dari desain Moodle adalah sebagai berikut. Sederhana, ringan, efisien, mudah diinstal, dan kompatibel. Daftar kursus menampilkan deskripsi untuk setiap kursus yang tersimpan di server. Sebagian besar area teks masukan (resources, forum postings, dan lain-lain) dapat diedit dengan editor WYSIWYG HTML. Seluruh kursus dapat diklasifikasi dan dicari, satu situs Moodle dapat menyediakan ribuan kursus. Menitikberatkan pada keamanan ketat secara keseluruhan. Setiap form dicek, data divalidasi, cookies dienkripsi, dan lainlain.

1

1.3 Manajemen situsSitus Moodle didefiniskan pada waktu instalasi dan dikelola oleh seorang pengguna yang berstatus sebagai administrator. Administrator dapat melakukan modifikasi pada situs Moodle melalui blok Site Administration. Situs Moodle memungkinkan penambahan tiga macam plug-in untuk modifikasi situs, yaitu themes (tema), activity modules (modul aktivitas), dan language packs (bahasa). Plug-in tema digunakan oleh administrator untuk mengatur warna situs, font, tata letak, dan lainlain. Modul aktivitas merupakan modul yang mendukung pembelajaran di Moodle seperti Assignment Module dan Quiz Module. Plug-in bahasa memungkinkan administrator untuk mengubah bahasa yang digunakan di situs Moodle. Moodle menyediakan tujuh puluh paket bahasa yang dapat diunduh secara gratis di situs resmi Moodle.

1.4 Manajemen penggunaManajemen pengguna adalah salah satu fitur Moodle yang berguna untuk meminimumkan keterlibatan admin tanpa mengabaikan keamanan situs. Pembelajar dapat membuat akun login sendiri bahkan membangun profil on-line yang meliputi foto dan deskripsi. Fitur ini juga mengijinkan setiap pembelajar untuk menentukan zona waktu dan bahasa yang digunakan untuk antarmuka Moodle (Inggris, Perancis, Jerman, Spanyol, Portugis, dan lain-lain). 1.4.1 Pendaftaran kursus Keterlibatan pengajar dan pembelajar dalam suatu kursus diatur dalam fitur manajemen pengguna. Pengajar dapat menambahkan kode pendaftaran di suatu kursus untuk mencegah keterlibatan nonpembelajar. Kode ini dapat diberikan melalui tatap muka atau email. Pengajar juga dapat mendaftarkan atau mengeluarkan pembelajar secara manual jika hal itu dikehendaki. 1.4.2 Peran Setiap pengguna yang sudah terdaftar di situs Moodle memiliki peran spesifik. Peran untuk pengguna situs dapat didefinisikan untuk setiap kursus. Moodle mengijinkan empat macam peran dengan fungsi spesifik yaitu admin, pembuat kursus, pengajar, pengajar (asisten atau pengajar paruh waktu).

2

1.5 Manajemen kursusManajemen kursus merupakan fitur Moodle untuk mengatur keseluruhan kursus yang dilibatkan di situs Moodle. Gambaran umum manajemen kursus adalah sebagai berikut. Seorang pengajar penuh memiliki kontrol penuh terhadap semua pengaturan untuk satu kursus termasuk akses terlarang bagi pengajar yang lain Format kursus dapat berupa format migguan, format yang berdasarkan topik, atau format diskusi sosial Suatu kursus dapat memiliki warna tema dan tata letak tersendiri Aktivitas kursus dapat disusun secara fleksibel (Forums, Quizzes, Glossaries, Resources, Choices, Surveys, Assignments, Chats, Workshops) Para pengajar dan pembelajar dapat dikelompokkan di satu atau lebih grup Pengubahan terbaru pada kursus sejak login yang terakhir dapat ditampilkan di halaman depan kursus Sebagian besar area teks masukan (resources, forum postings dan lain-lain) dapat diedit dengan editor WYSIWYG HTML Setiap materi kursus dapat dipaket sebagai file zip tunggal melalui fungsi backup dan dapat dipakai ulang di server Moodle yang lain Semua penilaian untuk forum, quiz, dan penugasan dapat ditampilkan di satu halaman dan dapat diunduh sebagai sebuah file spreadsheet Fitur manajemen kursus meliputi pengaturan modul aktivitas. Modul aktivitas yang umum digunakan dalam pembelajaran yaitu Assignment module, Chat module, Choice module, Forum module, Glossary module, Lesson module, Quiz module, Resource module, Survey module, Wiki module, dan Workshop module.

1.6 Pemakaian MoodleMoodle digunakan oleh beragam institusi dan individu yang meliputi universitas, sekolah menengah, sekolah dasar, departemen pemerintahan, organisasi peduli kesehatan, organisasi militer, perusahaan penerbangan, perusahaan minyak, dan pengajar independen.

3

Jumlah situs Moodle yang sudah terdaftar mencapai sepuluh ribu situs namun jumlah situs Moodle secara tepat tidak mungkin diketahui karena Moodle adalah perangkat lunak Open Source, bebas diunduh dan didistribusikan, dan tidak menuntut prosedur pendaftaran bagi pengguna.

1.7 Rilis MoodleMoodle sudah dirilis beberapa kali sejak dibuat pada tanggal 20 Agustus 2002. Empat rilis terakhir adalah sebagai berikut. 1. Moodle 1.9.5 dirilis tanggal 13 Mei 2009 2. Moodle 1.8.9 dirilis tanggal 15 Mei 2009 3. Moodle 1.7.7 dirilis tanggal 28 Januari 2009 4. Moodle 1.6.9 dirilis tanggal 28 Januari 2009

4

BAB 2 PENGEMBANGAN MOODLEBab ini menjelaskan tentang beberapa hal yang terkait dalam kegiatan pengembangan Moodle. Moodle memberikan kesempatan yang luas bagi para pengguna untuk ikut serta dalam kegiatan pengembangan. Pengembangan Moodle dibagi dalam tiga macam kontribusi yaitu membuat sebuah plugin baru, mengubah kode inti, dan beberapa kontribusi yang tidak melibatkan pemrograman PHP.

2.1 Membuat plugin baruHuruf M di Moodle mewakili kata modular dan kemudahan. Cara yang paling mudah dipelajari untuk menambah fungsi baru di Moodle adalah dengan menggunakan salah satu dari plugin API. Beberapa plugin yang dapat dikembangkan lebih lanjut adalah sebagai berikut. 2.1.1 Modul aktivitas Modul aktivitas terletak di dalam direktori /mod. Setiap modul terletak di dalam subdirektori yang terpisah dan tersusun dari berbagai elemen perintah berikut (dan beberapa skrip lain yang berbeda-beda untuk setiap modul). Jika modul baru akan dibuat maka nama modul tersebut tidak boleh memuat bilangan atau karakter khusus yang lain. Pembuatan modul baru memerlukan tabel basisdata yang menggunakan nama yang sama dengan nama modul dan tabel basisdata ini sekurang-kurangnya memiliki tiga bagian yaitu id, course, dan name. Selain itu, modul aktivitas yang baru harus dipastikan dapat mendukung grup dan metacourse. 2.1.2 Blok Moodle sudah menyediakan panduan bagi para pengembang yang ingin membuat blok sendiri untuk digunakan di Moodle. Prosedur pembuatan sebuah blok akan dijelaskan di BAB 2 melalui pembuatan blok baru untuk antarmuka sistem visualisasi. Selain kedua modul aktivitas di atas Moodle masih memiliki beberapa modul yang lain seperti admin reports, assignment types, course formats, dan lain sebagainya.

5

Tabel 2.1 Beberapa file di setiap modul aktivitas Nama mod_form.php version.php icon.gif db/install.xml Fungsi Form untuk menyusun atau mengubah suatu modul secara instan Mendefinisikan beberapa info-meta Sebuah ikon 16 x 16 untuk modul Mendefinisikan struktur dari tabel db untuk semua tipe basisdata. Definisi ini diperlukan selama proses instalasi modul Mendefiniskan pengubahan di dalam struktur dari tabel db. Definisi ini diperlukan selama proses upgrade modul Mendefinisikan kapabilitas modul Halaman untuk mendaftar seluruh aktivitas terkini di suatu kursus Halaman untuk menampilkan sebagian aktivitas terkini Tempat penyimpanan sebagian atau seluruh fungsi yang didefinisikan oleh modul Opsional (Opsional) suatu definisi dari halaman setting admin untuk suatu modul Memberikan kemudahan bagi pengguna untuk mendefinisikan nilai default untuk variabel konfigurasi (Opsional) setiap modul akan memiliki beberapa file bahasa

db/upgrade.php

db/access.php index.php view.php lib.php backuplib.php dan restorelib.php settings.php atau settingstree.php defaults.php

lang/en_utf8/widget.php

2.2 Mengubah kode inti MoodleBeberapa tipe pengubahan hanya dapat dilakukan dengan mengedit kode inti Moodle. Pengubahan ini jauh lebih sulit dilakukan daripada penambahan plugin. Pengubahan kode inti Moodle merupakan salah satu kegiatan pengembangan utama yang sebaiknya dilakukan dengan melakukan beberapa tahap berikut. 1. Memastikan bahwa ide yang diusulkan adalah patut dilakukan dengan mendiskusikan ide tersebut dengan para pengembang Moodle melalui forum atau media yang lain. 6

2. Membuat satu spesifikasi di Moodle Docs yang memuat semua informasi atau dokumentasi kegiatan pengembangan yang dilakukan secara detail. 3. Memperhatikan dan memahami umpan balik dari segenap komunitas Moodle terhadap pengkodean yang dilakukan. 4. Mendaftar tugas-tugas di Moodle Tracker yang merepresentasikan progres kegiatan pengembangan Moodle agar dapat diamati oleh segenap komunitas Moodle. 5. Meminta para tester (penguji) untuk mengamati, mencoba, dan mencari kekurangan dari kode yang sedang dikembangkan. 6. Merespon segala laporan yang menyatakan bug (kesalahan) yang ditemukan di kode yang sedang dikembangkan.

2.3 Kontribusi yang tidak melibatkan pemrograman PHP2.3.1 Membuat tema Moodle Sebuah tema Moodle adalah antarmuka yang sudah didesain dan dapat diubah oleh administrator situs, pengajar, atau pelajar. Pengubahan tema Moodle tidak mempengaruhi berbagai fungsi Moodle. Moodle menyediakan satu kumpulan tema standard yang siap digunakan dan berbagai tema lain yang bebas diunduh dari internet. Moodle memiliki sistem pengelolaan tema yang tangguh dan memungkinkan beragam efek melalui penggunaan XHTML dan CSS. Moodle juga memiliki sejumlah tema bagi para pengguna termasuk sebuah tema interaktif yang dinamakan Chameleon. Chameleon menggunakan teknologi Ajax untuk memudahkan pengguna dalam merancang tema sendiri atau memodifikasi tema yang sudah tersedia. Antarmuka pengeditan Ajax untuk tema Chameleon hanya dapat ditampilakan untuk administrator. Pembuatan tema Moodle yang baru dapat dilakukan dengan beberapa cara. Salah satu cara yang sederhana adalah dengan melakukan modifikasi dari tema Standard white yang telah disediakan di Moodle. Penjabaran secara detail tentang pembuatan tema Moodle dapat dikaji lebih lanjut di situs resmi Moodle. 2.3.2 Menerjemahkan Moodle ke bahasa yang lain Moodle dirancang untuk internasionalisasi. Setiap string atau halaman teks yang ditampilkan sebagai bagian dari antarmuka dirumuskan dari sekumpulan file bahasa. Semua paket bahasa Moodle

7

dapat ditemukan di folder /lang dengan setiap bahasa di dalam folder tertentu yang bernama sama dengan singkatan bahasa seperti nl, es. Jika satu bahasa tertentu belum didefinisikan di Moodle maka para pengembang dapat melakukan translasi bahasa. Prosedur dan panduan pengembangan translasi bahasa Moodle dapat dikaji di situs resmi Moodle. 2.3.3 Membantu dokumentasi Moodle Para pengguna dipersilakan untuk ikut berkontribusi di Moodle Docs dengan menemukan sesuatu yang dapat diperbaiki baik di konten, susunan kata atau format kemudian membenahi kekurangan tersebut. Pembuatan halaman baru untuk dokumentasi tambahan juga diijinkan dengan gaya penulisan yang telah ditentukan. Cara untuk membuat halaman baru sebagai dokumentasi tambahan diawali dengan menuliskan nama halaman baru di antara kurung siku ganda [[Nama halaman bau]] pada halaman yang sudah tersedia kemudian ikuti link yang tersedia untuk memulai mengedit halaman baru. Cara yang lain adalah dengan mengetikkan di address bar http://docs.moodle.org/en/Nama_halaman_baru. Nama halaman baru tidak boleh terlalu panjang dan memuat huruf kapital di huruf pertama. Selain itu, penambahan halaman baru harus mengikuti panduan gaya penulisan yang sudah ditentukan dan menampilkan konten yang bagus. 2.3.4 Membantu proses pengujian Moodle menjalankan beragam rencana pengujian untuk beberapa modul seperti modul assignment, chat, choice. Salah satu pengujian yang diaplikasikan adalah unit test. Unit test merupakan salah satu langkah di proses pengaturan kualitas untuk pengembangan Moodle. Tujuan unit test adalah untuk mengevaluasi setiap bagian dari sebuah program (fungsi dan beragam metode dari semua kelas) untuk memastikan bahwa setiap elemen menjalankan fungsi yang benar secara individual. Cara untuk melakukan unit test adalah sebagai berikut. 1. Log in dengan akun admin. 2. Administration Development Unit tests (moodle >= 2.0, Administration Reports Unit tests Moodle // Penutup kode PHP dari uraian sebelumnya.

Jika kode di atas sudah ditambahkan maka blok ini sudah dapat diinstal secara automatik di Moodle dan ditambahkan di setiap kursus. Cara untuk menginstal blok adalah dengan mengklik Notifications di bawah blok Site Administration. Blok yang sudah dibuat dengan semua kode di atas belum dapat disebut sebagai antarmuka sistem visualisasi karena blok tersebut hanya menampilkan tulisan Konten Blok dan Footer. Jadi kode blok tersebut harus dimodifikasi untuk menampilkan antarmuka yang dikehendaki. Kode yang mengatur isi blok adalah sebagai berikut.$this->content->text = 'Konten blok'; $this->content->text menyimpan kode HTML yang akan ditampilkan sebagai isi blok. Artinya, tampilan antarmuka yang dikehendaki harus dinyatakan dengan kode HTML. Kode HTML yang merepresentasikan antarmuka sistem visualisasi adalah sebagai berikut. $this->content->text = '

16

Simple Complicated Fresh Warm Light Heavy Casual Formal Grace Elegant Classic Modern Cool Excite

';

17

Gambar 3.4 Blok Blocks

Langkah terakhir dalam pembuatan blok Kansei Interface adalah pengaturan kemunculan blok. Blok Kansei Interface yang berguna sebagai tempat untuk memberikan nilai masukan bagi sistem hanya boleh digunakan oleh pembelajar yang sudah memiliki akses masuk di situs Moodle. Oleh karena itu, blok Kansei Interface tidak boleh muncul jika pembelajar belum log in di situs Moodle. Pengaturan tersebut dapat dilakukan dengan menambahkan kode PHP berikut di dalam fungsi get_content().global $CFG, $USER, $COURSE; if ($CFG->bloglevel < BLOG_GLOBAL_LEVEL && !(isloggedin() && !isguest())) { $this->content->text = ''; return $this->content; } if (!isset($userBlog)) { $userBlog ->userid = 0; } if (!empty($USER->id)) { $userBlog->userid = $USER->id; } if ($this->content !== NULL) { return $this->content; }

Jika pembuatan dan instalasi blok Kansei Interface sudah dilakukan maka langkah selanjutnya adalah memunculkan blok tersebut di layar dengan cara berikut. 1. Klik tombol Turn editing on. 2. Pilih [[Kansei Interface]] pada menu Add... yang disediakan di blok Blocks (Gambar 3.4). Jika semua tahap di atas sudah dilakukan maka blok Kansei Interface segera ditampilkan di Moodle. Gambar 3.2 menampilkan blok Kansei Interface yang sudah dibuat.

18

Blok Kansei Interface ini menampilkan tujuh pasang kansei word. Form teks yang terletak di setiap pasang kansei word adalah tempat yang disediakan bagi pembelajar untuk memasukkan nilai derajat kansei tampilan yang diinginkan. Jangkauan nilai masukan adalah -100 sampai dengan +100. Sebagai misal, jika pembelajar menginginkan tampilan yang simple dan modern maka nilai -100 harus dimasukkan ke pasangan kansei word I (Simple-Complicated) dan nilai +100 untuk pasangan kansei word VI (Classic-Modern). Selanjutnya, tombol Create harus ditekan agar sistem visualisasi mulai bekerja. Tombol Reset digunakan untuk mengosongkan kembali semua form teks di blok Kansei Interface.

3.5 Pembuatan program utamaProgram utama yang dimaksud adalah program yang menjalankan mekanisme sistem visualisasi. Program utama merupakan kombinasi algoritma genetik dan inferensi fuzzy. Program utama dibuat dalam dua file yang berekstensi .php yaitu system.class.php dan system. php. Kedua file ini disimpan di dalam direktori: \moodle\blocks\kansei_interface. File pertama, system.class.php, berisi semua fungsi yang digunakan di sistem untuk menjalankan operasi genetik dan inferensi fuzzy. Semua fungsi yang terlibat di sistem visualisasi dibagi ke dalam dua kelas yaitu kelas individual dan kelas GA (Genetic Algorithm/Algoritma Genetik). Kedua kelas tersebut akan dijelaskan di uraian berikut.