APLIKASI PENJADWALAN UJIAN TUGAS AKHIR
BERBASIS WEB
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh:
Hilarius Haryo Tutuko 065314042
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
FINAL EXAM APPLICATION SCHEDULING BASED WEB
FINAL PROJECT
Presented As Partial Fulfillment Of The Requirements
To Obtain The Bachelor Computer Degree
In Informatics Engineering
Compiled By Hilarius Haryo Tutuko
065314042
INFORMATICS ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
HALAMAN PERSEMBAHAN
Skripsi ini dipersembahkan untuk :
Allah Bapa, Tritunggal Maha Kudus di Surga
Sumber segala berkat & rahmat dalam hidupku, segala karunia dalam hidupku berasal daripada-NYA.
Alfonsus Sulistyo Widodo dan Yulia Elizabeth Endang Probojati
Yang selalu memberikan kasih sayang, pengorbanan, dan segala doa yang selalu dipanjatkan demi keberhasilan dan segala yang baik dalam hidupku.
Clarita Hera Hatmisari
Yang selalu memberikan dukungan dan doa untuk kakaknya
Semua teman – teman
Yang selalu menghibur, menemaniku dalam suka dan duka.
MOTTO
It’s always seems impossible till it’s done
Struggle as hard as you can whatever you believe in
Think positively. No matter how bad situation, something good will
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan
dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 26 Juli 2013
Penulis
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Hilarius Haryo Tutuko
Nomor Mahasiswa : 065314042
Demi pengembangan ilmu pengetahuan, saya memberikan kepada
PerpustakaanUniversitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI PENJADWALAN UJIAN TUGAS AKHIR BERBASIS WEB
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan, dalam bentuk media lain, mengelolanya dalam bentuk pangkalan
data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau
media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya
maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya
sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 26 Juli 2013
Yang menyatakan,
ABSTRAK
APLIKASI PENJADWALAN UJIAN TUGAS AKHIR BERBASIS WEB
Hilarius Haryo Tutuko
065314042
Universitas Sanata Dharma
Yogyakarta
2013
Tujuan dibuatnya Aplikasi Penjadwalan Ujian Tugas Akhir Berbasis Web
ini adalah untuk memudahkan petugas skretariat dalam mengatur jadwal Ujian
Tugas Akhir serta memudahkan Dosen , Mahasiswa, petugas ruang dan petugas
konsumsi untuk melihat jadwal Ujian Tugas Akhir.
Metode pengembangan sistem yang digunakan untuk membangun aplikasi
ini adalah dengan menggunakan metodologi pengembangan sistem secara
terstuktur (Structured System Analysis and Design Method). Metodologi ini
terbagi menjadi beberapa fase yaitu : Fase Analisis Sistem (Analysis Phase), Fase
Perancangan (Design Phase), Fase Implementasi (Implementation Phase), Fase
Pengujian (Testing Phase).
Dengan menggunakan Aplikasi Penjadwalan Ujian Tugas Akhir Berbasis
Web ini, pengguna sistem dapat melakukan penjadwalan Ujian Tugas Akhir
sehingga diharapkan tidak terjadi permasalahan penjadwalan yang dikarenakan
dosen tidak dapat hadir dikarenakan ada jadwal jadwal kegiatan lain pada waktu
yang sama, maupun ruang ujian digunakan untuk ujian mahasiswa lain. Dengan
aplikasi ini, laporan yang dibuat dapat dimanfaatkan untuk kepentingan
perencanaan jumlah konsumsi, pemberitahuan kepada dosen yang bersangkutan,
ABSTRACT
FINAL EXAM APPLICATION SCHEDULING BASED WEB
Hilarius Haryo Tutuko
065314042
Sanata Dharma University
Yogyakarta
2013
The purpose of this Final Examination Application Scheduling Based Web
is to facilitate the Secretariat staff for Final Exam schedule and enable lecturers,
students, officers and personnel space consumption to see the Final Exam
schedule.
The methods are used to build this application is Structured Systems
Analysis and Design Method. This methodology is divided into several phases:
Analysis Phase, Design Phase, Implementation Phase, and Testing Phase.
By using the Final Exam Scheduling Application Based Web, users can
perform system scheduling Final Exam so hopefully that does not happen due to
scheduling problems lecturer who could not attend due to a schedule other
activities scheduled at the same time, and the space used for the test exam
students other. With this application, a report was made to be used for the
purposes of planning the amount of consumption, notice to the lecturer concerned,
KATA PENGANTAR
Puji dan syukur kehadirat Tuhan Yang Maha Kuasa, karena hanya atas
rahmat dan karunia-Nya, maka penulis dapat menyelesaikan Skripsi yang berjudul
“APLIKASI PENJADWALAN UJIAN TUGAS AKHIR BERBASIS WEB “
ini dengan baik. Maksud dan tujuan penyusunan skripsi ini adalah untuk
melengkapi salah satu syarat guna memperoleh gelar Sarjana Komputer di
Universitas Sanata Dharma Yogyakarta.
Penyusunan skripsi ini tidak lepas dari bantuan serta pengarahan dari
berbagai pihak baik secara langsung maupun tidak langsung. Oleh karena itu pada
kesempatan ini penulis ingin menyampaikan rasa terima kasih kepada :
1. Ibu Sri Hartati Wijono, S.Si., M.Si. selaku dosen pembimbing yang telah
meluangkan banyak waktu dan tenaga untuk mendampingi di setiap
proses, serta kesabaran dalam memberikan bimbingan pengarahan,
semangat, masukan, dan saran yang membangun kepada penulis dari awal
hingga akhir penulisan skripsi ini.
2. Ibu Ridowati Gunawan, S.Kom., M.T., selaku dosen penguji dan Kaprodi
Teknik Informatika untuk semua kritik, saran yang diberikan kepada
penulis pada saat pengujian serta kesabarannya dalam menuntun penulis
untuk menyelesaikan studinya.
3. Bapak St. Yudianto Asmoro, S.T., M.Kom., selaku dosen penguji untuk
semua kritik, dan juga saran yang diberikan kepada penulis pada saat
pengujian.
4. Bapak dan Ibu dosen Program Studi Teknik Informatika yang telah
berbagi ilmu, dan setia mendampingi di setiap proses perkuliahan.
5. Orang tua ( AF. Sulityo Widodo dan YE. Probojati ), dan adik ( Clarita
Hera Hatmisari ) yang selalu memberikan dukungan baik moril dan
materil sehingga penulis dapat menyelesaikan skripsi ini dengan baik.
6. Mas Yos yang telah bersedia meluangkan waktu dan pikirannya untuk
membantu penulis dalam menyelesaikan skripsi.
7. Priscila Kusumaningrum yang setia memberikan semangat dan doa
karena tanpa bosan selalu mengingatkan untuk segera menyelesaikan
skripsi ini.
8. Mas Munir dan Mbak Ajenk Toxic Tatto atas wejangan dan dorongan
kepada penulis untuk segera menyelesaikan skripsi ini.
9. Teman kontrakan ( Hengky dan Maya ), terimakasih semangat dan
dukungan kepada penulis untuk segera menyelesaikan skripsi ini.
10.Keluarga besar Boyonyanyi Family ( Friendly band, Takut Aer band, &
crew ) sumber inspirasi dan kreatifitas.
11.Teman-teman Teknik Informatika angkatan 2006 atas persaudaraan, kebersamaan, bantuan, dan kerja sama selama ini.
12.Segenap karyawan Universitas Sanata Dharma yang bersedia melayani
kebutuhan administrasi penulis dalam kegiatan perkuliahan maupun dalam
penyusunan skripsi ini.
13.Semua pihak yang telah membantu penulis baik secara langsung maupun
tidak langsung.
Seperti kata pepatah “ Tak ada gading yang tak retak “, penulis sangat
menyadari bahwa dalam penulisan skripsi ini sangatlah jauh dari kesempurnaan,
sehingga saran dan kritik dari pembaca sangat penulis harapkan.
Akhir kata, penulis berharap agar skripsi ini dapat bermanfaat bagi pembaca
untuk dapat menambah wawasan dan pengetahuan. Apabila terdapat beberapa
kesalahan dalam penulisan maupun implementasi, penulis memohon maaf yang
sebesar-besarnya.
Yogyakarta, 26 Juli 2013
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... v
MOTTO ... vi
PERNYATAAN KEASLIAN KARYA ... vii
LEMBAR PERNYATAAN PERSETUAN PUBLIKASI ... viii
ABSTAK ... ix
ABSTRACT ... x
KATA PENGANTAR ... xi
DAFTAR ISI ... xiii
DAFTAR GAMBAR ... xvi
DAFTAR TABEL ... xix
BAB I PENDAHULUAN ... 1
I.1. Latar Belakang ... 1
I.2. Rumusan Masalah ... 2
I.3. Tujuan Penelitian ... 2
I.4. Batasan Masalah ... 2
I.5. Metodologi Penelitian ... 2
I.6. Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 5
II.1. Pengertian Aplikasi ... 5
II.2. Jadwal... 5
II.3. Pemrograman Berbasis Web ... 6
II.4. Basis Data ... 6
II.4.1. SQL (Structured Query Language) ... 6
II.5. Rekayasa Perangkat Lunak ... 7
II.6. DFD (Data Flow Diagram) ... 9
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 13
III.1. Analisis Sistem ... 13
III.1.1. Gambaran Umum Sistem ... 13
III.2. Analisa Kebutuhan ... 13
III.2.1. Diagram Konteks ... 13
III.2.2. Diagram Use-case Kebutuhan Sistem ... 14
III.2.3. Narasi Use-case ... 15
III.3. Perancangan Logikal ... 15
III.3.1. ER-diagram ... 16
III.3.2. Logical Design ... 17
III.3.3. Physical Design ... 18
III.3.4. Diagram Dekomposisi... 20
III.3.5. Diagram Arus Data (DAD) ... 22
III.4. Perancangan Fisikal ... 26
III.4.1. Arsitektur Aplikasi Kebutuhan Sistem ... 26
III.4.1.1.Arsitektur Aplikasi Kebutuhan Pengembang ... 26
III.4.1.2.Arsitektur Aplikasi Kebutuhan Pengguna ... 27
III.4.2. Perancangan Antar Muka Sistem ... 27
III.4.2.1.Rancangan Antar Muka Untuk Administrator ... 27
BAB IV IMPLEMENTASI SISTEM ... 36
IV.1. Implementasi Basis Data ... 36
IV.2. Implementasi Tampilan Antar Muka Sistem ... 38
IV.2.1. Implementasi Tampilan Antar Muka Administrator ... 39
BAB V ANALISIS HASIL IMPLEMENTASI ... 106
V.1. Kekurangan Dan Kelebihan Sistem ... 106
V.1.1. Kekurangan Sistem ... 106
V.1.2. Kelebihan Sistem ... 107
BAB VI PENUTUP ... 108
VI.2. Saran ... 108
DAFTAR PUSTAKA ... 109
DAFTAR GAMBAR
Gambar 2.1 Tabel Simbol-simbol dalam ERD ... 11
Gambar 3.1 Diagram Konteks Aplikasi Penjadwalan Ujian Tugas Akhir ... 14
Gambar 3.2 Diagram Use-case Aplikasi Penjadwalan Ujian Tugas Akhir ... 15
Gambar 3.3 ER-diagram Aplikasi Penjadwalan Ujian Tugas Akhir ... 16
Gambar 3.4 logical design dari Aplikasi Penjadwalan Ujian Tugas Akhir ... 17
Gambar 3.5 Diagram Dekomposisi Aplikasi Penjadwalan Ujian Tugas Akhir ... 20
Gambar 3.6 DAD Level 1 Aplikasi Penjadwalan Ujian Tugas Akhir ... 22
Gambar 3.7 DAD Level 2 Proses 2 Aplikasi Penjadwalan Ujian Tugas Akhir ... 23
Gambar 3.8 DAD Level 2 Proses 3 Aplikasi Penjadwalan Ujian Tugas Akhir ... 24
Gambar 3.9 DAD Level 2 Proses 4 Aplikasi Penjadwalan Ujian Tugas Akhir ... 25
Gambar 3.10 DAD Level 2 Proses 5 Aplikasi Penjadwalan Ujian Tugas Akhir ... 26
Gambar 3.11 Rancangan Menu Administrator ... 28
Gambar 3.12 Rancangan Halaman Beranda ... 28
Gambar 3.13 Rancangan Halaman Jadwal Seminar Berdasarkan Dosen ... 29
Gambar 3.14 Rancangan Halaman Jadwal Seminar Berdasarkan Tanggal ... 29
Gambar 3.15 Rancangan Halaman Home ... 30
Gambar 3.16 Rancangan Halaman Daftar Seminar ... 30
Gambar 3.18 Rancangan Halaman Penentuan Jadwal Seminar ... 31
Gambar 3.19 Rancangan Halaman Jadwal Seminar ... 32
Gambar 3.20 Rancangan Halaman Detail Seminar ... 32
Gambar 3.21 Rancangan Halaman Ubah Jadwal Seminar ... 33
Gambar 3.22 Rancangan Halaman Laporan ... 33
Gambar 3.23 Rancangan Halaman Detail Seminar ... 34
Gambar 3.24 Rancangan Halaman Pengaturan Sistem ... 34
Gambar 3.25 Rancangan Halaman Pendaftaran User ... 35
Gambar 4.1 Implementasi Basis Data Sistem ... 36
Gambar 4.2 Implementasi Tabel rb_course ... 37
Gambar 4.3 Implementasi Tabel rb_lectures ... 37
Gambar 4.4 Implementasi Tabel rb_seminars ... 37
Gambar 4.5 Implementasi Tabel rb_rooms ... 37
Gambar 4.6 Implementasi Tabel rb_seminars ... 38
Gambar 4.7 Implementasi Tabel rb_status ... 38
Gambar 4.8 Implementasi Tabel rb_times ... 38
Gambar 4.9 Implementasi Halaman Beranda ... 45
Gambar 4.10 Implementasi Halaman Jadwal Seminar Berdasarkan Dosen ... 48
Gambar 4.11 Implementasi Halaman Jadwal Seminar Berdasarkan Tanggal ... 50
Gambar 4.12 Implementasi Halaman Home ... 53
Gambar 4.13 Implementasi Halaman Daftar Seminar ... 56
Gambar 3.14 Implementasi Halaman Pengajuan Jadwal Seminar ... 59
Gambar 4.15 Implementasi Halaman Penentuan Jadwal Seminar ... 63
Gambar 4.16 Implementasi Pesan Error ... 65
Gambar 4.17 Implementasi Halaman Jadwal Seminar ... 69
Gambar 4.18 Implementasi Halaman Detail Seminar ... 72
Gambar 4.19 Implementasi Halaman Ubah Jadwal Seminar ... 76
Gambar 4.20 Implementasi Halaman Laporan ... 81
Gambar 4.21 Implementasi Halaman Detail Seminar ... 84
Gambar 4.22.2 Lanjutan Implementasi Halaman Pengaturan Sistem ... 92
Gambar 4.22.3 Lanjutan Implementasi Halaman Pengaturan Sistem .... 93
DAFTAR TABEL
Tabel 3.1 Identifikasi Pelaku Sistem ... 14
Tabel 3.2 Rancangan Tabel rb_course ... 18
Tabel 3.3 Rancangan Tabel rb_lecturs ... 18
Tabel 3.4 Rancangan Tabel rb_members ... 18
Tabel 3.5 Rancangan Tabel rb_rooms ... 18
Tabel 3.6 Rancangan Tabel rb_seminars ... 19
Tabel 3.7 Rancangan Tabel rb_status ... 19
Bab I
Pendahuluan
I.1. Latar BelakangPenjadwalan merupakan pekerjaan rutin petugas sekretariat dalam sebuah
sistem akademik perguruan tinggi. Dalam perguruan tinggi terdapat beberapa
jenis penjadwalan yang sering kita jumpai, diantaranya yaitu penjadwalan
perkuliahan dan penjadwalan ujian tugas akhir. Dalam tugas akhir ini akan
dibahas tentang pembuatan Aplikasi Penjadwalan Tugas Akhir.
Ujian Tugas Akhir merupakan ujian terakhir yang harus ditempuh seorang
mahasiswa untuk dapat memperoleh gelar sarjana. Ujian Tugas Akhir
dilaksanakan dengan dihadiri tiga dosen sebagai penguji sehingga dibutuhkan
pengaturan waktu dimana ketiga dosen tersebut dapat menghadiri ujian secara
bersamaan. Dalam penyusunan jadwal ada beberapa aspek yang harus
dipertimbangkan diantaranya :
1. Adanya permintaan dosen yang bersangkutan tidak bisa menguji pada waktu tertentu.
2. Tidak boleh adanya jadwal ujian yang saling bentrok antar dosen ataupun waktu ujian.
Seringkali program studi memperoleh kesulitan dalam mendapatkan
jadwal dengan ketiga dosen penguji dapat menghadiri Ujian Tugas Akhir
dikarenakan jadwal setiap dosen yang berbeda-beda.
Hal ini melatar belakangi untuk dibuatnya sebuah aplikasi penjadwalan
Ujian Tugas Akhir. Dengan aplikasi ini diharapkan dapat mengatasi kesulitan
dalam penyusunan jadwal Ujian Tugas Akhir. Aplikasi yang dibangun merupakan
aplikasi berbasis web, sehingga dengan memanfaatkan internet maupun intranet
mahasiswa dan dosen dapat dengan mudah mengecek jadwal ujian dalam waktu
tertentu. Hal ini diharapkan dapat menghindari pelaksanaan ujian apabila dosen
yang bersangkutan tidak dapat hadir dikarenakan ada jadwal kegiatan lain.
Dengan aplikasi ini, laporan yang dibuat dapat dimanfaatkan untuk kepentingan
perencanaan jumlah konsumsi, pemberitahuan kepada dosen yang bersangkutan,
I.2. Rumusan Masalah
Berdasarkan latar belakang permasalahan yang dikemukakan di atas, maka
rumusan masalahnya adalah :
1. Bagaimana mengelola jadwal Ujian Tugas Akhir yang mampu mengatasi
masalah jadwal dosen yang berbeda – beda sehingga tidak terjadi jadwal yang bentrok.
2. Bagaimana jadwal Ujian Tugas Akhir dapat digunakan untuk membantu
kepentingan perencanaan jumlah konsumsi, pemberitahuan kepada dosen
yang bersangkutan, dan pemberitahuan kepada petugas pengelola ruangan.
I.3. Tujuan Penelitian
Tujuan dari Tugas Akhir ini adalah untuk membangun sebuah aplikasi
penjadwalan Ujian Tugas Akhir berbasis web dengan menggunakan bahasa
pemrograman PHP dan basis data MySQL. Aplikasi ini diharapkan dapat
memberi kemudahan dalam menentukan jadwal Ujian Tugas Akhir dalam hal
waktu, ruangan yang akan dipakai maupun kesediaan dosen yang bersangkutan.
I.4. Batasan Masalah
Adapun batasan dari program yang dibuat adalah :
1. Tugas akhir ini hanya akan membahas tentang aplikasi penjadwalan Ujian
Tugas Akhir saja.
2. Input jadwal dilakukan oleh admin dalam hal ini petugas Sekretariat.
Dosen dan Mahasiswa dapat melihat jadwal ujian tanpa harus melakukan
login terlebih dahulu.
3. Aplikasi akan dibangun dengan bahasa pemrograman PHP pada bagian
antarmuka, Apache sebagai web server, dan menggunakan MySQL untuk
server basis data.
I.5. Metodologi Penelitian
Pada bagian ini penulis akan menjelaskan metode-metode yang digunakan
1. Studi Pustaka
Metode ini adalah metode yang dilakukan dengan mengumpulkan
sumber-sumber yang dibutuhkan. Hal ini dilakukan untuk memperkuat
analisa, dan pembangunan sistem.
2. Metode pengembangan sistem
Metode pengembangan sistem yang digunakan untuk membangun
aplikasi ini adalah dengan menggunakan metodologi pengembangan
sistem secara terstuktur (Structured System Analysis and Design
Method).
Metodologi ini terbagi menjadi beberapa fase yaitu :
a. Fase Analisis Sistem (Analysis Phase)
Analisis sistem bertujuan untuk mengidentifikasikan dan
mengevaluasi permasalahan–permasalahan yang dihadapi dan kebutuhan–kebutuhan yang diharapkan sehingga dapat menyelesaikan hambatan–hambatan yang terjadi kearah perbaikan sistem.
b. Fase Perancangan (Design Phase)
Merupakan langkah multiproses yang memusatkan kerja pada
perancangan sistem secara umum misalnya perancangan menu,
perancangan tampilan dan user interface.
c. Fase Implementasi (Implementation Phase)
Setelah melakukan perancangan sistem yang diinginkan maka hasil
rancangan tersebut diimplementasikan, yaitu diterjemahkan
kedalam bahasa pemrograman.
d. Fase Pengujian (Testing Phase)
Pengujian ini dimaksudkan untuk menguji apakah hasil sudah
sesuai dengan perancangan yang diinginkan serta mencari segala
I.6. Sistematika Penulisan
Untuk mempermudah dalam pemahaman dan penyusunan tugas akhir ini,
penulis membuat suatu sistematika penulisan sebagai berikut :
BAB I : PENDAHULUAN
Bab ini berisi pengantar, latar belakang masalah, rumusan masalah,
batasan masalah yang merupakan pokok permasalahan, tujuan
masalah, metodologi penelitian, dan sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini berisi landasan teori yang digunakan yaitu pengertian dasar
sistem informasi, rekayasa perangkat lunak, teknologi client-server,
Java dan MySQL.
BAB III : ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi tentang penganalisa sistem dan gambaran yang dibuat,
sedangkan perancangan sistem tersebut meliputi desain proses,
perancangan basis data dan perancangan user interface.
BAB IV : IMPLEMENTASI SISTEM
Bab ini merupakan penjelasan tentang implementasi terhadap basis
data, implementasi antar muka, dan implementasi program atau
tentang pembuatan database dan interfacenya.
BAB V : ANALISA HASIL
Bab ini merupakan penjelasan dari analisa hasil yang meliputi analisa
metodologi, teknologi, dan kelebihan kekurangan program.
BAB VI : PENUTUP
Bab ini merupakan penutup yang berisi kesimpulan yang menjawab
rumusan masalah serta beberapa saran untuk pengembangan program
Bab II
Landasan Teori
II.1. Pengertian Aplikasi
Aplikasi berasal dari kata application yang artinya penerapan; lamaran;
penggunaan. Secara istilah aplikasi adalah program siap pakai yang dibuat untuk
melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat
digunakan oleh sasaran yang dituju.
Ada banyak pengertian mengenai aplikasi oleh para ahli dalam situs yaitu:
1. Aplikasi adalah satu unit perangkat lunak yang dibuat untuk melayani
kebutuhan akan beberapa aktivitas (Buyens, 2001).
2. Aplikasi adalah sistem lengkap yang mengerjakan tugas spesifik (Post,
1999).
3. Menurut Dhanta (2009:32), aplikasi (application) adalah software yang
dibuat oleh suatu perusahaan komputer untuk mengerjakan tugas-tugas
tertentu, misalnya Microsoft Word, Microsoft Excel.
Sedangkan menurut Anisyah (2000:30), aplikasi adalah penerapan,
penggunaan atau penambahan Dari pengertian diatas, dapat disimpulkan bahwa
aplikasi merupakan software yang berfungsi untuk melakukan berbagai bentuk
pekerjaan atau tugas-tugas tertentu seperti penerapan, penggunaan dan
penambahan data.
Menurut Jogiyanto (2005:126), perangkat lunak aplikasi adalah program
yang ditulis dan diterjemahkan oleh bahasa pemrograman untuk menyelesaikan
suatu aplikasi tertentu.
II.2. Jadwal
Pengertian jadwal menurut Kamus Besar Bahasa Indonesia (2008 : 393)
adalah pembagian waktu berdasarkan rencana pengaturan urutan kerja, daftar atau
terperinci. Sedangkan pengertian penjadwalan adalah proses, cara, perbuatan
menjadwalkan atau memasukkan ke dalam jadwal.
II.3. Pemrograman Berbasis Web
Pemrograman web (web programming) merupakan perkembangan web
lebih lanjut. Pemrograman web bertujuan untuk menciptakan halaman web sesuai
dengan permintaan pengguna. Pemrograman web memungkinkan halaman web
berinteraksi dengan pengguna. Aplikasi berbasis web diimplementasikan
menggunakan bahasa pemrograman yang memiliki kemampuan pemrograman
web.
Salah satu bahasa pemrograman yang memiliki kemampuan pemrograman
web dan banyak digunakan adalah PHP. PHP adalah singkatan dari “PHP : Hypertext Prepocessor”. PHP dikembangkan pertama kali oleh Rasmus Lerdorf pada tahun 1994, dari sekumpulan skrip Perl. Saat ini, PHP telah mencapai versi 5
dan merupakan bahasa scripting yang populer untuk pemrograman web.
II.4. Basis Data
Basis data merupakan koleksi terintegrasi dari data persisten, yang
merepresentasikan informasi yang diperlukan oleh berbagai program yang
membangun sistem informasi berbasis komputer pada sebuah organisasi. Fitur
utama dari basis data adalah data terpisah dari program yang menggunakan data
tersebut. Berbagai program dapat mengakses dan memodifikasi basis data yang
sama dan saling berbagi data, sehingga mengurangi redundansi dan inkosistensi
pada representasi data yang sama di program yang berbeda.
II.4.1. SQL (Structured Query Language)
SQL adalah bahasa standar yang digunakan untuk berkomunikasi dengan
basis data relasional, dan juga merupakan bahasa yang digunakan oleh banyak
aplikasi atau tool untuk berinteraksi dengan server basis data. SQL adalah bahasa
fungsional yang tidak mengenal iterasi dan tidak bersifat prosedural. SQL
menggunakan perintah-perintah dengan kata-kata sederhana dan mirip dengan
Kategori dasar dari perintah-perintah yang digunakan dalam SQL untuk
melakukan berbagai macam fungsi ada enam, yaitu DDL (Data Definition
Language), DML (Data Manipulation Language 2), DQL (Data Query
Language), DCL (Data Control Language), Data Administration Commands,
Transactional Control Commands. Fungsi yang dapat dilakukan termasuk
membangun objek basis data, memanipulasi objek, mempopulasikan tabel basis
data dengan data, memperbarui data yang sudah ada dalam tabel, menghapus data,
melakukan kueri basis data, mengontrol akses basis data, dan melakukan
administrasi basis data secara keseluruhan.
II.5. Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak memiliki tahapan–tahapan kegiatan yang bertujuan untuk mencapai (Pressman, R.S.) :
1. Pengoptimalan sumber daya (biaya, personil maupun peralatan).
2. Pembangunan perangkat lunak yang sesuai dengan jadwal (cepat).
3. Pemeliharaan perangkat lunak yang lebih mudah.
4. Hasil yang memuaskan customer.
Terdapat empat tahapan dalam rekayasa perangkat lunak, yaitu :
a. Pengumpulan Kebutuhan
Tahapan ini merupakan tahapan dasar yang digunakan oleh pengembangan
untuk mengumpulkan seluruh informasi yang akan dikelola suatu perangkat
lunak. Informasi–informasi yang dikumpulkan untuk pengembangan adalah informasi yang dinilai dapat bermanfaat atau dibutuhkan oleh pengguna (user).
Ada berapa kegiatan yang dilakukan dalam mengumpulkan informasi ,antara lain:
1. Mengumpulkan informasi mengenai penyebab masalah.
2. Mengumpulkan informasi yang menjadi dasar dalam proses pengambilan
keputusan.
b. Analisis Sistem
Tahapan ini merupakan tahapan pemodelan sistem dalam bentuk diagram,
berupa Data Flow Diagram dan E-R Diagram.
c. Perancangan
Perancangan perangkat lunak meliputi beberapa kegiatan, yaitu :
1. Perancangan Data
Kegiatan ini berupa perancangan tabel–tabel basis data yang akan berpengaruh bagi perangkat lunak. Perancangan ini sudah mulai
mendefinisikan tabel–tabel basis data secara terperinci. Field–field apa saja yang akan digunakan dalam perangkat lunak, tipe–tipe dari field yang digunakan, dan lain sebagainya.
2. Perancangan Arsitektural (fungsi serta proses pada perangkat lunak)
Perancangan arsitektural meliputi :
- Pembuatan Data Flow Diagram yang rinci.
- Pendefinisian dari algoritma modul.
- Pembuatan struktur modul.
3. Perancangan Antar Muka Pemakai
Antar muka pemakai merupakan jembatan penghubung antara
entitas-entitas dan sistem. Desain antar muka yang baik sangat dibutuhkan supaya
user mampu untuk mengoperasikan perangkat lunak dengan mudah.
Selain itu, antar muka juga memiliki peranan untuk membentuk “image” user terhadap citra, misi, dan visi perangkat lunak yang dibangun.
Perancangan antar muka user meliputi beberapa hal, yaitu :
- Perancangan Struktur Menu
Merancang menu–menu yang akan ditampilkan dalam suatu sistem. - Perancangan jendela–jendela yang ditampilkan.
Merancang tata letak (lay out) jendela aplikasi yang ingin
d. Implementasi
Tahapan ini merupakan tahapan pengkodean dari hasil perancangan. Di
dalam tahapan ini, pengembang mulai membuat sistem aplikasi dengan
menggunakan bahasa pemrograman, misalnya PHP (Personal Home Pages).
Pengkodean ini disesuaikan dengan diagram–diagram yang telah dibuat, tabel– tabel basis data yang telah dirancang ataupun algoritma dan struktur dari modul.
II.6. DFD (Data Flow Diagram)
Data Flow Diagram (DFD) adalah diagram yang menggunakan
notasi-notasi untuk menggambarkan arus dari data secara logika tanpa
mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau akan
disimpan. DFD merupakan alat yang digunakan pada metodologi pengembangan
sistem yang terstruktur (structure analysis and design).
Beberapa simbol yang digunakan dalam DFD :
1. External Entity (kesatuan luar)
Kesatuan luar merupakan kesatuan di luar lingkungan sistem yang
dapat berupa orang, organisasi atau sistem lainnya yang akan memberikan
input atau menerima output dari sistem. Kesatuan luar disimbolkan sebagai
berikut :
2. Data flow (arus data)
Arus data dalam DFD diberi simbol suatu panah, yang dapat mengalir
dari data yang berupa masukan untuk sistem atau hasil dari suatu sistem.
Arus data biasanya diberi nama yang jelas dan mempunyai arti. Arus data
disimbolkan sebagai berikut :
3. Process (proses)
Suatu proses adalah kegiatan atau yang dilakukan oleh orang, mesin
atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk
dihasilkan arus data yang akan keluar dari proses. Notasi proses dalam DFD
adalah sebagai berikut :
Indetifikasi
Nama Proses
4. Data store (simpanan data)
Simpanan data merupakan simpanan dari data yang dapat berupa:
Suatu file atau database di dalam sistem komputer.
Suatu arsip atau catatan manual.
Suatu tabel acuan manual.
Suatu agenda atau buku.
Simpanan data dalam DFD disimbolkan dengan sepasang garis
horisontal paralel yang tertutup di salah satu ujungnya.
Nama data store
Me
di
a
II.7. Entity Relationship Diagram (E-R Diagram)
Hubungan antar entitas (Entity Relationship modelling) merupakan salah
satu implementasi pendekatan dari atas ke bawah yang paling umum digunakan.
Hal ini dilakukan untuk merancang tabel, hubungan antar tabel,
mengidentifikasikan primary key dan foreign key, dan aturannya, serta domain
untuk basis data. Dalam pemodelan ini, tahapan yang dilakukan adalah sebagai
berikut:
1. Memilih entitas - entitas yang akan disusun oleh basis data dan
2. Melengkapi atribut-atribut yang sesuai pada entitas dan hubungan,
sehingga diperoleh tabel normal yang penuh (tabel ternormalisasi).
Sama dengan alat yang lain, E-R diagram memiliki simbol-simbol seperti
pada tabel berikut:
NO SIMBOL KETERANGAN
1
Entitas
Entitas adalah suatu objek yang
dapat di identifikasi dalam
lingkungan pemakai, sesuatu yang
penting bagi pemakai dalam konteks
sistem yang kan dibuat.
2
Atribut Atribut berfungsi mendeskripsi karakter entitas.
3
Relasi Relasi adalah sesuatu yang menjadi penghubung entitas satu dengan
entitas yang lainnya.
4 Link
Link adalah garis suatu penghubung
antara himpunan entitas dengan
atributnya.
Gambar 2.1 Tabel Simbol-simbol dalam ERD
Dalam diagram E-R dikenal adanya derajat hubungan (relationship) antara
entitas yang menyatakan jumlah anggota entitas yang terlibat dalam ikatan atau
a. Relasi one to one (1:1)
Relasi ini terjadi bila tiap anggota entitas A hanya boleh berpasangan
dengan tepat satu anggota entitas B. Hubungan 1:1 mencakup juga relasi 1:0 dan 0:1
b. Relasi one to many (1:m)
Relasi ini terjadi bila tiap anggota entitas A berpasangan lebih dari satu
anggota entitas B. hubungan one to many mencakup relasi 1:1, 0:1, 1:1 c. Relasi many to many (m : m)
Relasi ini terjadi bila tiap anggota entitas A boleh berpasangan dengan
lebih dari satu anggota entitas B, begitu juga sebaliknya tiap anggota B
boleh berpasangan dengan lebih dari satu anggota entitas A. Relasi ini
BAB III
ANALISIS DAN PERANCANGAN SISTEM
III.1. Analisis Sistem
Fungsi utama aplikasi ini adalah untuk mengelola penjadwalan Ujian
Tugas Akhir. Data – data yang dikelola dalam aplikasi ini meliputi tanggal dan waktu pelaksanaan Ujian Tugas Akhir, ruangan yang digunakan, nama dosen
penguji, identitas mahasiswa yang mengikuti ujian, serta daftar Ujian Tugas Akhir
yang telah terlaksana. Dalam aplikasi ini akan ditampilkan identitas mahasiswa
yang akan mengikuti Ujian Tugas Akhir lengkap dengan nama dosen penguji,
ruangan yang digunakan, serta waktu pelaksanaan ujian. Sehingga dengan
dibuatnya aplikasi ini diharapkan tidak terjadi permasalahan penjadwalan
dikarenakan jadwal menguji yang bentrok pada jam yang sama, selain itu aplikasi
ini juga akan memudahkan petugas sekretariat untuk melakukan rekapitulasi
konsumsi yang harus disediakan untuk konsumsi Ujian Tugas Akhir,
pemberitahuan kepada dosen, dan pemberitahuan kepada petugas ruangan.
III.1.1. Gambaran Umum Sistem
Untuk masuk ke dalam sistem user perlu melakukan login untuk
membedakan hak akses. Dalam sistem ini terdapat satu aktor yaitu Sekretariat.
Sekretariat berhak mengelola semua data di dalam sistem seperti mengelola data
mahasiswa, mengelola data dosen, mengatur jam dan ruang ujian. Sedangkan
dosen dan mahasiswa hanya diijinkan untuk melihat jadwal saja tanpa berhak
mengubah data apapun.
III.2. Analisa Kebutuhan
III.2.1. Diagram Konteks
Berikut adalah daftar istilah pelaku sistem yang terlibat dalam Aplikasi
Pelaku Deskripsi
Administrator Adalah petugas sekretariat prodi Teknik Informatika yang
diberi fasilitas untuk : 1) Melihat jadwal ujian tugas akhir,
2) Mengisi data pengajuan seminar, 3) Mengelola data
pengajuan seminar tugas akhir meliputi daftar ruang, daftar
waktu dan tanggal, daftar dosen penguji, dan daftar mata
kuliah pendukung.
Tabel 3.1 Identifikasi Pelaku Sistem
Diagram konteks digunakan untuk menggambarkan bagaimana para
pelaku sistem berinteraksi dengan sistem, disertai masukan ke sistem dan keluaran
dari sistem. Diagram konteks juga menjadi batasan dari sistem yang akan
dibangun. Gambar 3.1 berikut adalah gambaran diagram konteks dari Aplikasi
Penjadwalan Ujian Tugas Akhir :
Sistem Informasi - idLectur, Nama Dosen Reviewer
- idCourse, Mata Kuliah Pendukung
- idTimes, Jam Ujian - idRooms, Ruang Ujian - idMember, User Name, Password
- idStatus, Status
Gambar 3.1 Diagram Konteks Aplikasi Penjadwalan Ujian Tugas Akhir
III.2.2. Diagram Use-case Kebutuhan Sistem
Diagram use-case digunakan untuk menggambarkan kebutuhan dari
pelaku sistem terhadap Sistem Aplikasi Penjadwalan Ujian Tugas Akhir. Tabel
Lampiran I. Gambar 3.2 adalah diagram use-case kebutuhan sistem dari Aplikasi
Penjadwalan Ujian Tugas Akhir yang digambarkan berdasarkan tabel deskripsi
use-case (terdapat pada Lampiran I).
Login Mengelola data
Ujian
Mengelola Data Dosen
Mengelola Ruang
Ujian
Mengelola Waktu
Ujian
<<Depend on>>
Melihat Jadwal
Ujian Administrator
<<Depend on>>
<<Depend on>>
<<Depend on>>
Gambar 3.2 Diagram Use-case Aplikasi Penjadwalan Ujian Tugas Akhir
III.2.3. Narasi Use-case
Narasi use-case digunakan untuk mengembangkan kejadian-kejadian
umum yang terjadi dan telah teridentifikasi dari diagram use-case Aplikasi
Penjadwalan Ujian Tugas Akhir pada Gambar 3.2 diatas. Dokumentasi kejadian
use-case atau narasi use-case dari diagram use-case diatas, dapat dilihat pada
Lampiran II.
III.3. Perancangan Logikal
Perancangan logikal digunakan untuk membuat rancangan logikal dari
Aplikasi Penjadwalan Tugas Ahir. Perancangan logikal ini meliputi : perancangan
kemudian membuat diagram konteks, dan diagram dekomposisi sistem yang
digunakan untuk mempermudah perancangan Diagram Arus Data (DAD) dari
setiap proses dan aliran data yang terdapat pada sistem ini.
III.3.1. ER-diagram
ER-diagram digunakan sebagai tahap awal pada perancangan basis data
sistem. Gambar 3.3 berikut adalah ER-diagram sistem yang digunakan sebagai
tahap awal perancangan basis data Aplikasi Penjadwalan Ujian Tugas Akhir :
Rb_course
III.3.2. Logical Design
Tahap logical design merupakan tahap selanjutnya dari perancangan basis
data sistem. Tahap logical design digunakan untuk merekonstruksi tabel pada
tahap perancangan ER-diagram, dengan maksud untuk menghilangkan redundansi
data, memecah atau menyatukan entitas-entitas dan relasi-relasi pada ER-diagram,
dan untuk menetapkan primary key dan foreign key. Gambar 3.4 berikut adalah
logical design dari Aplikasi Penjadwalan Ujian Tugas Akhir :
rb_seminars
III.3.3. Physical Design
Basis data yang akan dibangun terdiri dari tujuh tabel, yang akan
menyimpan data dari sebuah entitas, sedangkan record pada tabel akan
menyimpan nilai atribut dari suatu entitas. Rancangan fisik (physical design) dari
tabel tersebut dapat dilihat pada tabel-tabel berikut ini :
Tabel 3.2 Rancangan Tabel rb_course
Nama Field Type Size Description Key
cr_id Int 11 id dari course (mata
kuliah pendukung)
PK
cr_name Text Nama mata kuliah
Tabel 3.3 Rancangan Tabel rb_lecturs
Nama Field Type Size Description Key
lc_id Int 11 id dari lecture (dosen) PK
lc_name Char 255 Nama dosen
Tabel 3.4 Rancangan Tabel rb_members
Nama Field Type Size Description Key
Id Int 4 id dari member PK
Username Varchar 65 Nama pengguna
Password Varchar 65 Password pengguna
Tabel 3.5 Rancangan Tabel rb_rooms
Nama Field Type Size Description Key
id_room Int 11 id dari ruang PK
Tabel 3.6 Rancangan Tabel rb_seminars
Nama Field Type Size Description Key
sm_id Int 11 id dari seminar PK
sm_mhsname Text Nama mahasiswa
sm_mhsnim Varchar 9 Nomor induk mahasiswa
sm_title Text Judul tugas akhir
sm_course Int 11 Mata kuliah pendukung
sm_lecture1 Int 11 Nama dosen pembimbing
sm_lecture2 Int 11 Nama dosen penguji 1
sm_lecture3 Int 11 Nama dosen penguji 2
sm_attach1 Int 1 Lampiran 1
sm_attach1 Int 1 Lampiran 2
sm_notes Text Keterangan
sm_status Int 1 Status seminar
sm_room Int 11 Nama ruang
sm_date Date Tanggal seminar
sm_time Int 2 Jam seminar
Tabel 3.7 Rancangan Tabel rb_status
Nama Field Type Size Description Key
id_status Int 11 id dari status PK
st_name Char 225 Nama status
Tabel 3.8 Rancangan Tabel rb_times
Nama Field Type Size Description Key
tm_id Int 11 id dari jam ujian PK
tm_start Text Waktu ujian mulai
III.3.4. Diagram Dekomposisi
Dekomposisi adalah kegiatan menguraikan sistem kedalam subsistem,
proses, dan subproses menjadi beberapa tingkatan. Diagram dekomposisi
merupakan alat untuk menggambarkan perencanaan untuk model proses yang
lebih detail, yaitu diagram aliran data (DAD).
Gambar 3.5 berikut adalah diagram dekomposisi (berjenjang) dari sistem yang
akan dibangun sebagai acuan untuk membuat Diagram Arus Data (DAD)
berdasarkan level-level proses yang terdapat pada diagram dekomposisi
(berjenjang) di bawah ini :
0
Gambar 3.5 Diagram Dekomposisi Aplikasi Penjadwalan Ujian Tugas Akhir Diagram dekomposisi (berjenjang) pada Gambar 3.5 diatas menunjukkan proses
yang terjadi sisi Administrator. Berdasarkan diagram dekomposisi (berjenjang)
tersebut dapat dilihat bahwa Aplikasi Penjadwalan Ujian Tugas Akhir ini
memiliki kemampuan sebagai berikut :
Proses 1 merupakan proses login. Pada proses ini tidak mempunyai sub proses.
Proses 2.1 merupakan proses untuk menyimpan data ujian. Proses
ini tidak memiliki sub proses lagi.
Proses 2.2 merupakan proses untuk mengedit data ujian. Proses ini
tidak memiliki sub proses lagi.
Proses 2.3 menangani proses penghapusan data ujian. Pada proses
ini tidak memiliki sub proses lagi.
Proses 3 merupakan proses untuk mengelola data dosen. Pada proses ini
terdapat 3 sub proses, yaitu :
Proses 2.1 merupakan proses untuk menyimpan data dosen. Proses
ini tidak memiliki sub proses lagi.
Proses 2.2 merupakan proses untuk mengedit data dosen. Proses ini
tidak memiliki sub proses lagi.
Proses 2.3 menangani proses penghapusan data dosen. Pada proses
ini tidak memiliki sub proses lagi.
Proses 4 merupakan proses untuk mengelola data ruang ujian. Pada proses ini terdapat 3 sub proses, yaitu :
Proses 2.1 merupakan proses untuk menyimpan data ruang ujian.
Proses ini tidak memiliki sub proses lagi.
Proses 2.2 merupakan proses untuk mengedit data ruang ujian.
Proses ini tidak memiliki sub proses lagi.
Proses 2.3 menangani proses penghapusan data ruang ujian. Pada
proses ini tidak memiliki sub proses lagi.
Proses 5 merupakan proses untuk mengelola data waktu ujian. Pada proses ini terdapat 3 sub proses, yaitu :
Proses 2.1 merupakan proses untuk menyimpan data waktu ujian.
Proses ini tidak memiliki sub proses lagi.
Proses 2.2 merupakan proses untuk mengedit data waktu ujian.
Proses ini tidak memiliki sub proses lagi.
Proses 2.3 menangani proses penghapusan data waktu ujian. Pada
proses ini tidak memiliki sub proses lagi.
III.3.5. Diagram Arus Data (DAD)
Diagram Arus Data (DAD) merupakan diagram yang digunakan untuk
menggambarkan proses data yang mengalir dalam Aplikasi Penjadwalan Ujian
Tugas Akhir. Diagram Arus Data (DAD) dibuat berdasarkan level-level yang
telah digambarkan pada diagram dekomposisi (berjenjang) di atas.
a. DAD Level 1
Gambar 3.6 DAD Level 1 Aplikasi Penjadwalan Ujian Tugas Akhir
Gambar Diagram Arus Data (DAD) Level 1 pada Gambar 3.6 diatas
merupakan rangkaian proses yang terjadi pada Aplikasi Penjadwalan Ujian Akhir.
Proses 1 adalah login berguna untuk memverifikasi pengguna aplikasi.
Proses 3 menunjukan proses mengelola data dosen. Dalam proses ini melibatkan tabel rb_lecturs.
Proses 4 menunjukan proses mengelola data ruang yang digunakan untuk ujian. Dalam proses ini melibatkan tabel rb_rooms.
Proses 5 menunjukan proses mengelola data waktu ujian. Dalam proses ini melibatkan tabel rb_times.
Proses 6 menunjukan proses lihat jadwal seminars. Dalam proses ini melibatkan 4 tabel yaitu, rb_seminars, rb_lecturs, rb_rooms, dan rb_times.
b. DAD Level 2 proses 2
Diagram Arus Data (DAD) level 2 proses 2 (Gambar 3.7) merupakan sub
sistem dari proses mengelola data ujian (proses 2.2).
Administrator Konfirmasi
Gambar 3.7 DAD Level 2 Proses 2 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 2 adalah : proses rekam data
ujian (proses 2.1), proses data ujian (proses 2.2), dan proses hapus data ujian
c. DAD Level 2 Proses 3
Diagram Arus Data (DAD) level 2 proses 3 (Gambar 3.8)
merupakan sub sistem dari proses mengelola data dosen (proses 2.3).
Administrator Konfirmasi
rb_lecturs D2
lc_name
3.2
Edit Data Dosen 3.1
Rekam Data Dosen
3.3
Hapus Data Dosen Konfirmasi
Hapus data
Konfirmasi hapus
lc_name
datadosen lc_name
lc_name
Gambar 3.8 DAD Level 2 Proses 3 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 3 adalah : proses rekam data
dosen (proses 3.1), proses data dosen (proses3.2), dan proses hapus data dosen
d. DAD Level 2 Proses 4
Diagram Arus Data (DAD) level 2 proses 4 (Gambar 3.9)
merupakan sub sistem dari proses mengelola ruang ujian (proses 2.4).
Administrator Konfirmasi
rb_rooms D3
rm_name
4.2
Edit Ruang Ujian
4.1
Rekam Ruang Ujian
4.2
Hapus Ruang Ujian Konfirmasi
Hapus data
Konfirmasi hapus
rm_name
dataruang rm_name
rm_name
Gambar 3.9 DAD Level 2 Proses 4 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 4 adalah : proses rekam data
ruang ujian (proses 4.1), proses data ruang ujian (proses 4.2), dan proses hapus
e. DAD Level 2 Proses 5
Diagram Arus Data (DAD) level 2 proses 5 (Gambar 3.10)
merupakan subsistem dari proses mengelola waktu ujian (proses 2.5).
Administrator Konfirmasi
rb_times D4
5.2
Edit Waktu Ujian
5.1
Rekam Waktu Ujian
5.3
Hapus Waktu Ujian Konfirmasi
Hapus data
Konfirmasi
hapus datajam
tm_start, tm end
tm_start, tm end
tm_start, tm end tm_start, tm end
Gambar 3.10 DAD Level 2 Proses 5 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 5 adalah : proses rekam data
waktu ujian (proses 5.1), proses data waktu ujian (proses 5.2), dan proses hapus
data waktu ujian (proses 5.3), yang melibatkan tabel rb_times (D4).
III.4. Perancangan Fisikal
III.4.1. Arsitektur Aplikasi Kebutuhan Sistem
Arsitektur aplikasi kebutuhan sistem merupakan aplikasi-aplikasi yang
diperlukan untuk dapat mengoperasikan dan mengelola Aplikasi Penjadwalan
Ujian Tugas ini.
III.4.1.1. Arsitektur Aplikasi Kebutuhan Pengembang
Arsitektur aplikasi yang diperlukan untuk mengembangkan Aplikasi
Sistem basis data : basis data terpusat
Media penyampaian informasi : internet
Bahasa pemrograman : PHP (Hypertext Preprosessor)
Basis data server : MySql
Tool untuk implementasi antar muka : Adobe Dreamweaver CS5
Web server : Apache
Web browser : IE (Internet Explorer)
Resolusi layar monitor : 1280 x 800 pixels
III.4.1.2. Arsitektur Aplikasi Kebutuhan Pengguna
Arsitektur aplikasi yang diperlukan agar pengguna dapat mengakses
Aplikasi Penjadwalan Ujian Tugas Akhir adalah :
Web browser : IE (Internet Explorer)
Resolusi layar monitor : 1280 x 800 pixels
III.4.2. Perancangan Antar Muka Sistem
Perancangan antar muka sistem digunakan sebagai rancangan untuk
membuat antar muka sistem dengan pengguna sistem, rancangan antar muka ini
nantinya akan digunakan untuk membuat implementasi dari Aplikasi Penjadwalan
Ujian Tugas Akhir.
III.4.2.1. Rancangan Antar Muka Untuk Administrator
Halaman utama untuk Administrator dapat diakses setelah Administrator
melakukan proses login Administrator terlebih dahulu. Sebagai validasi dari login
Administrator tersebut, maka akan ditampilkan halaman utama Administrator,
dimana Administrator dapat memilih menu-menu untuk mengelola data pada
Aplikasi Penjadwalan Ujian Tugas Akhir ini. Rancangan menu untuk
Beranda
Jadwal Berdasarkan Dosen
Jadwal Berdasarkan Tanggal
Menu Administrator
Home Pendaftaran Seminar Daftar Pengajuan Jadwal Seminar Laporan Pengaturan Sistem
Penentuan Jadwal Seminar Detail Seminar
Ubah Jadwal Seminar
Detail Seminar Pendaftaran User
Data Seminar Telah Selesai
Detail Seminar
Gambar 3.11 Rancangan Menu Administrator 1. Rancangan Halaman Beranda
Pada halaman beranda menampilkan form login administrator dan
daftar seminar yang akan berlangsung. Pada halaman ini juga disediakan
menu untuk melihat jadwal berdasarkan nama dosen dan berdasarkan
tanggal pelaksanaan. Pengguna dapat melihat jadwal tanpa harus
melakukan login terlebih dahulu.
Gambar 3.13 Rancangan Halaman Jadwal Seminar Berdasarkan Dosen
Gambar 3.14 Rancangan Halaman Jadwal Seminar Berdasarkan Tanggal
2. Rancangan Halaman Home
Pada halaman home akan ditampilan seluruh daftar jadwal ujian
Gambar 3.15 Rancangan Halaman Home
3. Rancangan Halaman Pendaftaran Seminar
Dalam halaman pendaftaran seminar ini akan ditampilkan form
untuk mengisi data-data ujian, meliputi : nama mahasiswa, nim, judul
tugas akhir, nama dosen pembimbing, nama dosen penguji, nama mata
kuliah pendukung, lampiran, dan keterangan.
4. Rancangan Halaman Pengajuan Seminar
Pada halaman pengajuan seminar akan ditampilkan data-data
pendaftaran seminar yang telah ddinputkan pada halaman pendaftaran
seminar diatas. Apabila user menekan nim maka akan ditampilkan
halaman untuk mengisi data ruang ujian, waktu ujian, dan jam ujian.
Pada halaman ini user dapat menentukan kapan dan di ruang apa ujian
akan berlangsung.
Gambar 3.17 Rancangan Halaman Pengajuan Jadwal Seminar
5. Rancangan Halaman Jadwal Seminar
Pada halaman jadwal seminar akan ditampilkan seluruh jadwal
seminar. Apabila user mengklik nim maka akan tampil detail jadwal
seminar, didalam halaman ini terdapat menu untuk mengubah jadwal
seminar. Pada halaman tersebut user dapat mengubah jadwal yang sudah
ditetapkan.
Gambar 3.19 Rancangan Halaman Jadwal Seminar
Gambar 3.21 Rancangan Halaman Ubah Jadwal Seminar
6. Rancangan Halaman Laporan
Pada halaman laporan akan ditampilkan jadwal ujian yang telah
berlangsung, apabila user mengklik nim maka akan ditampilkan detail
data seminar.
Gambar 3.23 Rancangan Halaman Detail Seminar
7. Rancangan Halaman Pengaturan Sistem
Pada halaman pengaturan sistem akan ditampilkan menu untuk
mengatur data user, data seminar yang telah berlangsung, daftar ruang,
daftar dosen, daftar tanggal, dan daftar waktu.
BAB IV
IMPLEMENTASI SISTEM
Implementasi sistem akan menjelaskan lebih lanjut mengenai
implementasi dari Aplikasi Penjadwalan Ujian Tugas Akhir yang perancangan
sistemnya telah dibuat pada analisis dan perancangan sistem (Bab III).
Implementasi sistem meliputi : implementasi basis data, implementasi proses
sistem, dan implementasi tampilan antar muka (interface) dari sistem.
IV.1. Implementasi Basis Data
Implementasi basis data merupakan implementasi dari perancangan
physical design basis data yang telah dirancang pada analisis dan perancangan
sistem (Bab III). Basis data pada sistem ini, yaitu basis data db_rbs, menghasilkan
tujuh tabel, yaitu tabel rb_course, tabel rb_lecturs, tabel rb_members, tabel
rb_rooms, tabel rb_seminars, tabel rb_status, tabel rb_times.
Implementasi basis data dan tabel dalam sistem adalah sebagai berikut :
Gambar 4.2 Implementasi Tabel rb_course
Gambar 4.3 Implementasi Tabel rb_lectures
Gambar 4.4 Implementasi Tabel rb_seminars
Gambar 4.6 Implementasi Tabel rb_seminars
Gambar 4.7 Implementasi Tabel rb_status
Gambar 4.8 Implementasi Tabel rb_times
IV.2. Implementasi Tampilan Antar Muka Sistem
Tampilan antar muka sistem merupakan tampilan dari sistem yang akan
berinteraksi langsung dengan pengguna sistem. Tampilan antar muka sistem
diimplementasikan berdasarkan rancangan antar muka sistem pada analisis dan
IV.2.1. Implementasi Tampilan Antar Muka Administrator
Implementasi tampilan antar muka sistem untuk administrator adalah
implementasi dari hasil rancangan tampilan antar muka sistem untuk
administrator pada analisis dan perancangan sistem (Bab III). Implementasi antar
muka sistem untuk administrator meliputi : 1) implementasi halaman beranda, 2)
implementasi halaman jadwal berdasarkan dosen, 3) implementasi halaman
jadwal berdasarkan tanggal, 4) implementasi halaman home, 5) implementasi
halaman pendaftaran seminar, 6) implementasi daftar pengajuan, 7) implementasi
halaman jadwal seminar, 8) implementasi halaman laporan, 9) implementasi
halaman pengaturan sistem.
Berikut ini adalah hasil implementasi dari perancangan antar muka sistem
untuk administrator.
1. Implementasi Koneksi Basis Data
Koneksi ke basis data sangat diperlukan untuk dapat menghubungkan
sistem dengan basis data sistem, yaitu basis data db_rbs. Koneksi ke basis
data ini mengunakan file datareader.php, yang akan digunakan untuk
implementasi antar muka sistem pada pengguna.
<?php
class Database {
var $Host = "localhost"; var $Database = "db_rbs"; var $User = "root"; var $Password = "fr34kmonk3y";
var $Link_ID = 0; var $Query_ID = 0; var $Record = array(); var $Row; var $LoginError = "";
var $Errno = 0; var $Error = "";
function connect() {
>Link_ID=mysql_connect( >Host, >User,
$this->Query_ID = mysql_query( $Query_String,$this->Link_ID ); $this->Row = 0; n", $this->Errno, $this->Error );
{
$this->Record = mysql_fetch_array( $this->Query_ID ); $stat = is_array( $this->Record );
function mysql_escape_mimic($inp) {
2. Implementasi Halaman Beranda
Pada halaman beranda menampilkan form login administrator dan
daftar seminar yang akan berlangsung. Pada halaman ini juga disediakan
tanggal pelaksanaan. Pengguna dapat melihat jadwal tanpa harus
melakukan login terlebih dahulu.
Berikut Potongan skrip untuk login administrator :
<?php
session_start();
ob_start();
$host="localhost"; $username="root";
$password="fr34kmonk3y"; $db_name="db_rbs";
$tbl_name="rb_members";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$myusername=$_POST['myusername']; $mypassword=$_POST['mypassword'];
$myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
$_SESSION['myusername'] = $myusername; $_SESSION['mypassword'] = $mypassword;
header("location:../home.php"); }
else {
echo "Wrong Username or Password"; header("location:../index.php");
ob_end_flush(); ?>
Untuk menampilkan halaman beranda menggunakan file index.php.
Berikut Potongan skrip untuk menampilkan jadwal seminar pada
halaman beranda : sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a
LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE DATE_FORMAT(`sm_date`, '%d-%m-%Y') >= DATE_FORMAT(curdate(), '%d-%m-'%d-%m-%Y') AND `sm_status` != '3'";
$totalpages = ceil($numrows / $rowsperpage);
if
(isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {
$currentpage = (int) $_GET['currentpage'];
$currentpage = 1; }
if ($currentpage > $totalpages) {
$currentpage = $totalpages;
}
if ($currentpage < 1) {
$currentpage = 1; }
$offset = ($currentpage - 1) * $rowsperpage;
$db = new Database();
$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a
LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE DATE_FORMAT(`sm_date`, '%d-%m-%Y') >= DATE_FORMAT(curdate(), '%d-%m-'%d-%m-%Y') AND `sm_status` != '3' LIMIT $offset, $rowsperpage";
$db->query($sql);
$count =
Gambar 4.9 Implementasi Halaman Beranda
Untuk menampilkan jadwal seminar berdasarkan dosen, menggunakan
file lecture-dtl.php. Berikut potongan skrip untuk menampilkan jadwal
berdasarkan nama dosen :
<?php
require_once("class/datareader.php");
$lc_id = $_GET['lc_id'];
$db2 = new Database();
$sql = "SELECT * FROM rb_lecturs a WHERE a.id_lectur = '".$lc_id."'";
$db2->query($sql); $db2->singleRecord();
?>
<h1>Daftar Jadwal Seminar oleh : <strong><?php echo $db2->Record[1]; ?></strong></h1>
<?php
require_once("class/datareader.php");
$lc_id = $_GET['lc_id'];
$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal,
g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%Y-%m-%d') >= DATE_FORMAT(curdate(), '%Y-%m-%d') AND ( a.sm_lectur1 = '".$lc_id."' OR a.sm_lectur2 = '".$lc_id."' OR
a.sm_lectur3 = '".$lc_id."') ORDER BY a.sm_date ASC"; $db0->query($sql);
$totalpages = ceil($numrows / $rowsperpage);
// get the current page or set a default if (isset($_GET['currentpage']) &&
// if current page is greater than total pages...
if ($currentpage > $totalpages) { // set current page to last page
$currentpage = $totalpages; } // end if
// if current page is less than first page...
// set current page to first page
$currentpage = 1; } // end if
// the offset of the list, based on current page
$offset = ($currentpage - 1) * $rowsperpage;
$db = new Database();
$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal,
g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%Y-%m-%d') >= DATE_FORMAT(curdate(), '%Y-%m-%d') AND ( a.sm_lectur1 = '".$lc_id."' OR a.sm_lectur2 = '".$lc_id."' OR
a.sm_lectur3 = '".$lc_id."') ORDER BY a.sm_date ASC LIMIT $offset, $rowsperpage";
$db->query($sql);
$count = mysql_num_rows($db->query($sql));
Gambar 4.10 Implementasi Halaman Jadwal Seminar Berdasarkan Dosen
Untuk menampilkan jadwal seminar berdasarkan tanggal, menggunakan
file date-dtl.php. Berikut potongan skrip untuk menampilkan jadwal
seminar berdasarkan tanggal :
<?php
$tgl = $_GET['tgl'];
?>
<h1>Daftar Jadwal Seminar pada tanggal : <strong><?php echo $tgl; ?></strong></h1>
<?php
require_once("class/datareader.php");
$db0 = new Database();
a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%d-%M-%Y') = '".$tgl."' ORDER BY a.sm_date ASC";
$db0->query($sql);
$count = mysql_num_rows($db0->query($sql));
// get the current page or set a default if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {
// if current page is greater than total pages...
if ($currentpage > $totalpages) { // set current page to last page
sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%d-%M-%Y') = '".$tgl."' ORDER BY a.sm_date ASC LIMIT $offset, $rowsperpage";
$db->query($sql);
$count = mysql_num_rows($db->query($sql));
?>
Gambar 4.11 Implementasi Halaman Jadwal Seminar Berdasarkan Tanggal
3. Implementasi Halaman Home
Pada halaman home akan ditampilan seluruh daftar jadwal ujian
yang akan berlangsung. Untuk menampilkan halaman home,
menggunakan file home.php. Berikut potongan skrip untuk halaman
home.
<?php include_once 'includes/tpl/tp-menu-2.php'; ?>