pengembangan aplikasi ujian online sekolah dasar ...€¦ · pengembangan aplikasi ujian online...

20
Pengembangan Aplikasi Ujian Online Sekolah Dasar Menggunakan Framework PHP CodeIgniter Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi Untuk memperoleh Gelar Sarjana Komputer Oleh: Alan Rizal Armansyah NIM: 672013204 Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Agustus 2017

Upload: others

Post on 20-Nov-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

Pengembangan Aplikasi Ujian Online Sekolah Dasar

Menggunakan Framework PHP CodeIgniter

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

Untuk memperoleh Gelar Sarjana Komputer

Oleh:

Alan Rizal Armansyah

NIM: 672013204

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

Agustus 2017

Page 2: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

2

Page 3: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

3

Page 4: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

4

Page 5: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

5

Page 6: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

6

Page 7: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

7

1. Pendahuluan

Dinas Perhubungan, Komunikasi, Kebudayaan dan Pariwisata

(Dishubkombudpar) Kota Salatiga adalah instansi pemerintah, bertujuan untuk

mengawasi dan mengurusi yang berkaitan tentang sarana dan prasarana dalam

memajukan kota yang menjadi lebih baik juga mengatasi permasalahan yang ada

di dalam kota tersebut. Dishubkomkebpar juga ambil peran mengatasi

permasalahan pendidikan di kota salatiga. Peran yang dilakukan

Dishubkomkebpar ialah program Internet Sehat bertujuan membantu sekolah

dasar untuk memajukan kompetensi guru maupun siswa dalam pendidikan.

Sekolah dasar adalah sarana umum yang di sediakan oleh pemerintah dalam

upaya, pengembangan diri siswa untuk mencerdaskan dan mencetak kehidupan

bangsa yang bertaqwa, terampil, kreatif dan mampu menyelesaikan permasalahan

di lingkungannya. Siswa sekolah dasar ditempa berbagai bidang studi yang

semuanya harus mampu dikuasai semua siswa[1].

Pendidikan adalah mengubah pandangan manusia menjadi lebih baik dan

juga merubah perilaku, dalam usaha mendewasakan manusia, melalui pengajaran

maupun pelatihan. Penting sekali dalam pengajaran maupun pelatihan, yang

dilakukan oleh guru terhadap muridnya, dapat dilihat kemampuan penguasaan

materi yang diberikan melalui ujian. Ujian dilakukan untuk mengetahui sebatas

mana kemampuan siswa, dalam penguasaan materi yang diberikan oleh guru

selama proses belajar mengajar berlangsung. Guru mempunyai hak untuk melihat

kemampuan siswa keseluruhan dalam penguasaan meteri yang diberikan. Ujian

merupakan cara untuk melihat sejauh mana perkembangan siswa dan tingkat

pemahaman siswa terhadap materi yang diberikan.

Berdasarkan permasalahan yang diatas, dibutuhkan aplikasi ujian online

berbasis web untuk membantu siswa maupun guru dalam pelaksanaan proses

ujian. Selain itu, aplikasi ujian online juga digunakan untuk mengetahui

kompetensi siswa dari segi penguasaan materi.

Rumusan masalah dalam penelitan ini adalah bagaimana cara

pengembangan aplikasi ujian online berbasis web guna analisis kompetensis siswa

dasar, dan mempermudah proses ujian. Aplikasi ini dikembangkan dengan

menggunakan teknologi framework CodeIgniter (CI). Teknologi ini merupakan

salah satu framework PHP yang menggunakan konsep MVC(Model, View dan

Controller). Framework CI memudahkan dalam pengembangan aplikasi ujian

online, serta proses pembaruan atau maintenance.

2. Kajian Pustaka

Terdapat beberapa penelitian sebelumnya yang dijadikan acuan dalam

proses penelitian. Penelitian terdahulu yang pertama berjudul “Aplikasi Campus

Learning System iOU (integrated Online Ujian) Dalam Mendukung Kegiatan

iLearning Education (iDu)”. Permasalahan yang dihadapi pada Perguruan Tinggi

Raharja, masih terdapat banyak proses manual dan melibatkan banyak orang

sehingga proses yang berjalan sangat panjang dan sulit. Metode untuk mengatasi

masalah tersebut yaitu dengan menggunakan metode iLearning yang berfungsi

untuk mengintegrasikan sumber daya dalam menjalankan Tri Dharma Perguruan

Tinggi dengan menggunakan iPad. Hasil dari penelitian ini memudahkan pihak-

Page 8: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

8

pihak terkait dan menciptakan proses yang berkualitas, sehingga mengubah sistem

ujian paper based menjadi computer based. Proses ini dapat memberikan

kemudahan bagi panitia ujian, dosen hingga mahasiswa secara efektif dan efisien

[2]. Penelitian terdahulu menggunakan metode iLearning untuk menyelesaikan

permasalahan ujian online, sedangkan penelitian yang dilakukan saat ini

menggunakan framework PHP CI.

Penelitian kedua yang berjudul “Analisis Dan Perancangan Sistem Ujian

Online”. Penelitian ini dalakukan untuk meminimalisir tingkat kesalahan

penyusunan soal dan koreksi hasil jawaban, serta meminimalisir tingkat

kecurangan siswa dalam mengerjakan soal ujian, berdasarkan tingkat kemampuan

masing-masing siswa. Analisis ini yang digunakan untuk menganalisa sistem

informasi untuk dapat mengenali penyebab masalah menggunakan metode

PIECES (Performance, Information, Economic, Control, Efficiency, Service).

Penelitian tersebut menghasilkan proses sistem penyelenggara ujian sekolah yang

efektif dan terstruktur dengan sistem pengolahan data ujian berbasi komputer [3].

Penelitian terdahulu menggunakan metode PIECES untuk menyelesaikan

permasalahan ujian online, sedangkan penelitian yang dilakukan menggunakan

framework PHP CI.

Framework CodeIgniter menghasilkan framework yang dapat digunakan

untuk pengembangan proyek pembuatan situs web, secara lebih cepat

dibandingkan dengan pembuatan web yang menggunakan PHP murni.

CodeIgniter permudah developer untuk memfokuskan diri pada pembuatan situs

web dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan

situs web. CodeIgniter menerapkan lingkungan pengembangan dengan metode

MVC (Model View Controller). MVC memisahkan antara logika pembuatan kode

dengan pembuatan template atau tampilan situs web. Penggunaan MVC membuat

pembuatan sebuah proyek situs web menjadi lebih terstruktur dan lebih

sederhana. Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian

Model, bagian View dan bagian Controller [4].

Secara umum alur kerja Framework CodeIgniter adalah sebagai berikut :

Gambar 1. Konsep MVC[5]

Index.php merupakan fornt controller atau file yang berhubungan langsung

dengan user. Pada saat user membuka index.php dan melakukan request, maka

akan dicek melalui router alamat yang dimasukkan oleh user tersebut. Apabila

ada cache data, maka akan langsung menuju Caching dan kembali lagi ke user.

Apabila pada cache tidak ada, maka akan diteruskan ke security untuk

memvalidasi, menyaring dan mengamankan informasi yang masukkkan user

(apabila ada). Security informasi tersebut dikirim ke application controller. Di

application controller informasi dan data akan diolah. Apabila diperlukan,

Page 9: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

9

application controller akan berhubungan dengan models, libraries, helpers,

plugins atau skrip lainnya. Aplication controller akan mengirimkan respon ke

view untuk ditampilkan ke user. View akan disimpan di cache bila berikutnya

melakukan request yang sama, sehingga mempercepat proses, setelah di cache,

maka akan ditampilkan informasi kepada user[6].

3. Metode dan Perancangan Sistem

Secara umum penelitian ini terbagi menjadi 4 tahapan penelitian yaitu : 1)

Identifikasi masalah dan pengumpulan data. 2) Perancangan sistem dan

perancangan aplikasi. 3) Implementasi dan pengujian sistem. 4) Laporan hasil

penelitian.

Tahapan pertama : Mengidentifikasi masalah yang dialami oleh sekolah

dasar, dalam pengumpulan data serta menganalisis data. Menganalisis harus

mengetahui permasalah yang dialami murid maupun guru. Tahap pengumpulan

data, didapatkan melalui wawancara oleh Bpk. Pramono sebagai kepala divisi

bidang TI salah satu karyawan Dinas Komunikasi yang mengurus program

internet sehat.

Tahapan kedua : perancangan sistem dan pembuatan aplikasi. Dilakukan

perancangan system yang akan dibuat sesuai data yang sudah di kumpulkan pada

tahap yang pertama. Perancangan proses dalam system dilakukan dengan

menggunakan Unified Modelling Language (UML), mengenai proses dalam

system yang akan dibangun. Apabila tahap perancangan selesai kemudian

dilakukan pengimplementasi system, yaitu membangun aplikasi sesuai dengan

kebutuhan system berdasarkan perancangan system yang telah dilakukan.

Tahap ketiga : implementasi dan pengujian aplikasi. Pada tahapan ini

menguji aplikasi yang sudah dibangun, serta menganalisis hasil pengujian untuk

melihat apakah aplikasi yang telah dibangun sudah sesuai dengan diharapankan.

Tahapan keempat : laporan hasil penelitian. Pada tahapan terakhir ini

dilakukan dokumentasi proses dari tahapan pertama hingga tahapan keempat,

dalam bentuk tulisan

Proses pembuatan aplikasi dilakukan dengan cara pengkodean, sebelum

melakukan pengkodean akan dilakukan perancangan sistem dalam bentuk UML.

Identifikasi Masalah dan Pengumpulan Data

Perancangan Sistem dan

Pembuatan Aplikasi

Implementasi dan Pengujian Aplikasi

Gambar 1. Tahapan Penelitian

Laporan Hasil Penelitian

Page 10: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

10

UML yang dibuat meliputi use case diagram, activity diagram, sequence

diagram, activity diagram dan class diagram. Berikut ini dijelaskan masing-

masing diagram yang telah dibuat.

Gambar 2. Use Case Diagram Ujian Online

Gambar 2 merupakan use case dari aplikasi ujian online. Aplikasi tersebut

memiliki 3 aktor, pertama admin, kedua guru dan ketiga siswa. Aktor admin

memiliki hak akses kelola data guru, kelola data siswa dan kelola hasil ujian.

Admin dapat menambah guru/siswa, mengubah data guru/siswa, menghapus

guru/siswa dan melihat hasil ujian. Aktor guru memiliki hak akses kelola data

siswa, kelola data soal dan kelola hasil ujian. Guru dapat menambah siswa/soal,

mengubah data siswa/soal, menghapus siswa maupun soal yang telah dibuat dan

melihat hasil ujian. Aktor siswa memiliki hak akses untuk kerjakan soal yang

telah dibuat oleh guru, dan melakukan pendaftar secara online.

Gambar 3. Activity Diagram

View Data Pegawai

Delete Data PegawaiUpdate Data Pegawai

Insert Data Pegawai

Insert Soal

Delete Soal

Update Soal

View SoalView Data Siswa

Delete Data Siswa

Update Data SiswaInsert Data Siswa

Mendaftar Online

Kerjakan Soal

<<extend>>

Siswa

Kelola Data Soal

<<extend>>

<<extend>>

<<extend>><<extend>>

Guru

Kelola Data Pegawai

<<extend>><<extend>>

<<extend>><<extend>>

Kelola Hasil Ujian

Kelola Data Siswa

<<extend>> <<extend>>

<<extend>>

<<extend>>Admin

View Hasil Ujian

<<extend>>

MulaiSiswa Login Pilih Soal yang akan

dikerjakan telebih dahulu

Mengerjakan Soal Sesuai

Dengan Ketentuan Waktu

Selesai

Mengerjakan

Siswa Logout

Selesai

Page 11: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

11

Gambar 3 merupakan activity diagram yang menggambarkan alur pengerjaan soal

ujian yang dilakukan oleh siswa. Proses pertama yang dilakukan ialah login

dengan username dan password. Tahap yang kedua siswa dapat memilih

matapelajaran yang akan di kerjakan telebih dahulu. Tahap ketiga siswa

mengerjakan soal dengan ketentuan waktu yang diberikan oleh guru. Proses

keempat siswa dapat menyudahi pengerjaan soal, apabila sudah mengerjakan

semua soal yang diberikan. Proses yang terakhir, siswa dapat keluar dari akun

ujian online.

Gambar 4. Class Diagram Ujian Online

Gambar 4 merupakan class diagram ujian online. Pada class diagram terdapat 4

controller yang mengontrol proses pengelola data, yang pertama controller guru,

controller soal, controller siswa dan controller hasil ujian. Pada class diagram

memiliki 4 user interface, pertama user interface guru, user interface soal, user

interface siswa dan user interface hasil ujian. Pada class diagram juga memiliki 4

entity, pertama entity guru, kedua entity soal, ketiga entity siswa dan yang terakhir

entity hasil ujian.

Page 12: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

12

Gambar 5. Sequence Diagram Menambah Data Siswa

Gambar 5 merupakan sequence diagram menggambarkan proses menambah data

siswa oleh admin. Proses pertama menampilkan data siswa, proses ke dua admin

akan request atau meng-input untuk penambahan data siswa melalui form

pengolahan data siswa. Proses ketiga system akan mengambil data yang telah di

request dan data yang telah diambil oleh system akan disimpan ke dalam

database. Proses keempat data yang tersimpan akan ditampilkan ke data siswa.

Tahap kelima proses penambahan siswa selesai.

Gambar 6. Desain Interface Soal Ujian Online

: Admin : Admin

: datasiswa_UI : datasiswa_UI :

mengelolaDataSiswa_Controller

:

mengelolaDataSiswa_Controller

: dataSiswa_Entity : dataSiswa_Entity

1. data siswa

2. input/cek data siswa

4. view data siswa

5. selesai

3. insert data siswa

Page 13: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

13

Gambar 7 merupakan desain interface untuk siswa melakukan proses ujian ujian.

Siswa dapat mengerjakan soal dengan memilih soal yang sudah di tentukan,

dalam pengerjaan soal siswa memiliki batasan waktu pengerjaan. Jika siswa telah

selesai mengerjakan siswa dapat mengklik finish dan ujian akan berakhir jika

waktu habis. Siswa dapat keluar dari aplikasi online dengan mengklik bottom

logout.

Gambar 7. Arsitektur Sistem Ujian Online

Gambar 8 merupakan desain arsitektur sistem ujian online. Pada Gambar 8

memiliki user sebagai pengoperasi aplikasi. Controller bertugas sebagai perantara

antara model dan view, untuk mengangapi request dari user. Model disini

menggambarkan struktur dari database, yang bertujuan untuk meberikan data

sesuai request dari controller. View menggambarkan suatu informasi berupa

tampilan kepada user, dengan kata lain view akan tampilkan segala informasi,

yang di reques oleh user kepada controller dan model.

4. Hasil dan Pembahasan

Hasil dari penelitian ini merupakan aplikasi ujian online berbasis website.

Framework CodeIgniter dipilih karena menggunakan menggunakan metode

model, view, controller serta fitur tambahan helper.

Page 14: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

14

Gambar 8. Index Siswa Mulai

Gambar 8 merupakan view dari tampilan utama siswa. Gambar 8 tampilan

nama tes yang akan diikuti siswa. Siswa akan melihat nama tes yang akan diikuti,

nama matapelajaran, jumlah soal yang akan dekerjakan dan waktu pengerjaannya,

jika siswa sudah mengikuti ujian dan kembali nilai dari siswa akan keluar. Pada

bottom mulai ditandakan siswa akan memulai ujian.

Gambar 9. Index Siswa Hasil

Gambar 9 merupakan view dari tampilan index siswa hasil. Gambar 9 dan

Gambar 8 merupakan tampilan sama, hanya membedakan pada nilai dan aksi.

Pada Gambar 9 menujukan siswa telah mengikuti ujian dan nilai akan keluar

beserta bottom berubah menjadi hasil ujian.

Kode Program 1 controller data ujian

Kode Program 1 merupakan bagian proses dalam menampilkan data ujian

seperti pada Gambar 8. Pada baris 1-4 merupakan pengecekan status login, jika

status login sebagai siswa akan memanggil index siswa. Baris ke 5-7 adalah

1. public function index(){

2. $cek = $this->session->userdata('logged_in');

3. $status = $this->session->userdata('status');

4. if(!empty($cek) && $status=='siswa')

{

5. $a['nama'] = $this->session->userdata('nama');

6. $a['status'] = $this->session->userdata('status');

7. $a['username'] = $this->session->userdata('username');

8. $a['data'] = $this->web_app_model-

>ikut('tb_test_guru');

9. $this->load->view('siswa/index',$a);

}

10. else

{

11. header('location:'.base_url().'index.php/web');

}

}

Page 15: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

15

session untuk mendeklarasikan nama, status dan username dengan nama variable

array $a. Baris 8 mendeklarasikan variable array untuk memanggil tb_test_guru,

dari model web_app_model dengan function ikut. Pada baris 9 untuk meng-load

tampilan index siswa. Baris ke 10-11 akan kembali ke lokasi web atau tampilan

login, jika statusnya bukan sebagai siswa.

Kode Program 2 model data ujian

Kode Program 2 merupakan kode pemanggilan data ujian dari model ke

dalam database. Baris 1 mendeklarasikan pemanggilan data ujian siswa agar

dapat ditampilkan berdasarkan id siswa yang mengikuti ujian. Pada baris 2-3

merupakan proses pemanggilan data ujian yang diikuti siswa, untuk memanggil

isi tabel tb_test_guru dan nama dari tabel tb_mapel. Baris 4-9 memanggil isi dari

tabel tb_ujian jika sudah mengikuti ujian dan akan memanggil tabel tb_soal jika

belum mengikuti ujian.

Gambar 10. Tampilan soal siswa

Gambar 10 merupakan view dari tampilan soal yang akan dikerjakan siswa.

Pada tampilan soal siswa dapat dilihat keterangan sisa waktu yang dikerjakan, jika

waktu habis maka akan keluar dari soal, dan akan keluar hasil seperti pada

Gambar 11. Bottom selesai ujian menunjukan jika siswa telah selesai mengerjakan

1. 1. public function ikut() {

2. return $this->db->query("SELECT tb_test_guru.*,

tb_mapel.nama AS mapel,

3. (SELECT COUNT(id)

4. FROM tb_ujian WHERE tb_ujian.id_user AND tb_ujian.id_tes =

tb_test_guru.id) AS sudah_ikut,

5. (SELECT nilai FROM tb_ujian

6. WHERE tb_ujian.id_user AND tb_ujian.id_tes =

tb_test_guru.id) AS nilai FROM tb_test_guru

INNER JOIN tb_mapel ON tb_test_guru.id_mapel = tb_mapel.id

7. WHERE id_mapel IN

8. (SELECT id_mapel FROM tb_mapel_siswa WHERE id_siswa)

9. ORDER BY tb_test_guru.id ASC")->result();

}

Page 16: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

16

dan ingin meng-akhiri proses ujian dapat meng-klik bottom selesai ujian. Pada

Gambar 10 terdapat juga soal dan juga terdapat bottom next dan back.

Kode Program 3 controller dan model hitung nilai

Kode Program 3 merupakan controller dan model untuk menghitung nilai

dari hasil pengerjaan soal ujian siswa. Pada baris 1-4 adalan mendefinisikan

variable uri. Baris 5 merupakan model berfungsi untuk mengambil data dari

database pada table tb_siswa. Baris 6 merupakan pendeklarasian simpan_akhir,

yang akan di eksekusi jika siswa telah mengikuti ujian. Baris 7 merupakan

dafinisi uttuk pemanggilan json. Baris 8-11 adalah mengdeklarasikan variable

untuk menyesuaikan dengan ketepatan pemanggilan nilai yang bersangkutan.

Baris 12-15 merupakan pengulangan jika variable i sama dengan 1, variable i

lebih kecil dari pada jml_soal dan akan di tambah terus hingga jumlah soal yang

1. public function ikut_ujian() {

2. $uri2 = mysql_real_escape_string($this->uri->segment(2));

3. $uri3 = mysql_real_escape_string($this->uri->segment(3));

4. $uri4 = mysql_real_escape_string($this->uri->segment(4));

5. $a['detil_user'] = $this->web_app_model-

>detail_test("tb_siswa");

6. if ($uri3 == "simpan_akhir") {

7. $p = json_decode(file_get_contents('php://input'));

8. $jumlah_soal = $p->jml_soal;

9. $jumlah_benar = 0;

10. $jumlah_bobot = "";

11. $update_ = "";

12. for ($i = 1; $i < $p->jml_soal; $i++) {

13. $_jawab = "opsi_".$i;

14. $_tidsoal = "id_soal_".$i;

15. $jawaban_ = empty($p->$_jawab) ? "" : $p->$_jawab;

16. $cek_jwb = $this->db->query("SELECT bobot, jawaban

FROM m_soal WHERE id = '".$p->$_tidsoal."'")->row();

17. if ($cek_jwb->jawaban == $jawaban_) {

18. $jumlah_benar++;

19. $jumlah_bobot += $cek_jwb->bobot;

}

20. $update_ .= "".$p->$_tidsoal.":".$jawaban_.",";

}

21. $update_ = substr($update_, 0, -1);

22. $nilai = ($jumlah_benar/($jumlah_soal-1)) * 100;

23. $this->db->query("UPDATE tb_ujian SET jml_benar =

".$jumlah_benar.", nilai_bobot = ".$jumlah_bobot.", nilai

= '".$nilai."', list_jawaban = '".$update_."', status =

'N' WHERE id_tes = '$uri4' AND id_user");

$a['status'] = "ok"; $this->j($a); exit;

}

}

Page 17: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

17

ditentukan. Pada baris 16 mendeklarasikan variable untuk mengambil data bobot

dan jawaban dari table soal berdasarkan id. Baris 17-19 adalah melakukan

pengecekan jumlah benar dan bobot soal. Baris 22 merupakan variable nilai yang

mendefinisikan perhitungan dari variable jumlah soal dikurang 1 dibagi jumlah

yang benar dan di kali 100. Pada baris 23 merupakan query untuk menyimpan

data hasil dari jumlah benar, jumlah bobot, nilai dan list jawaban berdasarkan id

tes dan id user.

Kode Program 4 helper timer menghitung mundur

Kode Program 4 merupakan fungsi helper yang terhubung dengan

controller proses ujian siswa yang menampilkan waktu mundur. Helper

merupakan salah satu fitur framework CodeIgniter yang menyediakan berbagai

macam fungsi tambahan dalam pengolahan data. Pada baris 1 mendeklarasikan

pemanggilan menit. Baris ke 2 mendeklarasikan variable cetak, variable ini

menyesuaikan dengan permintaan dari guru. Baris 3-4 melakukan pengecekkan

jika nilai dari variable sama maka akan meng-eksekusi nilai dari variable cetak.

Pada baris 5-8 melakukan pengecekkan lagi jika nilai variable dari variable menit

lebih besar sama dengan 60 maka akan meng-eksekusi nilai dari variable cetak.

Pada baris 9 akan kembali ke variable cetak.

Gambar 11. Tampilan Hasil Ujian

Pada Gambar 11 merupakan view dari tampilan hasil ujian. Gambar 11

menampilkan dari hasil ujian yang telah dilaksanakan, tampilan ini adalah output

dari siswa. Tampilan ini memiliki description dari nama ujian yang di ikut, jumlah

jawaban yang benar dan nilai yang didapatkan.

1. function timer($menit) {

2. $cetak = "";

3. if ($menit < 60) {

4. $cetak = "00:".str_pad($menit, 2, "0",

STR_PAD_LEFT).":00";

}

5. else if ($menit >= 60) {

6. $mod = $menit % 60;

7. $bg = floor($menit / 60);

8. $cetak = str_pad($bg, 2, "0",

STR_PAD_LEFT).":".str_pad($mod, 2, "0",

STR_PAD_LEFT).":00";

}

9. return $cetak;

}

Page 18: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

18

Kode Program 5 controller hasil ujian

Kode Program 5 merupakan controller hasil ujian siswa pada saat siswa

selesai mengerjakan ujian online tersebut. Baris 1-4 merupakan variable definisi

uri segment. Baris 5-6 merupakan pemanggilan data dari table tb_ujian dan

tb_test_guru. Pada baris 7-8 melakukan pengecekan apabila isi dari hasil ujian

kosong maka akan di rederect ke proses pengerjaan soal siswa. Baris 9-10

merupakan pengecekan jika hasil dari ujian telah ada, maka akan menampilkan

data dari hasil ujian seperti pada Gambar 11. Pada baris 11 merupakan code yang

akan meng-load tampilan hasil.

5. Kesimpulan

Berdasarkan penelitian yang telah dilakukan, dapat disimpulkan bahwa

pengembangan sistem informasi akademik, berupa aplikasi ujian berbasis web

memudahkan siswa maupun guru dalam proses ujian berlangsung. Sistem ini

membantu guru mengurangi dalam kecurangan pada proses ujian berlangsung.

Aplikasi dapat juga mengurangi kesalahan guru dalam proses penghitungan nilai

siswa. Pada saat proses pengerjaan selesai siswa dapat melihat hasil nilai yang

dikerjakannya. Penggunaan teknologi framework PHP CodeIgniter juga

membantu developer dalam membangun dan mengembangkan website raport

online ini karena keunggulan framework CodeIgniter yakni struktur pemrograman

1. public function sudah_selesai_ujian() { 2. $uri2 = mysql_real_escape_string($this->uri->segment(2));

3. $uri3 = mysql_real_escape_string($this->uri->segment(3));

4. $uri4 = mysql_real_escape_string($this->uri->segment(4));

5. $b = $this->db->query("SELECT nilai, jml_benar,

tgl_selesai FROM tb_ujian WHERE id_tes = $uri3 AND

id_user AND status = 'N'")->row();

6. $c = $this->db->query("SELECT nama_ujian, jumlah_soal

FROM tb_tes_guru WHERE id_mapel AND id_guru")->row();

7. if (empty($b)) {

8. redirect('siswa/ikut_ujian/_/'.$uri3);

9. } else {

10. $a['data'] = "<div class='alert alert-info'>

Anda mengikuti Ujian :

<strong style='font-size: 16px'>".$c-

>nama_ujian."<br/></strong>

Jumlah jawaban yang benar :

<strong style='font-size: 16px'>".$b-

>jml_benar."<br/></strong>

Nilai yang didapatkan :

<strong style='font-size: 16px'>".$b-

>nilai."</strong>

</div>";

}

11. $this->load->view('siswa/hasil', $a);

}

Page 19: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

19

dengan metode MVC (Model-View-Controller) serta fitur tambahan seperti fitur

helper.

Saran pengembagan aplikasi ujian online ini diharapkan dapat

menambahkan fungsi untuk guru, dapat melihat hasil presentase kelemahan siswa

dalam pengerjaan soal. Pengembangan aplikasi diharapkan mengurangi bug yang

dilewatkan developer, juga pengembagan website menggunakan web responsive

design, dapat bermanfaat agar tampilan user interface lebih friendly user kepada

siswa maupun guru.

Page 20: Pengembangan Aplikasi Ujian Online Sekolah Dasar ...€¦ · Pengembangan Aplikasi Ujian Online Sekolah Dasar . Menggunakan . Framework. PHP . CodeIgniter. Artikel Ilmiah . ... merupakan

20

Pustaka

[1] Pengertian Dan Tujuan Pendidikan Di Sekolah Dasar. (2015).Dinas

Pendidikan. Retrieved from Dinas Pendidikan Kabupaten Bekasi website:

http://disdik.bekasikab.go.id/berita-pengertian-dan-tujuan-pendidikan-di-

sekolah-dasar.html

[2] Rahardja, Untung & dll. (2013). Aplikasi Campus Learning System iOU

(integrated Online Ujian) Dalam Mendukung Kegiatan iLearning Education

(iDu) Pada Perguruan Tinggi. Vol.7 No.3.

[3] Farid, Muhammad Ghufron. (2012). Analisis Dan Perancangan Sistem Ujian

Online Di Smp Muhammadiyah 2 Godean. Amikom website:

http://repository.amikom.ac.id/files/Naskah%20Publikasi_08.11.2463.pdf

[4] Silviana, Amelia Belinda & Thalib, Farid. (2013). Pengembangan Situs Web

sebagai Wadah Berbagi Jurnal Menggunakan Framework Codeigniter.

Gunadarma website:

http://library.gunadarma.ac.id/repository/view/3762751/pengembangan-situs-

web-sebagai-wadah-berbagi-jurnal-menggunakan-framework-

codeigniter.html/.

[5] Purbadian, Yenda. (2016). ‘Trik Cepat Membangun Aplikasi Web dengan

Framwork Codeigniter’. Yogyakarta : ANDI.

[6] Andika, Redenal. (2011). Penerapan CI(CodeIgniter) Dalam Pengembangan

Sistem Informasi Manajemen Surat dan Pengarsipan. Amikom website:

http://repository.uinjkt.ac.id/dspace/handle/123456789/5586