25
Otomatisasi Sistem Pendaftaran dan Penjadwalan Ujian Skripsi Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer Peneliti: Thomas Adhi Nugroho (672012053) Christine Dewi, S.Kom., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Juli 2016

Otomatisasi Sistem Pendaftaran dan Penjadwalan Ujian ...repository.uksw.edu/bitstream/123456789/11441/2/T1_672012053_Full... · Hasil dari penelitian ini sistem informasi yang dikembangkan

  • Upload
    vuhanh

  • View
    232

  • Download
    4

Embed Size (px)

Citation preview

Otomatisasi Sistem Pendaftaran dan Penjadwalan Ujian

Skripsi Fakultas Teknologi Informasi Universitas Kristen

Satya Wacana

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti:

Thomas Adhi Nugroho (672012053)

Christine Dewi, S.Kom., M.Cs.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Salatiga

Juli 2016

1

Otomatisasi Sistem Pendaftaran dan Penjadwalan Ujian

Skripsi Fakultas Teknologi Informasi Universitas Kristen

Satya Wacana

1) Thomas Adhi Nugroho, 2) Christine Dewi

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50771, Indonesia

Email: 1) [email protected], 2) [email protected]

Abstract

TA FTI UKSW division is one of the divisions that exist in the FTI UKSW charge of

handling the administration of the final project (TA). TA FTI UKSW division is still not

have a system for data processing mainly on the enrollment and exam scheduling.

Processing examinees data is still done using excel file, so prone to error. Scheduling the

exam itself is still done by checking the data one by one, so it takes a longer time about 2-3

days. In this research, registration and scheduling system will be built. The system is made

base on web applications with CodeIgniter framework. This system is developed using

prototyping methods with twice the evaluation process. The test results show that the

system of registration and scheduling system may help TA FTI UKSW division in data

processing and can speed up the scheduling process from 2-3 days to 1-2 minutes.

Keywords: Examination Scheduling, Examination Registration, CodeIgniter Framework,

FTI UKSW

Abstrak Bagian TA FTI UKSW merupakan salah satu dari divisi yang ada di FTI UKSW yang

bertugas menangani administrasi tugas akhir (TA). Bagian TA FTI UKSW saat ini masih

belum memiliki sistem untuk pengolahan data skripsi terutama pada bagian pendaftaran

dan penjadwalan ujian. Pengolahan data peserta ujian selama ini masih dilakukan dengan

menggunakan file excel, sehingga rawan terjadi kesalahan. Penjadwalan ujian sendiri

masih dilakukan dengan cara memeriksa data satu-persatu, sehingga membutuhkan waktu

yang lebih lama sekitar 2-3 hari. Pada penelitian ini dilakukan pengembangan sistem

untuk pendaftaran dan penjadwalan ujian. Sistem yang dikembangankan berupa aplikasi

berbasis web dengan Codeigniter sebagai framework. Sistem ini dikembangakan

menggunakan metode prototyping dengan dua kali proses evaluasi. Hasil pengujian sistem

menunjukan bahwa pengembangan sistem pendaftaran dan penjadwalan ini dapat

membantu bagian TA FTI UKSW dalam pengolahan data peserta ujian dan dapat

mempercepat proses penjadwalan dari 2-3 hari menjadi 1-2 menit.

Kata Kunci: Penjadwalan Ujian, Pendaftaran Ujian, Framework CodeIgniter, FTI

UKSW.

1) Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya

Wacana Salatiga. 2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga.

2

1. Pendahuluan

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana (FTI

UKSW) merupakan salah satu fakultas yang selalu dinamis dan berkembang. FTI

UKSW telah memiliki 10 program studi dengan 4000 mahasiswa dan 70 dosen [1].

Untuk memaksimalkan pelayangan kepada mahasiswa, FTI UKSW memiliki

beberapa bagian, salah satunya bagian Tugas Akhir. Kewajiban dari bagian Tugas

Akhir Fakultas Teknologi Informasi Universitas Kristen Satya Wacana (TA FTI

UKSW) adalah membantu administrasi mahasiswa skripsi, mulai dari pendaftaran

hingga yang terakhir yudisium.

Tugas Akhir (TA) merupakan syarat kelulusan bagi mahasiswa di FTI

UKSW. TA sendiri memiliki proses yang panjang, dan salah satu proses yang

penting di dalamnya adalah ujian. Tahap awal ujian TA dimulai dari pendaftaran

ujian, pembuatan jadwal hingga pengumuman jadwal ujian. Pendaftaran ujian di

FTI UKSW masih mengandalkan google form, kemudian data disimpan dalam

bentuk file excel. Data yang dihasilkan akan divalidasi terlebih dahulu oleh TA FTI

UKSW berdasarkan syarat yang sudah ditentukan. Data yang sudah tervalidasi

akan dikirimkan ke tiap progdi untuk kemudian ditentukan penguji untuk

masing-masing peserta ujian. Kemudian data tersebut dikembalikan lagi ke TA

FTI UKSW untuk pembuatan jadwal. Proses pembuatan jadwal dilakukan

dengan mencocokan satu persatu data dosen penguji dan pembimbing dengan

jadwal mengajar dosen, selain itu perlu juga memperhatikan data lain seperti data

ketersediaan ruangan ujian. Jadwal yang sudah dibuat akan diumumkan kepada

mahasiswa peserta ujian dan dosen.

Berdasarkan analisis yang dilakukan terhadap TA FTI UKSW pada proses

pendaftaran dan penjadwalan ujian didapatkan beberapa kekurangan. Pendaftaran

ujian masih belum memiliki sistem yang dapat mempermudah staff bagian TA FTI

UKSW untuk mengolah data, karena selama ini data tersimpan dalam bentuk file

excel,Sehingga pengolahan data akan menjadi lebih sulit dan rawan akan

kesalahan oleh karena itu diperlukan aplikasi yang dapat mempermudah

pengolahan data. Kemudian untuk proses penjadwalan ujian masih dilakukan

dengan mencocokan satu-persatu dari data yang ada, dengan pendaftar ujian tiap

periode rata-rata 150 mahasiswa dan hanya ditangani oleh 3 orang staff, membuat

proses penjadwalan menjadi lebih lama sekitar 2-3 hari untuk proses

pengerjaannya, hal ini mengakibatkan terjadi keterlambatan pengumuman kepada

peserta ujian. Perlu sebuah sistem yang dapat menghasilkan jadwal yang sesuai

dengan kriteria yang ada di TA FTI UKSW secara cepat dan tepat.

Teknologi aplikasi sistem informasi merupakan sebuah teknologi interaktif

yang dapat digunakan sebagai sarana informasi yang dapat diakses oleh semua

pihak, baik pihak umum maupun pihak yang mempunyai hak akses [2]. Sebuah

organisasi seperti universitas memanfaatkan aplikasi sistem informasi untuk

memudahkan pekerjaan baik pegawai, dosen maupun mahasiswa. Berdasakan

penjelasan tersebut aplikasi ini nantinya diharapkan dapat membantu pengolahan

data peserta ujian agar lebih mudah dan juga dapat menghasilkan jadwal ujian

yang sesuai dengan kriteria yang dimiliki Bagian TA FTI UKSW. Aplikasi yang

akan dikembangkan dalam sistem ini nantinya akan beberbentuk aplikasi berbasis

3

web dan menggunakan framework Codeigniter (CI) sebagai kerangka kerjanya,

untuk tampilan menggunakan Materialize CSS, untuk kalender menggunakan

library fullCalendar.js, dan yang terakhir database yang digunakan adalah

MySQL. CI dipilih karena CI tergolong sebagai framework yang ringan jadi tidak

memberikan beban berlebih pada server. CI juga sudah mendukung Model View

Controller (MVC), sehingga pengembangan aplikasi menjadi lebih terstruktur.

Framework CodeIgniter juga memiliki keunggulan dibanding

framework-framework lainnya seperti mudah dimodifikasi dan beradaptasi,

dokumentasi lengkap dan jelas, serta learning curve rendah [3].

Berdasarkan latar belakang yang telah dijelaskan, didapatkan rumusan

masalah dari penelitian ini yaitu bagaimana membuat sistem yang dapat membantu

bagian TA FTI UKSW dalam mengolah data peserta ujian, terutama pada bagian

pendaftaran dan penjadwalan ujian. Fokus dari penelitian ini sendiri adalah

menyelesaikan permaslahan yang dihadapi oleh bagian TA FTI UKSW, sehingga

penelitian ini sendiri memiliki batasan dalam pembahasan. Batasan tersebut antara

lain, proses penjadwalan tidak menggunakan algoritma tertentu, tidak membahas

mengenai keamanan data dan aplikasi yang dikembangkan digunakan untuk

menyelesaikan permasalahan yang terjadi di bagian TA FTI UKSW.

2. Kajian Pustaka

Penelitian mengenai sistem informasi Tugas Akhir (TA) telah dilakukan

sebelumnya. Salah satunya adalah penelitian mengenai pengembangan sistem

informasi kerja praktek dan tugas akhir yang diimplementasikan di fakultas sistem

komputer. Penelitian ini membahas mengenai pengembangan sistem informasi

yang dapat memudahkan staff administrasi kerja praktek dan tugas akhir dalam

mengolah data. Hasil dari penelitian ini sistem informasi yang dikembangkan

dapat bekerja dengan baik sehingga proses administrasi kerja praktek dan tugas

akhir dapat dilakukan dengan lebih mudah [4].

Penelitian kedua adalah penelitian yang membahas mengenai penjadwalan.

Penelitian ini membahas mengenai penyelesaian masalah penjadwalan dengan

menerapan Constraint Satisfaction Problem sebagai pendekatan solusi. Hasil dari

penelitian ini menujukan bahwa hasil dari jadwal yang dibuat dapat digunakan

untuk jadwal jaga staff laboratorium [5].

Penelitian ketiga adalah penelitian mengenai pengembangan sistem

penjadwalan yang digunakan untuk menjadwalkan ujian pascasarjana di

Universitas Diponegoro. Penelitian ini memiliki tujuan untuk mempermudah

pengolahan data sehingga lebih efisien. Hasil dari penelitian ini adalah sistem

yang diimplementasikan dapat membantu pekerjaan dari staff yang memiliki

tugas untuk membuat jadwal ujian [6].

Jika dibandingkan pada penelitian sebelumnya penelitian ini berfokus pada

hasil dari penjadwalan, sehingga pembahas mengenai bagaimana permasalahan

penjadwalan ini diselesaikan tidak dibahas pada penelitian ini . Selain itu fokus

dari penelitian ini adalah bagaimana menyelesaikan permasalahan yang terjadi di

TA FTI UKSW mengenai pengolahan data skripsi, terutama pada bagian

pendaftaran dan penjadwalan ujian. Sehingga hasil yang diharapkan dari

penelitian ini adalah sistem dapat meningkatkan kinerja TA FTI UKSW agar

4

lebih optimal.

Web application adalah software yang dijalankan melalaui web server. Tidak

seperti aplikasi desktop yang dapat dijalankan secara langsung melalui sistem

operasi, web application hanya bisa diakses melalui web browser. Web

application ini meiliki beberapa keuntungan dibandingkan dengan aplikasi

desktop, yaitu dia bisa dijalan kan dimapun tidak peduli apapun sistem operasi

yang menjalankannya, asalkan terdapat web browser aplikasi ini dapat berjalan

dengan baik [7].

PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada saat

tersebut PHP adalah sekumpulan script yang digunakan untuk mengulah data dari

form dari suatu web. Berbeda dengan javascript yang eksekusinya dilakukan di

browser (client) PHP dijalankan di dalam server. Karena berjalan di server maka

PHP biasanya digunakan sebagai back-end untuk mengakses data yang ada dalam

database seperti MySQL, Oracle, dan lain sebgainya [8].

MySQL adalah sebuah implementasi dari sistem manajemen basis data

relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL

(General Public License). Setiap pengguna dapat secara bebas menggunakan

MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan

produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan

salah satu konsep utama dalam basis data yang telah ada sebelumnya;

SQL(Structured Query Language). SQL adalah sebuah konsep pengoperasian

basis data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang

memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis

[9].

Framework dapat diartikan sebagai alat yang digunakan untuk membantu

dan memudahkan dalam pembuatan aplikasi dalam konteks ini adalah aplikasi

web. Framework juga dapat didefinisikan sebagai kumpulan script (terutama class

dan function) yang dapat membantu developer dalam menangani berbagai masalah

dalam pemrograman seperti koneksi ke database, pemanggilan variable dan

fungsi-fungsi lainnya sehingga developer dapat lebih fokus dan lebih cepat

membangun aplikasi [10]. Sebuah framework umumnya telah menyertakan

perintah-perintah siap pakai yang dibutuhkan dalam membuat suatu aplikasi,

namun pihak developer tetap harus menulis kode sendiri dan harus menyesuaikan

dengan lingkungan framework yang digunakan.

CodeIgniter (CI) adalah salah satu framework PHP yang tangguh dan

popular. CodeIgniter tergolong framework dengan ukuran kecil dan cukup mudah

dikuasai. CI juga datang dengan manual yang tergolong lengkap. CodeIgniter

merupakan aplikasi sumber terbuka yang berupa framework PHP dengan model

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

menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi

web dengan cepat mudah dibandingkan dengan membuatnya dari awal.

CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah

versi 3.0.6 [11].

5

3. Metode dan Perancangan Sistem

Penelitian ini dilakukan dan diselesaikan melaui 5 tahapan penelitian yaitu :

1) Analisis Kebutuhan dan pengumpulan data. 2) Perancangan sistem. 3)

Perancangan aplikasi / program. 4) Implementasi dan pengujian sistem serta

analisis hasil pengujian. 5) Penulisan laporan hasil penelitian [12].

Tahapan-tahapan yang dilakukan dalam penelitian ini dapat dilihat pada Gambar 1.

Gambar 1. Tahapan Penelitian

Berdasarkan bagan pada Gambar 1 dapat dijelaskan bahwa tahapan

penelitian yang dilakukan adalah sebagai berikut: Tahap pertama analisis

kebutuhan dan pengumpulan data, dimana pihak pengembang mencari informasi

mengenai kebutuhan dari pengguna yang berhubungan dengan pembuatan

aplikasi. Pencarian informasi dilakukan dengan cara wawancara secara langsung

kepada staff TA FTI UKSW. Berdasarkan hasil dari wawancara yang dilakukan

didapatkan informasi bahwa saat ini masih belum ada sistem yang digunakan

untuk mengelola data ujian. Selain itu sistem untuk melakukan penjadwalan ujian

juga belum ada, sehingga proses pembuatan jadwal memakan waktu yang cukup

lama sekitar 2-3 hari. Untuk tahap kedua, ketiga dan keempat dilakukan

perancangan sistem pendaftaran dan penjadwalan ujian menggunakan metode

pengembangan sistem Prototype. Untuk tahap kelima dilakukan penulisan laporan

ilmiah dan artikel ilmiah.

Metode pengembangan sistem yang digunakan pada penelitian ini adalah

metode Prototyping, karena selama proses pengembangan dilakukan komunikasi

secara intensif antara pengembang dengan pengguna. Metode ini membantu proses

pengembangan suatu perangkat lunak dengan cara membuat model dari perangkat

lunak yang akan dibuat. Pengembagan perangkat lunak dengan metode ini

dilakukan secara bertahap, yaitu dengan membuat prototype yang sederhana

terlebih dahulu, setelah itu prototype akan dikembangkan dari waktu ke waktu

hingga perangkat lunak selesai dikembangkan atau sudah sesuai dengan kebutuhan

dari pengguna [13]. Tahap-tahap yang dilakukan pada metode prototype

ditunjukan pada Gambar 2.

6

Gambar 2 Metode Prototype [13]

Tahap pertada dalam metode Prototype adalah listen to customer, tahap ini

dilakukan untuk mengetahui informasi mengenai kebutuhan pengguna yang perlu

ada dalam sistem yang akan dikembangkan. Kemudian informasi yang sudah

didapatkan dianalisa dan diterjemahkan ke dalam bentuk yang lebih mudah untuk

diimplementasikan kedalam sistem.

Bedasarkan informasi yang telah diperoleh dari wawancara dengan staff TA

FTI UKSW didapatkan beberapa informasi salah satunya adalah rule atau aturan

yang harus dipenuhi untuk membuat jadwal ujian. Aturan itu antara lain : a. Semua

peserta ujian harus di jadwalkan, b. dosen baik pembimbing maupun penguji harus

hadir pada saat ujian berlangsung, c. terdapat ruang yang dapat digunakan.

Berdasarkan rule yang sudah didapatkan dapat dibuat Flowchart untuk

penjadwalan ujian seperti yang terlihat pada Gambar 3 START

PU = getPesertaUjianRU = getRuangUjian

dow = 1tgl = start_ujian

IFPU != null

&&RU != null

END

IFRU.hasNext()

Dow +=1

IFdow > 5

dow = 0;tgl += 3 day

tgl += 1 day

Y

N

N

J = 08:00 J <= 14:30Y

N

IFJ < RU.jadwalRuang

< (j+90)

Y

J += 60 minN

IFPU.next()!=null

Y

IFJ <

PU.jadwalDosen< (J+90)

Y

N

N

tambahJadwal(PU.next());

unset(PU.next())

J += 90 min

Gambar 3 Flowchart Penjadwalan Ujian

Dari Gambar 3 terlihat bahwa ketika melakukan penjadwalan yang pertama

kali diperiksa adalah data peserta ujian dan data ruangan, jika salah satu dari dua

7

data tersebut kosong maka proses akan dihentikan secara langsung. jika tidak

proses akan berlanjut ke pemeriksaan jadwal ruangan. Pemeriksaan ini untuk

melihat apakah ada jam tersebut ruangan sedang dipakai atau tidak. Proses

pengecekan di lakukan dengan memeriksa tiap jam yang tersedia mulai dari jam

08:00 sampai pukul 16:00 dan tiap ujian dilakukan selama 90 menit. Jika terjadi

bentrok antara waktu pelaksanaan dengan jadwal ruang maka akan dilakukan

pengecekan pada jam berikutnya dengan menambah 1 jam. Jika tidak ada masalah

maka dilakukan langkah selanjutnya yaitu pengecekan jadwal dosen baik

pembimbing (1 & 2) juga penguji (1, 2 & cadangan), proses pengecekan dilakukan

secara menyeluruh dari data peserta ujian hingga mendapat data yang sesuai.

Kemudian data yang sesuai akan dimasukan ke jadwal ujian, jika tidak ditemukan

maka akan mencari lagi di jam yang berbeda.

Analisis kebutuhan perangkat keras dan spesifikasi perangkat lunak yang

digunakan dalam membangun jurnal elektronik ini yaitu: analisis perangkat

keras yang akan digunakan adalah Processor AMD A10, 1.90 GHz, RAM 8 GB

dan Hardisk 1 TB. Sedangkan perangkat lunak yang digunakan adalah sistem

operasi Linux Ubuntu 16.04, Sublime Text 3, LAMP Server (Apache, MySQL,

PHP), Web browser (dalam penelitian ini digunakan Opera) dan Rational Rose

untuk membuat UML dan Microsoft Visio 2010 untuk pembuatan flowchart.

Perancangan sistem dalam penelitian ini dibuat dalam bentuk diagram UML.

Diagram UML meliputi use case diagram, activity diagram dan class diagram.

Berikut ini akan dijelaskan masing-masing diagram yang telah dibuat.

Gambar 4 Use Case Diagram

Gambar 4 merupakan use case yang menjelaskan bagaimana aplikasi akan

dibuat. Sistem ini memiliki tiga aktor yaitu administrator(TA), mahasiswa dan

progdi. Aktor mahasiswa memiliki hak akses untuk melakukan registrasi ujian dan

8

melihat jadwal ujian yang sudah selesai dibuat. Selanjutnya administrator (TA FTI

UKSW), disini administrator memiliki hak akses paling tinggi, sehingga dapat

melakukan pengelolaan data peserta, jadwal dosen, ruangan, dan membuat jadwal

ujian. Aktor terakhir adalah progdi yang memiliki hak akses untuk menentukan

penguji.

Gambar 5 Activity Diagram Pendaftaran Ujian

Gambar 5 merupakan activity diagram yang menggambarkan proses

pendaftaran ujian yang dilakukan oleh mahasiswa. Aktivitas dimulai dari

mahasiswa login kedalam sistem terlebih dahulu, jika user sudah terdaftar maka

akan menampilan tampilan utama jika tidak maka akan dikembalikan ke tampilan

login. Kemudian user masuk ke menu daftar ujian dan mengklik tombol Daftar,

maka secara otomatis aplikasi akan mengambil data dari user kemudian

menyimpannya kedalam data peserta ujian.

Gambar 6 Activity Diagram Validasi Pendaftaran

Gambar 6 merupakan activity diagram untuk memeriksa apakah pendaftaran

ujian sudah valid atau belum. Kondisi valid akan terpenuhi apabila mahasiswa

sudah mengumpulkan semua persyaratan yang dibutuhkan. Bagian ini dilakukan

oleh user TA FTI UKSW (administrator). Aktivitas dimulai dengan login ke

dalam aplikasi kemudian diverifikasi oleh sistem. Kemudian aplikasi akan

9

menampilkan data pendaftar ujian yang sudah masuk, jika user memilih salah satu

data maka akan ditampilkan daftar persyaratan yang harus dikumpulkan.

Selanjutnya user memasukan data persyaratan, jika sudah klik simpan maka data

akan disimpan dalan sistem.

Gambar 7 Activity Diagram Penentuan Penguji

Gambar 7 merupakan activity diagram untuk mententukan dosen penguji

yang dilakukan oleh progdi. Aktivitas dimulai dengan login ke aplikasi yang

kemudian di verifikasi oleh sistem. Kemudian aplikasi akan menampilkan data

peserta ujian yang sudah tervalidasi sebelumnya. Penentuan penguji dilakukan

dengan memilih salah satu data, kemudian aplikasi akan memunculkan form untuk

memasukan nama penguji yang sesuai. Setelah selesai sistem akan menyimpan

perubahan yang sudah dilakukan.

Gambar 8 Activity Diagram Penjadwalan Ujain

Gambar 8 merupakan activity diagram penjadwalan ujian yang dilakukan

oleh TA FTI UKSW (administrator). Aktivas dimulai dengan login, ketika

10

berhasil maka akan memunculkan tampilan utama aplikasi. Administrator

selanjunya memilih menu penjadwalan ujian. Kemudian administrator menekan

tombol generate, secara otomatis sistem akan membuat jadwal ujian. Jadwal ujian

yang sudah di generate akan di tampilkan ke halaman aplikasi.

Gambar 9 Class Diagram

Gambar 9 merupakan penggambaran dari class-class yang ada di dalam

aplikasi yang akan dikembangkan. Berdasarkan pada Gambar 9 terdapat 2 jenis

class yang digunakan yaitu class model dan class controller. Class model

digunakan untuk melakukan komunikasi antara aplikasi dengan database,

sedangkan class controller digunakan untuk mengolah data dari model dan

menampilkannya pada user interface. Class model dalam aplikasi ini memiliki 5

class yaitu : ModelUjian, ModelJadwalMengajar, ModelJadwalRuang,

ModelJadwalDosen dan ModelJadwalUjian. Untuk class controller terdiri dari 6

class yaitu controller_JadwalRuang, controller_JadwalKuliah,

controller_JadwalUJian, controller_ujian_mhs, controller_ujian_TA dan

controller_ujian_progdi. Class-class tersebut mengikuti struktur dari Codeigniter

(CI) yang menerapkan MVC (Model View Control), untuk bagian view tidak

dimasukan kedalam class diagram karena view disini tidak memiliki class dan

hanya berisi tag HTML.

4. Hasil Implementasi dan Pembahasan

User yang digunakan ada tiga yaitu administrator (bagian TA), mahasiswa

dan progdi (Program Studi) dengan hak akses yang berbeda. Administrator dapat

melakukan validasi pendaftaran dan pembuatan jadwal ujian. Mahasiswa hanya

dapat mendaftar dan progdi dapat menentukan penguji.

Mahasiswa yang sudah menyelesaikan skripsi, mereka dapat melakukan

pendaftaran dengan masuk ke halaman pendaftaran ujian seperti pada Gambar

10. Tombol Daftar digunakan untuk melakukan pendaftaran. Data yang dikirmkan

berasal dari data pendaftaran skripsi dari sistem yang berbeda dan tidak dibahas

11

pada jurnal ini. Data yang sudah disimpan dapat dilihat oleh administrator atau

Bagian TA FTI UKSW seperti pada Gambar 11.

Gambar 10 Pendaftaran Ujian

Gambar 11 Halaman List Calon Peserta Ujian

Gambar 11 merupakan halaman yang menampilkan daftar dari calon peserta

ujian yang sudah mendaftar. Daftar didunakan untuk melakukan validasi

pendaftaran, jika pendaftar sudah melakukan verifikasi maka kolom status akan

diisi valid, jika tidak akan berisi invalid.

Gambar 12 Form Verifikasi Pendaftaran Ujian

Gambar 12 merupakan tampilan dari form untuk melakukan validasi

pendaftaran. Proses validasi sendiri dilakukan dengan memeriksa kelengkapan

syarat pendaftaran ujian.

12

Gambar 13 Form Penentuan Penguji

Gambar 13 merupakan tampilan dari form penentuan penguji bagi tiap

peserta ujian. Penguji sendiri terdiri dari tiga orang yaitu penguji 1, penguji 2 dan

penguji cadangan. Untuk penguji cadangan bersifat optional, bisa diisi atau juga

boleh dikosongkan.

Gambar 14 Jadwal Mengajar Dosen

Gambar 14 merupakan tampilan dari Jadwal mengajar Dosen, data yang

ditampilkan disajikan mirip dengan tampilan google calendar menggunakan

library javascript fullcalendar.js. Jadwal yang ditampilkan sesuai dengan jadwal

dosen yang dipilih pada bagian combo box diatasnya. Kode Program 1 Memasukan Data ke Kalender

Kode Program 1 merupakan script yang digunakan untuk memasukan jadwal

ke dalam kalender. Variabel dataUrl pada baris 1 merupakan alamat dari controller

untuk mengambil data. Alamat url memiliki tambahan variable dengan nama data

yang berisi nip dari dosen yang dipilih, sehingga data yang dikembalikan oleh

controller sesuai dengan data yang diminta. Sedangakan pada baris 2 adalah fungsi

dari fullcaledar untuk memasukan event ke dalam kalender.

1. var dataUrl = 'http://kpta.ftiuksw.org/KPTA/JadwalKuliah/jadwalMakul/'+data; 2. $("#calendar").fullCalendar( 'addEventSource', dataUrl );

13

Gambar 15 Form Tambah Jadwal Mengajar

Gambar 16 Tambah Jadwal Mengajar dari File Excel

Terdapat dua buah cara yang dapat dilakukan untuk memasukan jadwal

mengajar dosen. Cara pertama yaitu memasukan jadwal satu-persatu melalui form

seperti pada Gambar 15. Cara yang kedua adalah dengan mengimport data dari file

excel (.xls,xlsx) seperti pada Gambar 16.

Gambar 17 Halaman Pengelolaan Ruang

Proses pengelolaan ruang memiliki tampilan yang sama dengan pengelolaan

jadwal mengajar dosen seperti yang ditunjukan pada Gambar 17. Pengelolaan

ruangan terdiri dari dua buah fungsi utama yaitu tambah ruangan dan tambah

jadwal ruangan.

Gambar 19 Form Tambah Jadwal Penggunaan Ruang

14

Gambar 19 merupakan form untuk menambahkan jadwal penggunaan

ruangan. Data penggunaan ruang berisikan nama kegiatan, ruangan yang dipakai,

dan jadwal mulai penggunaan dan akhir baik jam maupun tanggal pemakaian.

Kemudian data tersebut akan ditampilkan seperti yang terlihat pada Gambar 17.

Gambar 20 Halaman Jadwal UJian

Gambar 20 merupakan tampilan dari halaman penjadwalan ujian. Proses

penjadwalan dilakukan secara otomatis atau dibuat oleh aplikasi dengan cara

menekan tombol Generate Jadwal, sehingga TA FTI UKSW tidak perlu lagi

memeriksa dan mencocokan jadwal dosen dan ruangan satu-persatu. Kemudain

jadwal yang sudah dibuat oleh aplikasi akan ditampilkan dalam kalender di

bawahnya. Kode Program 2 Perulangan Mengambil Data Peserta

Perulangan yang diakukan pada Kode Program 2 dilakukan untuk

memastikan semua mahasiswa peserta ujian dijadwalkan. Variable $dow

merupakan representasi dari hari dalam minggu, dengan asumsi bahwa hari

minggu adalah 0 dan sabtu adalah 6. Setiap satu perulangan berlangsung akan

dilihat apakah sesuai dengan kondisi, jika dow<=5 maka dia akan ditambah 1, jika

tidak maka nilai dow dijadikan 0. Nilai dow ini digunakan untuk menentukan

tanggal selanjutnya jika dow sama dengan 5 maka hari akan bertambah 3, jika

tidak hari akan bertambah 1. Hal ini dilakukan agar hari ujian dimulai hari senin

dan berakhir pada hari jumat.

1. while ($dataPeserta != null) { 2. if ($dow<=5) {$dow++;}

3. else{$dow=0;}

4. if ($dow==5){$day=$day+3;} 5. else { $day++;}

6. ..... 7. }

15

Kode Program 3 Perulangan Mengambil Data Ruang

Kode Program 3 merupakan script untuk mengambil semua data ruangan

yang tersedia. Salah satu data yang diambil adalah jadwal penggunaan ruang dan

disimpan kedalam variable $jdw. Kode Program 4 Membuat Perkiraan Waktu Ujian

Kode Program 4 merupakan script yang digunakan untuk membangkitkan

kemungkinan waktu ujian. Perulangan pada baris 3 digunakan untuk memberi

batas waktu, dengan asumsi ujian dimulai jam 08:00 sampai jam 16:00, jika

waktu ujian adalah 90 menit maka kemungkinan ujian terakhir dilakukan adalah

pada pukul 14:30. Waktu mulai ujian di inisialisasi sebagai $j_start dan waktu

selesai adalah $j_end, dimana $j_end = $j_start + 90 min. Kemudian variable $buz

merupakan penanda kesalahan yang terjadi, jika tidak terjadi kesalahan ($buz=0)

maka waktu akan bertambah 90 menit ke jadwal selanjutnya, jika tidak maka

waktu hanya bertambah 60 min. Artinya pada proses ini akan memeriksa tiap jam

hingga didapat jadwal yang sesuai. Kode Program 5 Untuk Memeriksa Data Peserta Ujian

1. $idx = 0; 2. $jadwalDosen = array(); 3. while ($idx < count($dataPeserta)) { 4. if (isset($dataPeserta[$idx])) {

5. $pemb1 =

$this->cekDosen($dataPeserta[$idx]->pemb_1,$dow,$tgl,$j_start,$j_end);

6. if ($pemb1==0){

7. $temp = $this->setJadwalDosen();

8. array_push($jadwalDosen, $temp);

9. $pemb2 =

$this->cekDosen($dataPeserta[$idx]->pemb_2,$dow,$tgl,$j_start,$j_end);

10. if ($pemb2==0){ 11. $temp = $this->setJadwalDosen();

12. array_push($jadwalDosen, $temp);

13. $peng1 =

$this->cekDosen($dataPeserta[$idx]->peng_1,$dow,$tgl,$j_start,$j_end);

14. if ($peng1==0){ 15. $temp = $this->setJadwalDosen();

16. array_push($jadwalDosen, $temp);

17. $peng2 =

$this->cekDosen($dataPeserta[$idx]->peng_2,$dow,$tgl,$j_start,$j_end);

18. if ($peng2==0){ 19. $temp = $this->setJadwalDosen();

20. array_push($jadwalDosen, $temp);

21. $peng3 =

$this->cekDosen($dataPeserta[$idx]->peng_c,$dow,$tgl,$j_start,$j_end);

22. if ($peng3==0){ 23. $temp = $this->setJadwalDosen();

24. array_push($jadwalDosen, $temp);

25. $jdwUjian = array(

26. 'waktu' => $j_start."-".$j_end,

27. 'tanggal' => $tgl,

1. foreach ($listRuang as $ruang) {

2. $jdw = $this->getJadwalRuang($ruang->id_ruang,$tgl);

3. ....

4. }

1. $c = strtotime("08:00"); 2. $j = date("H:i",$c); 3. while ($j <= date("H:i",strtotime("14:30")) ) { 4. $buz=0;

5. $j_start = $j;

6. $j_end = date("H:i",strtotime('+90 minutes',strtotime($j)));

7. if ($buz==0) {

8. ........ 9. $c = strtotime('+90 minutes', $c);

10. $j = date("H:i", $c);

11. }else{ 12. $c = strtotime('+60 minutes', $c);

13. $j = date("H:i", $c);

14. } 15. }

16

Kode Program 5 digunakan untuk memeriksa jadwal dosen, agar dapat hadir

pada saat ujian. Proses dimulai dengan memanggil satu-persatu semua data peserta

ujian dan memeriksa tiap dosen yang ada baik penmbimbing 1,2 maupun penguji

1,2 dan cadangan. Jika pada saat pengecekan terjadi bentrok jadwal anta dosen

dengan waktu ujian maka proses akan berlanjut ke peserta berikutnya, hingga

mendapat data yang sesuai. Setiap data jadwal akan ditambahkan ke jadwal tiap

dosen yang hadir pada saat ujian agar tidak terjadi bentrok dengan jadwal lain.

Data jadwal juga di gunakan untuk memperbaharui data ujian. Kode Program 6 Untuk Memeriksa Jadwal Dosen

Kode Program 6 merupakan bagian dari Kode Program yang digunakan

untuk memriksa apakah jadwal dosen pada saat itu kosong. Baris 5 dan 6

18. if ($peng2==0){ 19. $temp = $this->setJadwalDosen();

20. array_push($jadwalDosen, $temp);

21. $peng3 =

$this->cekDosen($dataPeserta[$idx]->peng_c,$dow,$tgl,$j_start,$j_end);

22. if ($peng3==0){ 23. $temp = $this->setJadwalDosen();

24. array_push($jadwalDosen, $temp);

25. $jdwUjian = array(

26. 'waktu' => $j_start."-".$j_end,

27. 'tanggal' => $tgl,

28. 'tempat' => $ruang->nama_ruang

29. );

30. $this->db->insert_batch('tb_jadwal_dosen', $jadwalDosen);

31. $this->ModelJadwal->saveJadwalUJian($jdwUjian,$dataPeserta[$idx]->id);

32. 33. unset($dataPeserta[$idx]);

34. $dataPeserta=array_values($dataPeserta);

35. break;

36. }}}}}} 37. $idx++; 38. }

1. public function cekDosen($nip,$dow,$tgl,$s,$e) 2. { 3. $res = 0;

4. if ($nip!="") {

5. $data1 = $this->ModelJadwal->getJadwalMengajar($nip,$dow);

6. $data2 = $this->ModelJadwal->getJadwalDosen($nip,$tgl);

7.

8. $data = array_merge($data1,$data2);

9. 10. foreach ($data as $key) {

11. $start = date("H:i",strtotime($key->start));

12. $end = date("H:i",strtotime($key->end));

13. $nip = $key->nip;

14.

15. if ($s>=$start && $s < $end) {

16. $res=$res+1;

17. }

18. 19. if ($e>$start && $e <= $end) {

20. $res=$res+1;

21. }

22. }

23. } 24. return $res;

25. }

17

digunakan untuk mengambil jadwal dosen baik megajar ataupun jadwal lain.

Proses pencocokan dilakukan dengan membandingkan jadwal dosen dengan waktu

yang dibangkitkan sebagai perkiraan waktu ujian. Jika data terjadi bentrok antara

jadwal dosen dengan waktu ujian maka nilai pinalti akan bertambah jika tidak nilai

pinalti akan tetap. Nilai pinalti sendiri di representasikan pada variabel $res.

Pengujian aplikasi dilakukan dengan menguji fungsi-fungsi dari aplikasi

yang telah dibuat untuk mencari kesalahan/bug pada sistem. Pengujian aplikasi

dilakukan agar sistem yang dibuat berjalan sesuai dengan yang diharapkan dan

dapat memenuhi kebutuhan pengguna. Pengujian aplikasi ini menggunakan dua

teknik pengujian yaitu pengujian alpha dan pengujian beta.

Pengujian alpha menggunakan metode blackbox yaitu pengujian

fungsi-fungsi aplikasi secara langsung tanpa memperhatikan alur eksekusi

program. Pengujian ini dilakukan dengan memperhatikan apakah fungsi telah

berjalan sesuai rancangan dan sesuai yang diharapkan. Tabel 1 adalah hasil

pengujian dari aplikasi yang telah dilakukan. Tabel 1 Hasil Pengujian Blackbox

Fungsi yang diuji Kondisi Output yang

diharapkan

Output yang

dihasilkan sistem

Status

Pengujian

Login Username dan password

benar

Username dan password salah maupun kosong

Sukses login

Gagal login

Sukses login

Gagal login

Valid

Pendaftaran Ujian Click Button Daftar Sukses tambah data Sukses tambah data Valid

Menampilkan data pendaftar

Membuka halaman ujian oleh KPTA

Sukses tampilkan data Sukses tampilkan data

Valid

Validasi Pendaftaran Mengisi Checklist yang ada

di form

Sukses ubah data Sukses ubah data Valid

Menampilkan data

yang tervalidasi

Membuka halaman ujian

oleh Progdi

Sukses tampilkan data

pendaftar yang

tervalidasi

Sukses tampilkan

data pendaftar yang

tervalidasi

Valid

Penentuan Penguji Memilih Penguji Pada tiap

peserta

Menambah data

Penguji

Mengubah data Penguji

Menambah data

Penguji

Mengubah data Penguji

Valid

Menambah data ruang Mamasukan nama Raungan Sukses tambah Data

ruang

Sukses tambah Data

ruang

Valid

Menambah jadwal

ruang

Mengisi data jadwal

ruangan

Sukses tambah jadwal

ruang

Gagal tambah jadwal ruang

Sukses tambah

jadwal ruang

Gagal tambah jadwal ruang

Valid

Menampilkan jadwal

ruang

Membuka halaman jadwal

ruang

Data tampil dalam

kalender

Data tampil dalam

kalender

Valid

Menambah jadwal

Mengajar

Mengisi form jadwal

mengajar Mengimport file excel

Sukses input jadwal

mengajar Sukses import jadwal

mengajar

Sukses input jadwal

mengajar Sukses import

jadwal mengajar

Valid

Menampilkan jadwal mengajar dosen

Membuka halaman jadwal mengajar dosen

Data tampil dalam kalender

Data tampil dalam kalender

Valid

Generate Jadwal Ujian Memasukan tanggal mulai Sukses mengenerate

Jadwal

Sukses mengenerate

Jadwal

Valid

Menampilkan jadwal

ujian

Membuka halaman jadwal

ujian

Data tampil dalam

kalender

Data tampil dalam

kalender

Valid

Berdasarkan pengujian yang dilakukan pada aplikasi dapat dilihat status

pengujian dari setiap fungsi valid, maka disimpulkan bahwa aplikasi ini berjalan

dengan baik dan sesuai yang diharapkan. Pengujian beta adalah pengujian yang

dilakukan oleh orang yang tidak ikut dalam pembuatan aplikasi atau calon

pengguna aplikasi. Pengujian beta dilakukan dengan melakukan wawancara

kepada user yaitu staff bagian TA FTI UKSW. Hasil wawancara dengan staff

18

bagian TA FTI UKSW didapatkan beberapa hal. Menurut user, aplikasi yang

dikembangkan mudah untuk digunakan dan sesuai dengan kebutuhan dari user.

Tampilan dari aplikasi juga tidak terlalu rumit dan mudah dipahami. Kemudian

pengelolaan data pendaftaran ujian juga menjadi lebih mudah. Terakhir dengan

adanya fitur penjadwalan otomatis, proses penjadwalkan ujian menjadi lebih cepat,

dari yang biasanya membutuhkan waktu antara 2-3 hari dengan sistem ini hanya

diperlukan waktu kurang lebih 1-2 menit saja, fitur ini sangat membantu bagian

TA FTI UKSW. Berdasarkan hasil tersebut dapat disimpulkan bahwa aplikasi

yang dihasilkan dapat memenuhi kebutuhan dan membantu bagian TA FTI UKSW

pada proses pengolahan data peserta ujian.

5. Simpulan

Berdasarkan penelitian yang telah dilakukan maka dapat disimpulkan bahwa

dengan menggunakan otomatisasi sistem dapat mempercepat dan mempermudah

kerja bagian TA FTI UKSW khususnya dalam mengolah data peserta ujian, mulai

dari pendaftaran hingga pengumuman jadwal ujian. Sistem juga dapat

mempermudah bagian TA FTI UKSW dalam pengolahan data saat pembuatan

Jadwal ujian. Selain itu penggunaan framework CodeIgniter sangat bermanfaat

dalam pengembangan sistem dengan menggukan arsitektur Model View Controller

(MVC), karena proses pembuatan sistem menjadi lebih cepat.

Hasil dari pengujian juga menunjukan bahwa dengan adanya otomatisasi

sistem pendaftaran dan penjadwalan dapat meningkatkan kinerja dari bagian TA

FTI UKSW, terutama pada proses pembuatan jadwal ujian. Fitur pembuatan

jadwal ujian yang ada dalam sistem dapat mempercepat pekerjaan Bagian TA FTI

UKSW, dari yang sebelumnya 2-3 hari menjadi 1-2 menit.

6. Pustaka

[1] http://ftiuksw.org/gedung-fti, diakses tanggal 29 Juni 2016.

[2] Putra, Ferdian Sukarno, Purnama, Bambang Eka, Wardati, Indah Uly . 2013.

Pembangunan Sistem Informasi Pendaftaran Mahasiswa Baru Pada

Universitas Terbuka Pacitan, Indonesian Journal on Networking and

Security.

[3] Daqiqil, Ibnu. 2011. Framework CodeIgniter Sebuah Panduan dan Best

Practice.

[4] Kusumaningrum, Karlina, Fatchur Rochim, Adian & Kridalukmana, Rinta.

2013. Sistem Informasi Kerja Praktek dan Tugas Akhir Program Studi

Sistem Komputer, Jurnal Teknologi dan Sistem Komputer.

[5] Gunawan, Chandra Ari, & Toba, Hapnes. 2016. Pembangkitan Solusi

Penjadwalan Berprioritas Melalui Penerapan Constraint Satisfaction

Problem (Studi Kasus: Laboratorium Fakultas Teknologi Informasi

Universitas XXX). Jurnal Teknik Informatika dan Sistem Informasi.

[6] Setyani, Rizka Ella & Endah, Sukmawati Nur. 2014. Sistem Penjadwalan

Ujian Doktor pada Pascasarjana Universitas Diponegoro. Jurnal

Masyarakat Informatika.

19

[7] techterms.com,2014, Web Application, available :

http://techterms.com/definition/web_application, diakses pada 26 Maret

2016

[8] Kadir, Abdul, 2003, Pemrograman Web Mencakup: HTML, CSS, Javascript,

& PHP, Yogyakarta: Penerbit Andi

[9] Saputra, Agus, 2010, Step By Step Membangun Aplikasi dengan PHP dan

MySQL, Jakarta : elex media komputindo

[10] Isaknudin, Muhammad Surya. 2009. Apa dan mengapa Harus Framework,

http://www.kuliah-informatika.com/2009/10/framework-apa-dan-mengapa-

harus.html. Diakses tanggal 5 Januari 2015.

[11] Sofwan, Akhmad. 2007. Belajar PHP dengan Framework CodeIgniter. Ilmu

Komputer,

http://mcd.bis.telkomuniversity.ac.id/file/CodeIgniter/belajar-php-dengan-fr

amework-code-igniter.pdf. Diakses tanggal 1 Maret 2016.

[12] Hasibuan, Zainal A. 2007. Metodologi Penelitian Pada Bidang Ilmu

Komputer dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi. Jakarta :

Ilmu Komputer Univesitas Indonesia.

[13] Pressman, R.S. 2001. Software Enginering : A Practitioner's Approach.

Amerika Serikat : R.S. Pressman and Associates