rancang bangun e-learning untuk matakuliah …

173
i RANCANG BANGUN E-LEARNING UNTUK MATAKULIAH SISTEM MULTIMEDIA Tugas Akhir disusun untuk memenuhi syarat mencapai gelar Kesarjanaan Komputer pada Program Studi Teknik Informatika Jenjang Program Strata-1 oleh: GODAM HADIPRADITA 08.01.53.0123 9483 FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG 2012

Upload: others

Post on 12-Nov-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

i

RANCANG BANGUN E-LEARNING UNTUK MATAKULIAH SISTEM

MULTIMEDIA

Tugas Akhir disusun untuk memenuhi syarat mencapai gelar Kesarjanaan

Komputer pada Program Studi Teknik Informatika

Jenjang Program Strata-1

oleh:

GODAM HADIPRADITA

08.01.53.0123

9483

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS STIKUBANK (UNISBANK)

SEMARANG

2012

ii

PERNYATAAN KESIAPAN UJIAN TUGAS AKHIR

Saya, Godam Hadipradita, dengan ini menyatakan bahwa Laporan Tugas Akhir

yang berjudul:

RANCANG BANGUN E-LEARNING UNTUK MATAKULIAH SISTEM

MULTIMEDIA

Adalah benar hasil karya saya dan belum pernah diajukan sebagai karya ilmiah,

sebagian atau seluruhnya, atas nama saya atau pihak lain.

(Godam Hadipradita)

NIM : 08.01.53.0123

Disetujui oleh Pembimbing,

Kami setuju skripsi tersebut diajukan untuk Ujian Tugas Akhir

Semarang : Juli 2012

(Jati Sasongko Wibowo, S.Kom, M.Cs)

Pembimbing I

Semarang : Juli 2012

(Jefri Alfa Razaq, M.Kom)

Pembimbing II

iii

HALAMAN PENGESAHAN

RANCANG BANGUN E-LEARNING UNTUK MATAKULIAH SISTEM

MULTIMEDIA

Telah dipertahankan di depan tim dosen penguji Tugas Akhir Fakultas Teknologi

Informasi UNIVERSITAS STIKUBANK (UNISBANK) Semarang dan diterima

sebagai salah satu syarat guna menyelesaikan Program Studi Teknik Informatika

Jenjang Sastra I Fakultas Teknologi Informasi.

Semarang : Agustus 2012

Ketua

(Jati Sasongko Wibowo, S.Kom, M.Cs)

Sekretaris

(Jeffri Alfa Razaq, M.Kom)

Anggota

(Eka Ardhianto, S.Kom, M.Cs)

Mengetahui,

UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG

Fakultas Teknologi Informasi

Dekan

(Dwi Agus Diartono, S.Kom, M.Kom)

iv

MOTTO

1. Pendidikan merupakan perlengkapan paling baik untuk hari tua

2. Janganlah kemiskinanmu menyebabkan kekufuran dan janganlah

kekayaanmu menyebabkan kesombongan.

3. Harga kebaikan manusia adalah diukur menurut apa yang telah

dilaksanakan / diperbuatnya.

4. Pengetahuan adalah kekuatan.

5. Hari ini harus lebih baik dari hari kemarin dan hari esok adalah harapan.

PERSEMBAHAN

Dipersembahkan Skripsi ini kepada :

1. Terima kasih ya Allah SWT Tuhan YME, karena diberikan kekuatan dan

petunjuk, sehingga bisa menyelesaikan Skripsi ini.

2. Bapak dan Ibu serta Keluarga yang mengiringi dalam doa.

3. Bapak Ibu Dosen Universitas Stikubank Semarang yang telah memberikan

ilmunya.

4. Berbagai pihak yang secara langsung atau tidak langsung membantu dalam

penyelesaian skripsi ini.

v

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG

Program Studi : Teknik Informatika

Skripsi Sarjana Komputer

RANCANG BANGUN E-LEARNING UNTUK MATAKULIAH SISTEM

MULTIMEDIA

Godam Hadipradita (08.01.53.0123)

Abstrak

Berbagai konsep dan teknik baru dalam pengajaran telah banyak

dikembangkan untuk menggantikan metode tradisional yang hanya mengandalkan

pada metode pengajaran satu arah di kelas. Salah satu metode pengajaran yang

sedang berkembang di masa sekarang adalah e-learning. E-learning dapat

membantu para pengajar dalam mendistribudikan bahan ajar mereka tanpa harus

berada di kelas dengan menggunakan internet, hal ini dapat memaksimalkan

waktu pembelajaran di kelas yang terbatas. Metodologi Penelitian yang digunakan

dalam penyusunan Tugas Akhir ini adalah studi pustaka sedangkan tahap

pengembangan sistem menggunakan metode prototipe. Untuk merancang aplikasi

ini digunakan metode perancangan struktural yaitu Data Flow Diagram (DFD),

DFD merupakan sebuah metode yang telah menjadi standar dalam industri untuk

visualisasi, merancang dan mendokumentasikan sistem perangkat lunak

berdasarkan aliran data. Dengan adanya e-learning dapat membantu pengajar

dalam menyampaikan semua bahan ajar secara online sehingga mahasiswa tidak

perlu menunggu pada pertemuan di kelas, dan dapat dijadikan media diskusi

tambahan untuk membahas materi pelajaran yang belum tuntas serta dapat

berguna sebagai media dalam menyampaikan dan mengumpulkan tugas-tugas

yang di berikan.

Kata Kunci : E-Learning, Internet, Online

Semarang : Juli 2012

Mengetahui,

Pembimbing I Pembimbing II

(Jati Sasongko Wibowo, S.Kom, M.Cs) (Jefri Alfa Razaq, M.Kom)

vi

KATA PENGANTAR

Segala puji syukur penulis panjatkan kehadirat Allah SWT Tuhan Yang

Maha Esa atas kasih dan karunianya, sehingga penulis dapat menyelesaikan

skripsi dengan judul “RANCANG BANGUN E-LEARNING UNTUK

MATAKULIAH SISTEM MULTIMEDIA”, yang merupakan syarat untuk

menyelesaikan program Strata Satu (S1), Teknik Informatika Fakultas Teknologi

Informasi Universitas Stikubank Semarang.

Dalam penyusunan skripsi ini penulis banyak memperoleh bimbingan,

petunjuk dan bantuan dari berbagai pihak dari awal hingga akhir. Atas bantuan

dan dukungan yang diberikan penulis mengucapkan terima kasih kepada:

1. Bapak DR. Bambang Suko Priyono, M.M selaku Rektor Universitas

Stikubank Semarang

2. Bapak Dwi Agus Diartono, S.Kom, M.Kom selaku Dekan Fakultas

Teknologi Informasi.

3. Bapak Jati Sasongko Wibowo, S.Kom, M.Cs selaku dosen pembimbing I,

yang telah memberikan bimbingan dan pengarahan kepada penulis dalam

penyusunan skripsi ini.

4. Bapak Jefri Alfa Razaq, M.Kom selaku dosen pembimbing II, yang telah

memberikan bimbingan dan pengarahan kepada penulis dalam penyusunan

skripsi ini.

5. Bapak dan Ibu dosen yang telah memberikan ilmunya kepada penulis

selama mengikuti kuliah di Universitas Stikubank Semarang.

vii

6. Seluruh Civitas Akademika Universitas Stikubank Semarang yang telah

terlibat proses belajar mengajar.

7. Semua pihak dan teman yang tidak dapat penulis sebutkan satu persatu,

baik secara langsung maupun tidak langsung membantu penulis hingga

skripsi ini dapat terselesaikan.

Akhir kata, semoga Allah SWT memberikan berkat serta membalas budi

baik saudara/i sekalian. Kepada para pembaca, walau masih banyak kekurangan

penulis berharap semoga skripsi ini dapat berguna bagi semua pihak, semoga

dapat memperoleh manfaat dari skripsi ini.

Semarang, 23 Juli 2012

Penulis

viii

DAFTAR ISI

Halaman Judul ................................................................................................. i

Halaman Persetujuan ....................................................................................... ii

Halaman Pengesahan ...................................................................................... iii

Halaman Motto/Pengesahan ............................................................................ iv

Abstrak ............................................................................................................ v

Kata Pengantar ................................................................................................ vi

Daftar Isi .......................................................................................................... viii

Daftar Gambar ................................................................................................. xiii

Daftar Tabel .................................................................................................... xv

BAB I PENDAHULUAN

1.1. Latar Belakang ......................................................................................... 1

1.2. Rumusan dan Batasan Masalah ................................................................ 2

1.2.1. Rumusan Masalah ........................................................................... 2

1.2.2. Batasan Masalah .............................................................................. 3

1.3. Tujuan dan Manfaat Penelitian ................................................................ 3

1.3.1. Tujuan Penelitian ............................................................................ 3

1.3.1. Manfaat Penelitian .......................................................................... 3

1.4. Metodologi Penelitian .............................................................................. 4

ix

1.5. Sistematika Penulisan .............................................................................. 4

BAB II LANDASAN TEORI

2.1. E-Learning ................................................................................................ 6

2.1.1. Keuntungan E-Learning ..................................................................... 6

2.1.2. Kelemahan E-Learning ................................................................... 6

2.2. Pengertian Database .................................................................................... 7

2.2.1. Karakteristik Database ..................................................................... 8

2.3. Framework ................................................................................................... 12

2.4. Model View Controller (MVC) .................................................................. 13

2.5. Web Browser ................................................................................... 14

2.6. Website ................................................................................................ 15

2.7. CodeIgniter ................................................................................................... 15

2.7.1. Kelebihan CodeIgniter .................................................................... 17

2.7.2. Kelemahan CodeIgniter .................................................................. 18

2.7.3. Fitur CodeIgniter ............................................................................. 18

2.7.4. Konfigurasi Dasar CodeIgniter ....................................................... 20

2.7.5. Library CodeIgniter ......................................................................... 25

2.8. jQuery ....................................................................................................... 28

2.8.1. Javascript ......................................................................................... 28

2.9. Adobe Dreamweaver CS5 ........................................................................ 29

2.10. MySQL .................................................................................................. 30

2.11. Adobe Flash ........................................................................................... 32

x

BAB III ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem ......................................................................................... 33

3.1.1. Analisa Masalah .............................................................................. 33

3.1.2. Analisis Data ................................................................................... 35

3.1.3. Analisis Kebutuhan Sistem ............................................................. 36

3.1.4. Spesifikasi Pengguna ...................................................................... 36

3.2. Analisis Kebutuhan Antarmuka Eksternal ............................................... 37

3.2.1. Fungsionalitas Perangkat Lunak ..................................................... 39

3.3. Perancangan Sistem ................................................................................. 40

3.3.1. Diagram Konteks ............................................................................ 40

3.3.2. Diagram Aliran Data ....................................................................... 41

3.3.2.1. DFD Level 1 ....................................................................... 41

3.3.2.2. DFD Level 2 Proses Autentifikasi Pengguna ..................... 42

3.3.2.3. DFD Level 2 Proses Pengolahan Data User ...................... 44

3.3.2.4. DFD Level 2 Proses Pengolahan Materi ............................ 45

3.3.2.5. DFD Level 2 Proses Pengolahan Video ............................. 46

3.3.2.6. DFD Level 2 Proses Pengolahan Data Pesan ..................... 46

3.3.2.7. DFD Level 2 Proses Pengolahan Latihan Soal .................. 47

3.3.2.8. DFD Level 2 Proses Mengerjakan Latihan Soal ................ 48

3.3.2.9. DFD Level 3 Proses Tambah Latihan ................................ 49

3.3.3. Spesifikasi Proses ............................................................................ 49

3.3.4. Kamus Data ..................................................................................... 63

3.3.5. Perancangan Database ..................................................................... 70

xi

3.3.6. Entity Relationship Diagram (ERD) ............................................... 70

3.3.7. Struktur File .................................................................................... 71

3.3.8. Perancangan Antar Muka ................................................................ 78

3.3.8.1. Struktur Menu .................................................................... 79

3.3.8.2. Perancangan Antarmuka Tampilan Program ..................... 81

3.3.8.3. Perancangan Menu Utama Admin ..................................... 82

3.3.8.4. Perancangan Menu Video pada Admin .............................. 83

3.3.8.5. Perancangan Menu Upload File pada Admin .................... 84

3.3.8.6. Perancangan Menu Materi pada Admin ............................. 85

3.3.8.7. Perancangan Menu Inbox pada Admin .............................. 86

3.3.8.8. Perancangan Menu Latihan Soal pada Admin ................... 87

3.3.8.9. Perancangan Menu Utama User ......................................... 88

BAB IV IMPLEMENTASI

4.1. Alat Pendukung Pengujian ........................................................................ 89

4.2. Pengujian Program E-Learning Matakuliah Sistem Multimedia ............. 90

4.2.1. Halaman Utama E-Learning ........................................................... 90

4.2.2. Halaman Utama Admin ................................................................... 93

4.2.3. Halaman Utama Menu Video pada Admin ..................................... 94

4.2.4. Halaman Utama Menu Upload File pada Admin ............................ 96

4.2.5. Halaman Utama Menu Materi pada Admin .................................... 98

4.2.6. Halaman Utama Menu Inbox pada Admin ..................................... 99

4.2.7. Halaman Utama Menu Latihan Soal pada Admin .......................... 100

xii

4.2.8. Halaman Utama User ...................................................................... 101

4.2.9. Form Ganti Password ...................................................................... 103

4.2.10. Form Kirim Pesan ke Admin ........................................................ 104

4.2.11. Halaman Utama Latihan Soal Online ........................................... 105

4.2.12. Flipbook Materi ............................................................................. 106

BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan .............................................................................................. 107

5.2. Saran ......................................................................................................... 108

DAFTAR PUSTAKA

LAMPIRAN

xiii

DAFTAR GAMBAR

Gambar 2.1 Model-View-Controller ................................................................. 16

Gambar 3.1 Diagram Konteks Aplikasi E-Learning Matakuliah Sistem

Multimedia .......................................................................................................... 41

Gambar 3.2 DFD Level 1 ................................................................................... 42

Gambar 3.3 DFD Level 2 Proses Autentifikasi Pengguna .............................. 43

Gambar 3.4 DFD Level 2 Proses Pengolahan Data User ................................ 44

Gambar 3.5 DFD Level 2 Proses Pengolahan Materi ..................................... 45

Gambar 3.6 DFD Level 2 Proses Pengolahan Video ....................................... 46

Gambar 3.7 DFD Level 2 Proses Pengolahan Data Pesan .............................. 46

Gambar 3.8 DFD Level 2 Proses Pengolahan Latihan Soal ........................... 47

Gambar 3.9 DFD Level 2 Proses Mengerjakan Latihan Soal ......................... 48

Gambar 3.10 DFD Level 3 Proses Tambah Latihan ....................................... 49

Gambar 3.11 Entity Relationship Diagram (ERD) ......................................... 71

Gambar 3.12 Struktur Menu ........................................................................... 80

Gambar 3.13 Perancangan Menu Utama Tampilan Website E-Learning ....... 81

Gambar 3.14 Perancangan Menu Utama Admin ............................................ 82

Gambar 3.15 Perancangan Menu Video pada Admin ..................................... 83

Gambar 3.16 Perancangan Menu Upload File pada Admin ........................... 84

Gambar 3.17 Perancangan Menu Materi pada Admin .................................... 85

Gambar 3.18 Perancangan Menu Inbox pada Admin ..................................... 86

Gambar 3.19 Perancangan Menu Latihan Soal pada Admin .......................... 87

Gambar 3.20 Perancangan Menu Utama User ................................................. 88

xiv

Gambar 4.1 Halaman Utama E-Learning ........................................................ 90

Gambar 4.2 Halaman Utama Admin ............................................................... 93

Gambar 4.3 Halaman Utama Menu Video pada Admin ................................. 94

Gambar 4.4 Insert Video ................................................................................. 96

Gambar 4.5 Halaman Utama Menu Upload File pada Admin ........................ 96

Gambar 4.6 Halaman Utama Menu Materi pada Admin ................................ 98

Gambar 4.7 Halaman Utama Menu Inbox pada Admin ................................. 99

Gambar 4.8 Halaman Utama Menu Latihan Soal pada Admin ...................... 100

Gambar 4.9 Halaman Tambah Soal pada Admin ........................................... 101

Gambar 4.10 Halaman Utama User ................................................................ 101

Gambar 4.11 Gagal Akses Konten Menu ....................................................... 102

Gambar 4.12 Form Ganti Password ................................................................ 103

Gambar 4.13 Form Kirim Pesan ke Admin .................................................... 104

Gambar 4.14 Form Inbox Pesan ...................................................................... 105

Gambar 4.15 Halaman Utama Latihan Soal Online ........................................ 105

Gambar 4.16 Flipbook Materi ......................................................................... 106

xv

DAFTAR TABEL

Tabel 3.1 Proses DFD Aplikasi E-Learning Matakuliah Sistem Multimedia .. 49

Tabel 3.2 Kamus Data .......................................................................... 63

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Ilmu komputer bukan merupakan sesuatu hal yang asing bagi kalangan

dunia komputerisasi, terutama di dalam bidang pendidikan. Dengan semakin

berkembangnya teknologi informasi seperti perangkat keras (hardware),

perangkat lunak (software), dan komunikasi data. Khusus di bidang pendidikan

penggunaan informasi dapat membantu kelancaran di dalam proses pembelajaran.

Metode belajar yang baik dapat mempengaruhi pola pikir peserta didik khususnya

mahasiswa. Contoh dalam permasalahan ini adalah rasa keinginan untuk proses

pembelajarannya akan timbul jika sistem pembelajaran tidak membosankan.

Sampai sekarang media yang sering dan masih tetap digunakan adalah buku dan

pengajaran dari dosen. Masalah lain bagi mahasiswa yaitu proses belajar dan

mengajar di kelas yang terbatas hanya kurang lebih dari 1 jam per SKS, hal ini

membuat peserta didik kurang memahami materi yang disampaikan terutama bagi

yang terlambat mengikuti perkuliahan. Untuk mengatasi hal ini dapat

dimanfaatkan dengan metode pembelajaran lain yaitu melalui metode

pembelajaran dengan media online yang sering disebut E-Learning, dengan E-

Learning ini dapat membuat minat belajar mahasiswa menjadi terpacu karena

mahasiswa dapat mengakses mata kuliah yang diinginkan kapan saja.

Di dalam ilmu komputer, Sistem Multimedia merupakan bagian dari salah

satu bahan ajar pada perkuliahan, yang dimana di dalam materi bahan ajarnya

2

tersebut mengajarkan bahwa dengan Multimedia akan mampu mengubah lembar

kerja salah satunya dalam program kerja, mengubah cara belajar, mengubah cara

bisnis, mengubah cara memperoleh informasi, dan bersaing dalam internet

multimedia, dengan latar belakang objek seperti text, gambar, animasi, audio,

video, dan interaktif link. Mata kuliah tersebut juga dapat merupakan bekal bagi

mahasiswa sebelum terjun ke dunia kerja.

Dengan dilatarbelakangi permasalahan diatas oleh karena itu penulis

membuat proses pengembangan aplikasi E-Learning dengan menggunakan

CodeIgniter, serta menambahkan fitur dengan menggunakan script jQuery yang

berada pada E-learning untuk mata kuliah Sistem Multimedia tersebut.

1.2. Rumusan dan Batasan Masalah

1.2.1. Rumusan Masalah

Berdasarkan latar belakang masalah diatas, maka penulis

merumuskan masalah-masalah yang ada sebagai berikut:

1. Bagaimana cara membuat E-Learning dengan menggunakan

CodeIgniter?

2. Bagaimana cara mengintegrasikan fitur yang menggunakan script dari

jQuery ke dalam CodeIgniter?

3

1.2.2. Batasan Masalah

Mengingat luasnya permasalahan, maka untuk menjaga agar tidak

terjadi penyimpangan terhadap permasalahan, penulis membuat rincian

batasan masalah sebagai berikut :

1. Pembuatan aplikasi E-Learning tersebut ditujukan hanya pada mata

kuliah Sistem Multimedia.

2. Menggunakan CodeIgniter untuk membangun aplikasi E-Learning, serta

mengintegrasikan script jQuery sebagai fitur yang ada pada E-Learning

ke dalam CodeIgniter.

3. Fitur-fitur yang akan dibuat pada E-Learning :

a. Flippingbook, digunakan sebagai fitur dengan tampilan dinamis

untuk membaca materi kuliah pada E-Learning.

b. Latihan soal pilihan ganda secara random.

c. Penyediaan link download materi berbentuk file powerpoint.

1.3. Tujuan dan Manfaat Penelitian

1.3.1. Tujuan Penelitian

Tujuan dari penelitian ini adalah merancang dan membangun

aplikasi E-Learning untuk mata kuliah Sistem Multimedia dengan

menggunakan CodeIgniter.

1.3.2. Manfaat Penelitian

Manfaat rancang bangun aplikasi E-Learning secara online ini

adalah sebagai tambahan wawasan bagi penulis dan pembaca, serta sebagai

4

tambahan referensi bagi perpustakaan Universitas yang dapat digunakan

sebagai acuan untuk meneliti dan mengembangkan perangkat lunak atau

aplikasi yang telah dibangun, tentang pengetahuan dalam merancang dan

membangun E-Learning dengan menggunakan CodeIgniter, dan cara

pengintegrasian script jQuery kedalam CodeIgniter.

1.4. Metodologi Penelitian

1. Melakukan metode pengumpulan data dengan studi pustaka, yaitu

membaca dan mencari referensi dari buku – buku yang terkait secara

langsung maupun tidak langsung untuk mengetahui secara teoritis

permasalahan yang sedang dihadapi.

2. Menggunakan metode pengembangan sistem dengan metode Prototipe,

karena metode Prototipe merupakan suatu metode dalam

pengembangan sistem yang menggunakan pendekatan untuk membuat

suatu program dengan cepat dan bertahap sehingga segera dapat

dievaluasi oleh pemakai. Metode Prototipe dipilih karena metode ini

membuat pengembangan sistem informasi menjadi lebih cepat dan lebih

mudah, terutama pada kebutuhan pemakai sulit untuk diidentifikasi.

1.5. Sistematika Penulisan

Untuk mengetahui dan memahami gambaran secara umum mengenai isi dari

Tugas Akhir ini, maka penulisan Tugas Akhir ini dibagi dalam lima bab dengan

sistematika penulisan sebagai berikut :

5

BAB I PENDAHULUAN

Berisikan tentang latar belakang masalah, rumusan dan batasan

masalah, tujuan dan manfaat penelitian, metodologi penelitian,

serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi teori-teori penunjang yang berkaitan dalam

pembuatan penulisan tugas akhir ini.

BAB III ANALISIS DAN PERANCANGAN

Dalam bab ini berisikan kebutuhan sistem, rancangan prosedural,

mencakup diagram konteks dan data flow diagram (DFD), analisis

database, perancangan struktur program, perancangan struktur

menu, perancangan antar muka yang mencakup masukan dan

keluaran.

BAB IV IMPLEMENTASI

Bab ini berisi pembuatan E-Learning, kode-kode program,

perancangan form dan laporan yang terlibat.

BAB V KESIMPULAN DAN SARAN

Pada bab ini menjelaskan kesimpulan dari hasil yang telah dicapai

pada bab atau subbab sebelumnya serta saran-saran yang

bermanfaat agar sistem dari hasil pembuatan E-Learning yang telah

dicapai dapat menjadi lebih baik lagi kesempurnaannya.

6

BAB II

LANDASAN TEORI

2.1. E-Learning

E-Learning adalah pembelajaran jarak jauh (distance Learning) yang

memanfaatkan teknologi komputer, jaringan komputer atau Internet. E-Learning

memungkinkan pembelajar untuk belajar melalui komputer di tempat mereka

masing-masing tanpa harus secara fisik pergi mengikuti pelajaran/perkuliahan di

kelas. E-Learning sering pula dipahami sebagai suatu bentuk pembelajaran

berbasis web yang bisa diakses dari intranet di jaringan lokal atau internet.

2.1.1. Keuntungan E-Learning

Keuntungan menggunakan E-Learning diantaranya sebagai berikut

(Wahono, 2005: p. 2) :

1. Fleksibel karena siswa dapat belajar kapan saja, di mana saja,

dan dengan tipe pembelajaran yang berbeda-beda.

2. Menghemat waktu proses belajar mengajar

3. Mengurangi biaya perjalanan

4. Menghemat biaya pendidikan secara keseluruhan

5. Menjangkau wilayah geografis yang lebih luas

2.1.2. Kelemahan E-Learning

Kelemahan menggunakan E-Learning diantaranya sebagai berikut

(Rosenberg, 2006) :

7

1. Karena E-Learning menggunakan teknologi informasi, tidak

semua orang terutama orang yang masih awam dapat

menggunakannya dengan baik.

2. Membuat E-Learning yang interaktif dan sesuai dengan

keinginan pengguna membutuhkan programming yang sulit,

sehingga pembuatannya cukup lama.

3. E-Learning membutuhkan infrastruktur yang baik sehingga

membutuhkan biaya awal yang cukup tinggi.

4. Tidak semua orang mau menggunakan E-Learning sebagai

media belajar.

2.2. Pengertian Database

Basisdata (bahasa Inggris: database), atau sering pula dieja basisdata, adalah

kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga

dapat diperiksa menggunakan suatu program komputer untuk memperoleh

informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk

mengelola dan memanggil kueri (query) basis data disebut sistem manajemen

basis data (database management system, DBMS). Sistem basis data dipelajari

dalam ilmu informasi. Istilah "basis data" berawal dari ilmu komputer. Meskipun

kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika,

artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data

sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar,

kuitansi dan kumpulan data yang berhubungan dengan bisnis. Konsep dasar dari

8

basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan.

Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan

di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang

diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara

untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal

sebagai model basis data atau model data. Model yang umum digunakan sekarang

adalah model relasional, yang menurut istilah layman mewakili semua informasi

dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari

baris dan kolom (definisi yang sebenarnya menggunakan terminologi

matematika). Dalam model ini, hubungan antar tabel diwakili denga

menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis

dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili

hubungan antar tabel.

2.2.1. Karakteristik Database

Beberapa karakteristik dari database adalah :

1. Pengelolaan melalui dengan suatu Database Management System

(DBMS)

Database Management System merupakan software yang disediakan

oleh penyedia database untuk :

a. Mengelola dan memelihara data.

b. Memindahkan data ke dan dari file data fisik yang dibutuhkan

c. Mengelola akses data yang bersamaan oleh beberapa pengguna

9

d. Mengawasi pembaharuan data dan mencegah konflik perubahan

data

e. Mengelola transaksi sehingga perubahan data terjadi secara

lengkap atau tidak terjadi perubahan

f. Jika transaksi batal atau gagal

g. Mendukung bahasa query

h. Pengawasan back up database dan pemulihan dari kesalahan

i. Mekanisme keamanan

Fungsi DBMS antara lain :

1. Data definition

DBMS harus dapat mengolah pendefinisian data

2. Data manipulation

DBMS harus dapat menangani permintaan-permintaan dari

pemakai untuk mengakses data

3. Data security and integrity

DBMS harus dapat memeriksa keamanan dan integriti data

yang didefinisikan oleh DBA

4. Data recovery and concurrency

DBMS harus dapat menangani kegagalan pengaksesan

database yang disebabkan oleh kesalahan sistem, kerusakan

disk dan sebagainya. DBMS harus dapat memantau

pengaksesan data yang konkuren yaitu bila satu data diakses

10

secara bersama-sama oleh lebih dari satu pemakai pada saat

bersamaan

5. Data dictionary

Tempat penyimpanan informasi yang menggambarkan data

dalam database. Data dictionary disebut juga metadata (data

mengenai data) Berisi tentang:

a. Nama-nama user yang mempunyai wewenang untuk

penggunaan DBMS

b. Nama-nama item data

c. Jenis-jenis dan ukuran item data

d. Batasan untuk masing-masing item data

6. Performance

DBMS harus dapat menangani unjuk kerja dari semua

fungsi seefisien mungkin.

2. Ada lapisan-lapisan abstraksi data

Database memiliki kapabilitas unik unik untuk menyajikan

informasi ke banyak pengguna sesuai dengan permintaan

masing-masing. Pengguna di sini bisa saja manusia atau aplikasi

yang masuk secara sah ke database untuk menyimpan atau

mendapatkan data. Aplikasi tersebut adalah program yang

dirancang untuk menyelesaikan tugas-tugas bisnis tertentu

seperti sistem pemesanan barang, system penggajian, sistem

akuntansi. Database memungkinkan setiap pengguna (manusia

11

atau aplikasi) mendapatkan informasi hasil pengolahan data yang

berbeda satu sama lain. Yang satu minta laporan pendapatan

bulan tertentu sementara yang lain mencetak transaksi hari ini,

pengguna lain melakukan pencarian terhadap data tertentu.

Lapisan-lapisan abstraksi data ada 3 lapisan yaitu :

a. Lapisan fisik

Lapisan fisik berisi file data yang menyimpan semua data

untuk database. Hampir semua DBMS yang moderen

mengijinkan data base disimpan dalam multiple data files

(banyak file untuk 1 database).

b. Lapisan logika

Ini adalah lapisan abstraksi pertama dalam database.

Lapisan fisik bukan lapisan abstraksi karena datanya nyata,

bukan abstrak. Lapisan logika terdiri dari struktur data

abstrak yang sama dengan lapisan data. DBMS mengubah

data di data file menjadi struktur/susunan yang sesuai.

Lapisan ini sering disebut skema, istilah yang digunakan

untuk koleksi semua data yang tersimpan dalam database.

c. lapisan luar

Lapisan luar atau mmodel luar adalah layar kedua abstrak

dalam database. Lapisan ini terdiri dari tampilan pengguna

yang disebut subskema. Lapisan ini adalah tempat dimana

12

pengguna dan aplikasi yang mengakses database

berhubungan dan menghasilkan query ke database.

3. Data fisik yang independen

Kemampuan mengubah struktur file database secara fisik tanpa

mengganggu pengguna dan proses yang berlaku disebut physical

data independence. Seberapa besar perubahan yang dapat

dilakukan tanpa berpengaruh pada lapisan logika disebut derajat

physical data independence.

4. Data logis yang independen

Kemampuan untuk membuat perubahan pada lapisan logika

tanpa mengganggu penggunan dan pross yang sedang berlaku

disebut logical data independence. Perubahan pada lapisan

logika juga berlaku pada lapisan fisik. Misalnya penambahan

data di lapisan logika, berarti menambah data pada lapisan fisik.

Perubahan format data pada lapisan logika akan berdampak

pada lapisan fisik juga. Perubahan yang dimaksud termasuk

penghapusan data.

2.3. Framework

Framework secara sederhana dapat diartikan kumpulan dari fungsi-

fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap

digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan

13

seorang programmer, tanpa harus membuat fungsi atau class dari awal (Awan,

2010 : 2).

Ada beberapa alasan mengapa menggunakan Framework :

a. Mempercepat dan mempermudah pembangunan sebuah aplikasi web.

b. Relatif memudahkan dalam proses maintenance karena sudah ada pola

tertentu dalam sebuah framework (dengan syarat programmer

mengikuti pola standar yang ada).

c. Umumnya framework menyediakan fasilitas-fasilitas yang umum

dipakai sehingga programmer tidak perlu membangun dari awal

(misalnya validasi, ORM, pagination, multiple database, scaffolding,

pengaturan session, error handling, dll).

d. Lebih bebas dalam pengembangan jika dibandingkan CMS.

2.4. Model View Controller (MVC)

Model View Controller merupakan suatu konsep yang cukup populer dalam

pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC

memisahkan pengembangan aplikasi berdasarkan komponen utama yang

membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian

yang menjadi kontrol aplikasi (Awan, 2010 : 3). Terdapat 3 jenis komponen yang

membangun suatu MVC pattern dalam suatu aplikasi yaitu :

a. Model, biasanya berhubungan langsung dengan database untuk

memanipulasi data (insert, update, delete, search), menangani validasi

14

dari bagian controller, namun tidak dapat berhubungan langsung

dengan bagian view.

b. View, merupakan bagian yang menangani presentation logic. Pada suatu

aplikasi web bagian ini biasanya berupa file template HTML, yang

diatur oleh controller. View berfungsi untuk menerima dan

merepresentasikan data kepada user. Bagian ini tidak memiliki akses

langsung terhadap bagian model.

c. Controller, merupakan bagian yang mengatur hubungan antara bagian

model dan bagian view, controller berfungsi untuk menerima request

dan data dari user kemudian menentukan apa yang akan diproses oleh

aplikasi.

Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan

sesuai dengan kemampuan developernya, yaitu programmer yang menangani

bagian model dan controller, sedangkan designer yang menangani bagian view,

sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan

organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara

programmer dan designer dalam menangani variabel-variabel yang akan

ditampilkan.

2.5. Web Browser

Web browser merupakan sebuah perangkat lunak (aplikasi) yang digunakan

untuk menampilkan halaman-halaman web. Halaman web yang dimaksud adalah

file HTML dan beberapa file lainnya seperti CSS dan Javascript. Halaman web

15

tersebut dapat tersimpan di lokal, atau di sebuah server intranet/internet. Jadi, web

browser tidak selalu terhubung ke internet.

Dengan Dreamweaver, kita sebenarnya dapat melihat tampilan situs secara

langsung seperti halnya di browser (fitur what-you-see-is-what-you-get), namun

hal tersebut tidak dapat dijadikan patokan bahwa tampilan situs akan sama di

semua browser. Setiap browser terkadang memiliki aturan tersendiri dalam

menampilkan situs web. Jadi, dalam membuat suatu situs web, alangkah baiknya

jika dicoba di beberapa browser sekaligus (Evana, 2010 : 20).

2.6. Website

Website merupakan webpage beserta homepage, yang merupakan system

yang luas dari server yang menawarkan informasi untuk semua orang melalui

jaringan. Informasi tersebut tersebut berupa teks, gambar, suara, dan tipe data

link, yang merupakan navigasi kehalaman lainnya (hyperlink). Homepage

merupakan halaman yang pertama kali muncul ketika pertama kali dibuka,sedang

webpage adalah halaman yang ada pada website (Evana, 2011 : 21).

2.7. CodeIgniter

CodeIgniter adalah aplikasi open source yang berupa framework dengan

model MVC (Model, View, Controller) untuk membangun website dinamis

dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat

aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari

awal (Septian, 2011 : 9).

16

Adapun alur program aplikasi berbasis framework CodeIgniter dapat dilihat

dari gambar 2.1.

Gambar 2.1. Model-View-Controller

Dalam konteks CodeIgniter dan aplikasi berbasis web, maka penerapan

konsep MVC mengakibatkan kode program dapat dibagi menjadi tiga kategori,

yaitu :

1. Model, kode program (berupa OOP class) yang dapat digunakan untuk

memanipulasi database.

2. View, berupa template html/xhtml atau php untuk menampilkan data

pada browser.

3. Controller, kode program (berupa OOP class) yang digunakan untuk

mengontrol aliran aplikasi (sebagai pengontrol Model dan View).

User Request

Controller

View Model

17

2.7.1. Kelebihan CodeIgniter

Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan

Framework PHP lain (Saputra, 2011: 3) :

1. Performa sangat cepat : salah satu alasan tidak menggunakan

framework adalah karena eksekusinya yang lebih lambat

daripada PHP from the scracth, tapi CodeIgniter sangat cepat

bahkan mungkin bisa dibilang CodeIgniter merupakan

framework yang paling cepat dibanding framework yang lain.

2. Konfigurasi yang sangat minim (nearly zero configuration) :

tentu saja untuk menyesuaikan dengan database dan keleluasaan

routing tetap diizinkan melakukan konfigurasi dengan

mengubah beberapa file konfigurasi seperti database.php atau

autoload.php, namun untuk menggunakan CodeIgniter dengan

setting standard, anda hanya perlu merubah sedikit saja file pada

folder config.

3. Banyak komunitas: dengan banyaknya komunitas CI ini,

memudahkan kita untuk berinteraksi dengan yang lain, baik itu

bertanya atau teknologi terbaru.

4. Dokumentasi yang sangat lengkap : Setiap paket instalasi

CodeIgniter sudah disertai user guide yang sangat bagus dan

lengkap untuk dijadikan permulaan, bahasanya pun mudah

dipahami.

18

2.7.2. Kelemahan CodeIgniter

Disamping kelebihan/keuntungan, framework CodeIgniter juga

mempunyai beberapa kelemahan/kekurangan, diantaranya adalah (Saputra,

2011: 4) :

1. CodeIgniter dikembangkan oleh Ellislab dan bukan oleh suatu

komunitas, ini menyebabkan core engine-nya tidak secepat

framework lain.

2. Tidak ditujukan untuk pembuatan web dengan skala besar

(enterprise) walaupun tersedia banyak library.

3. Masih banyak kelonggaran dalam hal coding, misalnya bebas

dalam penamaan file.

4. Tidak mencerminkan MVC yang sesungguhnya, misalnya

penulisan echo masih bisa dilakukan pada file controller.

2.7.3. Fitur CodeIgniter

Menilai baik dan buruknya sebuah aplikasi dari fiturnya, bukanlah

sebuah cara yang tepat. Karena ini tidak menggambarkan bagaimana sebuah

aplikasi dirancang. Fitur-fitur tersebut tidak menggambarkan kualitas kode,

performance dan keamanan (security). Satu-satunya cara untuk

mengetahuinya yaitu dengan cara melihat kodenya. Berikut adalah fitur-fitur

yang didukung oleh CodeIgniter (Awan, 2010 : 11) :

1. Model-View-Controller Based

2. PHP 4 Compatible

19

3. Extremely Light Weight

4. Full Featured database classes with support for several platforms

5. Active Record Database Support

6. Form and Data Validation

7. Security and XSS Filtering

8. Session Management

9. Email Sending Class, Support Attachment, HTML/Text email,

multiple protocols (sendmail, SMTP, and Mail)

10. Image Manipulation Library (cropping, resizing, rotating).

Support GD, ImageMagick dan NetPBM

11. File Uploading Class

12. FTP Class

13. Localization

14. Pagination

15. Data Encryption

16. Benchmarking

17. Full Page Caching

18. Error Logging

19. Application Profiling

20. Scaffolding

21. Calendaring Class

22. User Agent Class

23. Zip Encoding Class

20

24. Template Engine Class

25. Trackback Class

26. XML-RPC Library

27. Unit Testing Class

28. Search Engine Friendly URLs

29. Flexible URL Routing

30. Support for Hooks, Class Extensions, and Plugins

31. Large library of “helper” functions

2.7.4. Konfigurasi Dasar CodeIgniter

Pada folder system/application/config, terdapat beberapa file

konfigurasi untuk CodeIgniter dan konfigurasi tersebut mencakup empat file

penting yang akan menentukan kerja CodeIgniter, diantaranya : config.php,

databases.php, autoload.php, routes.php (Awan, 2010 : 17).

1. config.php

Pada config.php berisi konfigurasi dasar dari aplikasi yang

dibuat. Konfigurasi yang pertama adalah base URL dari

aplikasi. Untuk menentukannya secara lengkap dapat

menyertakan bagian http:// juga. Misalnya :

$config [„base_url‟] = http://example.com/;

Keuntungan menggunakan cara ini adalah programmer tidak

perlu menulis ulang secara lengkap URL jika diperlukan,

misalnya untuk menentukan action pada form. Cukup

menggunakan fungsi base_url. Hal kedua untuk dikonfigurasi

21

adalah URL untuk homepage dengan mengatur $config

[„index_page‟]. Artinya, index.php akan muncul pada

homepage. Contoh sebagai berikut :

http://localhost/e-

leraning_sistem_multimedia/index.php/e-learning

Sehingga, sebaiknya biarkan saja setting untuk index.php sesuai

nilai awalnya, yaitu index.php

$config [„index_page‟] = “index.php”;

Setelah mengatur dua konfigurasi tersebut, sebaiknya untuk

yang lain dibiarkan tetap dengan nilai defaultnya. Berikut ini

contoh dasar script mengenai config.php :

$config ['url_protocol'] = "AUTO";

$config ['url_suffix'] = "";

$config ['language'] = "english";

$config ['charset'] = "UTF-8";

$config ['enable_hooks'] = FALSE;

$config ['subclass_prefix'] = 'MY_';

$config ['premitted_uri_chars'] = 'a-z 0-

9~%.:_\-';

$config ['enable_query_strings'] = FALSE;

$config ['controller_trigger'] = 'c';

$config ['function_trigger'] = 'm';

$config ['directory_trigger'] = 'd';

$config ['log_threshold'] = 0;

$config ['log_path'] = '';

22

$config ['log_date_format'] = 'Y-m-d H:i:s';

$config ['cache_path'] = '';

$config ['encryption_key'] = "";

$config ['sess_cookie_name'] = 'ci_session';

$config ['sess_expiration'] = 7200;

$config ['sess_encrypt_cookie'] = FALSE;

$config ['sess_use_database'] = FALSE;

$config ['sess_table_name'] = 'ci_sessions';

$config ['sess_match_ip'] = FALSE;

$config ['sess_match_useragent'] = TRUE;

$config ['sess_time_to update'] = 300;

$config ['cookie_prefix'] = "";

$config ['cookie_domain'] = "";

$config ['cookie_path'] = "/";

$config ['global_xss_filtering'] = FALSE;

$config ['compress_output'] = FALSE;

$config ['time_reference'] = 'local';

$config ['rewrite_abort_tags'] = FALSE;

$config ['proxy_ips'] = '';

2. database.php

File database.php berisi informasi yang diperlukan untuk

berhubungan dengan database. CodeIgniter saat ini mendukung

MySQL, MySQLi, MS SQL, Postege, Oracle, SQLite, dan

ODBC. Untuk berhubungan dengan database, cukup

memasukkan lima poin informasi yang valid yaitu mengenai

23

hostname, username, password, nama database dan driver

database. Berikut contoh dasar script mengenai database.php :

$active_group = "default";

$active_record = TRUE;

$db ['default'] ['hostname'] = "localhost";

$db ['default'] ['username'] = "root";

$db ['default'] ['password'] = "";

$db ['default'] ['database'] = "elearning";

$db ['default'] ['dbdriver'] = "mysql";

$db ['default'] ['dbprefix'] = "";

$db ['default'] ['pconnect'] = TRUE;

$db ['default'] ['db_debug'] = TRUE;

$db ['default'] ['cache_on'] = FALSE;

$db ['default'] ['cachedir'] = "";

$db ['default'] ['char_set'] = "utf8";

$db ['default'] ['dbcollat'] =

"utf8_general_ci";

3. autoload.php

Fungsi file autoload.php ini adalah untuk menspesifikasikan

resource apa saja yang akan diload secara otomatis oleh

CodeIgniter. Hal ini dilakukan untuk menjaga agar sistem tetap

berjalan dengan cepat, atau dengan kata lain untuk menjaga

performance. Berikut contoh dasar script mengenai

autoload.php:

24

$autoload ['libraries'] = array ('database',

'form_validation','table','pagination','session

');

$autoload ['helper'] = array ('form','url');

$autoload ['plugin'] = array ();

$autoload ['config'] = array ();

$autoload ['language'] = array ();

$autoload ['model'] = array ();

$autolad option yang pertama adalah libraries, berisi daftar

library yang seharusnya dimuat oleh sistem. Misal database,

session, email, dan form validation adalah beberapa library yang

umumnya digunakan dalam setiap proyek.

$autolad option yang kedua adalah helper, merupakan koleksi

helper yang dapat digunakan untuk mengerjakan tugas tertentu.

Hampir setiap proyek CodeIgniter menggunakan helper untuk

URL, form dan sebagainya. Sehingga tidak ada salahnya untuk

memuat helper-helper tersebut dalam autoload.

4. routes.php

Fungsi file routes.php digunakan untuk melakukan remap URI

request agar mengarah ke suatu fungsi tertentu pada sebuah

controller. Misal memiliki sebuah controller bernama situsku

dengan fungsi index di dalamnya maka URI akan tampak seperti

ini :

http://www.example.com/situsku/index

25

Jika controller memiliki fungsi halaman maka URI yang akan

tampak seperti ini :

http://www.example.com/situsku/halaman/3

Pada kasus tertentu jika ingin me-remap URI agar tampak lebih

baik, misal menjadi seperti ini :

http://www.example.com/situsku/about_us

Contoh penambahan rule pada file routes.php :

$route [„about_us‟] = “situsku/halaman/3”;

Contoh default CodeIgniter yang mengarah pada default

controller pada controller welcome :

$route [„default_controller‟] = “welcome”;

2.7.5. Library CodeIgniter

Library CodeIgniter membantu programmer dalam mengerjakan

operasi tertentu lebih cepat dan efisien. Tiap library adalah class PHP

dengan berbagai method yang dapat digunakan begitu class tersebut di load

oleh controller. Berikut library yang termasuk di CodeIgniter (Awan, 2010 :

21) :

1. Benchmarking : Library benchmarking selalu aktif. Bisa

digunakan untuk menghitung penggunaan memori.

2. Calendaring : Library calendaring harus di load oleh controller.

Digunakan untuk membuat kalander untuk bulan dan tahun

tertentu.

26

3. Config : Library config diinisialisasi secara otomatis oleh sistem.

Digunakan untuk menerima informasi mengenai konfigurasi

sistem.

4. Database : Library database dilengkapi dengan berbagai method

untuk manipulasi database

5. Email : Digunakan untuk mengirim email.

6. Encryption : Untuk operasi enkripsi.

7. File Uploading : Menyediakan fitur validasi agar file sesuai

dengan mime type, ukuran (size dalam kilobytes) atau dimensi

gambar. Digunakan untuk mengupload file.

8. FTP : Digunakan untuk mentransfer file ke remote server.

9. HTML Table : Library html table akan menggenerate table dari

array atau hasil dari query database secara cepat.

10. Image Manipulation Digunakan untuk meresize, membuat

thumbnails, crop atau rotate gambar, serta watermark. Beberapa

fungsi membutuhkan support PHP yang lebih baik, misalnya

GD/GD2.

11. Input and Security : Digunakan untuk pre-process input data dari

form dan URL serta untuk menghandle beberapa fungsi security.

12. Language : Diguanakan untuk meload beberapa bahasa yang

berbeda.

27

13. Loader : Library ini secara otomatis akan diload oleh sistem dan

akan sering digunakan saat untuk meload view di dalam

controller dan untuk meload libraries.

14. Output : Otomatis diload oleh sistem dan fungsi utama dari

library ini adalah mengirimkan halaman web ke browser yang

merequest serta digunakan untuk proses caching.

15. Pagination : Digunakan untuk membuat pagination dari hasil

query database dan dapat mengatur beberapa record yang ingin

ditampilkan dalam satu halaman.

16. Session : Digunakan untuk memaintain state seorang user.

Library ini tidak menggunakan session milik PHP, tetapi

menghasilkan data untuk session sendiri

17. Template Parser : Digunakan untuk membuat template yang

berisi pseudo-template.

18. Trackback : Digunakan untuk mengirim dan menerima data

Trackback.

19. Unit Testing : Library ini diguakan untuk melakukan unit testing.

20. URI Class : Library ini diload secara otomatis oleh sistem.

Digunakan untuk memparser URL, membaginya ke dalam

segment-segment yang dapat dilewatkan melalui controller atau

disimpan sebagai variable.

28

21. User Agent : Digunakan untuk mengidentifikasi browser, mobile

device atau robot (misalnya milik search engine) yang

berkunjung ke situs yang telah dibuat.

22. Form Validation : Digunakan untuk memvalidasi input form.

23. XML-RPC : Digunakan untuk mensetting XML-RPC client dan

server.

24. Zip Encoding : Digunakan untuk membuat arsip Zip untuk text

dan data binary.

2.8. jQuery

jQuery merupakan salah satu pustaka yang dikembangkan dengan

menggunakan JavaScript. Fungsi jQuery adalah untuk memudahkan penulisan

kode JavaScript. Dengan menggunakan jQuery, penulisan kode JavaScript

menjadi lebih sederhana (kodenya menjadi ringkas). Selain itu, yang lebih penting

lagi, pembuatan halaman web yang interaktif dan menarik menjadi lebih mudah

diimplementasikan daripada jika harus menuliskan JavaScript dari awal (Kadir,

2011: 12).

2.8.1. JavaScript

JavaScript adalah bahasa pemrograman berbasis prototipe yang

berjalan disisi klien. jika kita berbicara dalam konteks web, sederhananya,

kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan

di browser. JavaScript dipanggil untuk memberikan fungsi pada halaman

web dengan meletakannya secara internal pada halaman html diantara tag

29

<script> </script> atau dibuat pada file terpisah ( eksternal ) dan lalu di link

menggunakan <link rel=”" href=”"> pada bagian <head>, seperti CSS.

2.9. Adobe Dreamweaver CS5

Adobe dreamweaver CS5 adalah HTML editor profesional yang berfungsi

mendesain, melakukan coding dan mengembangkan website yang paling terkenal

di dunia web. Macromedia adalah produsen Software website yang paling besar di

dunia. Selain dreamweaver, macromedia juga mengeluarkan produk seperti

macromedia flash, fireworks, coldfusion, freehand, director dan sebagainya. Salah

satu kelebihan dreamweaver adalah ruang kerja dreamweaver beserta tool yang

tersedia dapat digunkan dengan sangar mudah dan cepat, sehingga anda bias

membangun suatu website dengan cepat dan tanpa harus melakukan coding.

Selain itu dreamweaver juga mempunyai integrasi dengan produk macromedia

lainnya, seperti Flash, Firework, flash sudah sengat terkenal sebagai program

untuk membuat animasi yang berbasis web. Dengan perkembangan kebutuhan

dan teknologi, flash akhir-akhir juga digunakan untuk membuat animasi untuk

video. Fungsi coding dreamweaver tidak hanya mendukung coding HTML, tetapi

juga CSS (cascading style sheet), JavaScript, coldfusion, ASP(active server page),

JSP (javaserver Pages) dan dreamweaver juga memungkinkan anda membangun

website dengan server berbahasa CFML (Cold Fusion markup language),

ASP.net, JSP dan PHP.

30

2.10. MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL

(bahasa Inggris: database management system) atau DBMS yang multithread,

multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL dapat

dikatakan lebih unggul dibandingkan database server lainnya dalam query data.

Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query

MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat

dibandingkan Interbase. Selain itu MySQL juga memiliki beberapa keistimewaan,

antara lain (Evana, 2010 : 26):

1. Portability. MySQL dapat berjalan stabil pada berbagai sistem operasi

seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan

masih banyak lagi.

2. Open Source. MySQL didistribusikan secara open source (gratis), dibawah

lisensi GPL sehingga dapat digunakan secara cuma-cuma.

3. Multiuser. MySQL dapat digunakan oleh beberapa user dalam waktu yang

bersamaan tanpa mengalami masalah atau konflik.

4. Performance tuning. MySQL memiliki kecepatan yang menakjubkan

dalam menangani query sederhana, dengan kata lain dapat memproses

lebih banyak SQL per satuan waktu.

5. Column types. MySQL memiliki tipe kolom yang sangat kompleks,

seperti signed / unsigned integer, float, double, char, text, date, timestamp,

dan lain-lain.

31

6. Command dan functions. MySQL memiliki operator dan fungsi secara

penuh yang mendukung perintah Select dan Where dalam query.

7. Security. MySQL memiliki beberapa lapisan sekuritas seperti level

subnetmask, nama host, dan izin akses user dengan sistem perizinan yang

mendetail serta password terenkripsi.

8. Scalability dan limits. MySQL mampu menangani database dalam skala

besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5

milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32

indeks pada tiap tabelnya.

9. Connectivity. MySQL dapat melakukan koneksi dengan client

menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes

(NT).

10. Localisation. MySQL dapat mendeteksi pesan kesalahan pada client

dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian,

bahasa Indonesia belum termasuk didalamnya.

11. Interface. MySQL memiliki interface (antar muka) terhadap berbagai

aplikasi dan bahasa pemrograman dengan menggunakan fungsi API

(Application Programming Interface).

12. Clients dan tools. MySQL dilengkapi dengan berbagai tool yang dapat

digunakan untuk administrasi database, dan pada setiap tool yang ada

disertakan petunjuk online.

32

13. Struktur table. MySQL memiliki struktur tabel yang lebih fleksibel dalam

menangani ALTER TABLE, dibandingkan database lainnya semacam

PostgreSQL ataupun Oracle.

2.11. Adobe Flash

Adobe Flash (dahulu bernama Macromedia Flash) adalah salah satu

perangka lunak komputer yang merupakan produk unggulan Adobe Systems.

Adobe Flash digunakan untuk membuat gambar vektor maupun animasi gambar

tersebut. Berkas yang dihasilkan dari perangkat lunak ini mempunyai file

extension .swf dan dapat diputar di penjelajah web yang telah dipasangi Adobe

Flash Player. Flash menggunakan bahasa pemrograman bernama ActionScript

yang muncul pertama kalinya pada Flash 5 (Evana, 2010 : 28).

33

BAB III

ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Dalam analisis sistem dilakukan penjelasan dari suatu aplikasi yang

dibangun kedalam bagian-bagian komponen dengan maksud mengidentifikasi dan

mengevaluasi, sehingga ditemukan kelemahan-kelemahan dan kebutuhan-

kebutuhan sehingga dapat diusulkan perbaikannya. Analisis sistem meliputi

identifikasi masalah, spesifikasi masalah, spesifikasi aplikasi, pengguna (user)

dan lingkungan operasi.

3.1.1. Analisa Masalah

Dilihat dari apa yang terjadi pada salah satu Universitas terkemuka

di Semarang, dimana kegiatan belajar mengajar dilakukan oleh dosen dan

mahasiswa secara tatap muka. Kegiatan belajar mengajar yang seperti itu

dirasa belum cukup karena dibatasi waktu dan tempat, sehingga diperlukan

sebuah sistem untuk membantu proses pembelajaran tersebut. Dan salah

satu solusinya adalah sistem E-Learning berbasis web, dimana sistem ini

dapat diakses kapan saja dan dimana saja selama pengguna (user) terkoneksi

dengan internet. Terlepas dari itu media pengertian pembelajaran interaktif

adalah suatu sistem penyampaian pengajaran yang menyajikan materi video

rekaman dengan pengendalian komputer kepada pengguna (user) yang tidak

hanya mendengar dan melihat video dan suara, tetapi juga memberikan

respon yang aktif.

34

Sehingga dapat dirumuskan beberapa permasalahan yaitu :

1. Bagaimana menangani adanya keterbatasan ruang, jarak, dan waktu

karena pembelajaran hanya terpaku dalam kegiatan belajar

mengajar di kampus saja, sehingga dapat membuat mahasiswa

kurang memahami materi matakuliah Sistem Multimedia.

2. Bagaimana cara memberikan solusi adanya penghapusan

matakuliah Sistem Multimedia tersebut dari kurikulum di beberapa

Universitas ketika mahasiswa ingin mempelajarinya. Padahal

matakuliah tersebut mengajarkan bahwa dengan Multimedia akan

mampu mengubah lembar kerja, diantaranya dalam program kerja,

mengubah cara belajar, mengubah cara bisnis, mengubah cara

memperoleh informasi, dan bersaing dalam internet multimedia,

dengan latar belakang objek seperti text, gambar, animasi, audio,

video, dan interaktif link. Serta matakuliah tersebut dirasa juga

dapat merupakan bekal bagi mahasiswa sebelum terjun ke dunia

kerja.

Berdasarkan batasan masalah yang telah dikemukakan, gambaran

sistem perangkat lunak yang akan penulis rancang adalah dengan

menggunakan fasilitas website yang didalamnya menyediakan informasi

secara online. Dalam arti dapat dikunjungi oleh masyarakat.

Secara garis besar cara kerja sistem perangkat lunak ini adalah

dengan menggunakan database. Perangkat lunak menerima input dari 2

entitas yaitu admin dan pengguna (user).

35

Ada beberapa kebutuhan dibuatnya aplikasi ini yang diantaranya :

1. Sistem harus dapat mengolah serta menampilkan data admin

dan pengguna (user).

2. Sistem harus dapat mengolah serta menampilkan data materi

matakuliah Sistem Multimedia.

3. Sistem harus dapat mengolah serta menampilkan data latihan

soal.

4. Sistem harus dapat menampilkan data nilai latihan.

5. Sistem harus dapat mengolah serta menampilkan data video.

6. Sistem harus dapat mengolah serta menampilkan data pesan.

3.1.2. Analisis Data

Analisis data merupakan tahap dimana dilakukan analisis terhadap

data-data yang diolah dalam sistem atau prosedur yang sedang berjalan. Dan

juga akan dilakukan analisis terhadap data yang dibutuhkan sistem agar

dapat diimplementasikan kedalam proses aplikasi. Adapun data yang

dibutuhkan adalah:

1. Data Admin

Data admin berisikan data yang menjadi identitas admin

tersebut, seperti username, password, nama.

2. Data User

Data user (pengguna) berisikan data yang menjadi identitas

user tersebut, seperti username, password dan nama.

36

3. Data Materi

Data materi berisikan materi yang ditampilkan pada perangkat

lunak yang dibangun.

4. Data Latihan

Data latihan berisi latihan yang ditampilkan setelah user selesai

membaca materi yang ditampilkan pada perangkat lunak ini.

5. Data Video

Data video interaktif berisi video yang berhubungan dengan

materi yang diajarkan.

3.1.3. Analisis Kebutuhan Sistem

Bagian ini berisi semua kebutuhan perangkat lunak yang diuraikan

secara rinci untuk keperluan perancangan perangkat lunak. Kebutuhan

perangkat lunak tersebut meliputi spesifikasi pengguna (user) serta

kebutuhan antarmuka eksternal.

3.1.4. Spesifikasi Pengguna

Spesifikasi pengguna merinci siapa saja pengguna dari perangkat

lunak dan apa saja haknya terhadap perangkat lunak tersebut. Aplikasi E-

Learning yang dibangun memiliki dua jenis pengguna, yaitu :

1. Admin

Pada aplikasi E-Learning, admin dapat melakukan manipulasi

data. Admin dapat melakukan proses olah data user, olah data

materi matakuliah sistem multimedia, olah data nilai, olah data

video dan ganti password user dari database yang ada.

37

2. User

Pada aplikasi E-Learning, user mendapatkan materi yang telah

disediakan oleh admin dan dapat mengunduhnya berupa file

terkompresi. Selain itu, user dapat mengerjakan latihan soal

yang diberikan dan langsung mengetahui hasil latihan yang

telah dikerjakan. Serta user dapat mengunduh video yang

berkaitan dengan matakuliah sistem multimedia.

3.2. Analisis Kebutuhan Antarmuka Eksternal

Penghubung antara sistem dengan pengguna (user) pada suatu perangkat

lunak atau yang sering disebut antarmuka (interface), dapat berupa antarmuka

pengguna, antarmuka perangkat keras, antarmuka perangkat lunak, dan antarmuka

komunikasi.

a. Antarmuka Pengguna

Antarmuka pengguna mendefinisikan karakteristik logis dari setiap

antarmuka antara aplikasi perangkat lunak dan penggunaannya, serta

semua aspek optimisasi antarmuka dengan orang yang akan menggunakan

sistem. Kebutuhan antarmuka pengguna ini diantaranya adalah sebagai

berikut :

1. Untuk menunjang optimisasi tampilan antarmuka aplikasi E-

Learning, diperlukan web browser yang mendukung bahasa

pemrograman PHP, misalnya Mozilla Firefox versi 2.0 ke atas

yang sudah terinstal flash player versi 10 ke atas.

38

2. Visualisasi bahasa yang dipakai pada tampilan aplikasi adalah

bahasa Indonesia dan sedikit bahasa Inggris yang familiar bagi

user.

b. Antarmuka Perangkat Keras

1. Perangkat Input/Output

a. Keyboard

Dapat menggunakan jenis keyboard yang kompatibel dengan

sistem operasi yang digunakan.

b. Mouse

Dapat menggunakan mouse standar yang kompatibel dengan

sistem operasi yang digunakan.

c. Monitor

Dapat menggunakan monitor warna yang mendukung 256 atau

lebih tinggi dengan resolusi 800 x 600.

2. Sistem Unit

a. Processor

Prosesor yang digunakan minimal Pentium 4 atau lebih.

b. Memory

Memory yang digunakan minimal 512 MB.

c. Harddisk

Menyediakan ruang kosong (free space) sebesar 80 GB.

39

c. Antarmuka Perangkat Lunak

1. Sistem Operasi menggunakan Windows XP 32-bit.

2. Software yang digunakan Adobe Dreamweaver CS5.5 dan Xampp.

3. Database menggunakan MySQL yang sudah disediakan di Xampp.

d. Antarmuka Komunikasi

Aplikasi E-Learning ini merupakan perangkat lunak yang dirancang

untuk membantu mahasiswa memudahkan dalam mendapatkan materi

serta melatih kemampuan mahasiswa dalam mengerjakan latihan yang

ditampilkan pada aplikasi ini. Perangkat lunak ini memfokuskan pada

visualisasi pada sistem multimedia. Selain itu juga perangkat lunak ini

mampu menampilkan dan mengelola latihan dan video pelajaran agar para

mahasiswa bisa lebih terbuka pemikirannya.

3.2.1. Fungsionalitas Perangkat Lunak

Perangkat lunak E-Learning sistem multimedia yang dibangun ini

mempunyai fungsi antara lain:

1. Sebagai pendukung sistem konvesional (tatap muka) yang sudah ada.

2. Untuk memberikan pembelajaran pada mahasiswa dengan

memanfaatkan teknologi informasi dan komunikasi serta media

komunikasi lainnya.

3. Mampu meminimalkan kendala waktu, jarak dan ruang.

4. Mahasiswa dapat mendapatkan materi kuliah dengan mudah melalui

media komputer yang terkoneksi internet.

40

3.3. Perancangan Sistem

3.3.1. Diagram Konteks

Pada perangkat lunak ini terdapat dua level pengguna yaitu Admin,

dan pengguna (user). Pada context diagram ini aplikasi E-Learning

merupakan suatu sistem yang akan dibangun dan melakukan proses

pengolahan data terhadap masukan data dari entitas luar yang terlibat.

Adapun entitas luar yang terlibat dalam aplikasi E-Learning antara lain :

1. Admin

Untuk bisa menjalankan aplikasi ini, entitas luar ini harus

melakukan login yang akan divalidasi oleh sistem. Entitas ini

bertugas untuk mengelola data user, data materi matakuliah

sistem multimedia, data video, ubah password user, serta

memasukkan data yang dibutuhkan sistem untuk melakukan

pengolahan data tersebut.

2. User

Untuk bisa menjalankan aplikasi ini, entitas luar juga harus

melakukan login yang akan divalidasi oleh sistem. Untuk entitas

luar ini dapat mengakses materi, latihan, video.

41

Admin

Aplikasi E-

Learning

Matakuliah

Sistem

Multimedia

User

Data login admin, Login admin

valid, Data admin, Data user,

Data materi matakuliah sistem

multimedia, Data video, Data

ganti password

Info login gagal, login valid,

Info admin, Info video, Info

materi matakuliah sistem

multimedia, info video

Info login gagal, login valid,

Info data user, Info data

materi, Info data user, Info

data kometar

Data login user, Login user

valid, Data user, Data

materi, Data latihan, Data

video, Data komentar

Gambar 3.1 Diagram Konteks Aplikasi E-Learning Matakuliah Sistem

Multimedia

3.3.2. Diagram Aliran Data

Data Flow Diagram (DFD) sering digunakan untuk menggambarkan

suatu sistem yang akan dikembangkan secara logika tanpa

mempertimbangkan lingkungan fisik dimana data itu mengalir atau dimana

data itu tersimpan. DFD merupakan alat yang digunakan pada metodologi

pembangunan sistem yang terstruktur dan dapat menggambarkan arus data

di dalam sistem yang terstruktur.

3.3.2.1. DFD Level 1

Proses utama yang terdapat dalam perangkat lunak yang

akan dirancang terdiri dari tiga proses yaitu proses autentifikasi

pengguna, Pengolahan aplikasi E-Learning, dan pengaksesan

42

aplikasi E-Learning. Penjelasan global mengenai proses-proses

dalam DFD Level 1 dapat dilihat pada tabel berikut :

Admin

1

Autentifikasi

Pengguna

2

Pengolahan

Data User

3

Pengolahan

Data Materi

4

Pengolahan

Data Video

6

Pengolahan

Latihan Soal

User

Data Admin

Info Admin

Data Autentifikasi User

Info Autentifikasi User

Info Video

Data Video

5

Pengolahan

Data Pesan

Info Data Pesan User

Data Pesan User

T_User

T_Admin

Data

Aute

ntifik

asi

Status

Autentifikasi

Admin

Info

Aute

ntifik

asi

Adm

in

Data Autentifikasi Admin

Status Autentifikasi

User

Data

Aute

ntifik

asi

Use

r

Data User

Info

Use

r

Data

Use

rInfo

Use

r

Login Valid User

Data Video

Info

Vid

eo

Data Soal

Data Jawaban

Data Nilai

T_Latihan

Data Soal

Data Jawaban

Data Nilai

Info

Soal

Info

Jaw

aban

Info

Nila

i

Info Soal

Info Jawaban

Info Nilai

Data

Soal

Data

Jaw

aban

Data

Nil

ai Info Soal

Info Jawaban

Info Nilai

Info

Data

Pesa

n

Data

Pesa

n

Info

Mate

ri

Data

Mate

ri

Info

Data

Mate

ri

Data

Mate

riInfo User

Data User

Login Valid User

Data

Mate

ri

Info

Mate

ri

T_Pesan

Info Data Pesan

Data Pesan

T_Materi

Data

Mate

ri

Info

Mate

ri

T_Video

Data

Vid

eo

Info

Vid

eo

Gambar 3.2 DFD Level 1

3.3.2.2. DFD Level 2 Proses Autentifikasi Pengguna

Terdapat dua fungsi utama didalam DFD Level 2 Proses

autentifikasi pengguna yaitu validasi user id dan validasi password.

43

1.1

Cek

Username

Admin User

1.2

Cek

Password

Admin User

Username Admin Username User

Data

id A

dm

in

Data id Admin

Password Admin

Info Login Invalid

Password User

Info Login Invalid

Data Username

User

Data

id

Use

r

Data Password Admin

Data Password

Admin

Data Password User

Data Password

User

Info Login Invalid Info Login Invalid

Gambar 3.3 DFD Level 2 Proses Autentifikasi Pengguna

44

3.3.2.3. DFD Level 2 Proses Pengolahan Data User

2.1

Tambah Data

User

2.2

Ganti

Password

User

2.3

Ubah Data

User

2.4

Hapus Data

User

Admin User

Data User

Data User

Data User

Data User Data User

Data User

Data User

Data User

Info Data User

Info Data User

Info Data User

Info Data Admin Info Data User

Info Data User

Info Data User

Info Data User

Login Admin

Valid

Login Admin

Valid

Login Admin

Valid

Login Admin

Valid

Gambar 3.4 DFD Level 2 Proses Pengolahan Data User

45

3.3.2.4. DFD Level 2 Proses Pengolahan Materi

3.1

Tambah Data

Materi

3.2

Ubah Data

Materi

3.3

Hapus Data

Materi

3.4

Cari Data

User

Admin Materi

Data Materi

Data Materi

Data Materi Data Materi

Data Materi

Data Materi

Data MateriData Materi

Info Data Materi

Info Data Materi

Info Data Materi

Info Data Materi Info Data Materi

Info Data Materi

Info Data Materi

Info Data Materi

Login Admin

Valid

Login Admin

Valid

Login Admin

Valid

Login Admin

Valid

Gambar 3.5 DFD Level 2 Proses Pengolahan Materi

46

3.3.2.5. DFD Level 2 Proses Pengolahan Video

4.1

Tambah

Video

4.2

Ubah Video

4.3

Hapus Video

4.4

Lihat Video

Admin Video

Data Video

Data Video

Data Video Data Video

Data Video

Data Video

Data VideoData Video

Info Data Video

Info Data Video

Info Data Video

Info Data Video Info Data Video

Info Data Video

Info Data Video

Info Data Video

Login Admin

Valid

Login Admin

Valid

Login Admin

Valid

Login Admin

Valid

Gambar 3.6 DFD Level 2 Proses Pengolahan Video

3.3.2.6. DFD Level 2 Proses Pengolahan Data Pesan

Admin

User

5.1

Kirim Pesan

5.2

Hapus Pesan

Data Pesan

Info Data Pesan

Data Pesan

Info Data Pesan

Data Pesan

Info Data Pesan

Data Pesan

Info Data Pesan

Lo

gin

Ad

min

Va

lidL

og

in A

dm

in V

alid

Lo

gin

Ad

min

Va

lidL

og

in A

dm

in V

alid

Gambar 3.7 DFD Level 2 Proses Pengolahan Data Pesan

47

3.3.2.7. DFD Level 2 Proses Pengolahan Latihan Soal

6.1

Tambah

Latihan

6.2

Ubah

Latihan

6.3

Hapus

Latihan

Admin Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Login

User valid

Login

User valid

Login

User valid

Materi

Data

Latihan

Data

Latihan

Info Data

Latihan

Info Data

Latihan

Gambar 3.8 DFD Level 2 Proses Pengolahan Latihan Soal

48

3.3.2.8. DFD Level 2 Proses Mengerjakan Latihan Soal

6.1.1

Memilih

Latihan

6.1.2

Mengerjakan

Latihan

6.1.3

Melihat Nilai

Admin Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Materi

Data

Latihan

Data

Latihan

Info Data

Latihan

Info Data

Latihan

Latihan

Info Data

Latihan

Data

Latihan

Gambar 3.9 DFD Level 2 Proses Mengerjakan Latihan Soal

49

3.3.2.9. DFD Level 3 Proses Tambah Latihan

6.2.1

Pemilihan

Materi

6.2.2

Isi Soal

Latihan

6.2.3

Simpan

Latihan

Admin Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Data Latihan

Info Data Latihan

Materi

Request Data

MateriInfo Data

Latihan

Info Data

Latihan

Request Data

Materi

Gambar 3.10 DFD Level 3 Proses Tambah Latihan

3.3.3. Spesifikasi Proses

Spesifikasi proses digunakan untuk menggambarkan semua proses

model aliran data yang disajikan pada diagram aliran data. Spesifikasi

proses yang terdapat pada Data Flow Diagram dapat dilihat pada tabel

berikut :

Tabel 3.1 Proses DFD Aplikasi E-Learning Matakuliah Sistem Multimedia

No Proses Keterangan

1 No Proses 1

Nama Proses Autentifikasi Pengguna

50

Deskripsi Proses Proses ini harus dilakukan oleh admin dan user

sebelum mereka dapat melakukan proses-proses

selanjutnya.

Input 1. Data login admin

2. Data login user

Output 1. Info login admin

2. Info login user

3. Info login admin valid atau invalid

4. Info login user valid atau invalid

Logika Proses 1. Jika user=’admin atau user’ maka tampilkan layar

menu halaman utama yang dimana terdapat tabel

login pengguna yang berada di sebelah kiri

halaman utama

2. Admin atau user memasukkan username dan

password

3. Cek ke dalam database

4. Jika valid, maka admin atau user masuk ke

halaman sistem yang sudah ditentukan

2 No Proses 1.1

Nama Proses Validasi username

Deskripsi Proses Ini adalah proses untuk mengecek username yang

dimasukkan oleh admin dan user.

Input 1. Data username Admin

51

2. Data username User

Output 1. Info data username Admin

2. Info data username User

Logika Proses 1. Sistem menerima data username dan request

validasi username

2. Jika berhasil, pengguna akan masuk ke halaman

sistem yang sudah ditentukan

3. Jika gagal, pengguna akan kembali ke menu

halaman utama

3 No Proses 1.2

Nama Proses Validasi Password

Deskripsi Proses Ini adalah proses untuk mengecek password yang

dimasukkan oleh admin dan user.

Input 1. Data password Admin

2. Data password User

Output 1. Info data password Admin

2. Info data password User

Logika Proses 1. Sistem menerima data password dan request

validasi password

2. Jika berhasil, pengguna akan masuk ke halaman

sistem yang sudah ditentukan

3. Jika gagal, pengguna akan kembali ke menu

halaman utama

52

4 No Proses 2

Nama Proses Pengolahan data user

Deskripsi Proses Proses ini dilakukan oleh admin untuk mengelola

data admin dan user.

Input 1. Status login admin atau user valid

2. Data admin atau user

Output Info data admin atau user

Logika Proses 1. Login admin atau user invalid, kembali ke menu

halaman utama

2. Login admin atau user valid, masuk ke halaman

sistem yang sudah ditentukan

5 No Proses 2.1

Nama Proses Tambah data user

Deskripsi Proses Proses untuk menambah data user oleh admin

Input Data user

Output Info data user

Logika Proses 1. Admin masuk ke database

2. Masuk tabel login

3. Insert data pada tabel login

4. Input Nama Username, Password, Nama, Status

5. Simpan

6 No Proses 2.2

Nama Proses Ganti Password User

53

Deskripsi Proses Proses untuk mengganti password admin atau user

pada halaman sistem yang sudah ditentukan

Input 1. Data login

2. Data admin atau user

Output Info data admin atau user

Logika Proses 1. Login admin atau user invalid, kembali ke menu

halaman utama

2. Login admin atau user valid

3. Masuk ke halaman sistem yang sudah ditentukan

4. Tampil data admin atau user

5. Klik tombol ganti password

6. Input password lama kemudian input password

baru

7. Simpan

7 No Proses 2.4

Nama Proses Hapus data user

Deskripsi Proses Proses untuk menghapus data user oleh admin

Input Data user

Output Info data user

Logika Proses 1. Admin masuk ke database

2. Masuk ke tabel login

3. Tampil data user

54

4. Pilih user yang datanya akan di hapus

5. Simpan

8 No Proses 3

Nama Proses Pengolahan data materi

Deskripsi Proses Proses ini dikelola oleh admin untuk pengolahan

materi matakuliah sistem multimedia

Input Data materi

Output Info data materi

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu materi

5. Olah materi

6. Simpan

9 No Proses 3.1

Nama Proses Tambah data materi

Deskripsi Proses Proses ini dikelola oleh admin untuk menambah

materi matakuliah sistem multimedia

Input Data materi

Output Info data materi

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

55

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu materi

5. Tambah data

6. Input Judul, Input Gambar, Input Ringkasan

7. Upload file

8. Simpan

10 No Proses 3.2

Nama Proses Ubah data materi

Deskripsi Proses Proses ini dikelola oleh admin untuk mengubah data

materi matakuliah sistem multimedia

Input Data materi

Output Info data materi

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu materi

5. Ubah materi, update judul, update file gambar

6. Upload file

7. Simpan

11 No Proses 3.3

Nama Proses Hapus data materi

56

Deskripsi Proses Proses ini dikelola oleh admin untuk menghapus

materi

Input Data materi

Output Info data materi

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu materi

5. Pilih materi yang akan di hapus

6. Hapus materi yang dipilih

7. Simpan

12 No Proses 3.4

Nama Proses Cari data materi

Deskripsi Proses Proses ini dapat dilakukan oleh admin atau user

untuk mencari materi

Input Data materi

Output Info data materi

Logika Proses 1. Login admin atau user invalid, kembali ke menu

halaman utama

2. Login admin atau user valid

3. Masuk ke halaman sistem yang sudah ditentukan

4. Pilih tabel pencarian yang berada di kanan

57

halaman utama

5. Input Judul yang akan dicari dan pilih kategori

materi yang disediakan

6. Tekan tombol cari

13 No Proses 4

Nama Proses Pengolahan video

Deskripsi Proses Proses ini dikelola oleh admin untuk pengolahan

video

Input Data video

Output Info data video

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu video

5. Olah video

6. Simpan

14 No Proses 4.1

Nama Proses Tambah Video

Deskripsi Proses Proses ini dikelola oleh admin untuk menambah

video

Input Data video

Output Info data video

58

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu video

5. Tambah video

6. Simpan

15 No Proses 4.2

Nama Proses Ubah video

Diskripsi Proses Ini adalah proses untuk mengubah video

Input Data video

Output Info data video

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu video

5. Pilih video yang akan diubah

6. Ubah video

7. Simpan

16 No Proses 4.3

Nama Proses Hapus video

Deskripsi Proses Ini adalah proses untuk menampilkan video yang

59

telah dimasukkan oleh admin

Input Data video

Output Info data video

Logika Proses 1. Login admin invalid, kembali ke menu halaman

utama

2. Login admin valid

3. Masuk menu halaman admin

4. Pilih menu video

5. Pilih video yang akan dihapus

6. Simpan

17 No Proses 4.4

Nama Proses Lihat video

Deskripsi Proses Ini adalah proses untuk menampilkan video yang

telah dimasukkan oleh admin

Input Data video

Output Info data video

Logika Proses 1. Login admin atau user invalid, kembali ke menu

halaman utama

2. Login admin atau user valid

3. Masuk menu halaman utama

4. Masuk menu video

5. Pilih video yang akan dilihat

18 No Proses 5

60

Nama Proses Pengolahan data pesan

Deskripsi Proses Proses ini dikelola oleh admin dan user untuk

mengelola pesan

Input 1. Data login

2. Data pesan

Output Info data pesan

Logika Proses 1. Login admin atau user invalid, kembali ke menu

halaman utama

2. Login admin atau user valid

3. Masuk menu admin

4. Pilih menu pesan

5. Olah pesan

6. Simpan

19 No Proses 5.1

Nama Proses Kirim pesan

Deskripsi Proses Ini adalah proses untuk menambah pesan yang

dimasukkan oleh admin dan user

Input Data pesan

Output Info data pesan

Logika Proses 1. Login admin atau user invalid, kembali ke menu

halaman utama

2. Login admin atau user valid

3. Masuk menu halaman utama

61

4. Pilih menu kirim pesan pada admin atau user

5. Input pesan

6. Kirim pesan

7. Simpan

20 No Proses 5.2

Nama Proses Hapus pesan

Deskripsi Proses Ini adalah proses untuk menghapus pesan yang

dimasukkan oleh admin dan user

Input Data pesan

Output Info data pesan

Logika Proses 1. Login admin atau user invalid, kembali ke

halaman utama

2. Login admin atau user valid

3. Masuk menu halaman utama

4. Pilih menu pesan masuk

5. Pilih pesan yang akan dihapus

6. Hapus pesan

7. simpan

21 No Proses 6

Nama Proses Pengolahan latihan soal

Deskripsi Proses Proses ini dikelola oleh admin untuk pengolahan

latihan soal

Input Data latihan

62

Output Info data soal, data jawaban, data nilai

Logika Proses 1. Admin masuk ke database

2. Masuk tabel soal

3. Tambah data atau hapus data

4. Simpan

22 No Proses 6.1

Nama Proses Tambah latihan

Deskripsi Proses Proses ini dikelola oleh admin untu menambah

latihan

Input Data latihan

Output Info data latihan

Logika Proses 1. Admin masuk ke database

2. Masuk tabel soal

3. Tambah data

4. Simpan

23 No Proses 6.2

Nama Proses Ubah latihan

Deskripsi Proses Proses ini dikelola oleh admin untuk mengubah data

latihan

Input Data latihan

Output Info data latihan

Logika Proses 1. Admin masuk ke database

2. Masuk tabel soal

63

3. Ubah data latihan

4. Simpan

24 No Proses 6.3

Nama Proses Hapus latihan

Deskripsi Proses Proses ini dikelola oleh admin untuk menghapus

latihan

Input Data latihan

Output Info data latihan

Logika Proses 1. Admin masuk ke database

2. Masuk tabel soal

3. Hapus data latihan yang dipilih

4. Simpan

3.3.4. Kamus Data

Tabel 3.2 Kamus Data

Komponen Keterangan

Nama aliran data Data login

Where used/how used Admin - Proses verifikasi username (input), Admin -

Proses 1.1 validasi username (input), User – Proses 1.1

validasi username (input)

64

Keterangan Data ini berisikan data untuk login yang terdiri dari

username, password

Struktur data Username+Password

Deskripsi Username = [0-9]

Password = [A-Z|a-z|0-9]

Nama aliran data Inf.Login invalid

Where used/how used Proses validasi username – Admin (output), Proses

validasi username – User (output)

Keterangan Informasi login invalid berupa informasi yang diberikan

kepada admin dan user jika data login yang dimasukkan

salah

Nama aliran data Data user

Where used/how used Admin – Proses pengolahan data user (input), Admin –

Proses 2.1 tambah data user (input), Proses 2.1 tambah

data user – T_User (output), Admin – Proses 2.2 tampil

data user (input), Proses 2.2 tampil data user – T_User

(output), Admin – Proses 2.3 ubah data user (input),

Proses 2.3 ubah data user – T_User (output), Admin –

Proses 2.4 hapus data user (input), Proses 2.4 hapus data

user – T_User (output)

Keterangan Data ini berisikan data user yang terdiri dari nama,

65

username, password, status

Struktur Data Nama+username+password+status

Deskripsi Nama = [A-Z|a-z]

Username = [A-Z|a-z|0-9]

Password = [A-Z|a-z|0-9|Simbol]

Nama aliran data Inf.Dt_User

Where used/how used Proses pengolahan data user – Admin (output), Proses 2.2

tampil data user – Admin (output), T_User – Proses 2.2

tampil data user (output)

Keterangan Data ini berisikan data user yang terdiri dari nama,

username, password, status

Nama aliran data Inf.Tambah Dt_User

Where used/how used Proses 2.1 tambah data user – Admin (output), T_User –

Proses 2.1 tambah data user (output)

Keterangan Data ini berisikan data user yang terdiri dari nama,

username, password, status

Nama aliran data Inf.Ubah Dt_User

Where used/how used Proses 2.3 ubah data user – Admin (output), T_User –

Proses 2.3 ubah data user (output)

Keterangan Data ini berisikan data user yang terdiri dari nama,

66

username, password, status

Nama aliran data Data Materi

Where used/how used Admin - Proses Pengolahan Materi (input), Admin -

Proses 3.1 Tambah Materi (input), Proses 3.1 Tambah

Materi - T_Materi (output), Admin - Proses 3.2 Ubah

Materi (input), Proses 3.2 Ubah Materi - T_ Materi

(output), Admin - Proses 3.3 Hapus Materi (input),

Proses 3.3 Hapus Materi – T_ Materi (output), Admin –

Proses 3.4 Cari Materi (input), Proses 3.4 Cari Materi –

T_ Materi (output)

Keterangan Data ini berisikan data materi matakuliah sistem

multimedia

Struktur Data Judul materi matakuliah sistem multimedia

Deskripsi Judul materi = [A-Z|a-z]

Nama aliran data Inf.Tambah Dt_Materi

Where used/how used Proses 3.1 tambah data materi – Admin (output),

T_Materi – Proses 3.1 tambah materi (output)

Keterangan Data ini berisikan penambahan data materi yang terdiri

dari id materi

Nama aliran data Inf.Ubah Dt_Materi

67

Where used/how used Proses 3.2 ubah materi – Admin (output), T_Materi –

Proses 3.2 ubah materi (output)

Keterangan Data ini berisikan pengubahan data materi yang terdiri id

materi

Nama aliran data Data Latihan

Where used/how used Admin – Proses pengolahan materi (input), User – Proses

view materi (input), Admin – Proses tambah soal (input),

Proses tampil soal (output) – T_Soal, Proses tampil soal –

T_Soal

Keterangan Data ini berisikan data soal yang terdiri dari id soal,

pertanyaan, jawaban

Deskripsi id_soal = [A-Z|a-z|0-9|symbol]

jawaban = [A-Z|a-z|0-9]

Nama aliran data Inf.Dt_Soal

Where used/how used Proses tampil soal – Admin (output), Proses tampil soal –

User (output), T_Soal – Proses tampil soal (output)

Keterangan Data ini berisikan data soal yang terdiri dari id soal,

pertanyaan, jawaban

Nama aliran data Data Jawaban

68

Where used/how used Admin – Proses pengolahan data latihan (input), User –

Proses pengolahan data latihan (input), Admin – Proses

input jawaban benar (input), Proses input jawaban benar

– T_Latihan (output), User – Proses cek jawaban (input),

Proses cek jawaban – T_Latihan (input)

Keterangan Data ini berisikan data jawaban yang terdiri dari jawaban

a, jawaban b, jawaban c, jawaban d, jawaban

Struktur Data Jawaban a+jawaban b+jawaban c+jawaban d+jawaban

e+jawaban

Deskripsi Jawaban a = [A-Z|a-z|0-9|Simbol]

Jawaban b = [A-Z|a-z|0-9|Simbol]

Jawaban c = [A-Z|a-z|0-9|Simbol]

Jawaban d = [A-Z|a-z|0-9|Simbol]

Jawaban d = [A-Z|a-z|0-9|Simbol]

Jawaban = [A-Z|a-z|0-9|Simbol]

Nama aliran data Data Nilai

Where used/how used User – Proses tampil nilai (input), Admin – Proses tampil

nilai (input)

Keterangan Data ini berisikan nilai user yang telah menjawab soal

Nama aliran data Inf.Dt_Nilai

69

Where used/how used Proses tampil nilai – User (output), Proses tampil nilai –

Admin (output)

Keterangan Data ini berisikan informasi nilai user yang telah

menjawab soal

Nama aliran data Data Pesan

Where used/how used Admin – Proses pengolahan pesan (input), User – Proses

pengolahan pesan (input), Admin – Proses tambah pesan

(input), User – Proses tambah pesan (input), Proses

tampil pesan – T_Pesan (output), Proses tambah pesan –

T_Pesan (output)

Keterangan Data ini berisikan data materi yang terdiri dari isi pesan

Struktur Data Isi pesan

Deskripsi Isi_pesan = [A-Z|a-z|0-9|symbol]

Nama aliran data Inf.Ubah Dt_Pesan

Where used/how used Proses pengolahan pesan – User (output), Proses

pengolahan pesan – Admin (output)

Keterangan Data ini berisikan data materi yang terdiri dari isi pesan

Nama aliran data Inf.Tambah Dt_Pesan

Where used/how used Proses tambah pesan – User (output), Proses tambah

pesan – Admin (output), T_Pesan – Proses tambah pesan

70

(output), T_Pesan – Proses tambah pesan (output)

Keterangan Data ini berisikan penambahan data pesan

3.3.5. Perancangan Database

Database merupakan kumpulan file / tabel yang saling berkaitan

satu sama lainnya dimana hubungan antara file direlasikan dengan kunci

(relation key) yang merupakan kunci primer dari masing-masing file.

Database tersimpan pada simpanan luar komputer dan digunakan

perangkat lunak tertentu untuk memanipulasinya. Basis data merupakan

salah satu komponen penting Karena berfungsi sebagai basis penyedia

informasi bagi para pemakainya. Penerapan basis data dalam sistem

informasi disebut sebagai database sistem. Sistem basis data merupakan

sistem informasi yang mengintegrasikan kumpulan dari data yang saling

berhubungan satu dengan yang lainnya dan membuatnya tersedia untuk

beberapa aplikasi yang bermacam-macam di dalam satu organisasi.

Perancangan basis data diperlukan agar kita dapat memiliki basis data

yang kompak dan efisien dalam penggunaan ruang penyimpanan, cepat

dalam pengaksesan dan pengolahan data. Dalam perancangan basis data,

dapat dilakukan dengan membuat tabel relasi dan membuat struktur file.

3.3.6. Entity Relationship Diagram (ERD)

Struktur logika dari suatu database dapat digambarkan kedalam

sebuah grafik dengan menggunakan diagram relasi entitas (ERD).

Diagram relasi entitas ini dibutuhkan untuk merancang file basis data

71

aplikasi e-learning. ERD merupakan hubungan antara entitas yang

digunakan untuk menggambarkan hubungan antara entitas atau struktur

data dan relasi antar file.

Gambar 3.11 Entity Relationhsip Diagram (ERD)

3.3.7. Struktur File

Program aplikasi yang berbasis data pada umumnya menggunakan

file database yang memiliki struktur yang menggambarkan suatu entitas

(objek dalam sistem). Dalam perancangan, struktur file merupakan suatu

kumpulan dari data-data yang saling terkait. Dalam program aplikasi e-

72

learning ini terdapat sebuah database bernama “elearning” yang di

dalamnya terdiri dari beberapa tabel. Tabel-tabel tersebut antara lain :

1. tbllogin

Field Jenis Null Kunci Keterangan

username varchar(100) No PRIMARY KEY Username Admin

dan User

password text No Password Admin

dan User

nama varchar(100) No Nama Admin dan

User

status varchar(50) No Status Admin dan

User

idlink varchar(10) No Idlink Admin dan

User

2. captcha

Field Jenis Null Kunci Keterangan

captcha_id bigint(13)

unsigned

No PRIMARY KEY,

AUTO

INCREMENT

ID Captcha

captcha_time int(10)

unsigned

No

73

ip_address varchar(16) No

word varchar(20) No

3. tblmateri

Field Jenis Null Kunci Keterangan

id_materi int(3) No PRIMARY KEY,

AUTO_INCREMENT

ID Materi

id_kategori_materi int(3) No Kategori

Materi

isi text No Isi Materi

gambar varchar(20) No Gambar

tanggal date No Tanggal

waktu time No Waktu

author varchar No Keterangan

Nama

Pembuat

Materi

counter int(3) No

4. tblvideo

Field Jenis Null Kunci Keterangan

id_video int(3) No PRIMARY KEY,

AUTO_INCREMENT

ID Video

74

id_kategori int(3) No Nama Kategori

Video

judul_video varchar(100) No Judul Video

isi text No Isi Video

gambar varchar(100) No Gambar

tanggal date No Tanggal

waktu time No Waktu

counter int(3) No

5. tblkategori (video)

Field Jenis Null Kunci Keterangan

id_kategori int(3) No PRIMARY KEY,

AUTO_INCREMENT

ID Kategori

Video

nama_kategori varchar(20) No Nama Kategori

Video

6. tblkategorimateri

Field Jenis Null Kunci Keterangan

id_kategori_materi int(3) No PRIMARY KEY,

AUTO_INCREME

NT

ID Kategori

Materi

nama_kategori varchar(20) No Nama Kategori

Materi

75

7. tblsoal

Field Jenis Null Kunci Keterangan

id_soal int(10) No PRIMARY KEY,

AUTO_INCREMENT

ID Soal

no_soal int(10) No No Soal

id_mat varchar(10) No ID Materi untuk

Soal

pertanyaan text No Pertanyaan

jwb_a varchar(200) No Jawaban A

jwb_b varchar(200) No Jawaban B

jwb_c varchar(200) No Jawaban C

jwb_d varchar(200) No Jawaban D

jwb_e varchar(200) No Jawaban E

kunci varchar(2) No Jawaban Benar

author varchar(20) No Nama Pembuat

Latihan Soal

8. tbldownload

Field Jenis Null Kunci Keterangan

id_download int(5) No PRIMARY KEY,

AUTO_INCREMENT

ID Download

id_kat int(5) No ID Kategori

76

Download

judul_file varchar(200) No Judul File

nama_file varchar(200) No Nama File

tgl_posting date No Tanggal

author varchar(20) No Nama

Pengunggah

File

9. tblkategoridownload

Field Jenis Null Kunci Keterangan

id_kategori_downl

oad

int(3) No PRIMARY KEY,

AUTO_INCREME

NT

ID Kategori

Download

nama_kategori_do

wnload

varchar(20) No Nama Kategori

Download

10. tblhasil

Field Jenis Null Kunci Keterangan

id_hasil int(10) No PRIMARY KEY,

AUTO_INCREMENT

ID Hasil

id_mk int(10) No ID Materi Soal

no_soal int(10) No No Soal

username varchar(100) No Username

77

salah int(5) No Jumlah Salah

benar int(5) No Jumlah Benar

hasil varchar(5) No Hasil

11. tblinbox

Field Jenis Null Kunci Keterangan

id_inbox int(10) No PRIMARY KEY,

AUTO_INCREMENT

ID Inbox

username varchar(15) No Username

tujuan varchar(15) No Tujuan

Pengiriman

Pesan

subjek varchar(200

)

No Subjek Pesan

pesan text No Isi Pesan

waktu varchar(30) No Waktu

status_pesa

n

varchar(1) No Status Pesan

12. tblkomentarvideo

Field Jenis Null Kunci Keterangan

id_komen_video int(3) No PRIMARY KEY,

AUTO_INCREMENT

ID Komentar

Video

78

id_video int(11) No ID Video

nama varchar(50) No Nama dari

pemberi

komentar

email varchar(50) No Email dari

pemberi

komentar

komentar tinytext No Isi Komentar

tanggal date No Tanggal

waktu time No Waktu

13. tblmatkul

Field Jenis Null Kunci Keterangan

id_mk int(10) No PRIMARY KEY,

AUTO_INCREMENT

ID Materi Soal

kode_mk int(10) No Kode Materi Soal

nama_mk varchar(200) No Nama Materi Soal

3.3.8. Perancangan Antar Muka

Setelah melakukan perancangan basis data, maka dibuat program

untuk mengaplikasikannya. Perancangan program yang akan dilakukan

terdiri dari struktur menu, perancangan input serta kebutuhan sistem.

79

3.3.8.1. Struktur Menu

Pada perancangan ini dibuat menu yang dapat

mengintegrasikan seluruh data dalam sistem yang disertai dengan

instruksi yang ada, pada pilihan menu tersebut. Selain itu juga

untuk mempermudah pemakai dalam menjalankan program,

sehingga pada saat dioperasikan tidak menemui kesulitan dalam

memilih menu-menu yang diinginkan. Adapun struktur menu

aplikasi E-Learning ini terdiri dari 2 bagian, yaitu struktur menu

admin dan struktur menu user .

1. Struktur menu admin

Struktur menu admin merupakan sekumpulan pilihan

yang dapat dipilih oleh admin dalam mengoperasikan

program ini. Diantaranya Data Admin, olah data video,

olah data materi, olah data download, olah data inbox,

olah data latihan soal.

2. Struktur menu user

Struktur menu user merupakan sekumpulan pilihan

yang dapat dipilih oleh user dalam mengoperasikan

program ini. Diantaranya adalah Data User, memilih

materi, mendownload materi, mengerjakan latihan, dan

melihat video.

80

Untuk mengetahui perancangan menu keseluruhan sistem

dapat dilihat seperti gambar di bawah ini :

Pilih Kategori

Video

Ke Menu Admin

Halaman

Utama

Data Admin

Menu User

Olah Data Video

Ganti Password

Menu Admin

Ganti Password

Data User

Olah Data Download

Login

Olah Data Materi

Olah Data Inbox

Kirim Pesan ke

Admin

Inbox Pesan

Video

Detail Video

Download

Pilih Kategori

Download

Detail Download

Materi

Pilih Kategori

Materi

Detail Materi

Logout

Latihan

Katalog Soal

Pilih Soal

Halaman Utama

Olah Data Latihan

Soal

Gambar 3.12 Struktur Menu

Gambar diatas merupakan struktur menu dari keseluruhan

sistem yang nantinya akan digunakan paka aplikasi E-Learning.

81

3.3.8.2. Perancangan Antarmuka Tampilan Program

E-Learning

Beranda Video Download Materi Latihan

Chat Shoutbox

Login Pengguna PencarianSlide Show Video Acak

Slide Show Materi Acak

Link Video

Terpopuler

Link Materi

Terpopuler

Registrasi

Gambar 3.13 Perancangan Menu Utama Tampilan Website E-Learning

Gambar diatas merupakan rancangan tampilan menu utama

atau halaman utama dari tampilan website E-Learning, yang

dimana terdapat menu beranda, video, download, materi, latihan,

kolom tabel login pengguna baik Admin maupun User, disediakan

juga aplikasi plugin chat shoutbox, tampilan video dan materi

secara acak di bagian tengah halaman utama, dibagian kanan

halaman utama terdapat kolom tabel pencarian dengan kategori

yang sudah disediakan yaitu video dan materi, terdapat juga link

video dan materi terpopuler yang menunjukan status berapa banyak

video atau materi yang sering dikunjungi setelah di posting oleh

82

admin, dan terdapat juga kolom tabel untuk registrasi member E-

Learning.

3.3.8.3. Perancangan Menu Utama Admin

Selamat Datang

CONTROL PANEL ADMIN

Beranda Video Upload File Materi Inbox LogoutLatihan SoalE-Learning

Gambar 3.14 Perancangan Menu Utama Admin

Gambar diatas merupakan rancangan halaman menu utama

pada admin, ketika admin sudah melakukan proses login melalui

halaman utama, halaman admin ini nantinya berfungsi untuk

mengolah data seperti video, download, materi, inbox dan latihan

soal.

83

3.3.8.4. Perancangan Menu Video pada Admin

CONTROL PANEL ADMIN

Beranda Video Upload File Materi Inbox Logout

Module Video E-Learning Matakuliah Sistem Multimedia

Tambah Video

No Judul Video Kategori Tanggal Aksi

Kategori Video Lihat Komentar Video

Latihan SoalE-Learning

Gambar 3.15 Perancangan Menu Video pada Admin

Gambar diatas merupakan rancangan menu video pada

admin yang berfungsi untuk mengolah data video seperti

menambah video baru, menghapus video, menambahkah kategori

video, dan melihat komentar video.

84

3.3.8.5. Perancangan Menu Upload File pada Admin

CONTROL PANEL ADMIN

Beranda Video Upload File Materi Inbox Logout

Module Upload File E-Learning Matakuliah Sistem Multimedia

Tambah File / Upload File

No Judul File Kategori Pemilik Tgl Upload

Kategori Download

File Aksi

Latihan SoalE-Learning

Gambar 3.16 Perancangan Menu Upload File pada Admin

Gambar diatas merupakan rancangan menu upload file pada

admin yang berfungsi untuk mengolah data file yang untuk di

unggah supaya dapat di unduh filenya oleh user.

85

3.3.8.6. Perancangan Menu Materi pada Admin

CONTROL PANEL ADMIN

Beranda Video Upload File Materi Inbox Logout

Module Materi E-Learning Matakuliah Sistem Multimedia

Tambah Materi

No Judul File Kategori Tanggal

Kategori Materi

Penulis Aksi

Latihan SoalE-Learning

Gambar 3.17 Perancangan Menu Materi pada Admin

Gambar diatas merupakan rancangan menu materi pada

admin yang nantinya berfungsi sebagai menambah dan edit materi,

hapus materi, dan menambah kategori materi.

86

3.3.8.7. Perancangan Menu Inbox pada Admin

CONTROL PANEL ADMIN

Beranda Video Upload File Materi Inbox Logout

Module Inbox Pesan E-Learning Matakuliah Sistem Multimedia

No Pengirim Subjek Pesan StatusWaktu Aksi

Latihan SoalE-Learning

Gambar 3.18 Perancangan Menu Inbox pada Admin

Gambar diatas merupakan rancangan menu inbox pada

admin yang nanti berfungsi sebagai pengolah data pesan dan juga

sebagai media komunikasi secara pribadi antara user dengan admin

pada aplikasi web e-learning.

87

3.3.8.8. Perancangan Menu Latihan Soal pada Admin

CONTROL PANEL ADMIN

Beranda Video Upload File Materi Inbox Logout

Module Latihan Soal E-Learning Matakuliah Sistem Multimedia

Tambah Soal

No Kode Materi Materi

Latihan SoalE-Learning

Gambar 3.19 Perancangan Menu Latihan Soal pada Admin

Gambar diatas merupakan rancangan menu latihan soal

pada admin yang nanti berfungsi sebagai pengolah data untuk

menambah soal.

88

3.3.8.9. Perancangan Menu Utama User

E-Learning

Beranda Video Download Materi Latihan

Chat Shoutbox

Selamat Datang PencarianSlide Show Video Acak

Slide Show Materi Acak

Link Video

Terpopuler

Link Materi

Terpopuler

Registrasi

Gambar 3.20 Perancangan Menu Utama User

Gambar diatas merupakan rancangan menu utama user

ketika user sudah melakukan login di halaman utama pada aplikasi

web e-learning, rancangan ini sama persis dengan halaman utama

sebelum login, dan seluruh kegiatan user yang dapat dilakukan di

halaman ini berupa, melihat video di menu video dan di menu

video ini user dapat memberi komentarnya pada kolom komentar

yang sudah disediakan, download materi dan video dibagian menu

download, membaca materi di menu materi yang dimana nanti

akan disajikan dalam bentuk animasi flipbook ketika user mengklik

hyperlink dengan tulisan (Selanjutnya), dan pada menu latihan,

user dapat mengikuti latihan soal.

89

BAB IV

IMPLEMENTASI

Dari analisa dan perancangan sistem pada bab sebelumnya maka dalam

bab ini menggambarkan perancangan sistem yang telah dibuat dilakukan

pengujian program dengan menggunakan web browser. Pada tahap implementasi

sistem ini merupakan tahapan yang digunakan untuk penerapan sistem yang telah

dibangun siap dioperasikan pada aplikasi e-learning.

4.1. Alat Pendukung Pengujian

Sebelum melakukan pengujian, perlu dipersiapkan alat pendukung baik

perangkat keras maupun perangkat lunak. Perangkat keras yang digunakan adalah

sebagai berikut:

1. Laptop/Notebook berbasis Intel Core 2 Duo 2.00 GHz

2. RAM berkapasitas 2 Giga Bytes

3. Harddisk berkapasitas 500 Giga Bytes

4. VGA Nvidia GeForce 9300M GS 512 Mega Bytes

5. LCD Monitor dengan resolusi 1280x800 pixel

6. Keyboard dan Touchpad laptop standart

7. Modem Smartfren Connex EC1261-2 UI

Sedangkan perangkat lunak yang digunakan adalah sebagai berikut:

1. Sistem Operasi Microsoft Windows 7 SP 1 32bit

2. Browser Mozilla Firefox

3. XAMPP

90

4. Adobe Dreamweaver CS 5 & phpDesigner 8

4.2. Pengujian Program E-Learning Matakuliah Sistem Multimedia

Untuk menjalankan aplikasi ini, seperti pada aplikasi berbasis web lainnya

secara offline, maka dapat dilakukan dengan cara sebagai berikut:

1. Jalankan komputer dengan sistem operasi Windows 7.

2. Jalankan XAMPP Control Panel, klik start Apache dan MySql.

3. Jalankan browser Mozilla Firefox.

4. Ketikkan alamat (URL) pada bagian Address, karena sistem diuji pada

komputer lokal yang tidak terhubung ke Internet, maka alamatnya:

http://localhost/elearning

4.2.1. Halaman Utama E-Learning

Gambar 4.1 Halaman Utama E-Learning

91

Tampilan gambar 4.1 merupakan tampilan halaman utama pada E-

Learning Matakuliah Sistem Multimedia saat aplikasi dijalankan, untuk bisa

mengakses konten-konten yang terdapat pada aplikasi e-learning ini

pengunjung harus registrasi dahulu untuk mendapatkan akun yang berupa

username dan password, supaya bisa login dan mengakses konten-konten

yang telah disediakan yang hanya khusus member. Berikut berupa potongan

source code untuk dapat menampilkan halaman utama serta akses login dan

logout.

………………………………………………..

………………………………………………..

function index()

{

$data=array();

$this->load->model('Learning_model');

$session=isset($_SESSION['username_belajar']) ?

$_SESSION['username_belajar']:'';

if($session!=""){

$pecah=explode("|",$session);

$data["nim"]=$pecah[0];

$data["nama"]=$pecah[1];

}

$data["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video();

$data["kategori_download"] = $this->Learning_model-

>Daftar_Kategori_Download();

$data["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi();

$data["slide_video"] = $this->Learning_model->Slide_Video();

$data["tampil_materi"] = $this->Learning_model->Tampil_Materi();

$data["video_populer"] = $this->Learning_model->Video_Populer();

$data["materi_populer"] = $this->Learning_model->Materi_Populer();

$this->load->view('e-learning/bg_header');

$this->load->view('e-learning/bg_menu',$data);

$this->load->view('e-learning/bg_kiri',$data);

$this->load->view('e-learning/isi_index',$data);

$this->load->view('e-learning/bg_kanan',$data);

$this->load->view('e-learning/bg_footer');

}

function login()

{

$username = $this->input->post('usernameteks');

$pwd = $this->input->post('passwordteks');

$this->load->model('Learning_model');

$hasil = $this->Learning_model->Data_Login($username,$pwd);

if (count($hasil->result_array())>0){

foreach($hasil->result() as $items){

$session_username=$items->username."|".$items-

>nama."|".$items->idlink."|".$items->status;

$tanda=$items->status;

92

}

$_SESSION['username_belajar']=$session_username;

if($tanda=="Mahasiswa"){

echo "<meta http-equiv='refresh' content='0;

url=".base_url()."index.php/'>";

}

else if($tanda=="admin"){

echo "<meta http-equiv='refresh' content='0;

url=".base_url()."index.php/admin'>";

}

}

else{

?>

<script type="text/javascript">

alert("Username atau Password Yang Anda Masukkan Salah..!!!");

</script>

<?php

echo "<meta http-equiv='refresh' content='0; url=".base_url()."'>";

}

}

function logout()

{

session_destroy();

echo "<meta http-equiv='refresh' content='0; url=".base_url()."'>";

}

………………………………………………..

………………………………………………..

Dari potongan source code diatas untuk menampilkan sesuai dari

Gambar 4.1 yang dapat dijabarkan salah satu fungsi dan kegunaannya

sebagai berikut :

$this->load->view('e-learning/isi_index',$data); merupakan fungsi untuk

menampilkan data-data yang telah disiapkan pada keseluruhan halaman

utama bagian tengah.

$_SESSION['username_belajar']=$session_username;

if($tanda=="Mahasiswa"){ …………………………………….

}

else if($tanda=="admin"){ …………………………………….

}

Merupakan perintah session login saat pengguna melakukan proses login

kemudian di identifikasi ke database dan kemudian teridentifikasi dengan

93

status kepenggunaan “admin”, maka akan di tujukan pada halaman admin,

sebaliknya jika seorang pengguna melakukan proses login kemudian

teridentifikasi dengan status kepenggunaan “Mahasiswa” oleh database

maka akan tetap pada halaman utama dengan status login kepenggunaan

“Mahasiswa”.

4.2.2. Halaman Utama Admin

Gambar 4.2 Halaman Utama Admin

Tampilan Gambar 4.2 merupakan halaman utama admin yang

melalui proses login secara valid dengan status kepenggunaan “admin”.

Halaman ini bisa di sebut dengan control panel admin, yang dimana

adminlah yang berhak mengatur dari proses penambahan serta penghapusan

konten yang akan atau telah di postingkan ke halaman utama e-learning.

Berikut merupakan potongan source code untuk menampilkan keseluruhan

halaman admin

………………………………………………..

………………………………………………..

function index()

94

{

$session=isset($_SESSION['username_belajar']) ?

$_SESSION['username_belajar']:'';

if($session!=""){

$pecah=explode("|",$session);

$data["nim"]=$pecah[0];

$data["nama"]=$pecah[1];

$data["status"]=$pecah[3];

$data['scriptmce'] = $this->scripttiny_mce();

if($data["status"]=="admin"){

$this->load->view('admin/bg_head',$data);

$this->load->view('admin/isi_index',$data);

$this->load->view('admin/bg_bawah');

}

else{

?>

<script type="text/javascript" language="javascript">

alert("Anda tidak berhak masuk ke Control Panel Admin...!!!");

</script>

<?php

echo "<meta http-equiv='refresh' content='0;

url=".base_url()."index.php/'>";

}

}

else{

?>

<script type="text/javascript" language="javascript">

alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman

ini...!!!");

</script>

<?php

echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>";

}

}

………………………………………………..

………………………………………………..

4.2.3. Halaman Utama Menu Video pada Admin

Gambar 4.3 Halaman Utama Menu Video pada Admin

95

Tampilan Gambar 4.3 merupakan tampilan halaman utama menu

video, di halaman ini admin mengelola video yang akan di tampilkan pada

halaman utama e-learning. Disini admin dapat menambah video dengan cara

mengklik submenu tambah video, dapat menambah atau menghapus

kategori video dengan mengklik submenu kategori video, dapat melihat

pemberitahuan terbaru tentang komentar pada video yang di lakukan oleh

user dengan cara mengklik submenu lihat komentar video, dan juga admin

dapat mengedit atau menghapus video yang telah di posting dengan cara

mengklik salah satu icon pada tabel kolom aksi. Berikut potongan source

code untuk menampilkan halaman utama menu video pada admin :

………………………………………………..

………………………………………………..

$this->load->model('Admin_model');

$this->load->library('Pagination');

$query=$this->Admin_model->Tampil_Video($limit_ti,$offset_ti);

$tot_hal = $this->Admin_model->Total_Video();

$config['base_url'] = base_url() . '/index.php/admin/video';

$config['total_rows'] = $tot_hal->num_rows();

$config['per_page'] = $limit_ti;

$config['uri_segment'] = 3;

$config['first_link'] = 'Awal';

$config['last_link'] = 'Akhir';

$config['next_link'] = 'Selanjutnya';

$config['prev_link'] = 'Sebelumnya';

$this->pagination->initialize($config);

$paginator=$this->pagination->create_links();

$data['scriptmce'] = $this->scripttiny_mce();

$data_isi = array('query' => $query,'paginator'=>$paginator, 'page'=>$page);

$this->load->view('admin/bg_head',$data);

$this->load->view('admin/video',$data_isi);

$this->load->view('admin/bg_bawah');

}

………………………………………………..

………………………………………………..

Akan tetapi dalam penguploadan video hanya dapat dilakukan dengan cara

mengklik tombol button dengan nama Insert/Edit Embedded Media yang

96

terdapat pada textarea dalam bentuk plugin TinyMCE tersebut lalu

masukkan URL video yang ingin ditampilkan setelah itu tekan tombol Insert

Gambar 4.4 Insert Video

4.2.4. Halaman Utama Menu Upload File pada Admin

Gambar 4.5 Halaman Utama Menu Upload File pada Admin

97

Tampilan Gambar 4.5 merupakan tampilan halaman utama menu

upload file pada admin yang berfungsi sebagai pengolahan data file yang

akan ditampilkan pada halaman menu download di halaman utama yang

nantinya supaya user dapat mendownload secara langsung. Untuk proses

mengupload file tersebut admin dapat mengklik submenu tambah file /

upload file, masukkan judul file kemudian pilih kategori (bila belum ada

kategori buat terlebih dahulu dengan cara klik submenu tambah kategori)

lalu pilih file yang akan di upload dengan menekan tombol browse, setelah

pilih file lalu tekan upload dan kemudian akan tampil datanya pada halaman

utama menu upload file pada admin. Berikut potongan source code untuk

menampilakan keseluruhan halaman utama menu upload file pada admin

………………………………………………..

………………………………………………..

function upload()

{

$session=isset($_SESSION['username_belajar']) ?

$_SESSION['username_belajar']:'';

if($session!=""){

$pecah=explode("|",$session);

$data=array();

$data["nim"]=$pecah[0];

$data["nama"]=$pecah[1];

$data["status"]=$pecah[3];

$data['scriptmce'] = $this->scripttiny_mce();

if($data["status"]=="admin"){

$page=$this->uri->segment(3);

………………………………………………..

………………………………………………..

98

4.2.5. Halaman Utama Menu Materi pada Admin

Gambar 4.6 Halaman Utama Menu Materi pada Admin

Tampilan Gambar 4.6 merupakan tampilan halaman utama menu

materi pada admin yang dimana berfungsi sebagai pengolahan data materi

yang nantinya dapat diposting dan muncul pada halaman menu materi di

halaman utama e-learning, dan dapat di baca oleh para user. Disini cara

admin mempostingkan materi adalah dengan cara mengklik submenu

tambah materi kemudian masukkan judul materi, pilih kategori materi yang

ingin dipostingkan kemudian simpan materi dan hasilnya akan tertera pada

tabel di halaman utama menu materi pada admin dan akan muncul di

halaman menu materi pada halaman utama. Berikut potongan source code

dari keseluruhan untuk menampilkan halaman utama menu materi :

………………………………………………..

………………………………………………..

function materi()

{

$datestring = "Login : %d-%m-%Y pukul %h:%i %a";

$time = time();

$data = array();

$session=isset($_SESSION['username_belajar']) ?

99

$_SESSION['username_belajar']:'';

if($session!=""){

$pecah=explode("|",$session);

$data["nim"]=$pecah[0];

$data["nama"]=$pecah[1];

$data["status"]=$pecah[3];

if($data["status"]=="admin"){

………………………………………………..

………………………………………………..

4.2.6. Halaman Utama Menu Inbox pada Admin

Gambar 4.7 Halaman Utama Menu Inbox pada Admin

Tampilan Gambar 4.7 merupakan tampilan halaman utama menu

inbox pada admin yang dimana halaman ini berfungsi sebagai pengolahan

data pesan dari user untuk admin, dan bisa dianggap juga sebagai sarana

komunikasi secara privasi oleh user kepada admin. Disini cara admin untuk

membalas atau membaca saja pesan yang masuk, admin cukup mengklik

tulisan hyperlink bewarna merah di tabel bagian kolom subjek pesan, jika

sudah terbaca status pada tabel pesan tersebut akan berganti dari belum

dibaca menjadi sudah dibaca. Berikut potongan source code untuk

menampilkan secara penuh halaman utama menu inbox pada admin ini :

100

………………………………………………..

………………………………………………..

$query=$this->Admin_model->Tampil_Inbox($data["nim"],$limit_ti,$offset_ti);

$tot_hal = $this->Admin_model->Total_Inbox($data["nim"]);

$config['base_url'] = base_url() . '/index.php/admin/inbox';

$config['total_rows'] = $tot_hal->num_rows();

$config['per_page'] = $limit_ti;

$config['uri_segment'] = 3;

$config['first_link'] = 'Awal';

$config['last_link'] = 'Akhir';

$config['next_link'] = 'Selanjutnya';

$config['prev_link'] = 'Sebelumnya';

$this->pagination->initialize($config);

………………………………………………..

………………………………………………..

4.2.7. Halaman Utama Menu Latihan Soal pada Admin

Gambar 4.8 Halaman Utama Menu Latihan Soal pada Admin

Tampilan pada gambar 4.8 diatas merupakan halaman utama menu

latihan soal yang dimana halaman ini berfungsi untuk menambahkan soal

dari konten latihan soal yang nantinya diakses dan dikerjakan oleh user.

Cara admin untuk menambah soal tersebut dengan cara klik submenu

tambah soal kemudian isi semua yang ada di halaman tambah soal, akan

tetapi jika admin ingin menambah kategori, admin harus menambahnya

secara manual melalui database

101

Gambar 4.9 Halaman Tambah Soal pada Admin

4.2.8. Halaman Utama User

Gambar 4.10 Halaman Utama User

102

Tampilan Gambar 4.10 merupakan tampilan halaman utama user

sesudah melakukan login valid dengan teridentifikasi status kepenggunaan

“Mahasiswa”. Halaman utama user ini bisa disebut juga sebagai halaman

utama e-learning, akan tetapi perbedaannya adalah ketika user atau

pengunjung tidak melakukan proses login terlebih dahulu maka dia tidak

bisa mengakses semua konten menu yang ada halaman utama e-learning

tersebut. Berikut contohnya :

Gambar 4.11 Gagal Akses Konten Menu

Pada Gambar 4.11 merupakan contoh dari ketika pengunjung biasa

yang tanpa melakukan proses login telebih dahulu ketika ingin mengakses

konten menu download maka dia tidak bisa mengakses dan mendapat

sebuah peringatan untuk login terlebih dahulu dan kemudian setelah

menekan tombol “ok” maka akan dikembalikan ke halaman utama lagi.

Proses gagal akses konten menu tersebut diterapkan di berbagai yang

berhubungan dengan pengaksesan konten menu yang ada. Sedangkan

103

perbedaan yang kedua adalah jika pengunjung login sebagai user member

dari aplikasi web e-learning tersebut maka dia dapat mengakses semua yang

berhubungan dengan konten menu yang ada.

4.2.9. Form Ganti Password

Gambar 4.12 Form Ganti Password

Pada Gambar 4.12 merupakan tampilan form ganti password user

yang dimana form tersebut juga berlaku untuk admin. Cara mengganti

password tersebut user dapat mengklik menu ganti password yang ada di

form login user tepatnya dibawah konten menu beranda, lalu masukkan

password lama dan password baru kemudian klik tombol ganti password.

104

4.2.10. Form Kirim Pesan ke Admin

Gambar 4.13 Form Kirim Pesan ke Admin

Pada Gambar 4.13 tersebut merupakan tampilan dari form kirim

pesan ke admin yang hanya bisa dilakukan oleh user. Cara untuk melakukan

pengiriman pesan tersebut user dapat mengaksesnya di bagian form login

tepat di bawah konten beranda kemudian klik kirim pesan ke admin,

kemudian akan muncul form yang berisikan nama, subjek pesan, dan pesan.

Isi subjek pesan kemudian isi kolom pesan lalu klik tombol kirim pesan,

maka admin langsung akan menerima pesan di halaman utama menu inbox

pada admin. Apabila telah mendapat balasan dari admin bisa langsung di

cek pada kolom inbox pesan yang nantinya akan memunculkan form inbox

pesan seperti berikut :

105

Gambar 4.14 Form Inbox Pesan

4.2.11. Halaman Utama Latihan Soal Online

Gambar 4.15 Halaman Utama Latihan Soal Online

Pada Gambar 4.15 tersebut menampilkan tampilan halaman latihan

soal yang dimana user akan melakukan proses mengikuti latihan soal

dengan cara mengklik konten menu katalog soal, kemudian pilih nama

materi yang ingin dikerjakan sebagai latihan soal online. Sebelum

106

malaksanakan latihan soal online user lebih baik membaca tata cara

pelaksanaan latihan online. User dapat melihat langsung hasil dari sesudah

mengerjakan latihan soal pada konten menu nilai.

4.2.12. Flipbook Materi

Gambar 4.16 Flipbook Materi

Pada Gambar 4.16 diatas merupakan sebuah materi yang terbuat dari

plugin jQuery dengan bentuk animasi flipbook. User dapat mengakses

bentuk flipbook tersebut melalui konten menu materi yang berada pada

halaman utama e-learning.

107

BAB V

KESIMPULAN DAN SARAN

Pada bab ini akan diulas tentang kesimpulan yang berisi hasil-hasil yang

diperoleh setelah dilakukan analisis, desain, dan implementasi dari perancangan

perangkat lunak yang dibangun dan telah dikembangkan serta saran-saran yang

akan memberikan catatan penting dan kemungkinan perbaikan yang perlu

dilakukan untuk pengembangan perangkat lunak selanjutnya.

5.1. Kesimpulan

Setelah melakukan analisis, perancangan, dan pengujian, maka dapat

diperoleh kesimpulan sebagai berikut :

1. Aplikasi E-Learning ini dapat memudahkan mahasiswa yang masih

mendapatkan matakuliah Sistem Multimedia dalam mendapatkan

materi yang dapat di akses dimanapun dan kapanpun.

2. Aplikasi E-Learning ini dapat memberikan sarana interaksi

pembelajaran sesama mahasiswa lain dari berbagai Universitas melalui

sarana dari plugin chating shoutbox.

3. Aplikasi E-Learning ini memberikan media latihan soal secara online.

4. Aplikasi E-Learning ini memiliki keamanan bagi konten menu supaya

tidak dapat diakses oleh pengunjung biasa.

108

5. Aplikasi E-Learning ini memiliki halaman control panel admin yang

berfungsi untuk mengelola konten-konten yang akan dimunculkan di

halaman utama E-Learning.

6. Aplikasi E-Learning ini menyediakan halaman khusus untuk

mendownload file-file dengan berbagai format (video, gambar, dan file-

file dokumen).

5.2. Saran

Untuk pengembangan aplikasi E-Learning Matakuliah Sistem Multimedia

ini, ada beberapa saran yang dapat dilakukan:

1. Menambahkan fasilitas registrasi pada halaman utama e-learning tanpa

harus menghubungi admin via yahoo messenger terlebih dahulu.

2. Menambahkan fasilitas halaman khusus user seperti control panel

admin.

3. Menambahkan fasilitas penambahan latihan soal pada control panel

admin.

4. Menambahkan fasilitas untuk pengelolaan RSS Feed(Rich Site

Summary) sehingga pengguna dapat menampilkan feed dari situs yang

mereka inginkan.RSS adalah sebuah file berformat XML untuk

sindikasi yang telah digunakan situs web berita dan weblog.RSS

digunakan secara luas oleh komunitas weblog untuk menyebar

ringkasan tulisan terbaru di jurnal, kadang-kadang juga menyertakan

artikel lengkap dan bahkan gambar dan suara.

DAFTAR PUSTAKA

Pribadi Basuki, Awan, 2010, Membangun Web Berbasis PHP dengan Framework

Codeigniter, Lokomedia, Yogyakarta.

Wiswakarma, Komang, 2010, 9 Langkah Menjadi Master Framework

Codeigniter, Lokomedia, Yogyakarta.

Saputra, Agus, 2011, Trik Kolaborasi Codeigniter dan jQuery, Lokomedia,

Yogyakarta.

Suprianto, Dodit, 2008, Buku Pintar Pemrograman PHP, OASE Media, Bandung.

Kadir, Abdul, 2008, Tuntunan Praktis Belajar Database Menggunakan MySQL,

ANDI OFFSET, Yogyakarta.

Kadir, Abdul, 2009, Mastering Ajax dan PHP, ANDI OFFSET, Yogyakarta.

Kurniawan, Heri, 2011, Trik Membuat Web Template dengan PHP dan CSS,

Lokomedia, Yogyakarta.

Hakim, Lukmanul, 2008, Membongkar Trik Rahasia Para Master PHP,

Lokomedia, Yogyakarta.

Wiswakarma, Komang, 2010, Panduan Lengkap Menguasai Pemrograman CSS,

Lokomedia, Yogyakarta.

Lampiran : 1

Admin

<?php class Admin extends Controller { function Admin() { parent::Controller(); $this->load->helper(array('form','url','text_helper','date','file')); $this->load->database(); $this->load->plugin(); session_start(); } function index() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->view('admin/bg_head',$data); $this->load->view('admin/isi_index',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function video() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $page=$this->uri->segment(3); $limit_ti=10; if(!$page): $offset_ti = 0; else:

$offset_ti = $page; endif; $this->load->model('Admin_model'); $this->load->library('Pagination'); $query=$this->Admin_model->Tampil_Video($limit_ti,$offset_ti); $tot_hal = $this->Admin_model->Total_Video(); $config['base_url'] = base_url() . '/index.php/admin/video'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data['scriptmce'] = $this->scripttiny_mce(); $data_isi = array('query' => $query,'paginator'=>$paginator, 'page'=>$page); $this->load->view('admin/bg_head',$data); $this->load->view('admin/video',$data_isi); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function editvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $page=$this->uri->segment(3); $this->load->model('Admin_model'); $data['det']=$this->Admin_model->Edit_Video($id); $data['kategori']=$this->Admin_model->Kat_Video();

$data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/edit_video',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function updatevideo() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $config['upload_path'] = './system/application/views/e-learning/video/'; $config['allowed_types'] ='bmp|gif|jpg|jpeg|png'; $config['max_size'] = '10000'; $config['max_width'] = '400'; $config['max_height'] = '300'; $this->load->library('upload', $config); if(empty($_FILES['userfile']['name'])){ $in["judul_video"]=$this->input->post('judul'); $in["isi"]=$this->input->post('isi_video'); $in["id_video"]=$this->input->post('id_video'); $in["id_kategori"]=$this->input->post('kategori'); $this->Admin_model->Update_Video($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/video'>"; } else{ if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); } else { $in2["judul_video"]=$this->input->post('judul'); $in2["isi"]=$this->input->post('isi_video'); $in2["id_video"]=$this->input->post('id_video'); $in2["gambar"]=$_FILES['userfile']['name']; $in2["id_kategori"]=$this->input->post('kategori'); $this->Admin_model->Update_Video($in2); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/video'>";

} } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function tambahvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $this->load->model('Admin_model'); $data['kategori']=$this->Admin_model->Kat_Video(); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/tambah_video',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function simpanvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session);

$data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $this->load->model('Admin_model'); $tgl = " %Y-%m-%d"; $jam = "%h:%i:%a"; $time = time(); $in=array(); if(empty($_FILES['userfile']['name'])){ $in['judul_video']=$this->input->post('judul'); $in['id_kategori']=$this->input->post('kategori'); $in['isi']=$this->input->post('isi'); $in['gambar']="gbr-video.png"; $in["tanggal"] = mdate($tgl,$time); $in["waktu"] = mdate($jam,$time); $in["counter"] = 0; $this->Admin_model->Simpan_Video($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/video'>"; } else{ $in['judul_video']=$this->input->post('judul'); $in['id_kategori']=$this->input->post('kategori'); $in['isi']=$this->input->post('isi'); $in['gambar']=$_FILES['userfile']['name']; $in["tanggal"] = mdate($tgl,$time); $in["waktu"] = mdate($jam,$time); $in["counter"] = 0; $config['upload_path'] = './system/application/views/e-learning/video/'; $config['allowed_types'] = 'bmp|gif|jpg|jpeg|png'; $config['max_size'] = '10000'; $config['max_width'] = '400'; $config['max_height'] = '300'; $this->load->library('upload', $config); if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); } else { $this->Admin_model->Simpan_Video($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/video'>"; } } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; }

} function hapusvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $this->Admin_model->Hapus_Video($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/video'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function katvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->model('Admin_model'); $this->load->library('Pagination'); $data['kategori']=$this->Admin_model->Kat_Video(); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/kat_video',$data); $this->load->view('admin/bg_bawah'); } else{

?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function tambahkatvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->model('Admin_model'); $this->load->library('Pagination'); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/tambah_kat_video',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function simpankatvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){

$this->load->model('Admin_model'); $in=array(); $in['nama_kategori']=$this->input->post('nama'); $this->Admin_model->Simpan_Kat_Video($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katvideo'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function editkatvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $data['det']=$this->Admin_model->Edit_Kat_Video($id); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/edit_kat_video',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!");

</script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function updatekatvideo() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $in=array(); $in['id_kategori']=$this->input->post('id_kat'); $in['nama_kategori']=$this->input->post('nama'); $this->Admin_model->Update_Kat_Video($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katvideo'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapuskatvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $this->Admin_model->Hapus_Kat_Video($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katvideo'>";

} else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function komenvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; $this->load->model('Admin_model'); $this->load->library('Pagination'); $query=$this->Admin_model->Komen_Video($limit_ti,$offset_ti); $tot_hal = $this->Admin_model->Total_Komen_Video(); $config['base_url'] = base_url() . '/index.php/admin/komenvideo'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data['scriptmce'] = $this->scripttiny_mce(); $data_isi = array('query' => $query,'paginator'=>$paginator, 'page'=>$page); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/komen_video',$data_isi); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php

echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapuskomenvideo() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $this->Admin_model->Hapus_Komen_Video($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/komenvideo'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function upload() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3];

$data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; $this->load->model('Admin_model'); $this->load->library('Pagination'); $query=$this->Admin_model->Tampil_File($limit_ti,$offset_ti); $tot_hal = $this->Admin_model->Total_File(); $config['base_url'] = base_url() . '/index.php/admin/upload'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data['scriptmce'] = $this->scripttiny_mce(); $data_isi = array('query' => $query,'paginator'=>$paginator, 'page'=>$page); $this->load->view('admin/bg_head',$data); $this->load->view('admin/upload',$data_isi); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function tambahupload() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->model('Admin_model'); $data["kat"]=$this->Admin_model->Kat_Down(); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/tambah_upload',$data); $this->load->view('admin/bg_bawah');

} else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function simpanupload() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $tgl = " %Y-%m-%d"; $jam = "%h:%i:%a"; $time = time(); $in["tgl_posting"] = mdate($tgl,$time); $in["judul_file"]=$this->input->post('judul'); $in["author"]=$nim; $in["id_kat"]=$this->input->post('kategori'); $acak=rand(00000000000,99999999999); $bersih=$_FILES['userfile']['name']; $nm=str_replace(" ","_","$bersih"); $pisah=explode(".",$nm); $nama_murni=$pisah[0]; $ubah=$acak.$nama_murni; //tanpa ekstensi $config["file_name"]=$ubah; //dengan eekstensi $in["nama_file"]=$acak.$nm; $config['upload_path'] = './system/application/views/e-learning/download/'; $config['allowed_types'] = 'exe|sql|psd|pdf|xls|ppt|php|php4|php3|js|swf|Xhtml|zip|mid|midi|mp2|mp3|wav|bmp|gif|jpg|jpeg|png|html|htm|txt|rtf|mpeg|mpg|avi|doc|docx|xlsx'; $config['max_size'] = '50000'; $config['max_width'] = '400'; $config['max_height'] = '300'; $this->load->library('upload', $config); if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); } else { $this->Admin_model->Simpan_Upload($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/upload'>"; } }

else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function editupload() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->model('Admin_model'); $data["kategori"]=$this->Admin_model->Edit_Upload($id); $data["cur_kat"]=$this->Admin_model->Kat_Down(); $data["tanggal"] = mdate($datestring, $time); $this->load->view('admin/bg_head',$data); $this->load->view('admin/edit_upload',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>";

} } function updateupload() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $config['upload_path'] = './system/application/views/e-learning/download/'; $config['allowed_types'] = 'exe|sql|psd|pdf|xls|ppt|php|php4|php3|js|swf|Xhtml|zip|mid|midi|mp2|mp3|wav|bmp|gif|jpg|jpeg|png|html|htm|txt|rtf|mpeg|mpg|avi|doc|docx|xlsx'; $config['max_size'] = '10000'; $config['max_width'] = '400'; $config['max_height'] = '300'; $acak=rand(00000000000,99999999999); $bersih=$_FILES['userfile']['name']; $nm=str_replace(" ","_","$bersih"); $pisah=explode(".",$nm); $nama_murni=$pisah[0]; $ubah=$acak.$nama_murni; //tanpa ekstensi $config["file_name"]=$ubah; //dengan eekstensi $in2["nama_file"]=$acak.$nm; $this->load->library('upload', $config); if(empty($_FILES['userfile']['name'])){ $in["judul_file"]=$this->input->post('judul'); $in["id_download"]=$this->input->post('id_download'); $in["id_kat"]=$this->input->post('kategori'); $this->Admin_model->Update_Upload($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/upload'>"; } else{ if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); } else { $in2["judul_file"]=$this->input->post('judul'); $in2["id_download"]=$this->input->post('id_download'); $in2["id_kat"]=$this->input->post('kategori'); $this->Admin_model->Update_Upload($in2); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/upload'>"; } } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } }

else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapusupload() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } if($status=="admin"){ $this->load->model('Admin_model'); $hapus=$this->Admin_model->Edit_Upload($id); foreach($hapus->result() as $t) { unlink("./system/application/views/e-learning/download/$t->nama_file"); } $this->Admin_model->Delete_Upload($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/upload'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function katdownload() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1];

$data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->model('Admin_model'); $this->load->library('Pagination'); $data['kategori']=$this->Admin_model->Kat_Down(); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/kat_download',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function tambahkatdownload() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/tambah_kat_download',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } }

function simpankatdownload() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $this->load->model('Admin_model'); $in=array(); $in['nama_kategori_download']=$this->input->post('nama'); $this->Admin_model->Simpan_Kat_Download($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katdownload'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function editkatdownload() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $data['det']=$this->Admin_model->Edit_Kat_Download($id); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/edit_kat_download',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript">

alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function updatekatdownload() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $in=array(); $in['id_kategori_download']=$this->input->post('id_kat'); $in['nama_kategori_download']=$this->input->post('nama'); $this->Admin_model->Update_Kat_Download($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katdownload'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapuskatdownload() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) {

$id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $this->Admin_model->Hapus_Kat_Download($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katdownload'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function materi() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $data["tanggal"] = mdate($datestring, $time); $this->load->model('Admin_model'); $this->load->library('Pagination'); $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; $query=$this->Admin_model->Tampil_Materi($limit_ti,$offset_ti); $tot_hal = $this->Admin_model->Total_Materi(); $config['base_url'] = base_url() . '/index.php/admin/materi'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data['scriptmce'] = $this->scripttiny_mce();

$data_isi = array('query' => $query,'paginator'=>$paginator, 'page'=>$page); $this->load->view('admin/bg_head',$data); $this->load->view('admin/materi',$data_isi); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function tambahmateri() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $this->load->model('Admin_model'); $data['kategori']=$this->Admin_model->Kat_Materi(); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/tambah_materi',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function simpanmateri() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:'';

if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $tgl = " %Y-%m-%d"; $jam = "%h:%i:%a"; $time = time(); if(empty($_FILES['userfile']['name'])){ $in["tanggal"] = mdate($tgl,$time); $in["waktu"] = mdate($jam,$time); $in["judul_materi"]=$this->input->post('judul'); $in["isi"]=$this->input->post('isi'); $in["author"]=$nim; $in["id_kategori_materi"]=$this->input->post('kategori'); $in["counter"]=0; $in["gambar"]="gbr-materi.png"; $this->Admin_model->Simpan_Materi($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/materi'>"; } else{ $in["tanggal"] = mdate($tgl,$time); $in["waktu"] = mdate($jam,$time); $in["judul_materi"]=$this->input->post('judul'); $in["isi"]=$this->input->post('isi'); $in["author"]=$nim; $in["id_kategori_materi"]=$this->input->post('kategori'); $in["counter"]=0; $in["gambar"]=$_FILES['userfile']['name']; $config['upload_path'] = './system/application/views/e-learning/materi/'; $config['allowed_types'] = 'bmp|gif|jpg|jpeg|png'; $config['max_size'] = '10000'; $config['max_width'] = '400'; $config['max_height'] = '300'; $this->load->library('upload', $config); if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); } else { $this->Admin_model->Simpan_Materi($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/materi'>"; } } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php

echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function editmateri() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->model('Admin_model'); $data["kategori"]=$this->Admin_model->Edit_Materi($id); $data["cur_kat"]=$this->Admin_model->Kat_Materi(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/edit_materi',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function updatemateri() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $config['upload_path'] = './system/application/views/e-learning/materi/'; $config['allowed_types'] = 'exe|sql|psd|pdf|xls|ppt|php|php4|php3|js|swf|Xhtml|zip|mid|midi|mp2|mp3|wav|bmp|gif|jpg|jpeg|png|html|ht

m|txt|rtf|mpeg|mpg|avi|doc|docx|xlsx'; $config['max_size'] = '10000'; $config['max_width'] = '400'; $config['max_height'] = '300'; $this->load->library('upload', $config); if(empty($_FILES['userfile']['name'])){ $in["judul_materi"]=$this->input->post('judul'); $in["isi"]=$this->input->post('isi_materi'); $in["id_materi"]=$this->input->post('id_materi'); $in["author"]=$nim; $in["id_kategori_materi"]=$this->input->post('kategori'); $this->Admin_model->Update_Materi($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/materi'>"; } else{ if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); } else { $in2["judul_materi"]=$this->input->post('judul'); $in2["isi"]=$this->input->post('isi_materi'); $in2["id_materi"]=$this->input->post('id_materi'); $in2["author"]=$nim; $in2["gambar"]=$_FILES['userfile']['name']; $in2["id_kategori_materi"]=$this->input->post('kategori'); $this->Admin_model->Update_Materi($in2); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/materi'>"; } } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapusmateri() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; $id=''; if ($this->uri->segment(3) === FALSE)

{ $id=''; } else { $id = $this->uri->segment(3); } if($status=="admin"){ $this->load->model('Admin_model'); $this->Admin_model->Delete_Materi($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/materi'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function inbox() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $data["tanggal"] = mdate($datestring, $time); $this->load->model('Admin_model'); $this->load->library('Pagination'); $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; $query=$this->Admin_model->Tampil_Inbox($data["nim"],$limit_ti,$offset_ti); $tot_hal = $this->Admin_model->Total_Inbox($data["nim"]); $config['base_url'] = base_url() . '/index.php/admin/inbox'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config);

$paginator=$this->pagination->create_links(); $data['scriptmce'] = $this->scripttiny_mce(); $data_isi = array('query' => $query,'paginator'=>$paginator, 'page'=>$page); $this->load->view('admin/bg_head',$data); $this->load->view('admin/inbox',$data_isi); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function detailinbox() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $data["tanggal"] = mdate($datestring, $time); $this->load->model('Admin_model'); $data["detail"]=$this->Admin_model->Detail_Inbox($data["nim"],$id); $this->Admin_model->Update_Pesan($id); $this->load->view('admin/bg_head',$data); $this->load->view('admin/detail_inbox',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } }

else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function balasinbox() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $datestring = "%d-%m-%Y | %h:%i:%a"; $time = time(); $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $in["username"]=$this->input->post('username'); $in["tujuan"]=$this->input->post('tujuan'); $in["subjek"]=$this->input->post('subjek'); $in["pesan"]=$this->input->post('pesan'); $in["waktu"]=mdate($datestring,$time); $in["status_pesan"]="N"; $id=$this->input->post('id_inbox'); $this->load->model('Admin_model'); $this->Admin_model->Balas_Pesan($in); $this->Admin_model->Update_Pesan_Lama($in["pesan"],$id); ?> <script type="text/javascript" language="javascript"> alert("Pesan anda sudah terkirim."); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/inbox'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapusinbox() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0];

$status=$pecah[3]; $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } if($status=="admin"){ $this->load->model('Admin_model'); $this->Admin_model->Delete_Pesan($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/inbox'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function katmateri() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; if($data["status"]=="admin"){ $this->load->model('Admin_model'); $this->load->library('Pagination'); $data['kategori']=$this->Admin_model->Tampil_Kat_Materi($limit_ti,$offset_ti); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/kat_materi',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!");

</script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function tambahkatmateri() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; $data['scriptmce'] = $this->scripttiny_mce(); if($data["status"]=="admin"){ $this->load->model('Admin_model'); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/tambah_kat_materi',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function simpankatmateri() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $this->load->model('Admin_model'); $in=array(); $in['nama_kategori']=$this->input->post('nama');

$this->Admin_model->Simpan_Kat_Materi($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katmateri'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function editkatmateri() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $data['det']=$this->Admin_model->Edit_Kat_Materi($id); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/edit_kat_materi',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>";

} } function updatekatmateri() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $in=array(); $in['id_kategori_materi']=$this->input->post('id_kat'); $in['nama_kategori']=$this->input->post('nama'); $this->Admin_model->Update_Kat_Materi($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katmateri'>"; } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapuskatmateri() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $this->load->model('Admin_model'); $this->Admin_model->Hapus_Kat_Materi($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/katmateri'>"; } else{ ?>

<script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function latsoal() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $data["tanggal"] = mdate($datestring, $time); $this->load->model('Tes_model'); $this->load->library('Pagination'); $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; $query=$this->Tes_model->Tampil_Soal($limit_ti,$offset_ti); $tot_hal = $this->Tes_model->Total_Soal(); $config['base_url'] = base_url() . '/index.php/admin/latsoal'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data['scriptmce'] = $this->scripttiny_mce(); $data_isi = array('query' => $query,'paginator'=>$paginator, 'page'=>$page); $this->load->view('admin/bg_head',$data); $this->load->view('admin/latsoal',$data_isi); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>";

} } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function tambahlatsoal() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data = array(); $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $data["status"]=$pecah[3]; if($data["status"]=="admin"){ $this->load->model('Admin_model'); $data['kategori']=$this->Admin_model->Kat_Soal(); $data['scriptmce'] = $this->scripttiny_mce(); $this->load->view('admin/bg_head',$data); $this->load->view('admin/tambahlatsoal',$data); $this->load->view('admin/bg_bawah'); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda tidak berhak masuk ke Control Panel Admin...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In...!!!\nAnda harus Log In untuk mengakses halaman ini...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function simpanlatsoal() { $in=array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $status=$pecah[3]; if($status=="admin"){ $this->load->model('Admin_model'); $tgl = " %Y-%m-%d"; $jam = "%h:%i:%a"; $time = time(); if(empty($_FILES['userfile']['name'])){ $in["id_mat"]=$this->input->post('kategori'); $in["pertanyaan"]=$this->input->post('pertanyaan');

$in["jwb_a"]=$this->input->post('jwb_a'); $in["jwb_b"]=$this->input->post('jwb_b'); $in["jwb_c"]=$this->input->post('jwb_c'); $in["jwb_d"]=$this->input->post('jwb_d'); $in["kunci"]=$this->input->post('kunci'); $this->Admin_model->Simpan_Soal($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/latsoal'>"; } else{ $in["id_mat"]=$this->input->post('kategori'); $in["pertanyaan"]=$this->input->post('pertanyaan'); $in["jwb_a"]=$this->input->post('jwb_a'); $in["jwb_b"]=$this->input->post('jwb_b'); $in["jwb_c"]=$this->input->post('jwb_c'); $in["jwb_d"]=$this->input->post('jwb_d'); $in["kunci"]=$this->input->post('kunci'); $this->Admin_model->Simpan_Soal($in); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin/latsoal'>"; } } } } //Function TinyMce------------------------------------------------------------------ private function scripttiny_mce($selectcategory=null) { return ' <!-- TinyMCE --> <script type="text/javascript" src="'.base_url().'jscripts/tiny_mce/tiny_mce_src.js"></script> <script type="text/javascript"> tinyMCE.init({ // General options mode : "textareas", theme : "advanced", plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave", // Theme options theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Example content CSS (should be your site CSS) content_css : "'.base_url().'system/application/views/themes/css/BrightSide.css", // Drop lists for link/image/media/template dialogs //"'.base_url().'media/lists/image_list.js"

template_external_list_url : "lists/template_list.js", external_link_list_url : "lists/link_list.js", external_image_list_url : "'.base_url().'index.php/", media_external_list_url : "lists/media_list.js", // Style formats style_formats : [ {title : \'Bold text\', inline : \'b\'}, {title : \'Red text\', inline : \'span\', styles : {color : \'#ff0000\'}}, {title : \'Red header\', block : \'h1\', styles : {color : \'#ff0000\'}}, {title : \'Example 1\', inline : \'span\', classes : \'example1\'}, {title : \'Example 2\', inline : \'span\', classes : \'example2\'}, {title : \'Table styles\'}, {title : \'Table row 1\', selector : \'tr\', classes : \'tablerow1\'} ], // Replace values for the template plugin template_replace_values : { username : "Some User", staffid : "991234" } }); </script>'; } } ?>

Elearning <?php class Learning extends Controller { function Learning() { parent::Controller(); $this->load->helper(array('form','url','text_helper','date')); $this->load->database(); $this->load->library(); $this->load->plugin(); session_start(); } function index() { $data=array(); $this->load->model('Learning_model'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; } $data["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video(); $data["kategori_download"] = $this->Learning_model->Daftar_Kategori_Download(); $data["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi(); $data["slide_video"] = $this->Learning_model->Slide_Video();

$data["tampil_materi"] = $this->Learning_model->Tampil_Materi(); $data["video_populer"] = $this->Learning_model->Video_Populer(); $data["materi_populer"] = $this->Learning_model->Materi_Populer(); $this->load->view('e-learning/bg_header'); $this->load->view('e-learning/bg_menu',$data); $this->load->view('e-learning/bg_kiri',$data); $this->load->view('e-learning/isi_index',$data); $this->load->view('e-learning/bg_kanan',$data); $this->load->view('e-learning/bg_footer'); } function login() { $username = $this->input->post('usernameteks'); $pwd = $this->input->post('passwordteks'); $this->load->model('Learning_model'); $hasil = $this->Learning_model->Data_Login($username,$pwd); if (count($hasil->result_array())>0){ foreach($hasil->result() as $items){ $session_username=$items->username."|".$items->nama."|".$items->idlink."|".$items->status; $tanda=$items->status; } $_SESSION['username_belajar']=$session_username; if($tanda=="Mahasiswa"){ echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } else if($tanda=="admin"){ echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/admin'>"; } } else{ ?> <script type="text/javascript"> alert("Username atau Password Yang Anda Masukkan Salah..!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."'>"; } } function logout() { session_destroy(); echo "<meta http-equiv='refresh' content='0; url=".base_url()."'>"; } function detailvideo() { $id_video=''; if ($this->uri->segment(3) === FALSE) { $id_video=''; } else { $id_video = $this->uri->segment(3); } $data=array(); $this->load->model('Learning_model'); $this->load->library('Pagination'); $this->load->plugin('captcha'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session);

$data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; } $data["detail"]=$this->Learning_model->Detail_Video($id_video); $data["video_populer"] = $this->Learning_model->Video_Populer(); $data["materi_populer"] = $this->Learning_model->Materi_Populer(); $this->Learning_model->Update_Counter_Video($id_video); //Paging untuk komentar $page=$this->uri->segment(4); $limit=5; if(!$page): $offset = 0; else: $offset = $page; endif; $data["query"] = $this->Learning_model->Tampil_Komentar_Video($id_video,$offset,$limit); $tot_hal = $this->Learning_model->Total_Komentar_Video($id_video); $config['base_url'] = base_url() . '/index.php/learning/detailvideo/'.$id_video; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit; $config['uri_segment'] = 4; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $data["paginator"] =$this->pagination->create_links(); //paging selesai $data["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video(); $data["kategori_download"] = $this->Learning_model->Daftar_Kategori_Download(); $data["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi(); $data["acak_video"] = $this->Learning_model->Video_Acak($id_video); $captcha_result = ''; $data["cap_img"] = $this -> _make_captcha(); if ( $this -> input -> post( 'submit' ) ) { if ( $this -> _check_capthca() ) { $captcha_result = 'GOOD'; }else { $captcha_result = 'BAD'; } } $data["cap_msg"] = $captcha_result; $this->load->view('e-learning/bg_header'); $this->load->view('e-learning/bg_menu',$data); $this->load->view('e-learning/bg_kiri',$data); $this->load->view('e-learning/detail_video',$data); $this->load->view('e-learning/bg_kanan',$data); $this->load->view('e-learning/bg_footer'); } function detailmateri() { $id_materi=''; if ($this->uri->segment(3) === FALSE) { $id_materi=''; } else { $id_materi = $this->uri->segment(3); }

$data=array(); $this->load->model('Learning_model'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; } $data["detail"]=$this->Learning_model->Detail_Materi($id_materi); $data["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video(); $data["kategori_download"] = $this->Learning_model->Daftar_Kategori_Download(); $data["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi(); $data["video_populer"] = $this->Learning_model->Video_Populer(); $data["materi_populer"] = $this->Learning_model->Materi_Populer(); $this->Learning_model->Update_Counter_Materi($id_materi); $data["acak_materi"] = $this->Learning_model->Materi_Acak($id_materi); $this->load->view('e-learning/bg_header'); $this->load->view('e-learning/bg_menu',$data); $this->load->view('e-learning/bg_kiri',$data); $this->load->view('e-learning/detail_materi',$data); $this->load->view('e-learning/bg_kanan',$data); $this->load->view('e-learning/bg_footer'); } function katvideo() { $id_kategori=''; if ($this->uri->segment(3) === FALSE) { $id_kategori=''; } else { $id_kategori = $this->uri->segment(3); } $data2=array(); $this->load->model('Learning_model'); $this->load->library('Pagination'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data2["nim"]=$pecah[0]; $data2["nama"]=$pecah[1]; } $data2["judul_kategori"] = $this->Learning_model->Judul_Kategori_Video($id_kategori); $data2["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video(); $data2["kategori_download"] = $this->Learning_model->Daftar_Kategori_Download(); $data2["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi(); $data2["video_populer"] = $this->Learning_model->Video_Populer(); $data2["materi_populer"] = $this->Learning_model->Materi_Populer(); $page=$this->uri->segment(4); $limit=6; if(!$page): $offset = 0; else: $offset = $page; endif; $query = $this->Learning_model->Kategori_Video($id_kategori,$offset,$limit); $tot_hal = $this->Learning_model->Total_Video($id_kategori); $config['base_url'] = base_url() . '/index.php/learning/katvideo/'.$id_kategori; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit; $config['uri_segment'] = 4;

$config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data = array('query' => $query,'paginator'=>$paginator); $this->load->view('e-learning/bg_header'); $this->load->view('e-learning/bg_menu',$data2); $this->load->view('e-learning/bg_kiri',$data2); $this->load->view('e-learning/kategori_video',$data); $this->load->view('e-learning/bg_kanan',$data2); $this->load->view('e-learning/bg_footer'); } function katmateri() { $id_kategori=''; if ($this->uri->segment(3) === FALSE) { $id_kategori=''; } else { $id_kategori = $this->uri->segment(3); } $data2=array(); $this->load->model('Learning_model'); $this->load->library('Pagination'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data2["nim"]=$pecah[0]; $data2["nama"]=$pecah[1]; } $data2["judul_kategori"] = $this->Learning_model->Judul_Kategori_Materi($id_kategori); $data2["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video(); $data2["kategori_download"] = $this->Learning_model->Daftar_Kategori_Download(); $data2["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi(); $data2["video_populer"] = $this->Learning_model->Video_Populer(); $data2["materi_populer"] = $this->Learning_model->Materi_Populer(); $page=$this->uri->segment(4); $limit=5; if(!$page): $offset = 0; else: $offset = $page; endif; $query = $this->Learning_model->Kategori_Materi($id_kategori,$offset,$limit); $tot_hal = $this->Learning_model->Total_Materi($id_kategori); $config['base_url'] = base_url() . '/index.php/learning/katmateri/'.$id_kategori; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit; $config['uri_segment'] = 4; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links();

$data = array('query' => $query,'paginator'=>$paginator); $this->load->view('e-learning/bg_header'); $this->load->view('e-learning/bg_menu',$data2); $this->load->view('e-learning/bg_kiri',$data2); $this->load->view('e-learning/kategori_materi',$data); $this->load->view('e-learning/bg_kanan',$data2); $this->load->view('e-learning/bg_footer'); } function kirimkomentar() { $this->load->library('form_validation'); $this->form_validation->set_rules('nama','Nama','required'); $this->form_validation->set_rules('email','Email','trim|required|valid_email'); $this->form_validation->set_rules('komentar','Komentar','required'); $this->form_validation->set_rules('captcha','Captcha','callback__check_capthca'); $id_video=$this->input->post('id_video'); $nama_non=$this->input->post('nama'); $email_non=$this->input->post('email'); $komentar_non=$this->input->post('komentar'); $nama=strip_tags($nama_non); $email=strip_tags($email_non); $komentar=strip_tags($komentar_non); $tgl = " %Y-%m-%d"; $jam = "%h:%i:%a"; $time = time(); if ($this->form_validation->run() == FALSE) { ?> <script type="text/javascript"> alert("Inputan tidak Valid!!! Ulangi lagi."); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/learning/detailvideo/".$id_video."'>"; } else { $datainput['id_video']=$id_video; $datainput['nama']=$nama; $datainput['email']=$email; $datainput['komentar']=$komentar; $datainput['tanggal']=mdate($tgl,$time);; $datainput['waktu']=mdate($jam,$time);; $this->load->model('Learning_model'); $this->Learning_model->Simpan_Data($datainput); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/learning/detailvideo/".$id_video."'>"; } } function pencarian() { $kata=$this->input->post('katakunci'); $tabel=$this->input->post('pencarian'); $this->load->model('Learning_model'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; } $data["pilihan"] = $tabel; $data["kata"] = $kata; $data["hasil"] = $this->Learning_model->Pencarian($kata,$tabel); $data["jumlah"] = $data["hasil"]->num_rows; $data["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video(); $data["kategori_download"] = $this->Learning_model->Daftar_Kategori_Download();

$data["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi(); $data["video_populer"] = $this->Learning_model->Video_Populer(); $data["materi_populer"] = $this->Learning_model->Materi_Populer(); $this->load->view('e-learning/bg_header'); $this->load->view('e-learning/bg_menu',$data); $this->load->view('e-learning/bg_kiri',$data); $this->load->view('e-learning/hasil_pencarian',$data); $this->load->view('e-learning/bg_kanan',$data); $this->load->view('e-learning/bg_footer'); } function katdownload() { $this->load->model('Learning_model'); $this->load->library('Pagination'); $id_kat=''; if ($this->uri->segment(3) === FALSE) { $id_kat=''; } else { $id_kat = $this->uri->segment(3); } $page=$this->uri->segment(4); $limit_down=35; if(!$page): $offset_down = 0; else: $offset_down = $page; endif; $data["hal"] = $page; $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; } $judul_kat = $this->Learning_model->Judul_Kat_Down($id_kat); $tot_hal = $this->Learning_model->Total_Kat_Down($id_kat); $query = $this->Learning_model->Kategori_Download($id_kat,$offset_down,$limit_down); $config['base_url'] = base_url() . '/index.php/learning/katdownload/'.$id_kat; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_down; $config['uri_segment'] = 4; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data2 = array('query' => $query,'paginator'=>$paginator, 'tot_hal'=>$tot_hal, 'judul_kat'=>$judul_kat); $data["kategori_video"] = $this->Learning_model->Daftar_Kategori_Video(); $data["kategori_download"] = $this->Learning_model->Daftar_Kategori_Download(); $data["kategori_materi"] = $this->Learning_model->Daftar_Kategori_Materi(); $data["video_populer"] = $this->Learning_model->Video_Populer(); $data["materi_populer"] = $this->Learning_model->Materi_Populer(); $this->load->view('e-learning/bg_header'); $this->load->view('e-learning/bg_menu',$data); $this->load->view('e-learning/bg_kiri',$data); $this->load->view('e-learning/kategori_download',$data2); $this->load->view('e-learning/bg_kanan',$data); $this->load->view('e-learning/bg_footer'); } function updatepassword() {

$username=$this->input->post('username'); $psw=$this->input->post('pwd'); $psw_lama=$this->input->post('pwd_lama'); $this->load->model('Learning_model'); $hasil = $this->Learning_model->Data_Login($username,$psw_lama); if(count($hasil->result()) <= 0) { ?> <script type="text/javascript"> alert('Password lama yang anda masukkan SALAH..!!!'); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/learning/passwordmhs'>"; } else if($psw!="" AND $psw_lama!="") { $this->Learning_model->Update_Password($username,$psw); echo "<font size='2' face='arial'>Sukses memperbarui password.<br> Password anda yang baru : <b>".$psw."</b><br> Dengan username : <b>".$username."</b>"; } else { echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/learning/passwordmhs'>"; } } function kirimpesanadmin() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $datestring = "%d-%m-%Y | %h:%i:%a"; $time = time(); $input=array(); $input['username']=$this->input->post('nim'); $input['subjek']=$this->input->post('subjek'); $input['tujuan']="admin"; $input['status_pesan']="N"; $input['waktu']=mdate($datestring,$time); $input['pesan']=$this->input->post('pesan'); if($input['subjek']=="" AND $input['pesan']==""){ ?> <script type="text/javascript"> alert("Kolom pesan dan subjek belum diisi semua...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/learning/pesanadmin'>"; } else{ $this->load->model('Learning_model'); $this->Learning_model->Simpan_Pesan_Admin($input); echo"<font size='2' face='arial'>Pesan anda telah terkirim ke pihak admin. Tunggu balasan dari kami sesaat lagi.<br><b>Terima kasih</b></font>"; } } else{ ?> <script type="text/javascript"> alert("Anda belum Log In...!!!"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/learning/pesanadmin'>"; } } //============================Memakai Highslide Javascript=================================

function passwordmhs() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $this->load->view('e-learning/ganti_password',$data); } else { echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function pesanadmin() { $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nim"]=$pecah[0]; $data["nama"]=$pecah[1]; $this->load->view('e-learning/pesan_admin',$data); } else { echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function inboxmhs() { $this->load->model('Learning_model'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data=array(); $pecah=explode("|",$session); $id=$pecah[0]; $data["nama"]=$pecah[1]; $data["pesan"]=$this->Learning_model->Inbox_Mhs($id); $this->load->view('e-learning/inbox_mhs',$data); } else { echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } function hapuspesan() { $this->load->model('Learning_model'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $data=array(); $pecah=explode("|",$session); $id=$pecah[0]; $data["nama"]=$pecah[1]; $id=''; if ($this->uri->segment(3) === FALSE) { $id=''; } else { $id = $this->uri->segment(3); } $data["pesan"]=$this->Learning_model->Delete_Pesan($id); echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/learning/inboxmhs'>"; } else { echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>";

} } function detailpesan() { $this->load->model('Learning_model'); $user=''; if ($this->uri->segment(3) === FALSE) { $user=''; } else { $user = $this->uri->segment(3); } $id_inbox=''; if ($this->uri->segment(4) === FALSE) { $id_inbox=''; } else { $id_inbox = $this->uri->segment(4); } $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data=array(); $data["nama"]=$pecah[1]; $data["pesan"]=$this->Learning_model->Detail_Pesan($user,$id_inbox); $this->Learning_model->Update_Pesan($id_inbox); $this->load->view('e-learning/detail_pesan',$data); } else { echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/'>"; } } //===================================Fungsi Captcha==================================== function _make_captcha() { $this -> load -> plugin( 'captcha' ); $vals = array( 'img_path' => './captcha/', // PATH for captcha ( *Must mkdir (htdocs)/captcha ) 'img_url' => 'http://localhost/elearning/captcha/', // URL for captcha img 'img_width' => 150, // width 'img_height' => 50, // height 'expiration' => 7200 , ); // Create captcha $cap = create_captcha( $vals ); // Write to DB if ( $cap ) { $data = array( 'captcha_id' => '', 'captcha_time' => $cap['time'], 'ip_address' => $this -> input -> ip_address(), 'word' => $cap['word'] , ); $query = $this -> db -> insert_string( 'captcha', $data ); $this -> db -> query( $query ); }else { return "Umm captcha not work" ; } return $cap['image'] ; }

function _check_capthca() { // Delete old data ( 2hours) $expiration = time()-7200 ; $sql = " DELETE FROM captcha WHERE captcha_time < ? "; $binds = array($expiration); $query = $this->db->query($sql, $binds); //checking input $sql = "SELECT COUNT(*) AS count FROM captcha WHERE word = ? AND ip_address = ? AND captcha_time > ?"; $binds = array($_POST['captcha'], $this->input->ip_address(), $expiration); $query = $this->db->query($sql, $binds); $row = $query->row(); if ( $row -> count > 0 ) { return true; } return false; } //=====================================Selesai Fungsi Captcha================================== } ?>

Tes <?php class Tes extends Controller { function Tes() { parent::Controller(); $this->load->helper(array('form','url', 'text_helper','date')); $this->load->database(); $this->load->library(); $this->load->plugin(); session_start(); } function index() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data["nama"]=$pecah[1]; } $data["tanggal"] = mdate($datestring, $time); $this->load->view('tes/bg_atas',$data); $this->load->view('tes/isi_index',$data); $this->load->view('tes/bg_menu',$data); $this->load->view('tes/bg_bawah',$data); } function katalogsoal() { $this->load->model('Tes_model'); $this->load->library('Pagination'); $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else:

$offset_ti = $page; endif; $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data_atas = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data_atas["nama"]=$pecah[1]; } $data_atas["tanggal"] = mdate($datestring, $time); $query=$this->Tes_model->Tampil_Soal($limit_ti,$offset_ti); $total_soal = $query->num_rows(); $tot_hal = $this->Tes_model->Total_Soal(); $config['base_url'] = base_url() . '/index.php/tes/katalogsoal'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data = array('query' => $query,'paginator'=>$paginator, 'page'=>$page); $this->load->view('tes/bg_atas',$data_atas); $this->load->view('tes/kat_soal',$data); $this->load->view('tes/bg_menu',$data); $this->load->view('tes/bg_bawah',$data); } function lihatsoal() { $this->load->model('Tes_model'); $this->load->library('Pagination'); $page=$this->uri->segment(4); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data_atas = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data_atas["nama"]=$pecah[1]; } $data_atas["tanggal"] = mdate($datestring, $time); $id_mk=''; if ($this->uri->segment(3) === FALSE) { $id_mk=''; } else { $id_mk = $this->uri->segment(3); } $query=$this->Tes_model->Lihat_Soal($id_mk,$limit_ti,$offset_ti); $judul=$this->Tes_model->Judul_MK($id_mk); $tot_hal = $this->Tes_model->Total_Lihat_Soal($id_mk); $config['base_url'] = base_url() . '/index.php/tes/lihatsoal/'.$id_mk; $config['total_rows'] = $tot_hal->num_rows();

$config['per_page'] = $limit_ti; $config['uri_segment'] = 4; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data = array('query' => $query,'paginator'=>$paginator,'judul'=>$judul, 'page'=>$page); $this->load->view('tes/bg_atas',$data_atas); $this->load->view('tes/lihat_soal',$data); $this->load->view('tes/bg_menu',$data); $this->load->view('tes/bg_bawah',$data); } function ikutites() { $this->load->model('Tes_model'); $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data_atas = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $nim=$pecah[0]; $data_atas["nama"]=$pecah[1]; } $data_atas["tanggal"] = mdate($datestring, $time); $id_mk=''; if ($this->uri->segment(3) === FALSE) { $id_mk=''; } else { $id_mk = $this->uri->segment(3); } $no_soal=''; if ($this->uri->segment(4) === FALSE) { $no_soal=''; } else { $no_soal = $this->uri->segment(4); } $data = array(); $data["username"]=$nim; $lempar=$this->Tes_model->Validasi_Tes($id_mk,$no_soal,$nim); foreach($lempar->result_array() as $item) { if($item["no_soal"]==$no_soal) { ?> <script type="text/javascript" language="javascript"> alert("<?php echo $data_atas["nama"]; ?>, anda telah mengikuti tes soal online mata kuliah ini"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/tes/katalogsoal'>"; } } $data["judul"]=$this->Tes_model->Judul_MK($id_mk); $data["soal"] = $this->Tes_model->Tampilkan_Soal($id_mk,$no_soal); $data["jumlah"] = $data["soal"]->num_rows; $this->load->view('tes/bg_atas',$data_atas); $this->load->view('tes/mulai_tes',$data);

$this->load->view('tes/bg_menu',$data); $this->load->view('tes/bg_bawah',$data); } function hasiltes() { $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data_atas = array(); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $data_atas["nim"]=$pecah[0]; $data_atas["nama"]=$pecah[1]; } $nama=$data_atas["nama"]; $data_atas["tanggal"] = mdate($datestring, $time); $data=array(); $jumlah = $this->input->post('banyak_soal'); $jawaban= $this->input->post('pilih'); $matkul = $this->input->post('matkul'); $id_mk = $this->input->post('id_mk'); $no_soal = $this->input->post('no_soal'); $this->load->model('Tes_model'); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $username=$pecah[0]; } $query=$this->Tes_model->Hitung_Hasil($id_mk,$no_soal); $data["hit_hasil"]=$query; $benar=0; $salah=0; foreach($query->result() as $hasil) { $jwb=$jawaban; $id=$hasil->id_soal; if($jwb[$id]==$hasil->kunci) { $benar++; } else { $salah++; } } $nilai=sprintf("%2.1f",$benar/$jumlah*100); if($nilai<60){ $pesan="Belajarlah lebih baik lagi, sehingga bisa sukses di kemudian hari."; } else{ $pesan="Selamat dan tingkatkan lagi."; } $datainput=array(); $datainput["id_mk"]=$this->input->post('id_mk'); $datainput["no_soal"]=$this->input->post('no_soal'); $datainput["username"]=$data_atas["nim"]; $datainput["salah"]=$salah; $datainput["benar"]=$benar; $datainput["hasil"]=$nilai; if ($id_mk=="" AND $no_soal==""){ echo "Ouuuppppzzzz,,,soalnya belum dikerjakan boz!!!!"; echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/tes/katalogsoal'>"; } else{ $this->Tes_model->Simpan_Hasil($datainput); ?>

<script type="text/javascript" language="javascript"> alert("<?php echo $data_atas["nama"]; ?> telah mengikuti tes soal online <?php echo $matkul; ?>\n- Dengan total jawaban benar <?php echo $benar; ?> dan total jawaban salah <?php echo $salah; ?>.\n- Anda memperoleh nilai <?php echo $nilai; ?>\n- Pesan : <?php echo $pesan; ?>"); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/tes/katalogsoal'>"; } } function lihatnilai() { $page=$this->uri->segment(3); $limit_ti=15; if(!$page): $offset_ti = 0; else: $offset_ti = $page; endif; $datestring = "Login : %d-%m-%Y pukul %h:%i %a"; $time = time(); $data=array(); $tanggal = mdate($datestring, $time); $session=isset($_SESSION['username_belajar']) ? $_SESSION['username_belajar']:''; if($session!=""){ $pecah=explode("|",$session); $username=$pecah[0]; $nim=$username; $nama=$pecah[1]; $this->load->model('Tes_model'); $this->load->library('Pagination'); $query=$this->Tes_model->Lihat_Nilai($username,$limit_ti,$offset_ti); $tot_hal = $this->Tes_model->Total_Nilai($username); $config['base_url'] = base_url() . '/index.php/tes/lihatnilai'; $config['total_rows'] = $tot_hal->num_rows(); $config['per_page'] = $limit_ti; $config['uri_segment'] = 3; $config['first_link'] = 'Awal'; $config['last_link'] = 'Akhir'; $config['next_link'] = 'Selanjutnya'; $config['prev_link'] = 'Sebelumnya'; $this->pagination->initialize($config); $paginator=$this->pagination->create_links(); $data = array('query' => $query,'paginator'=>$paginator, 'page'=>$page, 'nim'=>$nim, 'nama'=>$nama, 'tanggal'=>$tanggal); $this->load->view('tes/bg_atas',$data); $this->load->view('tes/lihat_nilai',$data); $this->load->view('tes/bg_menu',$data); $this->load->view('tes/bg_bawah',$data); } else{ ?> <script type="text/javascript" language="javascript"> alert("Anda belum Log In. Silahkan Log In dulu untuk mengakses halaman ini."); </script> <?php echo "<meta http-equiv='refresh' content='0; url=".base_url()."index.php/tes/katalogsoal'>"; } } } ?>