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'>"; } } } ?>
Top Related