Sistem Rekomendasi pada Informal E-Learning Menggunakan Metode Collaborative Filtering dengan Algoritma Slope One

(1)

SISTEM REKOMENDASI PADA

INFORMAL E-LEARNING

MENGGUNAKAN METODE

COLLABORATIVE FILTERING

DENGAN

ALGORITMA

SLOPE ONE

SKRIPSI

ANDRYAN SITUNGKIR

081402047

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

SISTEM REKOMENDASI PADA

INFORMAL E-LEARNING

MENGGUNAKAN

METODE

COLLABORATIVE FILTERING

DENGAN ALGORITMA

SLOPE ONE

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Judul : SISTEM REKOMENDASI PADA INFORMAL

E-LEARNING MENGGUNAKAN METODE

COLLABORATIVE FILTERING DENGAN

ALGORITMA SLOPE ONE.

Kategori : SKRIPSI

Nama : ANDRYAN SITUNGKIR

Nomor Induk Mahasiswa : 081402047

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

(FASILKOMTI) UNIVERSITAS SUMATERA UTARA

Diluluskan di:

Medan, Februari 2014 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Marihat Situmorang, M.Si. Dr. Mahyuddin K. M. Nasution, M.IT. NIP 196312141989031001 NIP 196712251998021001

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Prof. Dr. Opim Salim Sitompul, M.Sc. NIP196108171987011001


(4)

PERNYATAAN

SISTEM REKOMENDASI PADA INFORMAL E-LEARNING MENGGUNAKAN METODE COLLABORATIVE FILTERING DENGAN ALGORITMA SLOPE ONE

SKRIPSI

Saya mengakui bahwa Skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, April 2014

Andryan Situngkir 081402047


(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala kasih dan karunia-Nya yang telah memberikan kesehatan dan kekuatan kepada penulis sehingga skripsi ini dapat diselesaikan dengan baik. Skripsi ini diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknologi Informasi di Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Dalam kesempatan ini, penulis menyampaikan ucapan terima kasih banyak kepada Bapak Dr. Mahyuddin K. M. Nasution, M.IT sebagai pembimbing I dan Drs. Marihat Situmorang, M.Si sebagai pembimbing II yang telah memberikan bimbingan, motivasi, kritik dan saran-saran kepada penulis sejak awal penelitian sampai dengan selesainya penulisan skripsi ini. Terima kasih juga kepada Bapak Drs. Sawaluddin, M.IT dan Bapak M. Fadly Syahputra, B.Sc, M.Sc.IT atas kesediaan menjadi dosen penguji untuk memberikan kritik dan saran yang baik. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fasilkom-TI USU, semua dosen pengajar di Program Studi S1 Teknologi Informasi atas ilmu yang penulis dapatkan selama mengikuti perkuliahan.

Terima kasih yang sangat istimewa buat kedua orang tua yang sangat penulis cintai, Ayahanda M.Situngkir, S.Pd dan Ibunda S. br. Simarmata yang telah terlibat banyak dalam setiap langkah kehidupan saya. Terima kasih atas pengorbanan, kasih sayang, doa, semangat, motivasidan dukungan dalam bentuk materi maupun moril yang sungguh luar biasa nilainya. Terima kasih buatabang-abang dan kakak saya (Bang Dika, Bang Andos dan Kak Meyrist) yang selalu memberi semangat, doa, dukungan dan nasehat kepada penulis.Terima kasih yang sebesar-besarnya buat Tulang L. Simarmata dan Nantulang D. br. Sihaloho yang sangat penyayang, juga buat Bang Riris, Kak Sheylin, Kak Sica, Kak David, Bang Iyan, beserta keluarga dan yang teristimewa Kak Rut dan Bang Haye, yang telah banyak mengorbankan waktu dan perasaan dalam membantu pembentukan karakter penulis sejak tiba di Kota Medan, juga kepada keluarga besar Op. Ruspal Simarmata, terima kasih atas doa, dukungan, nasehat dan keteladanan yang diberikan.

Terima kasih buat teman-teman masa kecil yang sangat saya rindukan, Irpan, Jumadin dan Johanson, juga buat teman-teman dari R-NHKBP Simarmata, terima kasih atas masa-masa kebersamaan yang kita lalui, terima kasih atas dukungan dan semangat yang kalian berikan. Terima kasih juga buat teman-teman SMP dan SMA saya, atas candaan dan hari-hari yang menjadi salah satu kenangan terindah yang masih mengisi memori saya, terima kasih atas dukungannya. Terima kasih juga buat teman-teman seperjuangan TI’08 yang sangat menginspirasi, teristimewa buat teman saya Tulus dan Sakti terima kasih atas kebersamaan kita selama kuliah di Teknologi Informasi, semoga kesuksesan segera menghampiri kita semua.

Penulis telah berupaya dengan semaksimal mungkin dalam menyelesaikan skripsi ini, namun penulis menyadari masih banyak kelemahan baik dari segi isi maupun tata bahasa, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari pembaca demi sempurnanya skripsi ini (and.dryan@gmail.com). Akhir kata penulis ucapkan banyak terima kasih, semoga skripsi ini bermanfaat bagi kita semua.


(6)

ABSTRAK

Penelitian ini dilakukan untuk menghasilkan rekomendasi pada informal e-learning. Teknik rekomendasi yang digunakan adalah item-based collaborative filtering. Item-based collaborative filtering akan bekerja dengan cara mempelajari pola rating dari pengguna, kemudian memberikan rekomendasi. Tugas akhir ini menggunakan algoritma Slope One dalam implementasinya. Parameter yang digunakan dalam penelitian ini adalah rating yang diberikan pengguna terhadap item tertentu. Akurasi prediksi yang dihasilkan oleh algoritma Slope One akan semakin meningkat dengan bertambahnya jumlah user yang memberikan rating terhadap item yang tersedia. Hasil rekomendasi pada algoritma Slope One menunjukkan ketidaksesuaian antara tipe item hasil rekomendasi dengan tipe item yang telah diberi rating oleh pengguna aktif. Hal ini disebabkan proses prediksi rating pada algoritma Slope One tidak memperhatikan tipe atau konten dari item, tetapi lebih memperhatikan kemiripan pola rating.

Kata kunci: Algoritma Slope One, Collaborative Filtering, Informal E-learning, Sistem Rekomendasi


(7)

RECOMMENDATION SYSTEM IN INFORMAL E-LEARNING USING COLLABORATIVE FILTERING WITH SLOPE ONE ALGORITHM

ABSTRACT

This study was conducted to generate recommendations on informal e-learning. The recommendation technique used is the item-based collaborative filtering. Item-based collaborative filtering will work by studying the patterns of user ratings, and then provide recommendations. This final project using Slope One algorithm implementation. The parameters used in this research is the rating given by user to a particular item. Accuracy of predictions generated by Slope One algorithm will increase with increasing number of users who give ratings to the items available. The recommendations on the Slope One algorithm shows a mismatch between the type of item based on the recommendation with the type of items that have been rated by the active user. This is due to the predicted rating on Slope One algorithm does not pay attention to the type or content of the items, but pays more attention to the similarity rating pattern.

Keyword: Slope One Algorithm, Collaborative Filtering, Informal E-Learning, Recommendation System.


(8)

Daftar Isi

Halaman

Halaman Judul i

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan Masalah 2

1.4. Tujuan dan Manfaat Penelitian 2

1.5. Metodologi Penelitian 3

1.6. Sistematika Penulisan 4

Bab 2 Landasan Teori 5

2.1.E-Learning 5

2.1.1. Pengertian E-learning 5

2.1.2. Sejarah E-Learning 5

2.1.3. Fungsi E-Learning 6

2.1.4. Keunggulan dan Kekurangan 8

2.1.5. Informal E-learning 9

2.2. Sistem Rekomendasi (Recommendation System) 9

2.2.1. Pengertian Sistem Rekomendasi 9

2.2.2. Collaborative Filtering Recommendations 10

2.3. Algoritma Slope One 12

2.4. Unified Model Language 14

2.4.1. Diagram Use Case 16

2.4.2. Use Case Spesification 17

2.4.3. Sequence Diagram 17

2.4.4. Activity Diagram 19

2.5. Bahasa Pemrograman PHP 20

Bab 3 Analisis dan Perancangan Sistem 22

3.1. Analisis Kebutuhan 22

3.1.1. Deskripsi Sistem 22

3.1.2. Item 24

3.1.3. User 24

3.1.4. Transaksi dan Input 25

3.2. Perancangan Sistem 25

3.2.1. Use Case Diagram 25

3.2.2. Model Spesifikasi Use Case 26


(9)

3.2.4. Kelas Diagram 33

3.2.5. Activity Diagram 34

3.3. Perancangan Interface 36

3.3.1. Struktur Menu 36

3.3.2. Perancangan Tampilan 37

3.4. Proses Algoritma Slope One 39

3.4.1. Flowchart Algoritma Slope One 41

Bab 4 Implementasi dan Pengujian Sistem 42

4.1. Implementasi Sistem 42

4.2. Pengujian Sistem 43

4.3. Tampilan Halaman Sistem 53

4.3.1. Halaman Utama 53

4.3.2. Halaman Menu Register 54

4.3.3. Halaman Login 55

4.3.4. Halaman Tampilan List Artikel Berdasarkan Kategori 56

4.3.5. Halaman Detail Artikel 57

Bab 5 Kesimpulan dan Saran 59

5.1. Kesimpulan 59

5.2. Saran 59

Daftar Pustaka 60


(10)

DAFTAR TABEL

Halaman

Tabel 2.1. Contoh implementasi Slope One 13

Tabel 2.2. Elemen-elemen dari sequence diagram 18

Tabel 2.3. Simbol Aktivitas Diagram 20

Tabel 3.1. Spesifikasi use case 26

Tabel 3.2. Contoh Algoritma Slope One 40

Tabel 4.1. Pengujian Sistem 43

Tabel 4.2. Pengujian Register 44

Tabel 4.3. Pengujian Login 46

Tabel 4.4. Hasil pengujian melihat daftar artikel 47

Tabel 4.5. Hasil pengujian melihat isi artikel 48

Tabel 4.6. Hasil pengujian memberi/meng-update rating 50

Tabel 4.7. Hasil pengujian memberikan rekomendasi 51


(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1. Skema dasar Slope One 13

Gambar 2.2. Aktor-aktor use case 16

Gambar 2.3. Aktor dan use case 16

Gambar 2.4. Aktor, use case dan keterhubungan 17

Gambar 3.1. Arsitektur dasar sistem 23

Gambar 3.2. Arsitektur mesin rekomendasi 24

Gambar 3.3. Use case diagram 26

Gambar 3.4. Sequence Diagram: Lihat Artikel 30

Gambar 3.5. Sequence Diagram: Login 31

Gambar 3.6. Sequence Diagram Register 31

Gambar 3.7. Sequence Diagram Rekomendasi 32

Gambar 3.8. Sequence Diagram Pencarian 33

Gambar 3.9. Class Diagram 33

Gambar 3.10.Activity Diagram Login 34

Gambar 3.11. Diagram Activity Register 35

Gambar 3.12. Diagram Activity Pencarian 35

Gambar 3.13.Activity Diagram Rekomendasi 36

Gambar 3.14. Struktur Menu 37

Gambar 3.15. Halaman depan 37

Gambar 3.16. Register 38

Gambar 3.17. Login 38

Gambar 3.18. Halaman isi artikel 39

Gambar 3.19. Flowchart Algoritma Slope One 41

Gambar 4.1. Tampilan halaman register 45

Gambar 4.2. Halaman depan muncul setelah berhasil mendaftar 45

Gambar 4.3. Daftar database anggota terdaftar 46

Gambar 4.4. Gambar tampilan login 47

Gambar 4.4. Tampilan setelah proses login berhasil 47

Gambar 4.5. Tampilan daftar artikel pada kategori jQuery 48

Gambar 4.6. Tampilan detail/isi artikel 49

Gambar 4.7. Tampilan database daftar artikel 49

Gambar 4.8. Gambar form rating 50

Gambar 4.9. Database rating pengguna 51

Gambar 4.10. Daftar rekomendasi diurutkan berdasarkan nilai prediksi 52

Gambar 4.11. Tampilan Form Pencarian 52

Gambar 4.12. Tampilan Hasil Pencarian 53

Gambar 4.13. Halaman depan sistem rekomendasi 53

Gambar 4.14. Tampilan halaman register 54

Gambar 4.15. Pesan error ditampilkan ketika data tidak valid 55

Gambar 4.16. Tampilan halaman login 55

Gambar 4.17. Menampilkan pesan error saat data login tidak valid 56

Gambar 4.18. Daftar artikel berdasarkan kategori 56

Gambar 4.19. Halaman isi artikel 57

Gambar 4.20. Tampilan form rating sebelum user member rating 57 Gambar 4.21. Tampilan form rating sesudah user member rating 58 Gambar 4.22. Daftar artikel yang direkomendasikan beserta nilai prediksi 58


(12)

ABSTRAK

Penelitian ini dilakukan untuk menghasilkan rekomendasi pada informal e-learning. Teknik rekomendasi yang digunakan adalah item-based collaborative filtering. Item-based collaborative filtering akan bekerja dengan cara mempelajari pola rating dari pengguna, kemudian memberikan rekomendasi. Tugas akhir ini menggunakan algoritma Slope One dalam implementasinya. Parameter yang digunakan dalam penelitian ini adalah rating yang diberikan pengguna terhadap item tertentu. Akurasi prediksi yang dihasilkan oleh algoritma Slope One akan semakin meningkat dengan bertambahnya jumlah user yang memberikan rating terhadap item yang tersedia. Hasil rekomendasi pada algoritma Slope One menunjukkan ketidaksesuaian antara tipe item hasil rekomendasi dengan tipe item yang telah diberi rating oleh pengguna aktif. Hal ini disebabkan proses prediksi rating pada algoritma Slope One tidak memperhatikan tipe atau konten dari item, tetapi lebih memperhatikan kemiripan pola rating.

Kata kunci: Algoritma Slope One, Collaborative Filtering, Informal E-learning, Sistem Rekomendasi


(13)

RECOMMENDATION SYSTEM IN INFORMAL E-LEARNING USING COLLABORATIVE FILTERING WITH SLOPE ONE ALGORITHM

ABSTRACT

This study was conducted to generate recommendations on informal e-learning. The recommendation technique used is the item-based collaborative filtering. Item-based collaborative filtering will work by studying the patterns of user ratings, and then provide recommendations. This final project using Slope One algorithm implementation. The parameters used in this research is the rating given by user to a particular item. Accuracy of predictions generated by Slope One algorithm will increase with increasing number of users who give ratings to the items available. The recommendations on the Slope One algorithm shows a mismatch between the type of item based on the recommendation with the type of items that have been rated by the active user. This is due to the predicted rating on Slope One algorithm does not pay attention to the type or content of the items, but pays more attention to the similarity rating pattern.

Keyword: Slope One Algorithm, Collaborative Filtering, Informal E-Learning, Recommendation System.


(14)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Seiring perkembangan teknologi informasi yang sangat pesat, kebutuhan akan teknologi dalam berbagai bidang menjadi tidak terelakkan lagi. Berbagai bidang profesi menggunakan media teknologi informasi untuk meningkatkan kemampuan dan keahlian dari karyawan perusahaan maupun masyarakat umum yang ingin mengasah kemampuan dan keahlian secara mandiri. Media yang digunakan disebut sebagai

informal e-learning berupa blog, e-newsletter, mailing list, website pribadi, organisasi dan perusahaan dll yang ingin mensosialisasikan jasa, program, pengetahuan atau keterampilan tertentu pada masyarakat luas (biasanya tanpa memungut biaya).

Pada penelitian ini, penulis membuat sebuah alat rekomendasi pada informal e-learning. Algoritma yang digunakan adalah algoritma Slope One untuk menghasilkan rekomendasi dalam sistem informal e-learning. Rekomendasi yang dihasilkan berupa judul dari artikel, yang disesuaikan dengan persamaan pola rating pengguna lainnya.

Dengan adanya sistem rekomendasi ini, penulis berharap pengguna memperoleh rekomendasi konten yang sesuai dengan minat dan kebutuhannya, sehingga membantu pengguna dalam mempelajari suatu objek pembelajaran tertentu.


(15)

1.2 Rumusan Masalah

E-learning yang tersedia sekarang ini pada umumnya menyediakan content dengan model yang semi-terstruktur, sehingga pengguna harus mengikuti alur yang disediakan oleh sistem, tidak sesuai minat pengguna. Sistem informal e-learning ini akan menyediakan tool yang dapat membantu pengguna dalam mempelajari sebuah objek pengetahuan, yaitu alat rekomendasi yang menghasilkan rekomendasi berdasarkan kesamaan minat dengan pengguna lain.

Dalam penelitian ini, permasalahan yang akan diselesaikan adalah: 1. Bagaimana membangun sebuah sistem informale-learning.

2. Bagaimana menerapkan Algoritma Slope One pada sistem informal e-learning

sehingga sistem dapat menghasilkan rekomendasi kepada pengguna.

1.3 Batasan Masalah

Ruang lingkup penelitian adalah:

1. Sistem e-learning yang dibuat berbasis web. 2. Sistem yang dibangun bersifat informal e-learning.

3. Metode yang digunakan adalah collaborative filtering dengan menggunakan algoritma Slope One.

4. Kontennya berupa artikel yang berisi teks dan gambar.

5. Bahasa yang digunakan adalah PHP dengan framework CodeIgniter, dan MySQL sebagai databasenya.

1.4 Tujuan dan Manfaat Penelitian

Tujuan penelitian adalah membangun sebuah sistem informal e-learning yang mampu menyajikan rekomendasi judul artikel dengan menggunakan algoritma Slope One.

Manfaat penelitian adalah membantu pengguna dalam mempelajari suatu objek pembelajaran dengan bantuan sistem rekomendasi.


(16)

1.5 Metodologi Penelitian

Langkah-langkah dalam penelitian yang dilakukan oleh penulis adalah sebagai berikut:

1. Studi Literatur

Penulis mencari referensi yang mendukung penelitian ini. Referensi bisa berupa jurnal-jurnal, buku, sumber online, dan berbagai sumber yang berhubungan dengan pemrograman web, database dan sistem rekomendasi menggunakan

collaborative filtering beserta algoritma yang digunakan. 2. Analisis dan Perancangan

Pada tahap ini penulis melakukan analisis mengenai hal-hal apa saja yang dibutuhkan dalam implementasi. Melakukan analisis terhadap studi literatur dalam penerapan algoritma Slope One ke dalam sistem informal e-learning.

Selain itu, penulis juga akan membuat desain arsitektur, database dan antarmuka sebagai lanjutan dari tahap analisis.

3. Implementasi

Pada tahap ini dilakukan implementasi/pengkodean program dalam aplikasi komputer menggunakan bahasa pemrograman yang telah dipilih yang sesuai dengan analisis dan perancangan yang sudah dilakukan.

4. Pengujian aplikasi

Pada tahap ini dilakukan proses pengujian dan percobaan terhadap sistem, sesuai dengan kebutuhan yang ditentukan dalam tahap analisis dan perancangan serta memastikan program yang dibuat berjalan seperti yang diharapkan.

5. Penyusunan Laporan

Hasil dari studi literatur, perancangan, implementasi dan pengujian ditulis ke dalam sebuah laporan.


(17)

1.6 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari 5 bagian utama sebagai berikut: BAB 1: PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan. BAB 2: LANDASAN TEORI

Bab ini berisi tentang teori-teori pendukung yang digunakan untuk memahami permasalahan yang menjadi dasar penulisan skripsi ini.

BAB 3: ANALISIS DAN PERANCANGAN

Dalam bab ini akan dibahas mengenai analisis kebutuhan dan perancangan sistem untuk menyelesaikan masalah yang dirumuskan dalam perumusan masalah.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang implementasi hasil analisis dan desain ke dalam bentuk kode program untuk dieksekusi. Kemudian dilakukan pengujian untuk mengetahui kinerja dari aplikasi apakah sesuai dengan kebutuhan.

BAB 5: KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang diperoleh dari uraian-uraian dari bab-bab sebelumnya dan juga berisi saran yang dibutuhkan untuk pengembangan aplikasi lebih lanjut.


(18)

BAB 2

LANDASAN TEORI

2.1 E-Learning

2.1.1 Pengertian E-Learning

E-learning atau pembelajaran elektronik, merupakan salah satu bentuk dari aplikasi Teknologi Informasi dan Komunikasi (TIK) dalam kegiatan pembelajaran. Ada beberapa definisi e-learning yang dikemukakan oleh para ahli. Definisi-definisi tersebut memiliki cakupan yang berbeda, tergantung dari perspektif yang digunakan oleh ahli yang bersangkutan.

E-learning merupakan suatu jenis belajar mengajar yang memungkinkan tersampaikannya bahan ajar ke siswa dengan menggunakan media internet, intranet atau media jaringan komputer lain (Hartley, 2001 ).

2.1.2 Sejarah E-Learning

E-learning pertama kali diperkenalkan oleh Universitas Illionis di Urbana-Champaign dengan menggunakan sistem instruksi berbasis komputer (computer-assisted instruction) dan komputer bernama PLATO. Sejak saat itu, perkembangan e-learning

dari masa ke masa adalah sebagai berikut:

a. Tahun 1990 : Pada masa CBT (Computer-Based Training) di mana mulai bermunculan aplikasi e-learning yang berjalan dalam PC standalone ataupun berbentuk kemasan CD-ROM. Isi materi dalam bentuk tulisan maupun multimedia (video dan audio) dalam format mov, mpeg-1, atau avi.


(19)

b. Tahun 1994 : Seiring dengan diterimanya CBT oleh masyarakat sejak tahun 1994 CBT muncul dalam bentuk paket-paket yang lebih menarik dan diproduksi secara massal.

c. Tahun 1997 : LMS (Learning Management System). Seiring dengan perkembangan teknologi internet, masyarakat dunia mulai terkoneksi dengan internet. Kebutuhan akan informasi yang dapat diperoleh dengan cepat mulai dirasakan sebagai kebutuhan mutlak dan jarak serta lokasi bukanlah halangan lagi. Dari sinilah munculnya LMS. Perkembangan LMS yang semakin pesat membuat pemikiran baru untuk mengatasi masalah interoperabilitas antara LMS yang satu dengan lainnya secara standar. Bentuk standar muncul misalnya standar yang dikeluarkan oleh AICC (Airline Industry CBT Comittee), IMS, IEEE LOM, ARIADNE, dsb.

d. Tahun 1999 sebagai tahun aplikasi e-learning berbasis web. Perkembangan LMS menuju aplikasi e-learning berbasis web berkembang secara total, baik untuk pembelajar (learner) maupun administrasi belajar mengajarnya. LMS mulai digabungkan dengan dengan situs-situs informasi, majalah dan surat kabar. Isinya juga semakin kaya dengan perpaduan multimedia, video streaming serta penampilan interaktif dalam berbagai pilihan format yang lebih standar dan berukuran kecil.

2.1.3 Fungsi E-learning

Ada 3 fungsi pembelajaran elektronik terhadap kegiatan pembelajaran, yaitu sebagai suplemen yang sifatnya opsional (pilihan), komplemen (pelengkap), atau pengganti (substitusi) (Siahaan, 2002).

a. Suplemen

Dikatakan berfungsi sebagai suplemen (tambahan), apabila peserta didik mempunyai kebebasan memilih, apakah akan memanfaatkan materi pembelajaran elektronik atau tidak. Dalam hal ini, tidak ada kewajiban/keharusan bagi peserta didik untuk mengakses materi pembelajaran elektronik. Sekalipun sifatnya opsional, peserta didik yang memanfaatkannya tentu akan memiliki tambahan pengetahuan atau wawasan.


(20)

b. Komplemen (Tambahan)

Dikatakan berfungsi sebagai komplemen (pelengkap) apabila materi pembelajaran elektronik diprogramkan untuk melengkapi materi pembelajaran yang diterima siswa di dalam kelas. Sebagai Komplemen berarti materi pembelajaran elektronik diprogramkan untuk menjadi materi reinforcement (pengayaan) atau remedial bagi peserta didik di dalam mengikuti kegiatan pembelajaran konvensional. Materi pembelajaran elektronik dikatakan sebagai enrichment, apabila kepada peserta didik yang dapat dengan cepat menguasai / memahami materi pelajaran yang disampaikan guru secara tatap muka (fast learners) diberikan kesempatan untuk mengakses materi pembelajaran elektronik yang memang secara khusus dikembangkan untuk mereka. Tujuannya agar semakin memantapkan tingkat penguasaan peserta didik terhadap materi pelajaran yang disajikan guru didalam kelas. Dikatakan sebagai program remedial, apabila kepada peserta didik yang kesulitan memahami materi pelajaran yang disajikan guru secara tatap muka di kelas (slow learners) diberikan kesempatan untuk memanfaatkan materi pembelajaran elektronik yang memang secara khusus dirancang untuk mereka. c. Pengganti (Substitusi)

Beberapa perguruan tinggi di negara-negara maju memberikan beberapa

alternative model kegiatan pembelajaran / perkuliahan kepada para mahasiswanya. Tujuannya agar para mahasiswa dapat secara fleksibel mengelola kegiatan perkuliahannya sesuai dengan waktu dan aktifitas lain sehari-hari mahasiswa.

E-learning bisa mencakup pembelajaran secara formal maupun informal. E-learning secara formal, misalnya adalah pembelajaran dengan kurikulum, silabus, mata pelajaran dan tes yang telah diatur dan disusun berdasarkan jadwal yang telah disepakati pihak-pihak terkait (pengelola e-learning dan pembelajar sendiri). Pembelajaran seperti ini biasanya tingkat interaksinya tinggi dan diwajibkan oleh perusahaan pada karyawannya, atau pembelajaran jarak jauh yang dikelola oleh universitas dan perusahaan-perusahaan (biasanya perusahan konsultan) yang memang bergerak di bidang penyediaan jasa e-learning untuk umum. E-learning bisa juga dilakukan secara informal dengan interaksi yang lebih sederhana, misalnya melalui sarana mailing list, e-newsletter atau website pribadi, organisasi dan perusahaan yang


(21)

ingin mensosialisasikan jasa, program, pengetahuan atau keterampilan tertentu pada masyarakat luas (biasanya tanpa memungut biaya).

2.1.4 Keunggulan dan Kekurangan

Keuntungan menggunakan e-learning (Wahono, 2005) diantaranya adalah sebagai berikut:

a. Menghemat waktu proses belajar mengajar. b. Mengurangi biaya transportasi.

c. Menghemat biaya pendidikan secara keseluruhan. d. Menjangkau wilayah geografis yang lebih luas.

e. Melatih pembelajaran lebih mandiri dalam mendapatkan ilmu pengetahuan. Pemanfaatan internet untuk pembelajaran atau e-learning juga tidak terlepas dari berbagai kekurangan. Berbagai kekurangan (Bullen, 2001 dan Beam, 1997), antara lain:

a. Kurangnya interaksi antara guru dan siswa atau bahkan antar siswa itu sendiri. b. Kecenderungan mengabaikan aspek akademik atau aspek sosial dan sebaliknya

mendorong tumbuhnya aspek bisnis / komersial.

c. Proses belajar dan mengajarnya cenderung kearah pelatihan daripada pendidikan.

d. Berubahnya peran guru dari yang semula menguasai teknik pembelajaran konvensional, juga dituntut mengetahui teknik pembelajaran menggunakan ICT.

e. Siswa yang tidak mempunyai motivasi belajar yang tinggi cenderung gagal. f. Tidak semua tempat tersedia fasilitas internet.

g. Kurangnya tenaga yang mengetahui dan memiliki keterampilan internet.

2.1.5 Informal E-learning


(22)

1. Aspek Lingkungan Pembelajaran:

a. Bergantung pada aplikasi komputer, layanan web atau teknologi. b. Tidak bergantung pada kurikulum.

c. Belajar bisa dilakukan dimana saja dan kapan saja selagi terhubung dengan internet.

d. Tidak terdapat penilaian atau sertifikat kepada pengguna untuk pencapaian tertentu.

2. Aspek Personal:

a. Bersifat mandiri sesuai kebutuhan pribadi. b. Proses belajar yang koperatif.

Adapun aplikasi, teknologi dan layanan yang digunakan dalam informal e-learning adalah:

a. Aplikasi: web browser.

b. Layanan: search engines (Google, Bing, Yahoo), social bookmarking (delicious), social networks (facebook, XING, eduspaces.net), RSS.

c. Konten: Wikipedia, Youtube, micro-publishing.

d. Teknologi: e-portfolios, wikis, podcasts, weblogs.

2.2 Sistem Rekomendasi (Recommendation System)

2.2.1 Pengertian Sistem Rekomendasi

Sistem rekomendasi merupakan model aplikasi dari hasil observasi terhadap keadaan dan keinginan pengguna. Oleh karena itu, sistem rekomendasi memerlukan model rekomendasi yang tepat agar hasil rekomendasi sesuai dengan kebutuhan pengguna. Menurut Sebastia, L et. al (2009) sistem rekomendasi merupakan sebuah alat personalisasi yang menyediakan sebuah informasi daftar item-item yang sesuai dengan keinginan pengguna. Sistem rekomendasi menyimpulkan preferensi pengguna dengan menganalisis ketersediaan data pengguna dan lingkungannya. Oleh karena itu, sistem rekomendasi akan menawarkan kemungkinan dari penyaringan informasi personal sehingga hanya informasi yang sesuai dengan kebutuhan dan preferensi pengguna yang akan ditampilkan di sistem dengan menggunakan sebuah teknik atau model rekomendasi.


(23)

Sistem rekomendasi dikelompokkan kedalam metode berikut ini, berdasarkan bagaimana rekomendasi dibuat:

a. Content-based Recommendations: item yang direkomendasikan kepada pengguna disesuaikan dengan minat pengguna di masa lalu.

b. Collaborative Filtering Recommendations: item yang direkomendasikan kepada pengguna disesuaikan dengan minat dan penilaian pengguna lainnya di masa lalu.

c. Hybrid Approaches: metode ini menggabungkan metode collaborative filtering

dengan content-basedfiltering.

2.2.2 Collaborative Filtering Recommendations

Collaborative filtering adalah salah satu teknik yang digunakan dalam sistem rekomendasi. Collaborative filtering memiliki 2 pengertian, yang khusus dan yang lebih umum (Herlocker, et. al, 2001). Secara umum, collaborative filtering adalah proses penyaringan informasi atau pola menggunakan teknik yang melibatkan kolaborasi antara multiple agents, sudut pandang, sumber data, dll. Aplikasi dalam

collaborative filtering biasanya melibatkan kumpulan data yang sangat besar. Secara khusus, collaborative filtering adalah sebuah metode dalam membuat prediksi otomatis tentang minat pengguna dengan mengumpulkan informasi pilihan dan selera dari banyak pengguna. Asumsi yang mendasari pendekatan collaborative filtering

adalah jika individu A dan individu B memiliki opini tentang sesuatu, A lebih sependapat dengan B tentang hal tersebut dibandingkan dengan orang lain yang dipilih secara acak. Misalnya, sistem rekomendasi collaborative filtering untuk pilihan acara televisi bisa membuat prediksi tentang acara televisi mana yang mungkin disukai oleh pengguna, diberikan dalam bentuk list berdasarkan selera pengguna (suka atau tidak suka).

a. Pengantar Collaborative Filtering

Pertumbuhan internet telah menjadikan proses ekstraksi informasi secara efektif dari semua informasi yang tersedia secara online menjadi lebih sulit. Jumlah data yang


(24)

besar membutuhkan semacam mekanisme untuk menyaring informasi secara efisien. Salah satu teknik yang digunakan untuk menangani masalah ini adalah collaborative filtering.

Motivasi penggunaan metode collaborative filtering berasal dari sebuah ide dimana seseorang sering memperoleh rekomendasi dari seseorang yang memiliki minat yang sama. Collaborative filtering mengeksplorasi kesesuaian minat dan membuat rekomendasi kesamaan berdasarkan minat tersebut.

Collaborative filtering biasanya membutuhkan: a. Partisipasi pengguna aktif

b. Cara yang mudah untuk merepresentasikan minat pengguna ke sistem.

c. Algoritma yang bisa menyesuaikan pengguna yang memiliki selera yang sama. Biasanya, alur kerja collaborative filtering adalah:

1. Pengguna mengungkapkan pilihannya dengan memberi rate pada item dalam sistem.Rating ini bisa dilihat kurang lebih sebagai gambaran minat pengguna terhadap.

2. Sistem menyesuaikan rating pengguna dengan pengguna lainnya dan menemukan pengguna yang memiliki minat paling mirip.

3. Sistem merekomendasikan item yang diberi rating tertinggi oleh pengguna lain, kepada pengguna yang belum memberikan rating terhadap item tersebut. b. Metodologi

Collaborative filtering memiliki banyak metode, tetapi pada umumnya hanya digunakan 2 metode:

1. User-based collaborative filtering

a. Mencari pengguna yang memberikan pola rating yang sama dengan pengguna aktif.

b. Menggunakan rating dari pengguna yang sependapat yang ditemukan pada langkah 1 untuk menghitung prediksi bagi pengguna aktif.


(25)

a. Membangun matriks item-item yang menentukan hubungan antara pasangan item.

b. Menggunakan matriks, dan data pada pengguna aktif, untuk menyimpulkan minat pengguna.

Sistem rekomendasi berbasis collaborative filtering dibuat untuk mengatasi kelemahan dari sistem rekomendasi content-based filtering yaitu:

a. Pendekatan collaborative dapat bekerja dalam domain dimana terdapat sedikit content yang berasosiasi dengan item atau ditempat dimana content sulit dianalisis menggunakan komputer seperti ide, masukan atau opini sehingga menjadi reliable.

b. Pendekatan collaborative mempunyai kemampuan untuk menyediakan rekomendasi yang tidak terduga atau tidak disengaja, misalnya dapat merekomendasikan item yang relevan kepada pengguna sekaligus tidak mengandung content dari profil pengguna tersebut.

2.3 Algoritma Slope One

Algoritma Slope One merupakan salah satu algoritma yang digunakan dalam metode

collaborative filtering, yang diperkenalkan dalam sebuah karya tulis oleh Daniel Lemire dan Anna Mclachlan pada tahun 2005. Algoritma Slope One digunakan untuk mengurangi overfitting, meningkatkan kinerja dan implementasi yang lebih mudah.

Slope One didasarkan pada “popularity differential” yang dihitung dengan

mengurangkan rating rata-rata dari dua buah item (Lemere dan McGrath, 2005). Algoritma Slope One memiliki persamaan seperti berikut:

Dimana Cij dalam persamaan tersebut adalah jumlah pengguna yang memberikan

rate terhadap item i dan item j. Semakin besar nilai Cij, maka hasil prediksi (ruj +


(26)

Gambar 2.1.Skema dasar Slope One Misalkan:

1. Pengguna A memberikan 1 terhadap item I dan 1,5 terhadap item J. 2. Pengguna B memberikan 2 terhadap item I.

3. Bagaimana pengguna B menilai item J?

4. Jawaban dari Slope One adalah 2,5 (1,5-1+2 = 2,5) Untuk contoh yang lebih nyata, perhatikan table berikut:

Tabel 2.1.Contoh implementas Slope One

Pelanggan Item 1 Item 2 Item 3

John 5 3 2

Mark 3 4 -

Lucy - 2 5

Dalam hal ini, perbedaan rating rata-rata antara item 1 dan 2 adalah (2+(-1))/2 = 0.5. Oleh karena itu, berdasarkan rata-rata, item 1 di-rate diatas item 2 sebesar 0.5. Demikian pula, perbedaan rata-rata antara item 3 dan 1 adalah 3. Oleh karena itu, jika kita mencoba memprediksi penilaian Lucy terhadap item 1 menggunakan penilaiannya terhadap item 2, kita memperoleh 2+0.5=2.5. Demikian pula, jika kita mencoba untuk memprediksi penilaiannya terhadap item 1 menggunakan penilaiannya terhadap item 3, kita memperoleh 8 (5+3 = 8).

Jika pengguna memberi rate terhadap sejumlah item, hasil prediksi hanya akan digabungkan menggunakan rata-rata yang diberi bobot dimana pilihan yang baik


(27)

adalah jumlah pengguna yang memberi rate terhadap kedua item. Pada contoh diatas, kita akan memprediksi rating untuk Lucy:

2.4 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah “bahasa” yang telah menjadi standard industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak (Dharwiyanti dan Wahono, 2003). Dengan menggunakan UML, pemodelan

informal e-learning menjadi lebih terstruktur sebelum diimplementasikan ke bahasa pemrograman tertentu. Unified Modeling Language (UML) bukanlah :

1. Bahasa pemrograman visual, tetapi bahasa pemodelan visual. 2. Spesifikasi kakas, tetapi spesifikasi bahasa pemodelan. 3. Proses, tetapi yang memungkinkan proses-proses.

Tujuan perancangan UML adalah:

1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti. Dalam penelitian ini, UML digunakan dalam pemodelan interaksi antara komponen dari

informal e-learning seperti: user dan konten.

2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep-konsep inti.

3. Mendukung spesifikasi independen bahasa pemrograman dan pengembangan tertentu.

4. Menyediakan basis formal untuk pemahaman bahasa pemodelan.

5. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.


(28)

menggambarkan pemodelan berorientasi objek yang dilakukan. UML membagi diagram menjadi dua tipe yaitu :

1. Diagram Struktur

Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek statik dari sistem. Diagram struktur di UML terdiri dari:

a. Diagram Kelas (Class diagram) b. Diagram Objek (Object diagram)

c. Diagram komponen (Component diagram) d. Diagram deployment (Deployment Diagram) 2. Diagram perilaku

Diagram ini untuk memvisualisasi, menspesifikasi, membangun dan mendokumentasikan aspek dinamis dari sistem. Diagram struktur di UML terdiri dari:

a. Diagram use-case (Use case diagram) b. Diagram sekuen (sequence diagram)

c. Diagram kolaborasi (collaboration diagram) d. Diagram statechart (Statechart diagram) e. Diagram aktivitas (Activity diagram)

2.4.1 Diagram Use Case

Diagram use case merupakan salah satu diagram untuk memodelkan aspek perilaku sistem atau digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem (Hariyanto, 2004). Diagram use case terdiri dari beberapa elemen yaitu:

1. Aktor

Aktor adalah pemakai sistem, dapat berupa manusia atau sistem terotomatisasi lain. Aktor adalah sesuatu atau seseorang yang berinteraksi dengan sistem, yaitu siapa dan apa yang menggunakan sistem. Aktor adalah tipe (kelas) bukan instan. Aktor mempresentasikan peran bukan pemakai individu dari sistem. Aktor memiliki nama, nama yang dipilih seharusnya menyatakan peran aktor.


(29)

Gambar 2.2. Aktor-aktor use case 2. Use Case

Use case adalah cara spesifik penggunaan sistem oleh aktor. Use case melibatkan interaksi antara aktor-aktor dan sistem. Use case mengemukakan suatu kerja yang tampak.

Gambar 2.3. Aktor dan use case

3. Keterhubungan

Keterhubungan antara use case dengan use case lain berupa generalisasi antara use case yaitu :

a. include, perilaku use case merupakan bagian dari use case lain. b. extend, perilaku use case memperluas perilaku use case yang lain.


(30)

Gambar 2.4. Aktor, use case dan keterhubungan

2.4.2 Use Case Spesification

Spesifikasi use case memberikan gambaran lengkap spesifikasi tekstual pada use case. Spesifikasi use case sistem rekomendasi dilakukan berdasarkan case yang ada pada

use case diagram. Spesifikasi use case biasanya terdiri dari :

a. Deskripsi singkat case, yang menjelaskan apa yang terjadi pada case. b. Pra kondisi yaitu keadaan apa yang terjadi sebelum case berlangsung. c. Karakteristik yang dimiliki oleh case.

d. Skenario (flow of event) yaitu menjelaskan cara kerja case mulai dari awal hingga akhir.

e. Pasca kondisi yaitu keadaan apa atau output apa yang dihasilkan setelah case berlangsung.

2.4.3 Diagram Sekuen (Sequence Diagram)

Diagram sekuen (sequence diagram) menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa message (pesan) yang digambarkan terhadap waktu.

Diagram sekuen digunakan untuk memodelkan scenario penggunaan. Skenario penggunaan adalah barisan kejadian yang terjadi selama satu eksekusi sistem. Diagram sekuen menunjukkan objek sebagai garis vertical dan tiap kejadian sebagai panah horizontal dari objek pengirim ke objek penerima. Waktu berlalu dari atas ke bawah dengan lama waktu tidak relevan.


(31)

Diagram sekuen (sequence diagram) memeiliki beberapa elemen yang terdiri dari: Tabel 2.1. Elemen-elemen dari sequence diagram

Nama Penjelasan Gambar

1 Objek lifeline Menggambarkan batasan objek

2 Boundary Berhubungan dengan proses input output ataupun interface.

3 Controller Berhubungan dengan proses

4 Entity Berhubungan

dengan input-output data

5 Massage Arrow

Menggambarkan alur proses, perintah atau pengiriman data.


(32)

6 Aktivasi Menggambarkan aktifitas objek

7 Actor Menggambarkan

actor sebagai objek

2.4.4 Diagram Aktivitas (Activity Diagram)

Diagram aktivitas adalah diagram flowchart yang diperluas untuk menunjukkan aliran kendali satu aktivitas ke aktivitas lain. Diagram aktivitas digunakan untuk memodelkan aspek dinamis sistem. Diagram aktivitas berupa operasi-operasi dan aktivitas-aktivitas di use case (Hariyanto, 2004). Diagram aktivitas dapat digunakan untuk:

1. Pandangan dalam yang dilakukan di operasi. 2. Pandangan dalam bagaimana objek-objek bekerja.

3. Pandangan dalam aksi-aksi dan pengaruhnya pada objek-objek. 4. Pandangan dalam dari suatu use case.

5. Logik dari proses bisnis.

Diagram aktivitas merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh state sebelumnya (internal processing). Oleh karena itu diagram aktivitas tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas (Dharwiyanti dan Wahono, 2003).


(33)

Tabel 2.2 Simbol Aktivitas Diagram

2.5. Bahasa Pemrograman PHP

PHP (Hypertext Preprocessor) adalah bahasa komputer yang dibuat untuk pengembangan web dinamis. Pada umumnya PHP digunakan di server namun juga dapat berdiri sendiri sebagai aplikasi graphical (www.php.net, 2008).

Pada sistem rekomendasi informal e-learning ini digunakan bahasa pemrograman PHP dalam membangun sistem dan database MySQL sebagai penyimpanan data dan basis pengetahuan. Penggunanan PHP dan MySQL dipilih karena PHP dan MySQl memiliki beberapa kelebihan seperti dinyatakan oleh Nugroho, B (2008) kelebihannya sebagai berikut:

1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.

2. Web Server yang mendukung PHP sangat mudah ditemukan, mulai dari IIS sampai dengan Apache, dengan konfigurasi yang relatif mudah.

3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan


(34)

4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena referensi yang banyak.

5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Windows) dan dapat dijalankan secara runtime melalui console


(35)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Kebutuhan Sistem

Sistem rekomendasi merupakan suatu sistem yang digunakan untuk merekomendasikan informasi bagi penggunanya. Sistem rekomendasi dibangun dengan memperhatikan tiga objek utama yaitu: item (objek yang akan direkomendasikan oleh sistem), user (pengguna yang menggunakan sistem), transaksi

(aktifitas yang terjadi antara user dan item).

3.1.1 Deskripsi Sistem

Pada penelitian ini, algoritma Slope One digunakan untuk menghasilkan rekomendasi dalam sistem informal e-learning. Sistem rekomendasi informal elearning

dimplementasikan dalam bentuk web. Alasan pengimplementasian perangkat lunak berbasis web adalah untuk membuat aplikasi bisa diakses dari berbagai penjuru dimana tersedia koneksi internet.

Bentuk sistem rekomendasi yang dibangun menggunakan arsitektur client-server. Pada sisi client, aplikasi antarmuka pada website digunakan user untuk melakukan login, mengakses konten dan mendapatkan rekomendasi, sedangkan sisi server dilakukan perhitungan rating oleh algoritma Slope One dan memberikan rekomendasi


(36)

Gambar 3.1. Arsitektur dasar sistem.

Mesin rekomendasi menerima input dari pengguna dan menentukan preferensi tersebut berdasarkan data yang telah tersedia dan menyimpan data dalam database sebagai data history pengguna, kemudian sistem akan melakukan perhitungan rating menggunakan Algoritma Slope One terhadap preferensi pengguna yang tersimpan di database.

Mesin rekomendasi akan menampilkan beberapa hasil rekomendasi berdasarkan kemiripan dari preferensi pengguna sebelumnya melalui perhitungan Algoritma Slope One.

Sistem akan menampilkan content beserta rating dan komentar/opini yang diberikan pengguna sebelumnya. Pengguna juga dapat memberikan komentar/pendapat dan rating pada item tertentu yang diaksesnya. Arsitektur mesin rekomendasi dapat dilihat pada gambar berikut:


(37)

Gambar 3.2. Arsitektur mesin rekomendasi

3.1.2 Item

Item merupakan objek yang akan direkomendasikan pada sistem rekomendasi. Item

ditandai dengan kompleksitas, nilai dan kegunaan. Nilai (value) dari suatu item dapat dipresentasikan dalam bentuk angka misalnya: 1 sampai 5.

Item dapat direpresentasikan menggunakan berbagai informasi. Pada sistem rekomendasi e-learning ini, item direpresentasikan dalam beberapa tipe data seperti: artikel yang memuat gambar dan teks.

3.1.3 User

Pengguna (user) pada sistem rekomendasi juga disebut sebagai pelanggan adalah seseorang yang menggunakan sistem rekomendasi untuk memberikan pendapatnya mengenai berbagai macam item dan menerima rekomendasi suatu item baru. Penggunaan sistem rekomendasi e-learning terdiri dari:


(38)

a. Member

Pengguna jenis ini harus mendaftar terlebih dulu ke dalam sistem kemudian melakukan berbagai aktifitas didalamnya, termasuk menerima rekomendasi, menyimpan hasil rekomendasi dan mengubah profil pengguna.

b. Tamu

Tamu pada sistem rekomendasi adalah pengguna yang memiliki keterbatasan akses atau tidak melakukan registrasi. Pengguna tamu hanya bisa melihat isi atau item

yang terdapat pada sistem e-learning berupa konten.

3.1.4. Transaksi dan Input

Pada metode Collaborative Filtering, rating adalah bentuk data transaksi sekaligus input yang digunakan pada sistem rekomendasi. Pada sistem ini, rating digunakan sebagai transaksi antara sistem dan pengguna dalam memberikan informasi dan opini terhadap suatu item. Rating yang digunakan berbentuk numerik dengan range 1-5. Bentuk input lain yang bisa diberikan oleh pengguna member adalah memberi komentar melalui kolom komentar yang disediakan pada tiap-tiap konten.

3.2 Perancangan Sistem 3.2.1 Use Case Diagram

Diagram use case merupakan diagram yang memodelkan aspek perilaku sistem. Masing-masing diagram use case memiliki actor, use case dan hubungannya.

Aktor dibagi menjadi 2 bagian: admin, member dan tamu. Admin adalah pengguna yang berhak mengubah isi dari sistem, termasuk data item dan data member. Member merupakan pengguna yang telah melakukan registrasi ke dalam sistem. Tamu adalah pengguna yang hanya mengunjungi sistem, tanpa melakukan registrasi ataupun login. Gambaran diagram use case sistem rekomendasi pada e-learning dapat dilihat pada gambar berikut:


(39)

Member Guest Melihat judul dan

preview artikel

Melihat isi artikel

Login «uses»

«uses»

«uses»

Melakukan pencarian artikel «uses»

Memberi rating

Memberi komentar «extends»

«extends»

«include»

«include»

«uses»

«uses»

Register

«uses» «uses»

«uses»

Gambar 3.3. Use case diagram

3.2.2 Model Spesifikasi Use Case

Spesifikasi use case memberikan gambaran lengkap spesifikasi tekstual pada use case. Spesifikasi use case sistem rekomendasi dilakukan berdasarkan kasus yang ada pada

use case diagram yang telah digambarkan pada gambar diatas. Berikut adalah spesikasisetiap use case:

Tabel 3.1. Spesifikasi use case

1.

Penjelasan singkat

Use case ini digunakan oleh member untuk melihat daftar beberapa artikel pada halaman utama.


(40)

Pra-kondisi User tidak harus login dulu ke dalam sistem Karakteristik Tindakan dan eksekusi tergantung dari permintaan

pelanggan Skenario (flow

of events)

Skenario dasar (Basic Flow): Use case akan dimulai saat user member membuka portal sistem rekomendasi e-learning.

Pasca kondisi Userdapat melihat content dari sebuah item/artikel dalam e-learning.

2.

Penjelasan singkat

Use case ini digunakan oleh user untuk melakukan pencarian judul content tertentu.

Pra-kondisi User tidak harus login dulu ke dalam sistem Karakteristik Tindakan dan eksekusi tergantung dari permintaan

pelanggan. Skenario (flow

of events)

Skenarion dasar (Basic Flow): Use case akan dimulai saat user melakukan pencarian melalui pemberian input pada kolom pencarian dan tombol cari.

Pasca kondisi User (member) dapat melihat daftar judul content yang direkomendasikan sesuai dengan input pencarian pengguna.


(41)

3.

Penjelasan singkat

Use case ini digunakan oleh member untuk melihat content e-learning dan member rating.

Pra-kondisi User harus login dulu ke dalam sistem

Karakteristik Tindakan dan eksekusi tergantung dari permintaan pelanggan.

Skenario (flow of events)

Skenario dasar (Basic Flow): Use case akan dimulai saat user melakukan membuka link judul content tersebut. Pasca kondisi User (member) dapat memberi rating.

4.

Penjelasan singkat

Use case ini digunakan oleh member untuk melihat content e-learning dan memberi komentar.

Pra-kondisi User harus login dulu ke dalam sistem

Karakteristik Tindakan dan eksekusi tergantung dari permintaan pelanggan.

Skenario (flow of events)

Skenario dasar (Basic Flow): Use case akan dimulai saat user melakukan membuka link judul content tersebut.


(42)

Pasca kondisi User (member) dapat memberi komentar. 5.

Penjelasan singkat

Use case ini digunakan oleh member untuk login

Pra-kondisi -

Karakteristik Tindakan dan eksekusi tergantung dari permintaan pelanggan.

Skenario (flow of events)

Skenario dasar (Basic Flow): Use case akan dimulai saat user membuka sistem.

Pasca kondisi User (guest) akan masuk ke sistem sebagai member dengan hak akses tertentu.

6.

Penjelasan singkat

Use case ini digunakan oleh user untuk mendaftar ke sistem menjadi member.

Pra-kondisi -

Karakteristik Tindakan dan eksekusi tergantung dari permintaan pelanggan.

Skenario (flow of events)

Skenario dasar (Basic Flow): Use case akan dimulai saat

user masuk ke sistem dan memilih menu “register”.


(43)

3.2.3 Model Interaksi Sequence Diagram

Berikut merupakan diagram sequence yang menggambarkan interaksi antar objek di dalam dan sekitar sistem:

a. Diagram Sequence User: Lihat Artikel

Diagram sequence user Lihat Artikel menggambarkan perilaku sistem dalam melakukan proses melihat daftar artikel dan kemudian melihat artikel.

Gambar 3.4. Sequence diagram: Lihat Artikel

b. Diagram Sequence: Login

Diagram sequence login menggambarkan alur sistem untuk melakukan login ke dalam sistem. Sequence dimulai ketika user memilih menu login, kemudian mengisi username dan password. Kemudian sistem akan memeriksa apakah username dan password yang dimasukkan valid atau tidak.


(44)

Gambar 3.5. Sequence Diagram: Login

c. Diagram Sequence: Registrasi

Diagram sequence registrasi menggambarkan alur sistem untuk melakukan pendaftaran ke dalam sistem. Sequence dimulai ketika user memilih menu register. User memasukkan data registrasi, dan kemudian sistem akan memberitahu bahwa pendaftaran berhasil sesudah data tersimpan.


(45)

d. Diagram Sequence Rekomendasi

Diagram sequence rekomendasi dimulai ketika user yang berhasil login melihat sebuah artikel dari daftar artikel yang ditampilkan di halaman awal sistem. User memberikan rating terhadap artikel tersebut, dan sistem akan menampilkan beberapa rekomendasi.

User

Login

Masukkan username dan password

Send Validasi Lihat daftar artikel

Pilih artikel

Berikan rating

Berikan Komentar Simpan Rating/Komentar

Tampilkan Rekomendasi Login(Boundary) Validasi User(Controller) Kontroller Daftar Artikel(

Controller)

Kontroller Artikel(Controller)Rekomendasi(Boundary)

Gambar 3.7. Sequence Diagram Rekomendasi e. Diagram Sequence Pencarian

Diagram sequence pencarian dimulai saat user memasukkan sebuah kata kunci. Sistem kemudian menampilkan daftar artikel yang terurut berdasarkan kesamaan pola rating yang dimiliki oleh user.


(46)

User

Masukkan kata kunci

Send

Daftar artikel dicari

Tampilkan daftar artikel dicari Pilih data yang ditampilkan oleh sistem

Controller Pencarian Controller Utama Tampilan artikel dicari(Boundaries)

Gambar 3.8. Sequence Diagram Pencarian

3.2.4 Kelas Diagram

Kelas diagram menggambarkan keadaan atribut database pada suatu sistem. Pada sistem ini terdapat 6 kelas, yaitu: user, rating, komentar, kategori, subjek dan artikel.


(47)

3.2.5 Activity Diagram

1. Login

Setelah melakukan pengisian form login, data input akan diperiksa setelah tombol

“Login” ditekan. Jika data input valid, maka user berhasil masuk ke sistem sebagai

member. Jika tidak, akan kembali ke halaman login dengan sebuah pesan error.

Gambar 3.10. Activity Diagram Login 2. Registrasi

Diawali dengan pengisian form pendaftaran, kemudian validitas data input diperiksa

saat tombol “Daftar” ditekan. Jika data input valid, maka proses pendaftaran berhasil dan user guest akan menjadi user member. Jika tidak, maka tampilan akan kembali ke halaman register disertai pesan error.


(48)

Gambar 3.11. Diagram Activity Register

3. Pencarian

Pencarian dilakukan dengan memasukkan kata kunci, dan sistem akan menampilkan daftar judul yang sesuai dengan input pencarian tersebut. Jika judul tertentu dipilih, akan muncul konten judul dan akan muncul beberapa rekomendasi setelah salah satu judul dibuka.


(49)

4. Rekomendasi

User masuk ke sistem, kemudian sistem akan menampilkan daftar judul berdasarkan tanggal dibuat secara default. User bisa memilih untuk menampilkan urutan artikel berdasarkan jumlah komentar, rating atau jumlah view. User kemudian memilih salah satu judul artikel untuk dibaca. Memberikan rating terhadap artikel tersebut, dan Algoritma Slope One akan bekerja untuk meng-generate rekomendasi.

Gambar 3.13. Activity Diagram Rekomendasi

3.3 Perancangan Interface

3.3.1 Struktur Menu

Struktur menu dibuat untuk memberikan kemudahan dalam pembangunan sistem. Menu ini akan digunakan sebagai navigasi untuk membantu pengguna menggunakan sistem.


(50)

MENU UTAMA

HOME ARTIKEL

PENCARIAN

REGISTER LOGIN/

LOGOUT

Gambar 3.14. Struktur Menu

3.3.2 Perancangan Tampilan

a. Halaman utama

Pada halaman utama, akan ditampilkan daftar judul berita terbaru, artikel berdasarkan jumlah komentar dan berdasarkan rating rata-rata. Di sebelah kanan ada kolom rekomendasi untuk menampilkan rekomendasi dan juga menampilkan daftar artikel yang terakhir dikomentari.


(51)

b. Halaman Register

Pada halaman register, user yang non-member melakukan registrasi untuk menjadi member dengan melakukan pengisian terhadap form register secara tepat.

Gambar 3.16. Register c. Halaman Login

Pada halaman login, user yang sudah terdaftar melakukan login untuk ke dalam sistem dengan memasukkan username dan password yang valid.

Gambar 3.16. Login


(52)

Gambar 3.17. Halaman isi artikel

3.4 Proses Algoritma Slope One

Algoritma Slope One merupakan salah satu algoritma yang digunakan dalam metode collaborative filtering, yang diperkenalkan dalam sebuah karya tulis oleh Daniel Lemire dan Anna Maclachlan pada tahun 2005. Algoritma Slope One

digunakan untuk mengurangi overfitting, meningkatkan kinerja dan implementasi yang lebih mudah. Slope One didasarkan pada “popularity differential” yang dihitung

dengan mengurangkan rating rata-rata dari dua buah item(Lemire dan McGrath, 2005).


(53)

Dimana Cij dalam persamaan tersebut adalah jumlah pengguna yang memberikan

rate terhadap item i dan item j. Semakin besar nilai Cij, maka hasil prediksi (ruj +

devij) semakin akurat.

Contoh:

Tabel 3.2. Contoh Algoritma Slope One

Item 1 Item 2 Item 3 item 4

User 1 3 4 x 3

User 2 2 3 2 y

User 3 z 3 5 1

x =

x =

x = 16/4 = 4

Prediksi rating User 1 terhadap Item 3 adalah 4.

y =

y =

y=3/4 = 0.75

Prediksi rating User 2 terhadap Item 4 adalah 0.75.

z =

z =

z = 10/4 = 2.5


(54)

3.4.1. Flowchart Algoritma Slope One

START

Tampilkan konten

Sudah

di-rating? Update Rating

Buat Rating

Y

N

Simpan Nilai Rating

Cari konten i yang belum di-rating oleh user, dan sudah di-rating oleh pengguna

lain

Cari konten j yang di-rating oleh semua user

Hitung rata-rata selisih rating antara I dan j.

Tambahkan selisih dengan konten j terhadap user u.

Urutkan nilai dari tertinggi ke rendah

sebagai hasil rekomendasi.

SELESAI


(55)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Berikut ini adalah hardware dan software yang dibutuhkan untuk implementasi sistem rekomendasi informal e-learning ini:

1. Hardware:

Hardware adalah komponen atau peralatan yang terdapat pada sebuah komputer yang diperlukan agar komputer tersebut dapat beroperasi. Adapun spesifikasi yang direkomendasikan adalah sebagai berikut:

a. Processor AMD A8-4500M APU b. RAM: 4GB

c. Hardisk 500GB 2. Software:

Software adalah program atau instruksi yang terpasang di dalam komputer yang memiliki fungsi tertentu tujuan utamanya adalah memudahkan pekerjaan manusia.

Software yang dibutuhkan dalam mengimplementasikan aplikasi ini adalah sebagai berikut:

a. Windows 7 Ultimate 64 bit b. XAMPP 1.7.7

c. Netbeans IDE 7.3.1 d. Mozilla Firefox 23.0.1


(56)

4.2 Pengujian Sistem

Sistem yang dibuat kemudian diuji dengan menggunakan metode Black Box pada antarmuka. Pengujian metode Black-Box merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program. Di bagian ini akan dijelaskan pengujian dari sistem rekomendasi informal e-learning. Bentuk pengujian yang dilakukan:

Tabel 4.1. Pengujian Sistem

No Use Case Jenis Skenario

Pengujian

Input yang Dibutuhkan

Kode Pengujian 1 Registrasi Black Box Melakukan

pendaftaran terhadap sistem Nama, username, password, email SR-1

2 Login Black Box Melakukan

login terhadap sistem

Username , password

SR -2

3 Melihat daftar artikel

Black Box Melihat daftar artikel

berdasarkan kategori

- SR -3

4 Melihat isi artikel Black Box Melihat detail artikel

- SR -4

5 Berikan rating Black Box Update atau berikan rating terhadap artikel yang dibuka

Nilai rating. SR -5

6 Lihat rekomendasi artikel

Black Box Melihat rekomendasi artikel.


(57)

7 Pencarian artikel Black Box Mencari artikel berdasarkan judul

Judul artikel SR-7

Dari proses pengujian yang dilakukan, diperoleh hasil sebagai berikut: Tabel 4.2. Pengujian Register

Kode Pengujian SR-1

Deskripsi

Pengujian proses registrasi

Tahap Pengujian a. Pilih menu registrasi

b. Masukkan nama lengkap

c. Masukkan username

d. Masukkan email

e. Masukkan password

f. Konfirmasi password

g. Tekan tombol Register

Input data Nama Lengkap: Andryan Situngkir

Email : and.dryan@gmail.com

Username: andryans Password: merdeka

Konfirmasi Password: merdeka

Hasil yang diharapkan Pengguna terdaftar ke dalam sistem, dan bisa melakukan aktifitas login.

Hasil yang nyata Pendaftaran berhasil dan data tersimpan di database.


(58)

Berikut adalah tampilannya:

Gambar 4.1. Tampilan halaman register


(59)

Gambar 4.3. Daftar database anggota terdaftar

Tabel 4.3. Pengujian Login

Kode Pengujian

SR-2

Deskripsi Menguji apakah login berhasil

Tahapan Pengujian a. Masukkan username

b. Masukkan password

c. Tekan tombol login

Input data Username: andryans

Password: merdeka

Hasil yang diharapkan Berhasil masuk ke dalam sistem melalui proses login.

Hasil nyata Login berhasil dan user masuk ke

sistem


(60)

Gambar 4.4. Gambar tampilan login

Gambar 4.4. Tampilan setelah proses login berhasil.

Tabel 4.4. Hasil pengujian melihat daftar artikel.

Kode pengujian SR-3

Deskripsi Melihat daftar artikel

Tahap pengujian -

Input data -

Hasil yang diharapkan Sistem menampilkan daftar artikel berdasarkan kategori yang dipilih.


(61)

Hasil nyata User dapat melihat daftar artikel

Kesimpulan Diterima

Gambar 4.5. Tampilan daftar artikel pada kategori jQuery Tabel 4.5. Hasil pengujian melihat isi artikel.

Kode pengujian SR-4

Deskripsi Melihat isi artikel

Tahap pengujian -

Input data -

Hasil yang diharapkan Sistem menampilkan isi artikel.

Hasil nyata User dapat melihat isi artikel.


(62)

Gambar 4.6. Tampilan detail/isi artikel


(63)

Tabel 4.6. Hasil pengujian memberi/meng-update rating. Kode pengujian SR-5

Deskripsi Memberi rating

Tahap pengujian -

Input data -

Hasil yang diharapkan Rating yang diberikan akan tersimpan di database. Hasil nyata Artikel berhasil di-rate.

Kesimpulan Diterima


(64)

Gambar 4.9. Database rating pengguna

Tabel 4.7. Hasil pengujian memberikan rekomendasi Kode pengujian SR-6

Deskripsi Menampilkan rekomendasi

Tahap pengujian -

Input data -

Hasil yang diharapkan Menampilkan rekomendasi yang diurutkan berdasarkan nilai prediksi Algoritma Slope One.

Hasil nyata Rekomendasi ditampilkan.


(65)

Gambar 4.10. Daftar rekomendasi diurutkan berdasarkan nilai prediksi

Tabel 4.7. Hasil pengujian pencarian Kode pengujian SR-7

Deskripsi Melakukan pencarian

Tahap pengujian -

Input data Judul artikel

Hasil yang diharapkan Menampilkan judul artikel sesuai dengan input yang diberikan.

Hasil nyata Hasil pencarian ditampilkan.

Kesimpulan Diterima


(66)

Gambar 4.12. Tampilan Hasil Pencarian

4.3 Tampilan Halaman Sistem

Berikut adalah penjelasan dari keseluruhan bagaimana sistem dijalankan:

4.3.1 Halaman utama

Halaman utama adalah halaman yang pertama muncul setiap kali pengguna menjalankan aplikasi sistem rekomendasi. Pada halaman ini dijelaskan mengenai cara kerja sistem. Halaman utama terlihat seperti gambar berikut:


(67)

Halaman utama pada sistem ini menampilkan daftar artikel beserta preview-nya yang diurutkan berdasarkan waktu penulisan terakhir hingga pertama dan juga beberapa menu seperti login, register dan juga kategori.

4.3.2 Halaman Menu Register

Halaman register adalah halaman yang menyediakan form bagi pengunjung untuk mendaftar menjadi anggota/member. Form yang terdapat pada halaman register antara lain: Nama lengkap, email, user, password, konfirmasi password dan tombol Register.

Ketika user menekan tombol register, data akan divalidasi oleh sistem sebelum disimpan.


(68)

Gambar 4.15. Pesan error ditampilkan ketika data tidak valid.

4.3.3 Halaman Login

Halaman login adalah halaman yang menyediakan form bagi pengunjung yang sudah terdaftar untu masuk(login) ke dalam sistem. Form yang terdapat pada halaman login antara lain: form username, password dan tombol login.


(69)

Gambar 4.17. Menampilkan pesan error saat data login tidak valid

4.3.4 Halaman Tampilan List Artikel Berdasarkan Kategori

Halaman tampilan artikel menampilkan daftar artikel berdasarkan kategori yang dipilih oleh user. Tampilan ini untuk memudahkan user untuk memilih artikel yang dikelompokkan berdasarkan kategori yang tersedia.


(70)

4.3.5 Halaman Detail Artikel.

Halaman detail artikel adalah inti dari sistem rekomendasi ini. Halaman ini terdiri dari isi artikel, form rating, kolom komentar dan daftar rekomendasi.

a. Isi artikel

Pada bagian isi artikel terdapat rate rata-rata terhadap artikel, jumlah responden yang terlibat, judulartikel, sumber artikel, penulis artikel, tanggal dan isi artikel.

Gambar 4.19. Halaman isi artikel. b. Rating Artikel

Dibagian bawah artikel terdapat kolom rating yang disediakan bagi user yang login untuk memberi rating terhadap artikel tersebut.


(71)

c. Daftar Rekomendasi

Tampilan daftar rekomendasi terdapat daftar artikel yang direkomendasikan, diurutkan berdasarkan nilai prediksi yang dihasilkan oleh Algoritma Slope One mulai dari nilai terbesar hingga terkecil.


(72)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil analisis dan pengujian yang dilakukan pada bab-bab sebelumnya, maka dapat diambil kesimpulan sebagai berikut:

a. Rekomendasi dalam informal e-learning hanya akan dihasilkan jika user login dan user lainnya sudah memberi rate terhadap beberapa artikel, termasuk artikel yang sedang diakses.

b. Rekomendasi yang dihasilkan berupa daftar judul dari artikel.

c. Rekomendasi diurutkan berdasarkan persamaan pola rating, yang dihitung menggunakan algoritma Slope One.

5.2 Saran

Dalam penelitian ini, penulis menggunakan algoritma Slope One untuk menghasilkan rekomendasi. Perhitungan oleh algoritma Slope One akan semakin lambat seiring semakin banyaknya jumlah data, baik konten maupun user. Untuk penelitian lebih lanjut, peneliti dapat melakukan optimasi terhadap algoritma Slope One. Dari segi konten, penelitian ini hanya mencakup data dalam bentuk gambar dan teks. Untuk penelitian lebih lanjut, peneliti dapat menambah jenis data lain seperti video, animasi, suara dll untuk peningkatan kualitas konten dari informal e-learning.


(73)

DAFTAR PUSTAKA

Adomavicius, G dan Tuzhilin, A., (2005). Toward the Next Generation of Recommender

Systems: A survey of the state-of-the-art and possible extensions. IEEE transaction

on knowledge and data engineering17(6): hal.734-749.

Cross, J, (2002). Implementing eLearning. ASTD Press, Washington, DC.

Hartley, D. E, (2001). Selling E-learning, American Society for Training and Development. American Society for Training and Development, Alexandria, USA.

Hamburg, I. (2008). Informal learning and the use of Web 2.0 within SME training strategies. Limerick, Ireland: University of Limerick.

Hariyanto, B. (2004). Rekayasa Sistem Berorientasi Objek. Informatika, Bandung. Herlocker, J., Konstan, J., Terveen, L., Riedl, J. ( 2001). Evaluating Collaborative

Filtering Recommender System, USA.

Lemire, D, A. Mclachlan. (2005). Slope One Predictors for Online Rating-Based Collaborative Filtering. In: SIAM Data Mining (SDM'05), Newport Beach, California, USA.

Koran, J. K (2002). Aplikasi E-Learning dalam Pengajaran dan Pembelajaran di Sekolah Malaysia. Kementerian Pendidikan Malaysia.

Kuntoro, S. A. (2007). Dinamika Belajar Informal dan Implikasi Edukatif di Sekolah. Yogyakarta: Universitas Negeri Yogyakarta.

Nugroho, B. (2007). PHP dan MySQL dengan Editor Dreamweaver MX. Andi, Jakarta.

Rohs, M. (2008) “Informal e-learning” – What does it mean? University of Zurich: Switzerland.


(74)

Schafer, J. B., D. Frankowski, J. Herlocker, S. Sen, (2007), Collaborative Filtering Recommender System. Springer-Verlag, Berlin, Heidelberg.

Siahaan, S. (2002). Studi Penjajakan tentang Kemungkinan Pemanfaatan Internet untuk Pembelajaran di SLTA Wilayah Jakarta dan Sekitarnya. Jakarta: Badan Penelitian dan Pengembangan – Depdiknas.

Upton, D. (2007). CodeIgniter for Rapid PHP Application Development. Birmingham: Packt Publishing.

Wahono, R. S. (2005). Pengantar E-learning dan Pengembangannya. Lembaga Ilmu Pengetahuan Indonesia.

Willems, J. (2008). “See you after school?” How Informal Virtual Learning

Environments are Influencing Formal Education. Melbourne, Australia: Monash University.


(1)

<input type="submit" value="Search" name="btn_search" class="bttn"/>

</form> </div> <nav>

<ul id="navigasi">

<li><a class="navigasi title">Kategori >></a></li>

<?foreach ($kategori->result() as $kat){ if($kat->jlh_subjek>0){?>

<li> <a

href="<?=base_url()?>user/artikel/kategori/<?=$kat->id;?>" class="navigasi" id="<?=$kat->id;?>">

<?=$kat->nama_kategori;?> </a>

<ul class="sub-navigasi sub-nav<?=$kat->id?>">

</ul>

<div class="clear"></div> </li>

<? } }?> </ul> </nav>

<div id="right-menu"> <div id="berlangganan">

<form method="post" action="">

<p for="berlangganan">Berlangganan via Email:</p>

<input class="form_text" type="text" placeholder="Email Anda" name="berlangganan"/>

<br> <br>

<input type="submit" name="btn_berlangganan" class="bttn" value="Berlangganan"/>

</form> </div>

<?include 'right-menu.php';?> </div>

<div id="content"> <div id="register">

<div class="header"><h2>REGISTER</h2></div> <p class="errorRegister"></p>

<div class="form">

<input type="text" name="nama" placeHolder="Nama Lengkap" id="nama"/>

<br>

<input type="text" name="username" placeHolder="Username " id="username"/>

<br>

<input type="text" name="email" placeHolder="Email" id="email"/>

<br>

<input type="password" name="password" placeHolder="Password" id="password"/>


(2)

<input type="password" name="repassword" placeHolder="Ketik Ulang Password" id="repassword"/>

<div class="btnOtentikasi" > <br>

<input type="submit" id="ulang" class="bttn" name="ulang" value="Reset"/>

<input type="submit" name="register" class="bttn" id="daftar" value="Register"/>

</div> </div> </div> </div> </div> </body> </html>

File

elearning.sql

adalah file yang di-

export

dari database elearning, berisikan

perintah-perintah dasar untuk pembuatan struktur dan table data.

Elearning.sql

-- phpMyAdmin SQL Dump -- version 3.4.5

-- http://www.phpmyadmin.net --

-- Host: localhost

-- Generation Time: Apr 07, 2014 at 06:36 PM -- Server version: 5.5.16

-- PHP Version: 5.3.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */;

--

-- Database: `elearning` --

-- --- --

-- Table structure for table `admin` --

CREATE TABLE IF NOT EXISTS `admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(30) NOT NULL,

`username` varchar(30) NOT NULL, `password` varchar(30) NOT NULL, PRIMARY KEY (`id`)


(3)

--

-- Dumping data for table `admin` --

INSERT INTO `admin` (`id`, `nama`, `username`, `password`) VALUES (1, 'Andryan', 'admin', 'admin'),

(2, 'Julluk', 'julluk', 'julluk');

-- --- --

-- Table structure for table `artikel` --

CREATE TABLE IF NOT EXISTS `artikel` ( `id` int(11) NOT NULL AUTO_INCREMENT, `judul` varchar(200) NOT NULL,

`id_subjek` int(11) NOT NULL, `id_kategori` int(11) NOT NULL, `isi` text NOT NULL,

`penulis` varchar(100) NOT NULL,

`tanggal_ditulis` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`tanggal_diedit` datetime NOT NULL, `status` tinyint(4) NOT NULL,

`sumber` varchar(100) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=47 ; -- --- --

-- Table structure for table `kategori` --

CREATE TABLE IF NOT EXISTS `kategori` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama_kategori` varchar(50) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ; --

-- Dumping data for table `kategori` --

INSERT INTO `kategori` (`id`, `nama_kategori`) VALUES (1, 'Web'),

(2, 'Mobile'), (4, 'Desain'), (10, 'Desktop'), (15, 'Algoritma'), (16, 'Jaringan');

-- --- --

-- Table structure for table `komentar` --


(4)

`id` int(11) NOT NULL AUTO_INCREMENT, `komentar` tinytext NOT NULL,

`artikel_id` int(11) NOT NULL, `username` varchar(30) NOT NULL, `tanggal` datetime NOT NULL, `suka` int(11) NOT NULL,

`tidak_suka` int(11) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; --

-- Dumping data for table `komentar` --

INSERT INTO `komentar` (`id`, `komentar`, `artikel_id`, `username`, `tanggal`, `suka`, `tidak_suka`) VALUES

(1, 'Test', 46, 'asd', '2013-12-02 14:57:18', 0, 0), (2, 'test', 45, 'asd', '2013-12-02 15:12:39', 0, 0), (3, 'Test', 33, 'andryans', '2013-12-02 18:42:29', 0, 0), (4, 'Bah..', 33, 'manuk', '2013-12-02 18:44:55', 0, 0); -- --- --

-- Table structure for table `rating` --

CREATE TABLE IF NOT EXISTS `rating` ( `id` int(11) NOT NULL AUTO_INCREMENT, `rating_value` int(11) NOT NULL, `username` varchar(30) NOT NULL, `id_artikel` int(11) NOT NULL,

`tanggal` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=28 ; --

-- Dumping data for table `rating` --

INSERT INTO `rating` (`id`, `rating_value`, `username`, `id_artikel`, `tanggal`) VALUES

(1, 4, 'asd', 29, '2013-11-30 21:20:24'), (3, 3, 'asd', 35, '2013-11-24 01:56:33'), (5, 4, 'julluk', 29, '2013-11-27 05:40:28'), (6, 4, 'julluk', 30, '2013-11-24 01:57:31'), (7, 3, 'julluk', 27, '2013-11-24 02:00:19'), (8, 3, 'julluk', 34, '2013-11-24 02:00:36'), (9, 3, 'julluk', 37, '2013-11-24 02:00:55'), (10, 3, 'julluktze', 29, '2013-11-24 02:01:26'), (11, 4, 'julluktze', 43, '2013-11-24 02:01:34'), (12, 3, 'julluktze', 33, '2013-11-24 02:01:43'), (13, 3, 'julluktze', 36, '2013-11-24 02:01:50'), (14, 4, 'manuk', 45, '2013-11-24 02:56:17'), (15, 3, 'manuk', 33, '2013-11-24 02:56:25'), (16, 4, 'asd', 28, '2013-11-24 19:04:11'),

(17, 5, 'julluktze', 27, '2013-11-30 15:24:28'), (18, 5, 'asd', 27, '2013-11-30 15:25:40'),


(5)

(20, 1, 'julluk', 45, '2013-12-02 03:55:32'), (21, 1, 'asd', 45, '2013-12-02 08:05:59'), (22, 4, 'andryans', 29, '2013-12-02 10:26:19'), (23, 3, 'andryans', 38, '2013-12-02 10:42:50'), (24, 3, 'andryans', 33, '2013-12-02 11:35:24'), (25, 3, 'andryans', 46, '2014-01-28 17:02:38'), (26, 5, 'andryans', 35, '2014-01-28 17:03:12'), (27, 3, 'andryans', 45, '2014-01-28 21:27:14');

-- --- --

-- Table structure for table `subjek` --

CREATE TABLE IF NOT EXISTS `subjek` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_kategori` int(11) NOT NULL,

`nama_subjek` varchar(100) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ; --

-- Dumping data for table `subjek` --

INSERT INTO `subjek` (`id`, `id_kategori`, `nama_subjek`) VALUES (2, 2, 'Android'),

(3, 3, 'VB.Net'), (6, 4, 'CSS3'), (7, 1, 'jQuery'),

(17, 1, 'Codeigniter'), (18, 2, 'iPhone'), (19, 1, 'HTML5'), (20, 1, 'HTML');

-- --- --

-- Table structure for table `users` --

CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL,

`username` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `level` tinyint(4) NOT NULL,

`tanggal_daftar` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`login_terakhir` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `active` tinyint(1) NOT NULL,

`picture_uri` int(11) NOT NULL, PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ; --

-- Dumping data for table `users` --


(6)

INSERT INTO `users` (`id`, `nama`, `username`, `email`, `password`, `level`, `tanggal_daftar`, `login_terakhir`, `active`, `picture_uri`) VALUES

(1, 'asd', 'asd', 'asd', 'asd', 3, 01 23:24:49', '2013-09-01 23:24:49', 1, 0),

(5, 'Merdeka', 'Merdeka', 'Merdeka', 'Merdeka', 3, '2013-09-01 23:41:36', '2013-09-01 23:41:36', 1, 0),

(6, 'Julluk', 'julluk', 'julluk', 'julluk', 3, '2013-09-01 23:42:21', '2013-09-01 23:42:21', 1, 0),

(7, 'Tolor ', 'manuk', 'manuk@manuk.com', 'olo', 3, '2013-09-01 23:43:10', '2013-09-01 23:43:10', 1, 0),

(8, 'test', 'test', 'test', 'asdasd', 3, '2013-09-03 20:11:26', '2013-09-03 20:11:26', 1, 0),

(9, 'ea', 'ea', 'ea@ea.com', 'olo', 3, 09-03 21:27:08', '2013-09-03 21:27:08', 1, 0),

(10, 'Andryan Situngkir', 'andryans', 'and.dryan@gmail.com', 'merdeka', 3, '2013-12-02 15:52:59', '2013-12-02 09:51:36', 1, 0), (11, 'Pangeran David', 'david', 'david@gmail.com', 'david', 3, '2014-01-28 19:35:00', '2014-01-28 19:35:00', 1, 0);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;