Anda di halaman 1dari 208

RANCANG BANGUN APLIKASI ONLINE UNTUK UJIAN MASUK

JALUR REGULER (MANDIRI) DI UNIVERSITAS ISLAM NEGERI (UIN)


MAULANA MALIK IBRAHIM MALANG

SKRIPSI

Oleh :
SYAFII
NIM. 05550003

JURUSAN TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
MAULANA MALIK IBRAHIM MALANG
2009

RANCANG BANGUN APLIKASI ONLINE UNTUK UJIAN MASUK


JALUR REGULER (MANDIRI) DI UNIVERSITAS ISLAM NEGERI (UIN)
MAULANA MALIK IBRAHIM MALANG

SKRIPSI

Diajukan Kepada :
Jurusan Teknik Informatika Universitas Islam Negeri (UIN)
Maulana Malik Ibrahim Malang
Sebagai Salah Satu Persyaratan Untuk Memperoleh
Gelar Sarjana Komputer Strata Satu (S-1)

Oleh :
SYAFII
NIM. 05550003

JURUSAN TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
MAULANA MALIK IBRAHIM MALANG
2009

LEMBAR PERSETUJUAN

RANCANG BANGUN APLIKASI ONLINE UNTUK


UJIAN MASUK JALUR REGULER (MANDIRI) DI UIN
MAULANA MALIK IBRAHIM MALANG
SKRIPSI
Oleh :
SYAFII
NIM. 05550003

Telah Disetujui,
05 Agustus 2009

Pembimbing I

Pembimbing II

M. Amin Hariyadi, M.T


M.Ag
NIP. 150 368 791

Munirul Abidin,
NIP.150 321 634

Mengetahui,
Ketua JurusanTeknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Maulana Malik IbrahimMalang

Ririen Kusumawati, M.Kom


NIP. 150 368 775

HALAMAN PENGESAHAN

RANCANG BANGUN APLIKASI ONLINE UNTUK


UJIAN MASUK JALUR REGULER (MANDIRI) DI UIN
MAULANA MALIK IBRAHIM MALANG
SKRIPSI
Dipersiapkan dan disusun oleh :
SYAFII
NIM. 05550003
Telah Dipertahankan Di Depan Dewan Penguji Skripsi
Dan Dinyatakan Diterima Sebagai Salah Satu Persyaratan
Untuk Memperoleh Gelar Sarjana Komputer (S.Kom)
Tanggal, 05 Agustus 2009
Susunan Dewan Penguji

Tanda Tangan

1. Penguji Utama

: Syahiduz Zaman, M.Kom


NIP. 150 368 777

2. Ketua

: Muhammad Faisal, M.T


NIP. 150 368 776

3. Sekretaris

: M. Amin Hariyadi, M.T


NIP. 150 368 791

4. Anggota

: Munirul Abidin, M.Ag


NIP. 150 321 634

Mengetahui dan Mengesahkan,


Ketua JurusanTeknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang

Ririen Kusumawati, M.Kom


NIP. 150 368 775

SURAT PERNYATAAN
ORISINALITAS PENELITIAN

Saya yang bertanda tangan dibawah ini :


Nama

: Syafii

NIM

: 0555003

Fakultas / Jurusan

: Sains dan Teknologi / Teknik Informatika

Judul Skripsi

: Rancang Bangun Aplikasi Online


Untuk Ujian Masuk Jalur Reguler (Mandiri) Di
Universitas Islam Negeri (UIN) Maulana Malik
Ibrahim Malang
Menyatakan

dengan

sebenar-benarnya

bahwa

hasil

penelitian saya ini tidak terdapat unsur-unsur penjiplakan karya penelitian


atau karya ilmiah yang pernah dilakukan atau dibuat oleh orang lain,
kecuali yang secara tertulis dikutip dalam naskah ini dan disebutkan dalam
sumber kutipan dan daftar pustaka.
Apabila ternyata hasil penelitian ini terbukti terdapat unsurunsur jiplakan, maka saya bersedia untuk mempertanggung jawabkan,
serta diproses sesuai dengan peraturan yang berlaku.

Malang, 5 Agustus 2009


Yang Membuat Pernyataan

Syafii
NIM. 05550003

MOTTO

Belajarlah Dari Kelasalahan Orang Lain Sehingga Kita Tidak Perlu


Menghabiskan Waktu Untuk Melakukan Kesalahan Yang Sama sebagaimana
Al-Quran mengajari kita dari sejarah yang telah lampau
..
Lakukan Hal Berbeda Maka Kita Menjadi Yang Pertama
..
Apapun yang kita inginkan pasti bisa kita dapatkan asalkan kita berani
memimpikan dan bekerja keras untuk mencapainya
..
Lets Get Our Dream

PERSEMBAHAN
KARYA INI PENULIS PERSEMBAHKAN KEPADA :
Allah SWT, yang selalu menerima curhatan dari semua masalah, menjadi harapan di ujung lelah, dan
puncak kebenaran yang menjadi sebuah tujuan
.....
Rosullullah Muhammad SAW, sebagai tauladan kesempurnaan, penuntun hati yang buta, penentram
jiwa yang dahaga. Jejak rekam Mu menjadi relikui yang tak tenilai sepanjang masa, menjadi jalan
bagi mereka yang tersesat, Engkaulah sang inspirator yang tak lekang oleh waktu
.
Abi Ku H.Abdul Mukhid AlmBi..Anakmu sing ragil iki, sampun sarjana..Semoga Abi
mendengarnya di alam sana, Doa kami bersamamu, dan juga Emak ku TerrrCiinTaa
Hj.Mutammimah, Dialah sang Super Hero sejati. Kasih sayangnya tak terhingga sepanjang
masa,.Doa nya ibarat samudra yang luas dan dalam.Cinta nya ibarat ujung kuku yang selalu
tumbuh sesering apapun aku memotongnya. eMaak Terimakasih Untuk SeMuA
..
Semua saudara-saudaraku : Mb Sofi, Kang Rosidi, Kang Latif, Kang Rondli, Mbk. Istianah, Mbk
Roudloh, Mbk Ida, Mbk Umy. Dan Juga Kakak Ipar Q : Ms Arifin, Mb. Lutfi, Kak Doel, Dan
Smua Keponakan QTsuraya, Amelia, Gina dan Topandan Laen2 smuanya
.
Kuabeh poro Dosen (P. Suhartono, Bu,Ri2n, P. Amin, P. Syahid, Bu, Ro2, Bu Honey, P.Agus, P.
Yakin, P. Zainal, P. Totok, P.Fatur, P.Faishol, P. Sauqi, P. Satria, P.Gun, P. Wawan, P.Deni, P.
Barizi, P. Munir, P. Nasichuddin, Bu. Umi salamah, P. Sulis, P. Syakirin, Ustadzah Laily, ustadzah
zakia dll), Pejabat (P.Eka, Bu. Retno, Bu. Ulfa, P.Basid, P. Sutiman, P. Tur, P. Muji, P. Imam
Suprayogo). Ustad Ngaji (De Kh. Fatoni, Lek, Suud, Mb. Niroh dkk), TK(Bu. Srimun, Bu.Ndiyah),
SD (Bu. Lastri, Surti, Tutik, P. Tain P. Ichwan Dkk ), SMP (P. Sigid, P. Suwelo Dll), SMK(P.
Gatoet, P. Darto, P. Imron, P. Rusmaji, Dkk), Kursus (P. Joe dkk), Kabehke mawun, nyuwun
pandonganipun Mugo2 Kulo sageto Netepi Cito2 Engkang Luhur Kang saget Ndadosaken Ngamalan
engkang Sae.. Dumateng Kulo lan Keluarga

Untuk semua lembaga2 yang pernah saya singgahi : Mahad (P. Khamzawi dkk) LKQS (P.Lutfi dkk),
JDFI Div. Kitobah (Kang Burhan Fisika), KOPMA (Iyung Brutus, dll), HMI (Ms. Mikidi,
Ms.Wildan, P.Ketum dan smuanya), HMJ (2005 : Kakanda Hantan (Buaya), Udin (Munyuk) (20072008 : Semua Pengurusku : Yuda, Apip, Mahjonk, Uus, Ms. Gin,Fais 0706, Mbahe, Dani celeng,
niam, Kuro, Gobel, Fuadi, Musanef, Dili, Arik, Aziz, Aan, Dcy (Cayang Q) kunam, Faristin, Rona,
kang Kosim, Hamdan, Wahyudi, mohon maaf bwt yg blum kusebut..pokoke smuanya thanks 4 all)
dan semua adik2 dan kakak2 Keluarga Besar Anggota HMJ-TI UIN MMI Malang(Ngak Lupa Bem
F2007( Ms. Ali Dkk) D-PMF2007(Abi, Anas Dkk)(Bem U 2007(Asad Dkk) dan Smua OMIK,
FORKOMTIF, KEMAHASISWAAN (P. Jaiz K, P. Roibin, P. Bahar, P. Aziz Dkk) Perpus (P.
Imron) BAK (B. Endah, P. Andik)Paska (P. Agus, P.Fatah,) Terimakasih Semuanya)

Tidak lupa pada Bu Kos Sekeluarga, Tmen2 Ku (Catur, Suryani, Son, Mb. Ivana, Ajeng, Ainatol,
Indah uli, Fikri,, Koiron, Reog, Din haq, Shofin, Miftah, Martina, Hanik, Uswatun khasanah, intan,
Sofi, Nobita, rojak, P. Bro (N Family), Armawi, Inul, huda, Tomo, Ms, Afif, Ms. Ito, Susi, Heni,
Dwik, Diaz, Sublab, Habibi, Dan Semua Tmen2 yang telah membantu, memberikan sumbangsi
pemikiran dan meluangkan waktunya, sehingga penulis mampu menyelesaikan karya ini
..

THANKS 4 ALL

KATA PENGANTAR

Tiada kata yang pantas terucap selain Alhamdulillah sebagai wujud rasa
syukur kepada Allah SWT, yang mana hanya dengan rahmat, taufik, hidayah, dan
inayah-Nya penulis dapat menyelesaikan laporan skripsi ini dengan semaksimal
mungkin, walaupun masih jauh dari kesempurnaan. semoga dari apa yang penulis
upayakan ini dapat bermanfaat bagi kita semua.
Shalawat serta salam kami haturkan pada junjungan besar kita, Nabi besar
Muhammad SAW yang karenaNya kita mendapat pencerahan menuju jalan yang
lurus, jalan yang diridhoi dan bukan jalan orang sesat yang dimurkai. Semoga
Allah melimpahkan atas mereka, rahmat yang sesuai dengan keutamaan mereka
sebagai pahala atas amal perbuatan mereka.
Penulis menyadari keterbatasan pengetahuan yang penulis miliki, karena
itu tanpa keterlibatan dan sumbangsih dari berbagai pihak, sulit bagi penulis untuk
menyelesaikan laporan skripsi ini. Maka dari itu dengan segenap kerendahan hati
patutlah penulis ucapkan terima kasih kepada:
1. Bapak dan Ibu tercinta sebagai Orang tua serta Saudara-saudara kami yang
selalu memberi motivasi kepada kami. Perjuangan dan keikhlasan kalian
membuat kami malu untuk tidak berprestasi dan berkarya.
2. Bapak Prof. Dr. H. Imam Soprayogo, selaku Rektor Universitas Islam Negeri
(UIN) Malang.
3. Bapak Prof. Dr. Sutiman Bambang Sumitro, SU., Dsc, selaku Dekan fakultas
Sains dan Teknologi UIN Malang
4. Bapak Suhartono, S.Si, M.Kom., selaku Ketua jurusan Teknik Informatika
fakultas Sains dan Teknologi UIN Malang
5. Bapak M. Amin Hariyadi, M.T, selaku dosen pembimbing jurusan yang telah
meluangkan waktu untuk membimbing, memotivasi, mengarahkan dan
memberi masukan dalam pembuatan skripsi ini.

6. Bapak Munirul Abidin, M.Ag, selaku dosen pmbimbing integrasi sains dan
islam, yang selalu memberikan masukan, nasehat serta petunjuk dalam
penyusunan laporan skripsi ini.
7. Segenap Dosen Teknik Informatika UIN Malang yang telah memberikan
secerca sinar keilmuannya, serta kenangan-kenangan indah selama proses
belajar dikampus yang selalu menjadi kenangan unik bagi penulis.
8. Semua teman-teman civitas akademika UIN Malang angkatan 2005 pada
umumnya dan anak-anak Jurusan Teknik Informatika UIN Malang angkatan
2004-2008 pada khususnya, yang memberikan dukungan sehingga laporan
skripsi ini mampu penulis rampungkan.
Akhirnya atas segala kekurangan dari laporan skripsi ini, sangat
diharapkan saran dan kritik yang bersifat konstruktif dari semua pembaca yang
bisa dikirimkan ke pinguin192@plasa.com. Semoga laporan penelitian ini dapat
memberi konstibusi positif serta bermanfaat bagi kita semua, Amin

Malang, 30 Juli 2009

Penulis

DAFTAR ISI

HALAMAN JUDUL ...................................................................................... i


HALAMAN PERSETUJUAN ...................................................................... ii
HALAMAN PENGESAHAN........................................................................ iii
HALAMAN PERNYATAAN........................................................................ iv
MOTTO .......................................................................................................... v
PERSEMBAHAN........................................................................................... vi
KATA PENGANTAR.................................................................................... vii
DAFTAR ISI................................................................................................... ix
DAFTAR TABEL .......................................................................................... xvi
DAFTAR GAMBAR...................................................................................... xvii
DAFTAR LAMPIRAN .................................................................................. xxi
ABSTRAK ...................................................................................................... xxii
BAB I PENDAHULUAN............................................................................. 1
1.1 Latar Belakang ................................................................................... 1
1.2 Rumusan Masalah .............................................................................. 5
1.3 Tujuan Penelitian................................................................................ 5
1.4 Manfaat Penelitian.............................................................................. 5
1.5 Batasan Masalah................................................................................. 6
1.6 Metode Penelitian............................................................................... 6
1.7 Sistematika Penyusunan Skripsi......................................................... 7
BAB II TINJAUAN PUSTAKA................................................................... 10

10

2.1 Sejarah Perkembangan Perguruan Tinggi .......................................... 10


2.2 Ujian dalam Al-Quran dan Relevansinya dengan
Perguruan Tinggi ................................................................................ 13
2.3 Penerapan Sistem Ujian di Perguruan Tinggi .................................... 17
2.3.1 Jenis-jenis Feedback Dalam Sistem Ujian................................. 18
2.3.2 Tipe Soal dalam Sistem Ujian Online........................................ 21
2.3.3 Bobot-bobot soal........................................................................ 23
2.3.4 Pencegahan Kecurangan dalam Sistem Ujian ........................... 24
2.4 Perangkat Lunak Pembuatan Aplikasi Ujian Online.......................... 26
2.4.1 Apache Tomcat Web Server ...................................................... 26
2.4.1.1 Installasi Apache Tomcat.................................................. 27
2.4.1.2 Konfigurasi........................................................................ 27
2.4.1.3 Struktur Directory Catalina_Home .................................. 30
2.4.1.4 Tomcat Users .................................................................... 30
2.4.1.5 Administrasi di Tomcat ..................................................... 31
2.4.1.5.1 Tomcat Manager Tool .............................................. 31
2.4.1.5.2 Tomcat Administration Tool..................................... 33
2.4.2 Java............................................................................................ 34
2.4.2.1 Sekilas Tentang J2EE dan Servlet .................................... 34
2.4.2.2 Servlet................................................................................ 37
2.4.2.2.1 Konsep Siklus Intern Servlet ..................................... 38
2.4.2.2.2 Gambaran Arsitektur Servlet ..................................... 39
2.4.2.2.3 Perwujudan Servlet Pertama...................................... 42

11

2.4.2.2.4 Servlet Dasar yang Mencetak Hello World............... 42


2.4.2.3 Containers ......................................................................... 45
2.4.2.4 JSP (Java Server Pages) .................................................... 46
2.4.24.1 Keunggulan Menggunakan JSP .................................. 49
2.4.2.4.2 Contoh JSP ................................................................. 51
2.4.2.4.3 Syntax JSP dan Semantics .......................................... 52
2.4.2.4.4 Element-element dan Data Template ......................... 53
2.4.2.4.5 Dua Tipe Syntax......................................................... 53
2.4.2.4.6 Scripting Elements ..................................................... 54
2.4.2.4.6.1 Scriptlets ( <% ... %> ) ...................................... 54
2.4.2.4.6.2 Expressi ( <%= %>) .......................................... 56
2.4.2.4.6.3 Deklarasi ( <%! %> ) ........................................ 58
2.4.2.4.7 Variable-variable yang telah dikenal ......................... 62
2.4.2.4.8 JSP Directives ............................................................ 63
2.4.2.4.8.1 Page Directive ................................................... 64
2.4.2.4.8.2 Include Directive ............................................... 65
2.4.2.4.8.3 Tag Lib directive................................................ 66
2.4.2.4.9 Expression dalam JSP ................................................ 67
2.4.2.4.10 Syntax EL Literals .................................................... 68
2.4.2.4.11 Melakukan Koneksi dengan Database..................... 69
2.4.2.4.11.1 MySQL ............................................................ 69
2.4.2.4.11.2 Perintah perintah dalam
Lingkungan Database...................................... 71

12

2.4.2.4.11.3 JDBC (Java Database Connectivity) ............... 74


2.4.2.4.11.4 Java.sql. Driver Manager................................ 75
2.4.2.4.11.5 Javax.sql. Data Source..................................... 76
2.4.2.4.11.6 Konfigurasi Data Source pada
Sun Application Server.................................... 77
2.4.2.4.11.7 Membuat Sebuah Connection Pool ................. 77
2.4.2.4.11.8 Mendaftarkan Data Source .............................. 79
2.4.2.4.11.9 Retrieving Data Source.................................... 79
2.4.2.4.11.10 Java.sql.Connection / Java.sql.Statement ...... 80
2.4.3 Dream Weafer............................................................................ 81
2.4.3.1 Pengenalan Interface Dreamweaver.................................. 82
2.4.3.2 Memulai Mendesain Web dengan Dreamweaver ............. 86
2.5 Sistem Pendukung Keputusan ............................................................ 89
2.5.1 Jenis-jenis Keputusan Menurut Herbert A. Simon .................... 89
2.5.2 Tahap-tahap Pengambilan Keputusan ....................................... 90
2.5.3 Konsep DSS............................................................................... 90
2.5.4 Tujuan DSS................................................................................ 91
2.5.5 Kriteria Sistem Pendukung Keputusan ...................................... 92
2.5.6 Tahap-tahap Pembentukan SPK ................................................ 93
2.5.7 Model DSS (SPK)...................................................................... 93
2.5.8 Konsep GDSS ............................................................................ 95
2.5.9 Lingkungan GDSS..................................................................... 95
2.5.10 Peran DSS dalam Pemecahan Masalah ................................... 97

13

2.6 Flowchart............................................................................................ 97
BAB III ANALISIS PERANCANGAN SISTEM ..................................... 100
3.1 Deskripsi Program .............................................................................. 100
3.2 Desain Sistem ..................................................................................... 100
3.2.1 Pembangunan Program Terstruktur ........................................... 100
3.2.2 Overview Diagram ..................................................................... 102
3.2.3 System Development Live Cycle ................................................ 103
3.2.4 Pembuatan Alogaritma Program................................................ 104
3.3 Desain Basis Data............................................................................... 106
3.3.1 Tabel Ujian Online..................................................................... 106
3.3.2 ERD (Entity Relationship Diagram).......................................... 109
3.4 Analisis Sistem ................................................................................... 110
3.4.1 Use Case Diagram ..................................................................... 110
3.4.2 Aktifity Diagram........................................................................ 112
3.4.3 Squence Diagram....................................................................... 117
3.4.4 Collaboration Diagram .............................................................. 123
3.4.5 Class Diagram............................................................................ 127
BAB IV HASIL DAN PEMBAHASAN ..................................................... 129
4.1 Lingkungan Uji Coba ......................................................................... 129
4.2 Implementasi Program............................................................................................... 130
4.2.1 Generate Code............................................................................ 130
4.2.1.1 Login.java ......................................................................... 130
4.2.1.2 Pendaftaran.java ................................................................ 131

14

4.2.1.3 Soal.java ............................................................................ 132


4.2.1.4 Operator.java..................................................................... 133
4.2.1.5 HasilTes.java..................................................................... 133
4.2.1.6 Administrator.java............................................................. 134
4.2.2 Halaman Utama............................................................................................... 134
4.2.3 Login.......................................................................................... 136
4.2.4 Administrator ............................................................................. 138
4.2.4.1 Home ................................................................................. 139
4.2.4.2 Jurusan .............................................................................. 139
4.2.4.3 Setting Nilai ..................................................................... 143
4.2.4.4 Kategori Soal..................................................................... 144
4.2.4.5 Soal Ujian.......................................................................... 145
4.2.4.6 Jawaban Soal..................................................................... 147
4.2.4.7 Soal Tes Kepribadian ........................................................ 148
4.2.4.8 Daftar Peserta .................................................................... 151
4.2.4.9 Daftar Pegawai .................................................................. 152
4.2.4.10 Hasil Ujian ...................................................................... 153
4.2.5 Oprator ....................................................................................... 157
4.2.6 Calon Mahasiswa....................................................................... 158
4.2.6.1 Home ................................................................................. 158
4.2.6.2 Profile Peserta ................................................................... 159
4.2.6.3 Mulai Ujian ....................................................................... 159
4.2.6.4 Hasil Ujian ........................................................................ 160

15

4.2.6.5 Ganti Password ................................................................. 161


4.2.6.6 Logout ............................................................................... 163
4.3 Kajian Agama Terhadap Hasil Penelitian .......................................... 162
BAB V PENUTUP........................................................................................ 165
5.1 Kesimpulan......................................................................................... 165
5.2 Saran ................................................................................................... 165
DAFTAR PUSTAKA ..................................................................................... 166
LAMPIRAN.................................................................................................... 168

16

DAFTAR TABEL

Tabel 2.1 Keuntungan dan Kerugian Sistem Ujian Online............................ 18


Tabel 2.2 Daftar List Aplikasi........................................................................ 31
Tabel 2.3 Daftar Atribut pada Directive ........................................................ 54
Tabel 3.1 Overview Diagram......................................................................... 102
Tabel 3.2 System Development Live Cycle................................................... 103
Tabel 3.3 Pegawai .......................................................................................... 107
Tabel 3.4 Peserta ............................................................................................ 107
Tabel 3.5 Jurusan ........................................................................................... 108
Tabel 3.6 Kategori Soal.................................................................................. 108
Tabel 3.7 Soal................................................................................................. 108
Tabel 3.8 Test Pribadi .................................................................................... 108
Tabel 3.9 Jawaban.......................................................................................... 108
Tabel 3.10 Jawaban Tes ................................................................................... 108
Tabel 3.11 Nilai................................................................................................ 109
Tabel 3.12 Status Ujian .................................................................................... 109
Tabel 4.1 Lingkungan Uji Coba..................................................................... 129

17

DAFTAR GAMBAR

Gambar 2.1 Arsitektur feedback sehabis setiap pertanyaan........................... 19


Gambar 2.2 Arsitektur feedback sehabis setelah ujian selesai....................... 20
Gambar 2.3 Arsitektur feedback yang dikoreksi oleh pengajar ..................... 21
Gambar 2.4 Tampilan Apache Tomcat .......................................................... 27
Gambar 2.5 User Name dan Password Saat Instalasi .................................... 29
Gambar 2.6 Apache Tom Cat Properties ....................................................... 30
Gambar 2.7 Instalasi File War ....................................................................... 33
Gambar 2.8 Upload File War......................................................................... 33
Gambar 2.9 Administration Tool Pada Tomcat ............................................. 34
Gambar 2.10 Platform J2EE API (Application Programming Interface) ........ 37
Gambar 2.11 Arsitektur Web Server dan Container pada J2EE ...................... 37
Gambar 2.12 Source Code Struktur Dasar Servlet........................................... 42
Gambar 2.13 Tampilan Hello Word................................................................. 45
Gambar 2.14 Containers pada platform J2EE.................................................. 45
Gambar 2.15 Proses Pemrograman JSP ........................................................... 46
Gambar 2.16 Tomcat Aplication Manager....................................................... 47
Gambar 2.17 Source Code Selamat Datang..................................................... 52
Gambar 2.18 Tampilan Selamat Datang .......................................................... 52
Gambar 2.19 Source Code Println ................................................................... 55
Gambar 2.20 Source Code For-Loop ............................................................... 56
Gambar 2.21 LoopScriptlet.jsp ........................................................................ 57

18

Gambar 2.22 AccessCountDeclaration.jsp ...................................................... 59


Gambar 2.23 Source Code Koneksi Database ................................................. 76
Gambar 2.24 Layar Console System Application Server ................................ 78
Gambar 2.25 Additional Properties.................................................................. 78
Gambar 2.26 Source Code Membuat Instance................................................. 80
Gambar 2.27 Source Code Outlining Prosedur................................................ 81
Gambar 2.28 Jendela Dialog Dreamweaver..................................................... 82
Gambar 2.29 Document Toolbar...................................................................... 83
Gambar 2.30 Bagian-bagian Utama Tempat Kerja Dreamweaver .................. 84
Gambar 2.31 Halaman Baru Dreamweaver ..................................................... 85
Gambar 2.32 Model Linear .............................................................................. 87
Gambar 2.33 Model Hirarki............................................................................. 88
Gambar 2.34 Model Terpusat .......................................................................... 88
Gambar 2.35 Matriks Gorry dan Scott Morton................................................ 91
Gambar 2.36 DSS Berfokus Pada Masalah Semi Terstruktur ......................... 92
Gambar 2.37 Model Pemecahan Masalah........................................................ 94
Gambar 2.38 Tata Letak Ruang Keputusan ..................................................... 96
Gambar 3.1 Alogarima Pemrograman ........................................................... 106
Gambar 3.2 Entity Relationship Diagram...................................................... 109
Gambar 3.3 Use Case Diagram...................................................................... 110
Gambar 3.4 Aktifity Diagram (Aktifitas Login) ............................................ 113
Gambar 3.5 Aktifity Diagram (Aktifitas Mendaftar)..................................... 113
Gambar 3.6 Aktifity Diagram (Aktifitas Cek Manual).................................. 114

19

Gambar 3.7 Aktifity Diagram (Aktifitas Ujian Seleksi) ................................ 115


Gambar 3.8 Aktifity Diagram (Aktifitas Hasil Seleksi)................................. 116
Gambar 3.9 Aktifity Diagram (Aktifitas Edit Data) ...................................... 116
Gambar 3.10 Squence Diagram (Alur Melakukan Login)............................... 118
Gambar 3.11 Squence Diagram (Alur Mendaftar)........................................... 119
Gambar 3.12 Squence Diagram (Alur Mengikuti Tes).................................... 120
Gambar 3.13 Squence Diagram (Alur Penetapan Hasil Tes)........................... 121
Gambar 3.14 Squence Diagram (Alur Edit Data) ............................................ 122
Gambar 3.15 Collaboration Diagram (Login).................................................. 123
Gambar 3.16 Collaboration Diagram (Pendaftaran) ........................................ 124
Gambar 3.17 Collaboration Diagram (Mengikuti Tes).................................... 125
Gambar 3.18 Collaboration Diagram (Penetapan Hasil Tes)........................... 126
Gambar 3.19 Collaboration Diagram (Edit Data) ............................................ 127
Gambar 3.20 Class Diagram Aplikasi UMJR .................................................. 128
Gambar 4.1 Halaman Utama.......................................................................... 135
Gambar 4.2 Profile UIN Malang.................................................................... 136
Gambar 4.3 Halaman Login........................................................................... 137
Gambar 4.4 Halaman Admin ......................................................................... 139
Gambar 4.5 Jurusan........................................................................................ 140
Gambar 4.6 Edit dan Tambah Jurusan ........................................................... 140
Gambar 4.7 Halaman Range Nilai ................................................................. 143
Gambar 4.8 Edit Range Nilai dan Input Nilai................................................ 143
Gambar 4.9 Kategori Soal Ujian.................................................................... 145

20

Gambar 4.10 Edit Kategori Soal dan Input Kategori Soal............................... 145
Gambar 4.11 Soal Ujian................................................................................... 145
Gambar 4.12 Input Soal Ujian ......................................................................... 146
Gambar 4.13 Edit Soal Ujian ........................................................................... 146
Gambar 4.14 Cetak Soal Ujian......................................................................... 146
Gambar 4.15 Edit Jawaban Soal ...................................................................... 147
Gambar 4.16 Jawaban Soal .............................................................................. 148
Gambar 4.17 Data Soal Kepribadian ............................................................... 148
Gambar 4.18 Edit Soal Kepribadian ................................................................ 149
Gambar 4.19 Cetak Soal Kepribadian.............................................................. 149
Gambar 4.20 Daftar Peserta ............................................................................. 151
Gambar 4.21 Daftar Pegawai ........................................................................... 152
Gambar 4.22 Hasil Ujian.................................................................................. 153
Gambar 4.23 Halaman Oprator ........................................................................ 158
Gambar 4.24 Halaman Peserta......................................................................... 159
Gambar 4.25 Profile Peserta ............................................................................ 159
Gambar 4.26 Soal Ujian................................................................................... 160
Gambar 4.27 Hasil Ujian.................................................................................. 161
Gambar 4.28 Ganti User Name & Password ................................................... 161

21

DAFTAR LAMPIRAN

Lampiran 1. Bukti Konsultasi .......................................................................... 168


Lampiran 2. Naskah Soal Ujian Biasa ............................................................. 169
Lampiran 3. Naskah Soal Ujian Wawancara ................................................... 176
Lampiran 4. Naskah Soal Ujian Kepribadian .................................................. 177

22

ABSTRAK
Syafii. Rancang Bangun Aplikasi Online Untuk Ujian Masuk Jalur Reguler Di
UIN Maulana Malik Ibrahim Malang. Skripsi. Jurusan Teknik
Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri
(UIN) Maulana Malik Ibrahim Malang. M. Amin Hariyadi, M.T
Kata kunci : Aplikasi, Java, JSP, MySql, Software, Macromedia Dramweafer,
Sistem, Rationalrose, Microsoft Visio, Webserver, Tomcat, Client
Proses berjalannya pendidikan di Indonesia selama 64 tahun pasca
kemerdekaan, ternyata masih menyisakan berbagai permasalahan yang sangat
dilematis. Dalam hal ujian misalnya, disatu sisi pemerintah menjadikan ujian
sebagai standart baku dalam menentukan kualitas lembaga pendidikan namun
disisi lain, tidak di imbangi dengan adanya pemerataan sarana dan prasarana, baik
berupa fasislitas, tenaga pendidik professional, dan sebagainya. Hal ini akhirnya
menimbulkan kesenjangan antar lembaga pendidikan, yang berujung pada
munculnya persaingan yang tidak sehat, sehingga memicu praktek-praktek
kecurangan untamanya dalam pelaksanaan ujian. Secara tidak langsung para
pengajar, orang tua, dan anak didik akan memiliki paradigma menghalalkan
segala cara untuk mencapai target dalam ujian, misalnya dalam mengikuti proses
seleksi masuk perguruan tinggi, tidak jarang para orang tua menggunakan cara
suap, anak menyewa joki, dan sebagainya sehingga sudah melenceng jauh dari
tujuan diadakannya ujian tersebut.
Adanya Aplikasi ujian online, menjadi salah satu alternatif untuk
mengurangi kecurangan dalam proses pelaksanaan ujian, khususnya ujian masuk
perguruan tinggi jalur reguler (mandiri) di UIN Maulana Malik Ibrahim Malang.
Selain itu aplikasi ujian online juga dapat menghemat waktu, biaya, dan tenaga,
dengan hasil ujian yang sangat objektif. Dalam proses pembuatannya, aplikasi
ujian online ini menggunakan bahasa pemrograman java (JSP) dengan MySql
sebagai database nya. Untuk memberikan tampilan yang menarik pada aplikasi
ujian online, maka digunakan software bantu seperti photoshop dan macromedia
dreamweafer. Sedangkan untuk perancangan sistemnya menggunakan software
bantu rationalrose dan microsoft visio.
Aplikasi ujian online yang telah dirancang akan diimplementasikan
dengan webserver lokal menggunakan tomcat, yang di letakkan pada komputer
server, kemudian akan diakses oleh komputer client yang terkoneksi dalam satu
ruangan saja. Aplikasi ini memiliki kemampuan acak soal, psikotes, dan
pengkoreksian secara langsung, sehingga nilai bisa langsung dilihat tentunya
dengan paparan benar dan salahnya. Selain itu dilengkapi juga dengan dukungan
keputusan yang memungkinkan adanya pergantian siswa dengan kesepakatan
dewan pelaksana ujian mandiri, yang didasarkan pada 3 poin pokok yakni : Quota
per jurusan, nilai ujian normatif, serta nilai ujian wawancara.

23

BAB I
PENDAHULUAN

1.1

Latar Belakang
Dunia pendidikan khususnya dinegara tercinta Indonesia, nampaknya

sedang mengalami berbagai macam problematika yang cukup akut, dalam hal ini
sudah mengarah kepada penurunan kualitas anak didik yang mampu dihasilkan
oleh lembaga-lembaga pendidikan yang ada saat ini, utamanya pada lembaga
pendidikan formal. Disadari maupun tidak saat ini, Indonesia sedang mengalami
sebuah degradasi sistem pendidikan yang berpijak pada kebudayaan sendiri.
Pada penetapan kurikulum misalnya, para penyusun harus dikarantina dulu
ke negeri Paman Sam, atau harus mengadakan studi banding ke Malaysia untuk
bisa menghasilkan sistem pendidikan yang berkualitas. Namun kenyataan yang
terjadi sistem pendidikan menjadi gado-gado, dan semakin tidak stabil, terbukti
dengan seringnya pergantian model kurikulum seiring dengan pergantian menteri
pendidikan, padahal sejarah telah mencatat bahwa Indonesia pada zaman orde
lama menjadi kiblat bagi negara-negara lain khususnya ditingkatan Asia.
Persaingan antar perguruan tinggi yang semakin ketat dan tuntutan untuk
meningkatkan kualitas lulusan PTAIN, yang sering dianggap sebelah mata oleh
beberapa kalangan dengan membandingkan lulusan dari non PTAIN, pada
akhirnya berpengaruh terhadap minimnya peminat untuk masuk ke PTAIN, maka
perlu adanya keberanian untuk melakukan sebuah perubahan yang sangat
mendasar, dalam hal ini ada pada tataran proses seleksi, sehingga pembuatan
aplikasi ujian masuk UIN Maliki online menjadi sebuah kebutuhan yang sangat

24

utama untuk bisa meningkatkan kualitas calon mahasiswa di UIN Maliki Malang.
Calon mahasiswa yang nantinya lolos seleksi merupakan hasil terbaik dari sekian
pendaftar yang gugur. Calon mahasiswa ini lah yang nantinya siap menjadi
professional-prosional muda yang tidak hanya intelek namun memiliki keagungan
akhlak yang luhur.
Sesuai dengan Visi UIN Maliki Malang yakni mencetak generasi intelek,
professional yang ulama yang berpijak pada Al-Quran Surat Ali Imran Ayat
(190-191) yang berbunyi :
t%!$# =t69F{$# <'T[{ ;MtU $p]9$#u 9$# #n=Fz$#u F{$#u Nuy9$# ,=yz )
$t $u/u F{$#u Nuu9$# ,=yz t6xtGtu /_ 4n?tu #Y%u $Vu% !$# t.t
$9$# z>#xt $o)s y7oys6 Wt/ #xy |M)n=yz

Artinya :
Sesungguhnya dalam penciptaan langit dan bumi, dan silih bergantinya
malam dan siang terdapat tanda-tanda bagi orang-orang yang berakal, (yaitu)
orang-orang yang mengingat Allah sambil berdiri atau duduk atau dalam keadan
berbaring dan mereka memikirkan tentang penciptaan langit dan bumi (seraya
berkata): "Ya Tuhan kami, tiadalah Engkau menciptakan Ini dengan sia-sia,
Maha Suci Engkau, Maka peliharalah kami dari siksa neraka.
(QS. Ali Imran : 190-191)
Maka dalam mendukung hal ini, seyogyanya kita sebagai insan akademis
pencipta dan pengabdi, harus mampu menawarkan solusi cerdas sebagai jawaban
berbagai macam problematika bangsa khususnya dibidang pendidikan. Hal ini

25

merupakan wujud sense of belonging dan empati kita terhadap permasalahan


pendidikan yang ada, yang mampu kita upayakan secara bersama-sama.
Sekarang adalah waktu yang tepat untuk membangun karakter bangsa
yang akan menjadi cirikhas dengan melepas berbagai ketergantungan terhadap
negara lain secara kolektif kolegial, salah satunya meningkatkan profesionalisme
akademik calon mahasiswa melalui seleksi yang ketat dan jauh dari praktekpraktek curang yang sering terjadi. Melalui proses seleksi yang objektif maka UIN
Maliki Malang kedepan akan memiliki bibit-bibit unggul yang siap untuk
melakukan proses pembelajaran. Allah telah berfirman di dalam Al-Quran Surat
Ali Imran 3 :186) yang dijadikan sebagai landasan dalam pembutan aplikasi ini :
zu 6=6s% |=tG39$# (#?& z%!$# z ytFs9u 6r&u 69ur& n=7Fs9 *
W{$# t 9s *s (#)Gs?u (# 9s? )u 4 #Z 0Wx. ]r& (#.u r& %!$#
Artinya :
Kamu sungguh-sungguh akan diuji terhadap hartamu dan dirimu. dan
(juga) kamu sungguh-sungguh akan mendengar dari orang-orang yang diberi
Kitab sebelum kamu dan dari orang-orang yang mempersekutukan Allah,
gangguan yang banyak yang menyakitkan hati. jika kamu bersabar dan bertakwa,
Maka Sesungguhnya yang demikian itu termasuk urusan yang patut diutamakan.
(QS. Ali Imran 3 : 186)
Relevansi terkait ayat-ayat tersebut diatas adalah bahwa manusia akan
selalu diuji dalam setiap waktu dan kesempatan untuk meningkatkan kualitasnya,
semakin tinggi kualitas seseorang maka semakin beratlah ujian yang akan

26

diberikan. Dalam dunia pendidikan, ujian juga menjadi media evalusi yang sangat
penting dan masih relevan sampai saat ini untuk mencari orang-orang yang
berkualitas, dalam bahasa Al-Quran sering disebut orang yang akan ditingkatkan
derajatnya dari sebagian manusia-manusia yang lain.
Ujian tidak hanya sekedar menjadi tolok ukur kualitas saja, namun juga
berfungsi sebagai sarana perpindahan jenjang, dari jenjang satu ke jenjang yang
lebih tinggi, mulai SD, SMP, SMA, Perguruan Tinggi dan seterusnya, tentunya
dengan kesulitan yang terus meningkat yang akan dilakukan secara tahap demi
tahap. Sehingga dapat diperoleh orang yang terbaik dari sebagian yan lainnya.
Hal ini tidak akan berjalan tanpa adanya aktualisasi konkrit yang bisa kita
sumbangkan, maka senada dengan Instruksi Presiden Republik Indonesia Nomor
6 tahun 2001 tentang Pengembangan dan Pendayagunaan Telematika di
Indonesia, maka munculah ide untuk membuat konsep penerapan komputerisasi
dalam bentuk pembuatan aplikasi (software) yang bisa digunakan untuk
menseleksi calon mahasiswa dari jalur reguler (mandiri), sehingga mampu
menoptimalkan jalannya proses seleksi calon mahasiswa secara lebih cepat,
sekaligus sebagai pijakan awal untuk peningkatan kualitas civitas akademika
dalam menjawab tantangan global. Mudah-mudahan kontribusi kecil ini mampu
menyadarkan kita akan potensi anak bangsa yang seharusnya kita kembangkan
tanpa harus kehilangan karakter sebagai Bangsa Indonesia yang mencintai hasil
karyanya.
Adanya program UMJR (Ujian Masuk Jalur Reguler (mandiri)) Online
juga akan mempermudah proses seleksi dan menambah minat para pendaftar di

27

UIN Maliki Malang, karena prosesnya yang cukup mudah dengan penilaian yang
sangat objektif. Dengan begitu jalannya proses seleksi calon mahasiswa akan
lebih kompetitif dan selektif, yang nantinya siap tumbuh dan berproses di UIN
Maliki Malang, untuk menghadapi persaingan dunia kerja di kemudian hari.
1.2

Rumusan Masalah
Dari latar belakang yang ada maka dapat dibuat rumusan masalah yang

nantinya akan dibahas dalam penelitian ini, yakni bagaimana merancang dan
membangun sebuah aplikasi yang nantinya digunakan untuk seleksi ujian masuk
jalur reguler (mandiri) secara online di UIN Maliki Malang.
1.3

Tujuan Penelitian
Dari rumusan masalah yang ada maka yang menjadi tujuan dari penelitian

ini adalah untuk merancang dan membangun sebuah aplikasi yang nantinya
digunakan untuk seleksi ujian masuk jalur reguler (mandiri) secara online di UIN
Maliki Malang.
1.4

Manfaat Penelitian
Dari tujuan penelitian yang ada maka ada beberapa manfaat yang bisa

dihasilkan dari penelitian ini, antara lain :


1. Diharapkan dapat menghemat waktu, biaya, dan tenaga untuk kegiatan
seleksi calon mahasiswa jalur reguler (mandiri).
2. Diharapkan dapat meningkatkan citra perguruan tinggi karena
menggunakan teknologi informasi.
3. Diharapkan dapat meningkatkan kuallitas calon mahasiswa dari jalur
reguler (mandiri).

28

1.5

Batasan Masalah
Dari rumusan masalah yang ada maka dapat dibuat beberapa batasan

masalah dalam penelitian ini antara lain :


1. Sistem dan bobot penilaian sesuai dengan ketentuan di UIN Maliki
Maulana Malik Ibrahin Malang
2. Output program adalah menentukan hasil seleksi terbaik sesuai dengan
quota yang dibutuhkan.
3. Aplikasi dibuat menggunakan JSP & MySql
4. Uji coba dilakukan dengan web server lokal (apace tomcat web server)
1.6

Metode Penelitian
Metode yang digunakan dalam penelitian tentanng pembuatan aplikasi

ujian online adalah sebagai berikut:


A. Studi Literatur
Pada tahap ini dilakukan pencarian dan pemahaman literatur yang
berhubungan dengan permasalahan pembuatan aplikasi ujian online yang bisa
diperoleh dalam bentuk paper, text book, dan hasil browsing di internet yang
terkait dengan penelitian ini.
B. Wawancara
Dalam tahap ini akan dilakukan wawancara pada tim penyusun soal ujian
reguler (mandiri) di UIN Maliki Malang untuk menentukan konsep serta aturanaturan yang digunakan dalam penentuan penilaian, yang nantinya digunakan
untuk mendukung keputusan penerimaan calon mahasiswa di UIN Maliki Malang
dari jalur reguler (mandiri).

29

C. Perumusan masalah dan penyelesaiannya


Tahap ini meliputi perumusan masalah, batasan-batasan masalah, dan
penyelesaiannya serta penentuan parameter untuk mengukur hasilnya.
D. Perancangan Perangkat Lunak
Pada tahap ini dilakukan perancangan perangkat lunak untuk menerapkan
permasalahan dan penyelesaiannya pada tahap sebelumnya.
E. Pembuatan Perangkat Lunak
Pada tahap ini dilakukan pembuatan perangkat lunak sesuai dengan
perancangan perangkat lunak yang telah dilakukan, dengan melakukan konversi
algoritma menjadi kode program yang siap dieksekusi.
F. Uji Coba dan Evaluasi Hasil
Tahap ini meliputi uji coba terhadap algoritma yang telah dirancang untuk
pembuatan aplikasi online ujian masuk jalur reguler (mandiri) serta kesesuaian
dengan program jadinya, dan evaluasi dari setiap percobaan.
G. Penyusunan laporan penelitian
Pada tahap ini dilakukan penulisan laporan penelitian yang merupakan
dokumentasi dari konsep atau teori penunjang, perancangan perangkat lunak,
pembuatan perangkat lunak dan dokumentasi dari uji coba dan analisis, serta
kesimpulan dan saran.
1.7

Sistematika Penyusunan Skripsi


Sistematika dalam penulisan skripsi ini akan dibagi menjadi beberapa bab

sebagai berikut :
A. Bab 1 Pendahuluan

30

Pendahuluan adalah bab pertama dari tugas akhir yang memuat tentang
berbagai alasan tentang pentingnya dilakukan penelitian ini, untuk apa penelitian
tersebut dan mengapa penelitian itu harus dilakukan. Oleh karena itu, bab
pendahuluan terdiri atas : Latar belakang masalah, tujuan penelitian, manfaat
penelitian, rumusan masalah, batasan masalah, metode penelitian dan sistematika
penyusunan skripsi.
B. Bab 2 Tinjauan Pustaka
Bab dua berisi tentang argumentasi ilmiah yang dipakai sebagai referensi.
Bahan pustaka yang digunakan diperoleh dari berbagai sumber seperti : Jurnal
penelitian, laporan penelitian, buku teks, diskusi ilmiah, maupun temuan-temuan
hasil browsing di internet. Berikutnya mengkaji hasil temuan pustaka yang
berhubungan dengan konsep-konsep yang dipermasalahkan dan akan dipakai
dalam analisis, termasuk mengkaji tentang teori-teori keislaman yang berkaitan
dengan penelitian ini.
C. Bab 3 Analisis dan Perancangan
Bab tiga berisi analisa dan desain sistem secara terstruktur, yang
dilengkapi dengan beberapa diagram dan pseudocode algoritma. Selain itu akan
dilakukan pembuatan aplikasi yang dibangun sesuai dengan permasalahan dan
batasannya yang telah dijabarkan pada bab pertama.
D. Bab 4 Hasil dan Pembahasan
Bab empat membahas tentang implementasi dari aplikasi yang dibuat
secara keseluruhan. Serta melakukan pengujian terhadap aplikasi yang dibuat
untuk mengetahui apakah aplikasi tersebut telah berjalan sesuai dengan yang

31

diharapkan, termasuk relevansi dalam kajian keislamannya.


E. Bab 5 Penutup
Penutup berisi kesimpulan dan saran dari hasil penelitian. Kesimpulan
merupakan pernyataan singkat yang dijabarkan dari hasil penelitian dan
pembahasan, untuk membuktikan kebenaran dari temuan pustaka yang diperoleh
sekaligus menjawab tujuan penelitian. Sedangkan saran adalah rekomendasi untuk
penelitian selanjutnya, yang didasarkan atas pengalaman dan pertimbangan dari
hasil penelitian yang telah dilakukan.

32

BAB II
TINJAUAN PUSTAKA

2.1

Sejarah Perkembangan Perguruan Tinggi


Menurut laporan Unesco, pada paruh kedua abad ke-20, jumlah mahasiswa

meningkat sampai enam kali lipat, dari 13 juta pada tahun 1960 menjadi 82 juta
pada tahun 1995. Namun pada waktu yang sama, terdapat jurang yang semakin
lebar di antara negara industri maju dengan negara kurang maju dalam hal akses
dan sumber daya untuk pendidikan tinggi dan penelitian.
Hal ini pun terjadi di Indonesia. Pada awal tahun 1950-an, jumlah
mahasiswa di Indonesia sangat kecil. Perguruan tinggi juga sangat sedikit. Namun
pada saat itu keperluan akan tenaga sarjana terus meningkat sebagai akibat
hengkangnya tenaga ahli Belanda sehubungan dengan perjuangan Irian Barat.
Kelangkaan tenaga sarjana ini memicu keinginan para lulusan SMA untuk
memasuki perguruan tinggi. Jumlah mahasiswa terus meningkat dari tahun ke
tahun.
Awal tahun 1950-an, misi perguruan tinggi sangat sederhana. Misi
perguruan tinggi pada waktu itu adalah menghasilkan sarjana yang diperlukan
untuk mengisi lowongan tenaga sarjana di birokrasi pemerintah dan perusahaan
swasta. Misi ini juga dianut oleh berbagai perguruan tinggi swasta sehingga
rekrutmen dosen di perguruan tinggi swasta mengandalkan tenaga sarjana yang
ada di berbagai instansi.

33

Pembelajaran terutama di perguruan tinggi swasta lebih berpola kepada


dosen datang ketika dapat meninggalkan pekerjaan, memberi kuliah dan ujian,
dan pulang ke rumah atau kembali ke tempat kerja. Untuk menghilangkan
keraguan masyarakat terhadap lulusan perguruan tinggi swasta pada waktu itu,
maka diadakan ujian negara bagi para lulusan perguruan tinggi swasta. Sistem
ujian ini sangat tidak efisien dan sangat membebani para peserta ujian karena
bahan kuliah selama beberapa tahun diuji pada satu saat.
Kemudian muncul sistem yang lebih baik yakni sistem ujian negara
cicilan. Peserta ujian negara cicilan meningkat, sehingga seluruh perguruan tinggi
disamakan. Seiring dengan munculnya sistem akreditasi, ujian negara turut
dihapus dan perguruan tinggi dibebaskan untuk menyelenggarakan ujian sendiri.
Lembaga pendidikan tersebut langsung mempertanggungjawabkan lulusannya
kepada pemakai tenaga sarjana di dalam masyarakat.
Langkah pemerintah berikutnya adalah penjaminan mutu. Selain sistem
akreditasi yang dilakukan oleh badan akreditasi, perguruan tinggi diharapkan
dapat mengevaluasi diri sendiri melalui penjaminan mutu di dalam perguruan
tinggi. Berbagai perguruan tinggi membentuk lembaga penjaminan mutu untuk
mengendalikan mutu agar sesuai dengan misi perguruan tinggi. Dan untuk itu,
badan akreditasi perguruan tinggi juga mulai mengakreditasi institusi perguruan
tinggi.
Uraian di atas menunjukkan arah pengembangan perguruan tinggi di
Indonesia. Bahkan arah pengembangan itu dapat dibagi ke dalam beberapa
tahapan. Tahapan pertama adalah pelulusan sarjana yang diperlukan di dalam

34

masyarakat, ketika lowongan pekerjaan itu ditinggalkan oleh tenaga ahli Belanda.
Dari tahun ke tahun, jumlah lulusan terus bertambah. Dalam waktu beberapa
dasawarsa terjadi kejenuhan sehingga banyak sarjana yang menganggur. Tahapan
pertama ini berlangsung dari awal tahun 1950-an sampai tahun 1990-an. Tahapan
pertama ini telah dilewati.
Tahapan kedua adalah penjaminan mutu. Sarjana yang diluluskan
diharapkan memiliki mutu yang tinggi. Karena itu mutu lembaga pendidikan juga
perlu ditinggikan. Selain pengendalian mutu internal perguruan tinggi dibentuk
juga lembaga pengendalian mutu eksternal. Pada saat ini lembaga pengendalian
mutu eksternal adalah Badan Akreditasi Nasional Perguruan Tinggi. Tahapan
kedua ini dimulai pada tahun 1990-an dan kini masih terus berlangsung. Saat ini
perguruan tinggi di Indonesia masih berada pada tahapan kedua.
Tahapan ketiga adalah penghasil ilmu dan teknologi. Temuan ilmiah
dilakukan melalui penelitian serta invensi teknologi dilakukan melalui rekacipta.
Universitas yang mampu melaksanakan misi ini sering dinamakan universitas
penelitian (research university). Pada tahapan ini, perguruan tinggi tidak saja
menyerap ilmu temuan dari luar negeri atau teknologi invensi dari luar negeri
melainkan juga memberi sumbangan kepada ilmu dan teknologi. Pada saat ini
masih belum dapat dilakukan estimasi kapan tahapan ini dapat dimulai. Dimana
waktu mulai itu sangat bergantung kepada keberhasilan tahapan kedua.
Karena pada saat ini, perguruan tinggi masih pada tahapan kedua, maka
ada baiknya kalau bahasan ini dibatasi pada tahapan kedua, yakni lebih kepada
usaha penjaminan mutu perguruan tinggi. Dalam rangka inilah pertanyaan yang

35

kemudian menjadi relevan adalah, kalau peningkatan mutu ini dilakukan secara
bertahap, maka tahapan mana yang pokok dalam usaha penjaminan mutu
perguruan tinggi ?
Terkait pertanyaan diatas artikel majalah Forwas dengan judul : Menyoal
Efektifitas Pengawasan Ujian Nasional (Masrul Latif, 2007:25) menarik untuk
diperhatian. Alasan pertama yang muncul setelah membaca artikel tersebut adalah
adanya beberapa hal yang mungkin disepakati seluruh pihak yakni, uijan sampai
saat ini masih dianggap sebagai tolok ukur prestasi atau mutu dari suatu lembaga
pendidikan negeri maupun swasta, termasuk dalam usaha penjaringan calon
mahasiswa baru.
2.2

Ujian dalam Al-Quran dan Relevansinya dengan Perguruan Tinggi


Al-Quran adalah ilmu, apabila mampu memahaminya secara luas maka

didalamnya termuat berjuta-juta faedah keilmuan yang bisa dipelajari dan


dielaborasi secara mendalam, telah banyak bukti temuan-temuan yang sebernya
telah dipaparkan dalam Al-Quran, misalnya tentang penciptaan manusia yang
sekarang disebut ilmu biologi, atau tentang biometric terkait masalah pengenalan
sidik jari yang telah dibahas tuntas dalam buku karangan Suhartono, dan Totok
Chamidy Rahasia Al-Quran dalam Biometric serta banyak sekali keilmuan lain
pada Al-Quran yang masih belum terungkap.
Dalam dunia pendidikan, Al-Quran telah memberikan kontribusi yang
sangat besar, yang telah terbukti dengan adanya berbagai macam temuan-temuan
yang cocok dengan Al-Quran. Salah satunya adalah tentang ujian, dalam hal ini
setidaknya ada empat ayat yang menekankan tentang ujian. Dengan proses ujian

36

(seleksi) maka akan diperoleh orang-orang yang berakal, sesuai dengan Firman
Allah dalam Al-Quran Surat Azzumar 39 Ayat 9 :
tGo y % 3 n/u suqu (#_tu ntzF$# xts $V!$s%u #Y`$y 9$# u!$t#u Ms% u r&
=t79F{$# (#9'& .xtGt $y) 3 tn=t t%!$#u ts>t t%!$#
Artinya :
(apakah kamu Hai orang musyrik yang lebih beruntung) ataukah orang
yang beribadat di waktu-waktu malam dengan sujud dan berdiri, sedang ia takut
kepada (azab) akhirat dan mengharapkan rahmat Tuhannya? Katakanlah:
"Adakah sama orang-orang yang mengetahui dengan orang-orang yang tidak
mengetahui?" Sesungguhnya orang yang berakallah yang dapat menerima
pelajaran.
(QS. Azzumar 39 : 9)
Al-Quran pada ayat yang lain mengatakan bahwa, apapun yang deterima
oleh manusia, berupa pangkat, jabatan dan sebagainya adalah sebagai ujian bagi
manusia tetang bagaimana dia bersikap dalam menerima apa yang telah diberikan
Allah SWT kepadanya. Tentu akan ada konsekuensi berupa pahala atau siksaan
yang amat pedih. Sesuai dengan Firman Allah SWT :

.u=7uj9 ;My_uy <t/ ss 3t/ ysuu F{$# y#n=yz 6n=yy_ %!$# uu


7m ts9 )u >$s)9$# | y7/u ) 3 /38s?#u !$t
Artinya :
Dan dia lah yang menjadikan kamu penguasa-penguasa di bumi dan dia
meninggikan sebahagian kamu atas sebahagian (yang lain) beberapa derajat,
untuk mengujimu tentang apa yang diberikan-Nya kepadamu. Sesungguhnya

37

Tuhanmu amat cepat siksaan-Nya dan Sesungguhnya dia Maha Pengampun lagi
Maha Penyayang.
(QS. Al Anam 6 : 165)

Wyt |mr& r& u=7o9 $o; Zo F{$# n?t $t $o=yy_ $)


Artinya :
Sesungguhnya kami Telah menjadikan apa yang di bumi sebagai
perhiasan baginya, agar kami menguji mereka siapakah di antara mereka yang
terbaik perbuatannya.
(QS. Al Kahfi 18 : 17)

t%!$# $tFs s)s9u ttF u $t#u (#9)t r& (#.u I r& $9$# |=ymr&
t/s39$# yn=us9u (#%y| %!$# !$# yn=un=s ( =6s%
Artinya :
Apakah manusia itu mengira bahwa mereka dibiarkan (saja)
mengatakan: "Kami Telah beriman", sedang mereka tidak diuji lagi? Dan
Sesungguhnya kami Telah menguji orang-orang yang sebelum mereka, Maka
Sesungguhnya Allah mengetahui orang-orang yang benar dan Sesungguhnya dia
mengetahui orang-orang yang dusta.
(QS. Al Ankabuut 29 : 2-3)
Rosullulloh SAW Bersabda : Besarnya pahala sesuai dengan besarnya
ujian dan cobaan. Sesungguhnya Allah 'Azza wajalla bila menyenangi suatu kaum
Allah

menguji

mereka.

Barangsiapa

bersabar

maka

baginya

kesabarannya dan barangsiapa murka maka baginya murka Allah.

38

manfaat

(HR. Tirmidzi) (Zainal dkk, 1996:76).


Apabila Allah menyenangi hamba maka dia diuji agar Allah mendengar
permohonannya (kerendahan dirinya) (HR. Al-Baihaqi) (Almath, 1100 Hadits
Terplih : Gema Insani Press).
Seorang hamba memiliki suatu derajat di surga. Ketika dia tidak dapat
mencapainya dengan amal-amal kebaikannya maka Allah menguji dan
mencobanya agar dia mencapai derajat itu (HR. Ath-Thabrani) (Almath, 1100
Hadits Terplih : Gema Insani Press).
Maka telah jelas bahwa kehidupan manusia tidak akan pernah lepas dari
ujian dan cobaan, karena ujian dan cobaanlah yang dapat mengukur kualitas
seseorang, semakin baik tingkat seseorang maka semakin beratlah ujian yang akan
ditempuh, ibarat pohon semakin tinggi maka sebakin besarlah angin menerpa. Hal
ini tidak semata-mata berlaku pada tataran iman dan taqwa saja melainkan juga
dalam dunia pendidikan yang menggunkan ujian sebagai sarana peningkatan dari
jenjang yang satu ke jenjang yang lebih tingi secara bertahap.
Pelaksanaan ujian akan lebih mudah dengan adanya sarana yang tepat,
sehingga fungsi ujian bisa berjalan sebagaimana mestinya. Dalam hal ini akan
diupayakan pembuatan aplikasi ujian online. Tentunya upaya pembuatan aplikasi
ini juga membutuhkan dukungan secara bersama-sama baik dalam hal saran
maupun kebijakan dari penanggung jawab lembaga sebagai penopang, sehingga
aplikasi ujian online ini bisa diterapkan sebagai pengganti dari sistem ujian
konvensional. Terkait dengan hal ini ada Firman Allah dalam Al-Quran Surat AlMujadalah 58 Ayat 11 yang berbunyi :

39

% #s)u ( 3s9 !$# x|t (#s|$$s =yfy9$# (#sxs? 3s9 % #s) (#t#u t%!$# $pr't
07yz t=ys? $y/ !$#u 4 ;My_uy z=9$# (#?& t%!$#u 3 (#t#u t%!$# !$# st (#$$s (#$#

Artinya :
Hai orang-orang beriman apabila dikatakan kepadamu: "Berlapanglapanglah dalam majlis", Maka lapangkanlah niscaya Allah akan memberi
kelapangan untukmu. dan apabila dikatakan: "Berdirilah kamu", Maka
berdirilah, niscaya Allah akan meninggikan orang-orang yang beriman di
antaramu dan orang-orang yang diberi ilmu pengetahuan beberapa derajat. dan
Allah Maha mengetahui apa yang kamu kerjakan. (QS. Al Mujadalah 58: 11)
2.3

Penerapan Sistem Ujian di Perguruan Tinggi


Bagian yang sangat diperlukan dalam konsep pendidikan di perguruan

tinggi adalah ujian, dimana ujian tersebut dapat berfungsi sebagai :


- Pengukur kemampuan pembelajaran dari pelajar
- Penegasan ataupun pemfokuskan atas apa yang sebenarnya harus dan
dapat dipelajari oleh pelajar
- Dapat digunakan pelajar untuk menerapkan apa yang telah dipelajari
- Mengamati berhasil atau tidaknya pembelajaran sehingga pengajar
dapat memperbaiki kembali metode pendidikan yang telah ada
Pembuatan sistem ujian pada pendidikan jarak jauh (online) bisa
menggunakan berbagai macam cara yang berbeda-beda, beberapa perbedaanperbedaan yang perlu diperhatikan antara lain adalah jawaban seperti apa yang
harus diisikan? dan apa yang akan muncul setelah pelajar menjawab pertanyaan

40

yang telah diberikan?, berikut beberapa cara penerapan sistem ujian tersebut
berserta keuntungan dan kerugiannya :
Tabel 2.1 Keuntungan dan Kerugian Sistem Ujian Online

Uian Online
- Jawaban akan dikoreksi
oleh program yang sudah
diterapkan dalam
komputer masing-masing
pelajar

Keuntungan
- Jawaban dapat dengan
cepat dikoreksi.
- Hasil koreksi sangat
objektif.

Kerugian
- Pengajar tidak dapat
memantau kemajuan
pelajar
- Tidak dapat membuat

- Menghemat waktu dan


biaya.

soal essay
- Kunci jawaban dapat
lebih mudah diketahui
oleh pelajar

2.3.1

Jenis-jenis Feedback dalam Sistem Ujian


Sudah sepantasnya pelajar mengetahui hasil dari ujian yang telah

dikerjakan, sehingga dengan hasil itu dapat diukur kemampuan dan penerapan
strategi baru untuk pembelajaran selanjutnya, dalam konsep sistem ujian ada
beberapa jenis feedback hasil penilaian yang dapat diterapkan, antara lain :
- Feedback yang diberikan sehabis setiap pertanyaan
Hasil penilaian dan jawaban yang diberikan setelah setiap pertanyaan akan
membuat ujian seperti sebuah permainan sehingga akan mengurangi kebosanan
dalam mengerjakan soal-soal, bagi beberapa peserta hasil ujian yang telah
didapatkan sebelumnya akan menjadi pemicu motivasi untuk mengerjakan soalsoal selanjutnya, tetapi mungkin bagi sebagaian peserta lainnya mungkin itu akan
membuat konsentrasinya berkurang apalagi jika hasil yang didapatkan kurang
memuaskan.

41

Keuntungan lain dari jenis ini adalah pengajar dapat membuat soal-soal
yang berkaitan dari satu nomor ke nomor lainnya, karena peserta ujian akan
mengetahui penyelesaian soal sebelumnya, sehingga arah soal tersebut dapat
ditentukan dengan benar.
Sedangkan kerugian lain dari jenis ini adalah karena hasil dari penilaian
diproses langsung oleh komputer maka soal-soal yang dibuat hanya terbatas pada
soal yang membutuhkan jawaban pasti, seperti pilihan ganda ataupun jawaban
benar-salah, dan bagi peserta sistem ujian, feedback jenis ini akan memaksa para
siswa untuk menjawab secara langsung, tidak dapat memperbaiki jawabanjawaban yang telah dikirim sebelumnya, hal ini sangat merugikan bagi siswa yang
kurang konsentrasi pada soal-soal terdahulu.

Soal
no 1

Jawaban &
Penilaian

Soal
no 2

Jawaban &
Penilaian

Hasil
total

Gambar 2.1 Arsitektur feedback sehabis setiap pertanyaan

- Feedback yang diberikan setelah test selesai


Jenis feedback ini akan diberikan secara keseluruhan setelah ujian
berakhir, hal ini bertujuan untuk membuat konsentrasi peserta ujian tetap terjaga,
serta dapat membuat sistem ujian menjadi lebih efektif, dalam hai ini adalah
bandwidth internet yang digunakan ataupun besar program yang dibuat.
Dengan sistem ini peserta dapat lebih bebas dalam mengerjakan ujian,
sehingga dapat memilih urutan soal yang dikehendaki dan juga dapat
memperbaiki kembali jawaban-jawaban yang diinginkan.

42

Kerugian dari sistem ini adalah soal yang dibuat juga terbatas pada soalsoal yang membutuhkan jawaban pasti dan juga soal-soal yang dibuat diharapkan
tidak berhubungan antara satu nomor dengan nomor lainnya, karena dengan
kesalahan satu soal saja kemungkinan besar juga akan mempengaruhi jawaban
pada soal yang lain.
Soal no
1

Soal no
2

Soal no
3

Soal no
4

Hasil
total

Dapat melakukan koreksi dan mengerjakan


soal dengan tidak urut
Gambar 2.2 Arsitektur feedback sehabis setelah ujian selesai

- Feedback yang diberikan oleh pengajar


Jika suatu ujian sangat komplek dan bervariasi baik dari segi jenis soal
maupun jawaban yang membutuhkan toleransi pengkoreksi, maka feedback yang
akan diberikan secara otomatis baik per soal ataupun secara keseluruhan setelah
ujian selesai menjadi tidak cocok, soal-soal essay, tugas pembuatan makalah, dan
tugas lain yang membutuhkan tolerasi dalam penilaian membutuhkan koreksi
secara langsung yang dilakukan oleh pengajar.
Jenis ujian ini dapat dilakukan dengan metode email, dalam metode ini
jawaban dikirimkan dan dikoreksi secara langsung oleh pengajar, keuntungan dari
metode ini adalah soal-soal ujian dapat bervariasi baik essay, pembuatan makalah,
dan tugas lain yang sudah tentu membutuhkan jenis jawaban tidak pasti serta
toleransi dalam penilaiannya.

43

Sedang kerugian dari jenis feedback ini adalah penilaian bisa saja menjadi
tidak adil sesuai dengan situasi serta kondisi pengajar, hal lain yang menjadi
pertimbangan adalah adanya tenggang waktu yang tidak pasti antara waktu ujian
dan pengumuman hasil ujian.

Pengiriman
jawaban secara
keseluruhan

Pelajar
Baca Soal
secara
keseluruhan

Pengajar
Baca jawaban
secara
keseluruhan

Koreksi
jawaban
secara
keseluruhan

Jawab soal
secara
keseluruhan

Hasil Ujian
Gambar 2.3 Arsitektur feedback yang dikoreksi oleh pengajar

2.3.2

Tipe Soal dalam Sistem Ujian Online


Dalam sistem ujian online terdapat beberapa tipe-tipe soal yang dapat

digunakan. Pembuatan soal-soal itu sendiri disesuaikan dengan jenis dari metode
pengerjaan dan feedbacknya, berikut beberapa contoh tipe soal tersebut
- Soal benar/salah
Soal-soal jenis ini dapat digunakan untuk berbagai jenis pertanyaan seperti
berikut : Apakah pernyataan ini benar atau salah?, Apakah prosedur ini benar atau
salah?, Apakah prosedur ini dapat dikerjakan atau tidak?, Apakah harus

44

menyetujui atau menolak proposal ini?, Alternatif mana yang akan dipilih dari dua
alternatif ini?, dan beberapa jenis pertanyaan lain.
Jenis soal ini dapat dikoreksi secara langsung oleh komputer pengguna
ataupun komputer pusat, tetapi tidak dapat digunakan untuk jenis pertanyaan yang
kompleks dan membutuhkan toleransi dalam pengkoreksian jawaban.
Kelemahan dari soal ini adalah memungkinkan peserta ujian untuk lebih
kearah menebak jawaban daripada mengerjakan solusi dari permasalahan.
- Soal pilihan ganda
Soal dengan jenis pilihan ganda hampir mirip dengan jenis soal
benar/salah hanya saja penyelesaian dari soal ini lebih mengarah kepada jawaban
yang lebih spesifik daripada jawaban yang dibutuhkan pada metode soal
sebelumnya, disamping itu persentase kesalahan juga akan lebih besar bergantung
dari banyaknya pilihan yang disediakan oleh pembuat soal.
Sama seperti pada metode soal benar/salah keuntungan dari soal ini adalah
jawaban akan dikoreksi secara otomatis sehingga tidak dapat digunakan untuk
pembuatan soal yang kompleks, serta dimungkinkannya juga peserta untuk
menebak jawaban daripada mengerjakan solusi dari permasalahan.
- Soal essay
Metode ini digunakan untuk pembuatan soal yang kompleks dan
bervariasi, dengan artian soal bisa berupa pertanyaan dengan jawaban yang
berbeda antara satu peserta dengan peserta lainnya, ataupun soal yang
mengharuskan peserta untuk membuat sebuah makalah yang penilaiannya lebih
kearah cara berpikir peserta ujian daripada jawaban yang pasti.

45

Seperti

telah

diterangkan

sebelumnya,

soal

dengan

jenis

ini

memungkinkan perbedaaan logika jawaban antara satu peserta dengan peserta


lainnya, sehingga toleransi dalam pengkoreksian jawaban soal ini sangat
dibutuhkan, dalam hal ini pengajar sangat berperan vital dalam penilaian.
Kelemahan dari soal ini adalah waktu tenggang yang tidak dapat
dipastikan dalam pengkoreksian, serta memungkinkannya penilaian yang tidak
adil sesuai dengan situasi dan kondisi pengkoreksi.
2.3.3

Bobot-bobot Soal
Untuk memilah-milah tingkat kesulitan soal yang terbuat, dibutuhkan

penilaian yang berbeda pula untuk masing-masing soal, hal itu akan memudahkan
peserta ujian dalam memilih soal yang memungkinkan untuk tercapainya nilai
paling maksimal menurut kemampuannya, bobot penilaian soal ditentukan
sebelumnya oleh pengajar pada waktu soal itu terbuat, berikut beberapa contoh
jenis bobot-bobot soal yang dapat digunakan
- Bobot penilaian soal dengan jawaban kosong-salah-benar
Bobot jenis ini biasanya digunakan untuk jenis soal benar/salah maupun
soal pilihan ganda yang mempunyai jawaban pasti untuk benar atau salahnya,
sehingga memungkinkan bagi sistem untuk menentukan secara otomatis bahwa
jawaban itu benar atau salah, penilaian jawaban biasanya bernilai negatif untuk
jawaban yang salah, nol untuk jawaban kosong dan positif untuk jawaban yang
benar.
- Bobot penilaian soal dengan jawaban kosong-terisi

46

Soal dengan bobot ini biasanya adalah tipe essay yang membutuhkan
toleransi dalam penilaiannya, karena benar atau salahnya jawaban ini adalah
relatif tergantung dari situasi dan kondisi pengkoreksi, jawaban tidak bisa
dikategorikan murni benar ataupun murni salah, sehingga penilaian jawaban akan
bernilai nol untuk jawaban kosong dan akan bernilai positif (1-nilai maksimal)
untuk jawaban yang terisi.
2.3.4

Pencegahan Kecurangan dalam Sistem Ujian Online


Dalam suatu ujian dapat saja terjadi kecurangan-kecurangan yang tidak di

inginkan, terdapat banyak jenis kecurangan yang mungkin dilakukan pada ujian
tersebut, dan banyak pula jenis pencegahan yang juga dapat dilakukan, yang perlu
ditekankan untuk pertama kalinya adalah perlunya mengetahui alasan-alasan
mengapa para siswa melakukan kecurangan tersebut, beberapa alasan yang
memungkinkan antara lain :
- Hasil penilaian ujian yang akan mempengaruhi status pendidikan para
siswa.
- Rasa malu terhadap rendahnya hasil ujian yang telah diperoleh
- Kesenangan / hobi dalam melakukan kecurangan
- Kebudayaan yang menganggap kecurangan bukanlah suatu kesalahan
Dalam sistem ujian online persentase kecurangan yang terjadi diperkirakan
lebih besar daripada sistem ujian konvensional, hal tersebut disebabkan oleh tidak
adanya sistem pengawasan yang layaknya diterapkan pada sistem ujian
konvensional. Kemudahan-kemudahan (dalam hal ini belum bisa dikategorikan

47

sebagai kecurangan, tergantung dari peraturan yang berlaku) yang mungkin saja
terjadi dalam sistem ujian ini antara lain :
- Kemudahan untuk mengakses referensi ataupun bahan teori
- Kemudahan untuk bekerjasama dengan peserta ujian lainnya
Metode pencegahan dalam sistem konvensional yang memungkinkan
diterapkan dalam sistem ujian online adalah digunakannya metode acak soal
sehingga semua setiap peserta menerima soal yang berbeda-beda tentunya juga
dengan jawaban yang berbeda, sehingga mengurangi kerjasama antar peserta
ujian.
Terdapat beberapa metode lain yang lebih memungkinkan diterapkan
dalam sistem ujian ini, diantaranya adalah :
- Batasan waktu
Diharapkan waktu ujian yang tersedia sesuai dengan perkiraan waktu yang
dibutuhkan dalam mengerjakan soal, sehingga peserta tidak mempunyai waktu
lebih untuk saling berhubungan dengan peserta lain, ataupun untuk mengakses
bahan-bahan ujian yang mungkin saja tersedia ditempat lain.
- Pendekatan secara kepercayaan
Dalam pendekatan ini pengawas diharuskan untuk selalu memotivasi
peserta ujian untuk tidak melakukan kecurangan, inti dari pendekatan ini adalah
meyakinkan peserta ujian untuk percaya diri dengan kemampuan sendiri, percaya
diri atas semua yang telah dipelajari, serta meyakinkan pada siswa bahwa hasil
ujian ini justru akan membantu pengembangan arah pendidikan para siswa
selanjutnya.

48

Alasan-alasan lain yang mungkin perlu diketahui untuk tidak melakukan


kecurangan antara lain :
a. Membuat beberapa soal-soal ujian yang mudah, sehingga siswa
yakin tidak akan mendapatkan nilai nol.
b. Meyakinkan siswa tentang kecilnya persentase penilaian ujian
terhadap persentase nilai kelulusan keseluruhan.
- Pendekatan secara aturan
Pencegahan dengan metode pendekatan ini dapat dilakukan melalui
bervariasinya pembuatan soal-soal ujian, beberapanya antara lain :
a. Membuat soal-soal yang berbeda untuk setiap tahap ujian yang
berbeda.
b. Mengacak soal-soal ujian untuk masing-masing peserta ujian.
c. Membuat soal-soal ujian yang berbeda untuk masing-masing
peserta ujian.
d. Membuat soal-soal ujian yang membutuhkan jawaban yang
berdasarkan cara berpikir dari peserta ujian, seperti soal essay dan
pembuatan makalah.
2.4

Perangkat Lunak Pembuatan Aplikasi Ujian Online


Seperti telah dijelaskan pada BAB I sebelumnya, untuk mewujudkan

sistem ujian online ini minimal diperlukan web server, bahasa pemrograman web,
dan program database server, perangkat-perangkat lunak yang digunakan untuk
memenuhi kebutuhan tersebut antara lain adalah Apache Tomcat web server, JSP,

49

dan MySQL, serta dukungan dari perangkat-perangkat penunjang pembuatan web


seperti : Macromedia Dreamweafer, dan Adobe Photoshoop.
2.4.1

Apache Tomcat Web Server


Seperti halnya skrip-skrip server side yang lain, JSP pun memerlukan Web

Server. Skrip ASP memerlukan IIS sebagai web server, PHP memerlukan IIS
atau Apache sedangkan JSP bisa menggunakan Apache Tomcat sebagai salah satu
web server yang mendukungnya.
2.4.1.1 Installasi Apache Tomcat
Paket yang diperlukan untuk proses installasi adalah :

Java 2 Software Development Kit (J2SDK) (http://java.sun.com/j2se/)

Apache Tomcat (http://jakarta.apache.org)

Langkah atau urutan installasi :

install J2SDK

install Apache Tomcat

Setelah melewati tahapan installasi di atas maka untuk mencoba maka tahapan
yang dilakukan adalah :

Start Tomcat (pada sistem operasi MS Windows, pilih Start | Program |


Apache Tomcat | Start Tomcat).

Buka web browser, kemudian ketikkan URL berikut http://localhost:8080.


Hasilnya bisa dilihat pada gambar berikut.

50

Gambar 2.4 Tampilan Apache Tom Cat

2.4.1.2 Konfigurasi
File konfigurasi Apache Tomcat ada 3 yaitu :

server.xml, setting konfigurasi server seperti port atau direktori yang


digunakan.

users.xml atau tomcat-users.zml, menyimpan user dan password


pada server. Selain itu juga menentukan hak akses dari user.

web.xml, setting konfigurasi untuk setiap aplikasi web.


Secara

default

direktori

HOME>/webapps/ROOT.

kerja

utama"

adalah

<TOMCAT-

Apabila user ingin mendeklarasikan direktori

misalnya pada D:\Dokumen\Web\JSP sebagai "direktori kerja utama" maka yang


perlu dilakuka adalah memodifikasi file server.xml pada bagian:
<!-- Tomcat Root Context -->
<Context path="" docBase="ROOT" debug="0"/>

menjadi :
<!-- Tomcat Root Context -->
<Context path="" docBase="D:\Dokumen\Web\JSP" debug="0"/>

51

Apabila menginginkan

akses suatu direktori kerja C:\app\JSP dengan

URL sebagai berikut http://localhost:8080/jsp/ maka pada server.xml bisa


disetting seperti berikut :
<!-- Tomcat Examples Context -->
<Context path="/jsp" docBase="C:\app\JSP\" debug="0"
reloadable="true"/>

Selain dengan cara di atas, untuk melakukan konfigurasi direktori kerja


dan URL yang diinginkan bisa digunakan fasilitas yang diberikan oleh Apache
Tomcat 4.1 yaitu Manger. Untuk mengaksesnya dapat digunakan URL sebagai
berikut :
http://localhost:8080/manager/html.
Maka akan dimunculkan tampilan sebagai berikut :

Gambar 2.5 User Name dan Password Saat Instalasi

Untuk mengetahui user apa yang bisa mengakses direktori manager dan
password dari user tersebut bisa dilihat daftar user pada file users.xml atau
tomcat-users.xml. Sebagai contoh isi file tersebut adalah:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>

52

<user username="role1" password="tomcat" roles="role1"/>


<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>

Pada baris berikut dapat diketahui bahwa user admin dengan password admin
dapat mengakses manager.
<user username="admin" password="admin" roles="admin,manager"/>

Untuk menjadikan service Tomcat dijalankan secara otomatis saat startup,


klik kana Apache Monitor dan pilih configure. Kemudian pada Apache Tomcat
Properties ganti startup type menjadi Automatic, seperti gambar berikut:

Gambar 2.6 Apache Tom Cat Properties

2.4.1.3 Struktur Directory Catalina_Home


Di dalam directori CATALINA_HOME (dimana TOMCAT diinstall)
terdapat beberapa sub direktori, di antaranya :
bin, di mana script untuk menjalankan dan menghidupkan Tomcat
berada.
conf, di mana file-file konfigurasi berada.
lib, di mana file-file library ber-extension .jar berada.

53

webapps, di mana, secara default, akan dapat meletakkan JavaServlet


dan JSP
2.4.1.4 Tomcat Users
Untuk melakukan administrasi ressources, Tomcat menyediakan username
dan password yang disimpan dalam file xml. Dalam folder conf, file tomcatusers.xml berisi role, username dan password user tomcat. Untuk bisa melakukan
administrasi baik Tomcat Manager atau Tomcat Administration Tool, seorang
user harus memiliki role sebagai manager atau admin. Untuk membuatnya
tambahkan kode berikut dalam file tomat-users.xml :
<role rolename="manager"/>
<role rolename="admin"/>
<user username="User" password="Password" roles="manager,
admin"/>

2.4.1.5 Administrasi di Tomcat


Tomcat menyediakan 2 tool untuk melakukan administrasi, yaitu Tomcat
Manager dan Tomcat Administration.
2.4.1.5.1 Tomcat Manager Tool
Tomcat Manager Tool berfungsi untuk mengelola aplikasi yang dideploy
di server. Pengelolaan meliputi mendeploy/menginstall aplikasi ke server,
mengundeploy/ menghapus aplikasi dari server, me-reload/restart aplikasi,
mengaktifkan dan menon-aktifkan aplikasi. Tomcat Manager dapat diakses
melalui URL http://localhost:8080/manager/html/, dengan memasukkan username
dan password Manager.
Perintah-perintah pada Tomcat Manager Tool
List Applications

54

Untuk melihat seluruh aplikasi yang terinstall pada server. URL:


http://localhost:8080/manager/html/list
Tabel 2.2 Daftar List Aplikasi

55

Start Application
Mengaktifkan aplikasi yang terinstall (path=nama_aplikasi).
URL: http://localhost:8080/manager/html/start?path=/jsp-examples
Stop Application
Mengaktifkan aplikasi yang terinstall (path=nama_aplikasi).
URL: http://localhost:8080/manager/html/stop?path=/jsp-examples
Reload Application
Meload kembali aplikasi yang sudah running.
URL: http://localhost:8080/manager/html/reload?path=/jsp-examples
Undeploy Application
Menghapus aplikasi dari server (path=nama_aplikasi).
URL: http://localhost:8080/manager/html/undeploy?path=/jsp-examples
Deploy Application
Ada 2 cara yang bisa dilakukan untuk menginstall aplikasi ke dalam web
server
1. Menginstall aplikasi (file WAR atau direktori) yang sudah berada di
server Cara ini sangat efektif dilakukan ketika bekerja di computer server
(dalam pembuatan aplikasi). File-file aplikasi yang dibuat sudah berada di
server sehingga untuk mengaksesnya cukup dengan mendaftarkannya ke
server. Caranya dengan memberitahu Tomcat server dimana direktori
aplikasi berada. URL: http://localhost:
8080/manager/html/deploy?path=/testServlet

56

Gambar 2.7 Instalasi File War

2. Mengupload file WAR ke server Tomcat Manager Tool menyediakan


form untuk mengupload file WAR ke server. Cara ini biasa/lazim ilakukan
untuk mengupload file WAR aplikasi ke sebuah hosting server yang
menggunakan Tomcat.
http://localhost:8080/manager/html/upload?path=/testServlet

Gambar 2.8 Upload File War

Jika proses deploy/ instalasi berhasil, aplikasi akan muncul dalam List
Applications.
2.4.1.5.2 Tomcat Administration Tool
Tomcat Administration Tool berfugsi untuk mengelola server resources,
data source, Mail Session, Environment Entries, User Databases, Users dan
groups, Roles dan beberapa konfigurasi yang diperlukan oleh aplikasi dan tomcat
server.

Administration

Tool

dapat

diakses

melalui

URL:

http://localhost:8080/admin. Username dan password sesuai dalam file tomcatusers.xml.

57

Gambar 2.9 Administration Tool Pada Tomcat

2.4.2

Java
Java merupakan bahasa yang dikembakan oleh Sun Microsystems.

Pertama kali diciptakan sebagai bahasa pemrogramman yang cocok untuk


mendukung semua jenis mesin jaringan dan embedded sistem, Java tidak
sepenuhnya potensial sampai internet dan Web menjadi populer. Sekarang, Java
dengan cepat menjadi standar bahasa pemrograman de facto untuk Web.
Terpenting bahasa Java dan teknologi telah menambah untuk beberapa
tahun. Java merupakan aman, program yang berorientasi objek yang menarik
karena

potensila untuk membuta aplikasi Web ( applet) dan aplikasi server

(servlet). Dengan ketertarkan yan gbesar terhadap java, ada kemiripan dengan C
dan C++ dan dukungan industri, banyak organisasi memakai Java. Java sangat
sederhana, orinetasi objek, terdistribusi, ibnterpreted,robust,secure architecture
neutral, portable, high performance, multi threaded dan bahasa yang dinamik

58

2.4.2.1 Sekilas Tentang J2EE dan Servlet


J2EE (Java to Enterprise Edition) adalah produk Sun Microsystem yang
menggunakan model aplikasi multitier terdistribusi untuk aplikasi perusahaan.
Application logic dibagi atas komponen-komponen sesuai dengan fungsinya, dan
komponen-komponen aplikasi lainnya yang membuat J2EE terinstal di komputer
yang berbeda bergantung pada tier di lingkungan J2EE, komponen-komponen
tersebut adalah :

Komponen client-tier yang berjalan di komputer klien,

Komponen Web-tier yang berjalan di J2EE server,

Komponen Business-tier yang berjalan di J2EE server, dan

Enterprise information system (EIS)-tier software yang berjalan di EIS server.


Meskipun aplikasi J2EE dapat terdiri atas tiga atau empat tier, namun

secara umum dapat dianggap sebagai 3-tier karena hanya terdistribusi melalui tiga
lokasi yang berbeda, yaitu komputer klien, komputer J2EE server, dan komputer
database atau legacy di backend.
Komponen di J2EE adalah sebuah unit program yang dirakit ke aplikasi
J2EE sesuai dengan kelas (class) dan filenya yang berkomunikasi dengan
komponen lainnya. Spesifikasi J2EE mendefinisikan komponen-komponennya
sebagai berikut :
1. Aplikasi klien dan applet ialah komponen yang berjalan di sisi klien. Klien
J2EE dapat berupa klien web atau aplikasi web yang terdiri dua bagian yaitu
web page dinamis yang berisi berbagai tipe bahasa markup (HTML, DHMTL,
XML, dan lainnya) yang dibuat oleh komponen web yang berjalan di web tier,

59

dan bagian kedua adalah web browser serta header halaman yang diterima dari
respon server yang berjalan pada sisi klien,
2. Komponen teknologi Java Servlet dan Java Server Pages (JSP) adalah
komponen web yang berjalan di sisi server,
3. Komponen Enterprise Java Beans (EJB) adalah komponen bisnis yang
berjalan di sisi server. Komponen ini mengatur aliran data di antara aplikasi
klien dan komponen yang berjalan di server J2EE atau di antara komponen
server dan database komponen Java Beans yang mempunyai variabel instance
dan method get dan set untuk mengakses data di variabel instance.
Komponen web J2EE dapat berupa Servlet atau JSP. Servlet adalah kelaskelas bahasa pemrograman Java yang secara dinamis memproses permintaai
(requenst) dan membangkitkan respon. Dalam membangkitkan (generate) respon,
servlet menggenerasi dokumen HTML yang kemudian dikirim ke browser klien
untuk ditampilkan. JSP ialah dokumen berbasis teks yang dieksekusi sebagai
servlet tetapi mengizinkan pendekatan lebih alami untuk membuat isi (content)
statis web. JSP berfungsi membuat web berinteraksi dengan web server lebih
dinamis.
Klien berkomunikasi dengan tier bisnis yang berjalan di server J2EE dapat
secara langsung, atau dalam hal klien berjalan di browser melalui halaman JSP
atau Servlet yang berjalan di tier Web.

60

Gambar 2.10 Platform J2EE API (Application Programming Interface)

J2EE Server
Browser

Servlet

JSP Page

Web Container
Application
Client
Application
Client
Container

Database
Enterprise
Bean

Enterprise
Bean

EJB Container

Client

Gambar 2.11 Arsitektur Web Server dan Container pada J2EE

2.4.2.2 Servlet
Servlet adalah sebuah class dalam bahasa pemgrograman Java yang
digunakan untuk meningkatkan kapabilitas dari server sebagai host dari aplikasi
yang diakses melalui request-response programming model(Diadaptasi dari
tutorial J2EE). Servlet adalah sebuah class java yang meng-implement interface
Servlet dan menerima request yang berasal dari class Java, web client, atau servlet
lain yang membangkitkan response.

61

Teknologi Servlet adalah jawaban utama yang terdapat pada Java untuk
menambahkan fungsi ke server yang digunakan untuk merespon permintaan dari
model. Servlet mempunyai kemampuan untuk membaca kumpulan data yang
diminta oleh server dan menghasilkan response yang dinamis yang berdasarkan
pada data tersebut, servlet tidak terbatas pada kondisi HTTP; seperti dinyatakan
sebelumnya, sehingga dapat diterapkan untuk scenario manapun yang menuntut
request dari object model. Kondisi HTTP pada saat ini adalah yang digunakan
pertama

kali,

jadi

Java

menyediakan

versi

spesifikasi

HTTP

yang

mengimplementasi pada fitur-fitur spesifik HTTP.


Servlet juga dipanggil sebagai HTTP Servlet. Hal ini disebakan karena
servlets biasanya digunakan dengan HTTP, akan tetap servlet bukanlah
merupakan salah satu spesifikasi spesifik dari protokol client-server. Untuk
memulai pembuatan servlet. harus mengerti mengenai pemrograman, konsep
client-server, dasar-dasar HTML dan HTTP (HyperTextTransferProtocol). Untuk
menciptakan sebuah servlet, diperlukan import standard extension class dari
javax.servlet dan javax.servlet.http ke program java. Javax.servlet berisi
framework dasar servlet dimana javax.servlet.http digunakan sebagai ekstensi dari
framework servlet bagi servlet yang akan menjawab HTTP request.
2.4.2.2.1 Konsep Siklus Intern Servlet
Untuk

memahami

pemrograman

servlet

dalam

penggunaan

javax.servlet.Servlet serta siklus internal dari servlet, ada tiga proses internal
dalam Servlet yaitu : init, service, dan destroy. Sebenarnya ketiga proses ini

62

merupakan method yang didefinisikan oleh javax.servlet.Servlet. Dengan


demikian setiap program servlet harus mengimplementasikan ketiga method ini.

Method init()
Method ini dipanggil setelah servlet container menginstansiasi class

servlet. Pemanggilan method init hanya dilakukan sekali saja selama program
servlet dieksekusi. Setelah pemanggilan method ini berarti servlet siap melayani
request.
Method ini tidak harus melakukan sesuatu, berarti tidak ada kode yang
diletakkan dalam implementasi method init() ini. Method ini sangat berguna untuk
melakukan inisialisasi, seperti memanggil driver database dan inisialisasi nilai
yang dilakukan hanya sekali. Method ini memiliki sintaks seperti berikut :
Public void init(ServletConfig config) throws ServletException
Method ini juga penting karena servlet container mempass obyek
ServletConfig dari file konfigurasi web.xml. Jika method init menghasilkan
ServletException, maka servlet container tidak dapat menempatkan servlet ke
service.

Method service()
Method service dipanggil oleh servlet container setelah method init untuk

mengizinkan servlet merespon request. Servlet biasanya berjalan dalam servlet


container multithreaded yang dapat menangani banyak request secara bersamaan.
Method ini memiliki sintaks sebagai berikut :
Public void service(ServletRequest request, ServletResponse response) throws
ServletException, java.io.Exception

63

Dua obyek ini penting karena memberikan fasilitas untuk untuk menulis
kode yang menentukan bagaimana servlet menangani request. Pada method ini
servlet container secara internal akan mengirimkan obyek ServletRequest dan
ServletResponse yang merupakan obyek yang memiliki request klien dan
response terhadap klien. Method service ini akan menghasilkan dua jenis
exception, yaitu ServletException dan java.io.Exception jika terjadi error pada
operasi servlet maupun proses input-output pada saat menangani request dan
menghasilkan response.

Method destroy()
Pada serlvet container pemanggilan method destroy dilakukan sebelum

menghilangkan instance servlet dari service. Hal ini terjadi biasanya pada saat
servlet container (sebagai contoh Tomcat) di-shutdown atau dimatikan ataupun
apabila servlet container perlu melepaskan memori yang dipakai. Dengan method
ini, servlet memberikan fasilitas untuk membersihkan atau melepaskan sumber
daya yang terpakai seperti pembacaan file, koneksi database, dan sumber daya
lainnya. Sintaks method destroy() adalah sebagai berikut :
Public void destroy()
Pada method init(), service(), getServletConfig(), getServletInfo() dan destroy(),
kelima method diimplementasikan pada program servlet karena untuk interface
servlet.
2.4.2.2.2 Gambaran Arsitektur Servlet
Sebelum Servlet, salah satu dari beberapa cara yang umum digunakan
untuk menambahkan sebuah fungsi kedalam web server adalah melalui Common

64

Gateway Interface (CGI). CGI menyediakan sebuah interface ke program


eksternal bagi sebuah server, dimana program tersebut akan dipanggil oleh server
untuk menangani client request.
Bagaimanapun, CGI telah didesain khusus sehingga tiap pemanggilan dari
resource CGI akan menciptakan proses yang baru pada server; informasi yang
dibutuhkan oleh program akan diberikan kepada proses ini dengan menggunakan
standard input dan environment variable. Sekali request terpenuhi, maka proses
tersebut akan dimatikan, dan akan kembali kepada resource didalam system.
Permasalahan yang muncul pada skenario tersebut adalah proses ini sangat
membebani server karena dibutuhkan persyaratan yang cukup banyak pada sistem
resource, dan juga membatasi berapa banyak user yang dapat ditangani oleh
aplikasi pada waktu yang sama. Servlet memiliki desain tertentu yang dapat
mengatasi segala permasalahan yang melekat pada CGI dan memberikan sebuah
solusi java kepada developer untuk membuat sebuah aplikasi berbasis web.
Kemampuan servlet selain menciptakan sebuah proses yang tidak terlalu
membebani server pada saat kedatangan setiap request dari client, dengan
menggunakan servlet hanya ada satu proses yang akan menangangi seluruh
request. Proses tersebut memerlukan servlet container untuk dijalankan. Pada saat
kedatangan request yang baru, container akan menciptakan sebuah thread ringan
untuk mengeksekusi servlet.
Servlet juga hanya dimasukkan sekali kedalam memori, baik container
yang memasukkannya kedalam memori pada saat server mulai bekerja, maupun
pada saat pertama servlet dibutuhkan untuk memberikan service kepada client.

65

Sekali servlet dimasukkan kedalam memori, ia akan bertahan didalam memori,


dan siap untuk menangani request yang lain dari client. Hal ini tidaklah sama
dengan CGI dimana tiap request dari client akan dimasukkan dan dikeluarkan ke
dan dari memori.
2.4.2.2.3 Perwujudan Servlet Pertama
Contoh kode dibawah ini menunjukkan baaimana struktur dasar dari
sebuah servlet yang menangani request GET, untuk mencetak Hello World

Gambar 2.12 Source Code Struktur Dasar Servlet

2.4.2.2.4 Servlet dasar yang mencetak Hello World


Bagian pertama dari kode diatas pada gambar 2-1 adalah meng-import
class di java.io (bagi PrintWriter, dsb), javax.servlet dan javax.servlet.http.
Javax.servlet dan javax.servlet.http adalah package-package yang menyediakan
interfaces dan class untuk membuat sebuah servlet(untuk HttpServlet,
HttpServletRequest dan HttpServletResponse). Dengan cara meng-extend

66

HttpServlet, class ini akan meng-inherit method yang akan secara otomatis akan
dipanggil oleh server tergantung pada kondisi-kondisi tertentu (akan dibicarakan
kemudian). Dengan meng-override method ini, dapat membuat servlet memiliki
fungsi-fungsi yang di inginkan.
Pada kasus ini, method yang diturunkan dari HTTPServlet dan akan
dioverride adalah method doGet. Untuk menyederhanakan, ia adalah sebuah
method yang akan dipanggil oleh servlet container kapanpun pada saat Get
request dipanggil pada servlet tertentu. Ingatlah, pada bab sebelumnya mengenai
site navigation, document retrieval, dan page viewing adalah contoh-contoh dari
GET request. Oleh karena itu, kapan saja user ingin untuk melihat output dari
servlet, sebuah GET request pasti dipanggil.
Apabila terlihat pada listing code, maka akan dapat dilihat bahwa doGet
method akan menerima dua parameter yaitu: HttpServletRequest object dan
HttpServletResponse object. Darimana object ini berasal, tidak perlu diperhatikan
lagi oleh developer. Sehingga akan diciptakan dan di-maintain oleh servlet
container dan bekerja sederhana pada saat container memanggil method doGet.
Pada kasus ini, method doGet(dan method-method lain yang akan ditemukan
kemudian) hampir sama dengan method public static void main (String[] args)
yang digunakan pada program java berbasis command line. Nantinya tidak akan
dibuat String array untuk diberikan kepada method; hal itu telah disiapkan oleh
runtime environment.
Object dari HttpServletRequest dan HttpServletResponse telah menyiapkan
fungsi-fungsi yang berguna bagi developer:

67

Object HttpServletRequest memberikan akses bagi segala informasi


terhadap client request, termasuk apa saja bentuk parameter value yang
dapat diletakkan pada Http request header, Http request method yang
telah digunakan, dan sebagainya.
Object HttpServletResponse terdiri dari semua method yang dibutuhkan
oleh developer untuk memproduksi sebuah response yang akan
dikirimkan kembali kepada client. Meliputi method-method yang harus
di-set pada HTTP response header, untuk mendeklarasikan tipe MIME
dari response, sebaik method yang digunakan untuk mengambil instance
dari class Java I/O yang akan digunakan secara langsung untuk
memproduksi output.
Kembali pada kode diatas, maka akan terlihat bahwa selain comment,
hanya beberapa baris saja yang telah digunakan dalam menciptakan sebuah fungsi
yang menampilkan "Hello World!" kepada user. Pertama adalah PrintWriter out =
response.getWriter() dan yang lainnya adalah beberapa pemanggilan dari
out.println(). Untuk saat ini, berpikirlah secara sederhana untuk menggunakan
PrintWriter sebagai object yang dapat digunakan untuk memberikan output text
kepada user. Dengan pernyataan itu, akan terasa sederhana untuk melihat
bagaimana pemanggilan out.println() berkali-kali dapat menampilkan content
berikut ini :

68

Gambar 2.13 Tampilan Hello Word

2.4.2.3 Containers
Pusat dari konsep aplikasi J2EE adalah container, semua komponen J2EE,
mencakup komponen web (servlet,JSPs) bersandar pada keberadaan suatu
Container; tanpa container yang sesuai, maka J2EE tidak akan dapat dijalankan.

Gambar 2.14 Containers pada platform J2EE

Barangkali cara untuk menjelaskan hal ini adalah untuk berpikir tentang ragam
pelaksanaan program Java secara normal. Program Java, untuk dijalankan, harus
memiliki cara utama yang menggambarkan ; menandai start ini pada pelaksanaan
program dan menjalankan method ketika program diexecute dari command line.
Servlet tidak banyak memiliki kelemahan, ketika ditemukan desain
program yang buruk, hal itu tidak menandai saat menjalankan eksekusi
program,ketika seorang user membuat permintaan HTTP untuk sebuah servlet,

69

metode yang digunakan tidak dipanggil secara langsung. Sebagai gantinya, server
tidak menyampaikan permintaan tadi kepada servlet, melainkan kepada container
dimana servlet dikembangkan, kemudian container bertanggung jawab atas
pemanggilan metode yang sesuai didalam servlet, tergantung pada jenis
permintaan user.
2.4.2.4 JSP (Java Server Pages)
Java Server Pages (JSP) adalah bahasa scripting untuk web programming
yang bersifat server side seperti halnya PHP dan ASP.

JSP dapat berupa

gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Berbeda
dengan Servlet yang harus dikompilasi oleh USER menjadi class sebelum
dijalankan, JSP tidak perlu dikompilasi oleh USER tapi SERVER yang akan
melakukan tugas tersebut. Makanya pada saat user membuat pertama kali atau
melakukan modifikasi halaman dan mengeksekusinya pada web browser akan
memakan sedikit waktu sebelum ditampilkan.

Gambar 2.15 Proses Pemrograman JSP

Seperti tipe aplikasi java lainnya (Servlet, Applet, Midlet dll), JSP juga
bertipe Strong Type artinya penggunaan variable pada halaman tersebut harus
dideklarasikan terlebih dahulu. Misalnya pada sintaks pengulangan berikut :
int i;
for (i=1; i<13; i++)
{
// statement
}

70

Atau
for (int i=1; i<13; i++)
{
// statement
}

Hal ini harap diperhatikan bagi para developer yang terbiasa dengan PHP
yang tidak memerlukan deklarasi variable yang akan digunakan. Dan berikut
adalah tampilan dari URL http://localhost:8080/manger/html

Gambar 2.16 Tomcat Aplication Manager

Pada gambar di atas bisa dilihat direktori kerja yang telah dibuat, serta
fasilitas untuk Stop, Reload dan Remove. Perintah Reload biasanya digunakan
untuk me-refresh Servlet yang baru dimodifikasi, karana untuk melihat perubahan
dari modifikasi sebuah Servlet tidak bisa dilakukan dengan cara me-refresh web
browser.
Java Server Pages (JSP) juga diartikan sebagai suatu server berbasis
pembrograman Java yang mengijinkan statik HTML digabungakna dengan
dinamin HTML. HTML dapat mengembangkan halaman Web dengan
menggunakan tool (contoh, Microsoft Frontpage atau Macromedia Dreamweaver)
dan memodifikasi file HTML dan embed konten dinamik dengan spesial tags.

71

JSP bekerja pada Web server termasuk Apache HTTP Server dan
microsoft Internet Information Server ( dengan plug-ins dari IBM WebSphere,
LiveSoftware Jrun, atau New Atlanta ServletExec). JSP mengcompile kedalam
Java servlet dan proses yang mendukung Java pada Web server. Terdapat time
utama dalam membuat JSP yang dapat embedded pada halaman:

Skriping

element

(skriplets),

yang

mengijinkan

kode

Java

untuk

dispesifikasikan menjadi bagian dari hasil servlet.

Directives, yang dapat dilewati oleh JSP untuk mengendalikan struktur dari
servlet.

Action (tag), yang mengijinkan komponen yang ada (seperti JavaBean) untuk
digunakan.

Merupakan antisipasi prose JSP yang akan dimplementasikan

melalui JSP XML tag. Yang termasuk dalama JSPserpti standar tag seperti
jsp:bean (dengan deklarasi usera komponen JavaBean), jsp:setProperty ( untuk
menetapkan nilai dari property pada Bean) dan jsp:property ( untuk
mendapatkan nilai dari property pada Bean, diconvert kedalam string dan
diletakkan pada objek).
JSP merubah halaman JSP, kode Java dan statik HTML menjadi kode
Java, yang secara otomatis diatur oleh JSP kedalam Java servlet, setelah itu secara
otomatis dicompiled kedalam kodebyte Java. Sejak servlet dicompiled, kode JSP
tidak diperlukan diterjemahkan

setiap permintaan. JSP hanya memerlukan

merubah servlet hanya sekali setelah kode terkahir, sesudah itu servlet
dicomplied. Saat JSP dan JSP developer, digenerasi dan compile servlet secara

72

otomatis, JSP membrikan efisiensi performa dan fleksibilitas yang cepat dalam
pengembangan dengan tidak memerlukan mengcompile kode secara manual.
Kelemahan dalam penggunaan servlet yaitu pada proses generate sebuah
respon dari klien yang berformat HTML akan dikirim kembali. Sejak servlet
berupa class bahasa pemograman Java, sehingga dapat menghasilkan keluaran
dengan cara lain pada pemograman Java seperti : mencetak karakter String ketika
mengeluarkan output, dalam hal ini HTTP-response, bagaimanapun, HTML
sangat complex dan sangat sulit untuk melakukan proses encode HTML melalui
penggunaan String literal. Juga, melibatkan jasa suatu perancang gafis dan
perancang halaman web untuk membantu didalam bagian halaman statis akan
sulit atau mungkin mustahil : Nantinya akan diharapkan untuk mempunyai sedikit
pengetahuan tentang Java.
Inilah dimana teknologi JavaServerPage masuk. JSP terlihat hanya seperti
HTML. Hanya dapat mengakses kepada semua hal yang dynamic dari servlet
dengan menggunakan script dan bahasa expression. Karena terlihat seperti
HTML, designer berkonsentrasi pada desain sederhana HTML dan hanya
meninggalkan sisa ruang kode untuk developer untuk mengisi dengan content
dynamic.
Pada pembahasan sebelumnya telah diketahui bagaimana menghasilkan
dynamic content untuk user dengan menggunakan teknologi Java melalui
penggunaan servlets. Bagaimanapun juga, ketika pengembang Java dapat
membuat sites dengan semacam dynamic content hanya dengan menggunakan
servlet, ada beberapa kerugian dengan menggunakannya.

73

Pertama, hanya dengan menggunakan servlet untuk menghasilkan isi


HTML tidak membutuhkan pemeliharaan yang banyak atau clean code. Strings
yang digunakan untuk output HTML dapat menjadi sangat besar spanning
multiple lines dan dapat dengan mudah pemeliharaannya menjadi rumit.
Kedua, hanya dengan menggunakan servlets untuk menghasilkan isi
HTML dapat diasumsikan bahwa para pengembang telah mengenal Java &
HTML dengan baik. Secara khusus dalam kasus sebuah organisasi yang besar,
desiner site merupakan bagian dari kelompok programmer. Dengan melatih para
desainer tentang pemahaman Java, atau untuk memiliki pengembang Java yang
ahli dalam desain site HTML dapat dikonsumsi dan/atau sebuah aktifitas yang
baik untuk sebuah organisasi. Inilah yang menyebabkan teknologi JSP Muali
digunakan oleh banyak kalangan.
Java Server Pages (JSP), menurut JENI (Java Education Network
Indonesia), diartikan sebagai sebuah tenologi servlet-based yang digunakan pada
web tier untuk menghadirkan dynamic dan static content. JSP merupakan textbased dan kebanyakan berisi template text HTML yang digabungkan dengan
spesifik tags dynamic content.
2.4.2.4.1 Keunggulan Menggunakan JSP
Sejak JSP merupakan dokumen text seperti HTML, para pengembang
menghindari format dan manipulasi yang memungkinkan String yang sangat
panjang untuk menghasilkan output. Content HTML sekarang tidak ditempelkan
dengan berbagai macam kode dari Java. Hal ini membuatnya lebih mudah untuk
dipelihara.

74

JSP lebih dikenal oleh semua orang dengan pengetahuan dari HTML,
hanya dengan mempelajari markup dynamic. Hal ini membuatnya mungkin untuk
para desainer site untuk membuat template HTML dari sebuah site, dengan para
pengembang memprosesnya suatu saat nanti untuk memasukkan tags yang
menghasilkan dynamic content. Hal ini juga memudahkan dalam pengembangan
web page.
JSP memiliki built-in yang mendukung untuk penggunaan komponen
software yang dapat digunakan kembali(JavaBeans). Hal ini tidak hanya
membiarkan para pengembang menghindari kemungkinan menemukan kembali
inti/kemudi dari tiap aplikasi, mempunyai software pendukung untuk memisahkan
komponen software untuk menghandle logic promotes separation dari presentasi
dan business logic.
JSP, merupakan bagian solusi dari Java untuk pengembang aplikasi web,
merupakan multi-platform yang tak terpisahkan dan dapat dijalankan pada
berbagai container servlet yang compatible, dengan mengabaikan vendor atau
sistem operasinya.
Dalam kaitannya dengan cara kerja JSP tidak membutuhkan kompilasi dari
para pengembang. Kompilasi ini telah ada pada kontainer servlet. Modifikasi JSP
dideteksi secara otomatis. Hal ini secara relatif membuatnya mudah untuk
dibangun.
2.4.2.4.2 Contoh JSP

75

Gambar 2.17 Source Code Selamat Datang

Gambar diatas adalah file JSP yang simple yang melakukan penyambutan untuk
site user sebagai penginformasian tanggal dan waktu saat ini untuk user.
Dari contoh diatas, dapat dilihat bahwa file JSP merupakan sebagian besar
dari HTML. Hanya pada bagian ini yang beda :
<%= new java.util.Date()%>
Hal ini merupakan bagian dari kode Java untuk menampilkan hari dan tanggal
pada saat itu juga. Hal ini mempermudah unutk membuat objek baru untuk
membuat objek Date dan menampilkannya sebagai String. Dibawah ini
merupakan hasil output dari file JSP tersebut diatas.

Gambar 2.18 Tampilan Selamat Datang

2.4.2.4.3 Syntax JSP dan Semantics

76

Meskipun JSP berbasis Java, dan dikendalikan sebagai kode Java oleh
servlet, memperbolehkan pengembang untuk menggunakan syntax yang berbeda
pada spesifikasi Java 2.0 dan sebagai gantinya menggunakan aturan spesifikasi
JSP. Bagian berikut ini menggambarkan syntax JSP dengan lebih detail.
2.4.2.4.4 Element-element dan Data Template
Semua komponen Java Server Pages dapat dibagi menjadi dua kategori
umum: elements dan templates data. Element merupakan dynamically yang
menghasilkan informasi. Data template merupakan informasi static yang
memperhatikan

presentasi.

Pada

hello.jsp,

ekspresi

JSP,

<%=

new

java.util.Date()%> adalah satu-satunya element data yang memanggil data


template.
Listing 1: hello.jsp
<html> <head>
<title>Hello World!</title>
</head> <body>
<center>
<h1>Hello World! It's <%= new java.util.Date()%></h1>
</center> </body> </html>

2.4.2.4.5 Dua Tipe Syntax


Dua tipe dari authoring JSP didukung oleh Container JSP : JSP Style dan
XML Style. Keduanya termasuk dalam bab ini. Memilih salah satu format syntax
hanya bergantung dari preference dan standarisasi. Normal syntax didesain lebih
mudah untuk pada pembuat(author). XML-compatible yntax telah disediakan
ketika menggunakan JSP authoring tools. Bagaimanapun juga, yang lebih sering
disediakan adalah normal syntax karena dia lebih mudah untuk dibaca dan
dimengerti. Text ini akan menggunakan normal syntax pada contoh-contohnya.

77

2.4.2.4.6 Scripting Elements


Seperti yang telah dijelaskan, JSPs memungkinkan untuk dilihat sebagai
HTML atau XML dokumen dengan berdasar pada Script JSP. Scripting JSP
element akan memperbolehkan kode Java masuk kedalam Servlet yang akan digenerate dari halaman JSP. Cara termudah untuk membuat dynamic JSP adalah
dengan menaruh scripting element kedalam data template. Pada bab ini akan
mempelajari scripting element JSP berikut ini:
1. Scriptlets,
2. Expressi, dan
3. Deklarasi.
2.4.2.4.6.1 Scriptlets ( <% ... %> )
Scriptlets menyediakan cara untuk memasukkan bits dari kode Java
diantara chunks dari data template dan memiliki form berikut ini :
<% Java code; %>
Menggambarkan kode Java diantara <% dan %> sama seperti menulis kode Java
secara normal kecuali disana tidak dibutuhkan untuk deklarasi class. Scriptlets
bagus digunakan pada kode java seperti pernyataan kondisional loops, dll. Disana
tidak ada batasan secara spesifik sebagai kompleksitas dari kode java yang harus
disimpan diantara scriptlets. Bagaimanapun juga, harus dilakukan tindakan
pencegahan pada pemakaian scriptlets yang berlebihan. Menaruh perhitungan
yang berat didalam scriptlets merupakan isu dari penggunaan kode. Juga,
Menggunakan scriptlets extensively violates JSPs role menjadi komponen
presentation layer yang utama.

78

Berikutnya akan dibahas tentang bagaimana dapat menggunakan


JavaBeans untuk enkapsulasi data results passed dari komponen lain, Secara
drastis mengurangi jumlah dari scriptlets yang dibutuhkan pada halaman.
Kemudian, akan dibahas bagaimana cara menggunakan custom tags untuk
menyediakan common tasks seperti looping, logic branching, dll. Hal ini
dikombinasikan dengan JavaBeans menggunakan cut scriptlet.
Jika ingin menggunakan karakter "%>" didalam scriptlet, tulislah "%\>"
sebagai gantinya. Hal ini akan mencegah compiler dari penginterpretasian
karakter sebagai penutup tag scriptlet. Dibawah ini merupaka dua contoh yang
menggambarkan contoh kode Java yang sangat simple diantara tag HTML.
Contoh: Simple Println
PrintlnScriptlet.jsp

Gambar 2.19 Source Code Println

Contoh diatas merupakan ilustrasi yang mudah tentang kode Java didalam
JSP. Kode diatas menghasilkan output text, jadi, kedalam web browser.
Contoh: For-Loop pada scriptlet
LoopScriptlet.jsp

79

Gambar 2.20 Source Code For-Loop

Contoh diatas menampilkan implementasi kode Java dari for-loop didalam


tag scriptlet(<%...%>). Untuk outputnya dapat dilihat setelah menjalankan JSP ini
dan menghasilkan text This line is printed 10 times. Dicetak 10 kali dalam
kaitannya dengan menjalankan for-loop untuk iterasi 0 sampai 9 seperti yang
ditampilkan pada ilustrasi 8.1.
Ingatla bahwa scriptlet itu sendiri tidak dikirim ke client tetapi hanya
sebagai outputnya. Cobalah untuk melihat source dari output JSP yang dihasilkan
di browser untuk memahami point ini, diharuskan melihat tag-tag HTML dan
output scriptlet. Akhirnya, syntax XML-compatible untuk menulis scriptlets
adalah :
<jsp:declaration> Java code; </jsp:declaration>.
2.4.2.4.6.2 Expressi ( <%= %>)
Expressi menyediakan cara untuk memasukkan nilai Java secara langsung
kedalam output. Hal ini memilki form seperti berikut ini :
<%= Java Expression %>
Sebenarnya hal ini dapat menggunakan out.println(). Catatan bahwa tanda ( ; )
tidak ditampilkan pada akhir kode didalam tag.

80

Gambar 2.21 LoopScriptlet.jsp

Expressi java yang laindisimpan diantara <%= dan %> yang dievaluasi
pada saat run-time, yang dikonversi kedalam string, dan dimasukkan kedalam
page. Expressi selalu mengirim string text ke client, tetapi object yang dihasilkan
sebagai hasil dari expressi yang tidak memerlukan nilai instan object sebagai
string. Semua yang bukan object string secara instan dikonversi melalui method
toString(). Jika hasilnya primitive, kemudian string primitive akan ditampilkan.
Hal tersebut akan dijelaskan terlebih dulu bahwa pada saat run-time(ketika
ada request page), hal ini akan memberikan expressi akses penuh untuk informasi
tentang request. Sebuah nomer dari variabel yang telah dikenali sebenarnya telah
tersedia untuk author JSP untuk expressi yang mudah.
Variable yang telah dikenali ini disebut implicit objects dan berikut ini
akan dibahas secara detail. Untuk tujuan dari expression, yang terpenting
adalah:
o response, HttpServletResponse;
o request, HttpServletRequest;

81

o session, HttpSession associated dengan request (jika ada); dan


o out, PrintWriter (versi buffered dari tipe JspWriter) digunakan untuk
mengirim output ke client.
Sebagai contohnya, untuk mencetak hostname, hanya perlu memasukkan expressi
jsp dibawah ini:
Hostname: <%= request.getRemoteHost() %>
Akhirnya, syntax XML-compatible syntax untuk <%= Java Expression %>
adalah:
<jsp:expression> Java Expression </jsp:expression>
2.4.2.4.6.3 Deklarasi ( <%! %> )
Deklarasi dapat memperbolehkan penggambaran method atau variable.
Karma didalamnya memilki form seperti dibawah ini :
<%! Java Code %>
Deklarasi digunakan untuk meletakkan kode hanya seperti scriptlet tetapi
deklarasi dapat dimasukkan kedalam main bosy dari class servlet, diluar dari
proses request method _jspService(). Untuk alasan ini kode diletakkan pada
deklarasi dapat digunakan untuk mendeklarasikan method baru dan variabel class
global. Dalam hal yang lain, kode pada deklarasi tidak selalu aman, kecuali
diprogram terlebih dahulu oleh author JSP, perlu diperhatikan adalah padasaat
menulis deklarasi JSP.
Berikut ini merupakan hal yang perlu diingat dalam menggunakan tag
deklarasi :
Sebelum deklarasi diharuskan menuliskan <%!

82

Pada akhir deklarasi, developer harus menuliskan %>


Kode pada tag harus diakhiri dengan tanda baca ( ; ).
Deklarasi tidak men-generate outpt tetapi digunakan dengan expressi
JSP atau scriptlet.
Sejak deklarasi tidak men-generate outptu apapun, maka sering digunakan
pada konjungsi dengan expressi JSP atau scriptlet. Sebagai contohnya, ada sebuah
JSP yang mencetak angka dari waktu current page telah direquest sejak server
atau class servlet telah dirubah.
Contoh AccessCountDeclaration.jsp
JSP dapat mencetak angka dari visits dengan mendeklarasikan variabel
class-wide accessCount, menggunakan scriptlet untuk meningkatkan nilai dari
angka dari sebuah page visit dan sebuah expressi unutk menampilkan nilainya.
Illustrasi 8.3 menampilkan contoh dari JSP page yang direfresh sebanyak 4 kali.
Illustrasi 8.2: AccessCountDeclaration.jsp output

Gambar 2.22 AccessCountDeclaration.jsp

83

Untuk mengetahui bagaimana JSP page ditranslasi kedalam sebuah servlet


maka akan dilakukan pengujian output servlet dari container JSP untuk
AccessCountDeclaration.jsp. Container JSP men-generate sebuah file Java yang
memanggil

AccessCountDeclaration_jsp.java

dan

isinya.

Ingatlah

bahwa

deklarasi, scriptlet dan expressi telah digaribawahi untuk referensi termudah.


Listing 2: AccessCountDeclaration_jsp.java

84

Ingatlah bagaimana deklarasi untuk accessCount diletakkan diluar method


_jspservice()

sebagai

anggota

variable.

Hal

ini

membuat

accessCount

diperbolehkan tidak hanya untuk method _jspservice() tetapi untu method yang
lain digambarkan dalam JSP. Menguji kode terdahulu dapat menunjukkan tentang
penempatan yang tepat sebuah deklarasi, scriptlets dan expressi pada kode source
Java yang ditranslasi dari page HTML.
Akhirnya, ingatlah bahwa syntax the XML-compatible syntax untuk <%!
JavaCode %> adalah
<jsp:declaration> Java Code; </jsp:declaration>

85

Template Text
o Gunakan <\% untuk menghasilkan <% pada output
o <%-- JSP Comment --%>
o <!-- HTML Comment -->
o Seluruh text di luar JSP ditampilkan pada halaman.
2.4.2.4.7 Variable-variable yang telah Dikenal
Pada diskusi tentang tag expressi ditemukan object yang tersembunyi.
Pembahasan ini menggambarkan object tersebut secara detail. Object-object JSP
yang tersembunyi secara otomatis dideklarasikan oleh container JSP dan selalu
tersedia dalam penggunaan expressi dan scriptlets (tetapi tidak didalam deklarasi).
Berikut ini merupakan daftar object-object yang tersembunyi (implicit objects) :
request:

Kejadian

dari

object

javax.servlet.http.HttpServletRequest

dihubungkan dengan request dari client.


response: Kejadian dari object javax.servlet.http.HttpServletResponse
dihubungkan dengan response ke client.
ageContext:

Object

PageContext

dihubungkan

dengan

halaman

sebelumnya.
out: Referensi object javax.servlet.jsp.JspWriter dapat digunakan untuk
menulis action dan data template dalam page JSP, sama dengan hal tersebut dari
object PrintWriter yang digunakan pada saat mendiskusikan servlet. Variable
tersembunyi (implicit variable) out secara otomatis diinialisasi dengan
menggunakan method pada object PageContext.

86

session: Kejadian dari object javax.servlet.http.HttpSession. Kejadian ini


sama untuk memanggil method HttpServletRequest.getSession().
application:

Object

ServletContext

is

an

instance

of

the

javax.servlet.ServletContext. Kejadian ini sama dengan memanggil method


getServletConfig().getContext(). Implicit object ini disharing oleh semua servlets
dan JSP pages pada server.
config: Config dari implicit object merupakan kejadian dari object
javax.servlet.ServletConfig untuk page ini. Sama halnya dengan sebagai Servlets,
JSPs memiliki akses untuk menginisialisasi parameter yang terdapat pada Web
Application Deployment Descriptor.
2.4.2.4.8 JSP Directives
Directive merupakan pesan untuk container JSP, yang mempengaruhi
seluruh struktur dari class servlet. Hal tersebut memiliki form seperti berikut ini:
<%@ directive attribute="value" %>
Daftar untuk mengeset atribut juga dapat disebutkan satu persatu untuk single
directive seperti dibawah ini :
<%@ directive attribute1="value1"
attribute2="value2"
...
attributeN="valueN" %>
Catatan:

Whitespaces

setelah

<%@

dan

sebelum

%>

merupakan

pilihan/opsional.
Directive tidak menampilkan berbagai hasil output ketika ada permintaan
pada page tetapi dapat merubah cara JSP engina dalam memproses page tersebut.
Sebagai contohnya, dalam pembuatan session data yang tidak tersedia pada page

87

dengan mengeset directive page (session) bernilai false. JSP directive akan
memberikan informasi yang spesial tentang page kepada JSP Engine. Directive
dapat menjadi satu dalam page, yaitu include atau taglib. Masing-masing
directives tersebut memiliki setting atributnya sendiri-sendiri.
2.4.2.4.8.1 Page Directive
Page directive menggambarkan proses informasi untuk sebuah page. Hal
tersebut akan memperbolehkan import class, customize superclass servlet.
Directive memiliki pilihan atribut seperti dibawah ini yang menyediakan JSP
Engine dengan proses informasi yang spesial. Ingatlah bahwa dibawah ini adalah
daftar atribut yang bersifat cesa-sensitive:
Tabel 2.3 Daftar Atribut Pada Directive

88

2.4.2.4.8.2 Include directive


Include directive menggambarkan file-file yang harus dimasukkan pada
halaman. Hal tersebut membolehkan pemasukkan sebuah file kedalam class
Servlet ( untuk memasukkan isi dari sebuha file yang berada didalam file lain)
selama translation time. Biasanya, include file digunakan untuk navigasi, table,
header dan footer, dll. komponen-komponen yang diperbolehkan untuk berbagai
halaman. Berikut ini syntax untuk include directive :

89

<%@ include file = "relativeURL" %>


Contoh, jika meinginkan untuk memasukkan sebuah menubar yang akan
ditemukan pada directory yang di inginkan, untuk dapat menulis:
<%@ include file = "menubar.jsp" %>
2.4.2.4.8.3 Tag Lib directive
Sebuah tag library merupakan kumpulan dari custom tags. Taglib directive
menggambarkan bagaimana tag library digunakan pada sebuah halaman. Berikut
ini cara penulisan taglibs :
<%@ taglib uri = tag library URI prefix = tag Prefix %>
Directive ini memberitahu container dimana markup pada halaman harus
disesuaikan dengan dengan custom code dan kode markup link apa yang dipakai.
diambil contohnya dari index.jsp pada listing dibawah ini. Pada baris pertama
menjelaskan bahwa index.jsp menggunakan custom code struts/template dan
prefis template untuk penulisan yang lebih mudah. Penggantian referensi taglib
yang baik dilakukan dengan memrefix markup-nya.
index.jsp
<%@ taglib uri="struts/template" prefix="template" %>
<template:insert template="/WEB-INF/view/template.jsp">
<template:put name="header" content="/WEB-INF/view/header.jsp" />
<template:put name="content" content="/WEB-INF/view/index_content.jsp" />
<template:put name="footer" content="/WEB-INF/view/footer.jsp" />
</template:insert>
Custom tag yang telah dikenalkan pada JSP dan memperbolehkaan para
pengembang JSP untuk menyembunyikan complex server side code dari web
designer.
2.4.2.4.9 Expression dalam JSP

90

Satu dari dua elemen JSP yang akan dipelajari dalam bab ini adalah JSP
Expression Language(EL).Expression Language ini diperkenalkan dengan
spesifikasi JSP 2.0 dan disediakan sebuah syntax sederhana dan jelas untuk
menulis expression yang melakukan logika sederhana atau mengakses lingkup
nilai. Kegunaan JSP EL lebih baik dijelaskan dalam sebuah contoh sederhana.
Menggunakan method yang dibahas dalam bab sebelumnya, jika ingin mengakses
property dari sebuah JavaBean, atau juga bisa menggunakan :
<% String name = user.getLastName(); %> atau
<jsp:getProperty name="user" property="lastname"/>
Menggunakan method yang pertama, pengembang diarahkan ke konsep
pemrograman Java : untuk mengakses properti dari sebuah bean, pengembang
diharapkan telah membuat method getter dari sebuah bean. Pengembang juga
perlu memahami property dari tipe Java. Method yang kedua lebih cenderung ke
pemrograman yang netral : akses ke property sebuah bean dikerjakan oleh tag-tag
yang secara konsep hampir sama dengan tag-tag HTML. Bagaimanapun juga,
method mengakses property bean ini panjang dan susah. Dan juga, method ini
hanya dapat digunakan untuk output langsung kepada user.
Menggunakan EL, property bean dapat diakses sebagai :
${user.lastName}
Konsep diatas adalah pemrograman netral : pengembang tidak harus
mengetahui jenis Java atau syntax. Konsep tersebut juga pendek dan langsung ke
titik permasalahan : konsep hanya berisi variabel yang terjangkau dan property
untuk diakses, dengan penambahan sedikit character. Dan juga, dapat digunakan

91

bersama untuk menampilkan output langsung ke user, atau untuk membongkar


nilai untuk tag yang sesuai untuk diproses.
2.4.2.4.10 Syntax EL Literals
EL didesain untuk bersifat sederhana dalam syntaxnya. Pada dasarnya,
konsep EL bisa merupakan literal atau expression yang ditulis diantara ${ dan }.
EL mendukung literal seperti berikut :
Boolean
Long
Float
String
Null
Literal EL diperlakukan secara sama sebagaimana di dalam Java. Sebagai contoh,
nilai boolean dapat bernilai true atau false, nilai String membutuhkan pembatas di
dalam tanda double petik ("") atau tanda petik (''), null menggambarkan nilai yang
kosong.
Literal dengan sendirinya mempunyai sedikit nilai fungsional didalam
sebuah bahasa expression. EL juga menggambarkan standard operator yang dapat
digunakan pada literal. Sebuah set terapat operator aritmatika dasar (+,,*,/,%),operator logikal (&&,||,!) dan operator pembanding(==,!=.<.<=,>,>=). EL
juga menggambarkan kata-kata kunci yang menyerupai fungsi dari beberapa
operator-operator : and (&&), eq (==), gt(>), ge(>=), or (||), ne (!=), le (<=), lt (<),
div (/), and mod (%). Dan juga menggambarkan kata-kata kunci lainnya :
True berhubungan dengan nilai literal boolean
false berhubungan dengan nilai literal boolean

92

instanceof - serupa dengan kata kunci Java. Menentukan apakah sebuah


objek adalah anak dari objek yang diberikan jenisnya.
Null serupa dengan kata kunci Java. Menentukan sebuah nilai null
empty dapat digunakan dalam berbagai cara. Ketika diterapkan pada
literal array atau instans sebuah objek Collection, menentukan apakah berisi
sebuah nilai atau tidak.
Berikut adalah contoh expression EL, diberikan apa yang telah dikerjakan selama
ini :
${'JEDI'} - menghasilkan String 'JEDI'
${5 + 37} - menghasilkan 42
${ (10 % 5) == 2} - menghasilkan true
${empty ''} - menghasilkan true
2.4.2.4.11 Melakukan Koneksi dengan Database
2.4.2.4.11.1 MySQL
Dalam sistem ujian online dengan menggunakan metode web sudah tentu
akan membutuhkan pengolahan data secara otomatis pada server, hal itu
membutuhkan suatu program database engine yang digunakan untuk membantu
manajemen data pada server. Database engine yang digunakan adalah MySQL
yang berdasar pada konsep database relasional.
MySQL merupakan salah satu database (basis data) open source yang
dikembangkan sebuah komunitas bernama MySQL AB dengan tujuan membantu
user untuk menyimpan data dalam tabel-tabel. Tabel terdiri atas field (kolom)
yang mengelompokkan data-data berdasarkan kriteria tertentu, misalnya nama,
alamat, nomor telepon, dan sebagainya. Bagian lain adalah record (baris) yang
mencantumkan isi data yang sebenarnya. Sebagai contoh, suatu baris data

93

mencantumkan identitas seorang siswi bernama Aura kasih yang beralamat di


jalan Kenanga memiliki nomor telepon (021) 125xxx dan sebagainya.
Tabel-tabel ini dibungkus dalam suatu wadah yang biasa dikenal dengan
sebutan database. Sayangnya, sebutan ini acapkali menimbulkan salah pengertian
bagi orang-orang yang masih awam, yaitu pemahaman antara database yang
memuat data (berisi tabel-tabel) dengan software yang membuat database itu
sendiri. Sebagai contoh, pada suatu saat terdengar istilah database siswa dan
database pegawai sementara pada saat yang lain terdengar istilah database
Acces, database SQL Server, database MySQL, dan sebagainya. MySQL
menggunakan istilah schema atau schemata untuk menunjuk pada wadah
penampung tabel seperti istilah schemata siswa sebagai ganti istilah database
siswa.
MySQL sebagaimana software database lainnya, dapat menampung
banyak schemata, dimana masing-masing schemata ini dapat digunakan oleh
aplikasi-aplikasi yang berbeda, baik dari sisi tujuan maupun dari sisi bahasa
pemrograman yang digunakan oleh masing-masing aplikasi yang bersangkutan.
Terdapat empat instruksi dasar yang digunakan dalam sql (struktured
query language), yaitu select, insert, update, dan delete. Masing-masing
digunakan untuk menampilkan data, menginput atau menambah data, mengubah
data, dan menghapus data dalam database.
Ada beberapa hal yang harus diperhatikan saat membuat schema, tabel
maupun kolom. Sebagai langkah antisipasi, apabila nama schema, tabel maupun
kolom tabel lebih dari satu kata maka digunakan underscore ( _ ). Ada baiknya

94

digunakan huruf kecil atau atau huruf kapital (huruf besar) secara konsisten, untuk
menghindari masalah case sensitive.
Ada banyak hal yang dapat menimbulakan kesalahan-kesalahan tak
terduga. Kesalahan-kesalahan ini dapat mempengaruhi kompabilitas keseluruhan
data. Misalnya pada saat melakukan migrasi database dari MySQL ke software
database lain atau dari suatu tipe database ke tipe database lain, selain itu
keselahan pada penggunaan tanda |, /, maupun tanda titik (.) juga sering terjadi.
2.4.2.4.11.2 Perintah perintah dalam Lingkungan Database
Select

Pernyataan select digunakan untuk query database tentang informasi


database yang mana yang ditampilkan sebagai data. Format dasar dari pernyataan
select adalah :
select kolom from namatabel where kondisi
Pernyataan sql select dimulai dengan kata kunci select, diikuti oleh tanda koma
dari kolom-kolom yang akan ditampilkan, kemudian clause form yang
menentukan tabel yang berisi data yang akan ditampilkan.
Secara bebas, clause where dapat ditambahkan pada pernyataan select,
menjelaskan sebuah set dari kondisi yang harus ditemukan oleh data yang akan
dikembalikan oleh database. clause where tidak dipisahkan oleh koma;
melainkan, dia tehubung oleh pernyataan and atau or yang fungsinya sama
dengan logik.

95

Menetapkan * sebagai nama kolom memberitahu database server untuk


meretrieve semua kolom yang tersedia didalam tabel. Contoh, jika ingin
meretrieve semua data yang terdapat pada table yang bernama users :
select * from users;
Jika hanya ingin melihat untuk users yang bernama belakang Smith, pernyataan
SQL-nya berupa :
select * from users where nama ='smith';
SQL tidak bersifat case-sensitive pada kata kuncinya, SQL case-sensitive
pada nilainya. Pernyataan berikut ini akan menghasilkan data yang berbeda jika
dibandingkan dengan pernyataan diatas :
select * from users where nama ='sMith';
Operator lain yang dapat digunakan pada conditional statements :
< - kurang dari
<= - kurang dari atau sama dengan
> - lebih besar dari
>= - lebih besar dari atau sama dengan
like sama dengan
Insert
Pernyataan insert digunakan untuk memasukkan baris data yang baru dari
informasi tabel database yang aktif. Struktur dasar dari pernyataan insert adalah :
insert into nama-tabel values(nilai1, nilai2, ...)
Dimana nama-tabel adalah nama dari tabel yang akan berisi baris data yang baru.
Parameter yang diberikan didalam kata kunci values adalah daftar data dari nilai

96

yang akan ditambahkan kedalam tabel. Jika seperti ini dimana hanya tabel yang
ditetapkan, sql akan memasukkan nilai yang diberikan pada pernyataan dengan
field didalam database berdasarkan nilai yang dipesan dan field yang ditentukan
pada tabel database.
Jika, sebagai contoh, mempunyai tabel dengan nama users, dengan field
userid, nama, alamat(pada pemesanan), pada baris berikut ini akan menambahkan
data yang baru ke tabel:
insert into users values(199700651, 'jeni master', 'up ayala technopark');
Penting untuk diingat bahwa semua panggilan untuk insert harus diikuti aturan
integritas pada tabel data. Oleh karena itu, jika sebuah field pada database
ditetapkan non-null, berbagai usaha untuk memasukkan ni;ai-null kedalam field
tersebut akan menyebabkan error pada database.
Update
Pernyataan update akan mengupdate baris yang dipilih pada tabel, sebagai
lawan dari pernyataan insert yang menambahkan baris data baru. Format dasar
pernyataan update adalah:
update nama-tabel set nilai-kolom where kondisi
Dimana nama-tabel adalah nama dari tabel yang berisi baris yang akan diupdate,
dan nilai-kolom adalah daftar data dari nama kolom dan nilainya. Secara bebas,
daftar data dari kondisi dapat ditambahkan secara spesifik dengan baris yang akan
dimodofikasi pada tabel. Jika tidak diber kondisi, maka update data akan
dilakukan pada tiap-tiap baris didalam tabel yang ditentukan.

97

Berbagai update harus disesuaikan dengan aturan integritas pada database.


Sebagai contoh, menyetting nilai null pada kolom yang sudah ditetapkan dengan
nilai not null akan menyebabkan pernyataan tidak akan dijalankan dan terdapat
pesan error pada relasi database.
Delete
Pernyataan delete menghapus baris data pada tabel yang dipilih. Struktur
dasar dari pernyataan delete adalah :
delete from nama-tabel where kondisi
Dimana nama-tabel adalah nama dari tabel yang berisi baris data yang akan
dihapus. Daftar data dari kondisi secara bebas dapat dispesifikasikan sebaik
mungkin. Jika tidak diberi kondisi, maka pernyataan akan mneghapus semua baris
data pada tabel yang telah ditentukan.
2.4.2.4.11.3 JDBC
Java menyediakan standard API untuk mengakses database yang disebut
Java Database Connectivity (JDBC) API. Dengan menggunakan ini, para
pengembang memungkinkan dapat mengakses database tanpa memperdulikan
vendornya; para vendor menyediakan implementasi untuk abstract interfaces yang
dijelaskan didalam API, penyediaan tersebut sama dengan set dari kemampuan
koneksi untuk para pengembang. Berikut ini merupakan class kunci dari JDBC
API, semuanya akan dijelaskan secara detail kemudian :
java.sql.Connection membuat sebuah koneksi dengan database. Secara
abstrak memberikan detail dari bagaimana cara untuk berkomunikasi dengan
database server.

98

java.sql.DriverManager mengatur JDBC driver yang digunakan oleh


aplikasi. Pada hubungannya dengan proper driver URL dan proper authentication,
dapat menyediakan aplikasi dengan valid instances dari object koneksi.
javax.sql.DataSource memisahakan detail (URL, authentication details)
dari bagaimana untuk memperoleh sebuah koneksi ke database. Merupakan
method terbaru dan yang lebih disukai dari obtaining Connection objects.
java.sql.Statement menyediakan method untuk para pengembang dalam
mengeksekusi pernyataan SQL.
java.sql.ResultSet menyediakan hasil dari sebuah pernyataan SQL.
Objects ini sering dikembalikan dari method yang terletak pada Statement object.
2.4.2.4.11.4 Java.sql. DriverManager
Dengan menggunakan class ini, pengembang dapat meretrieve sebuah
Connection object yang kemudian dapat dia gunakan untuk melakukan aktifitas
database. Berikut ini dua langkah yang dianjurkan:
Pertama, JDBC driver harus diregistrasi dengan DriverManager. Hal ini
dapat dikerjakan dengan menggunakan method Class.forName untuk menge-load
driver's class definition kedalam memori.
Kedua, menggunakan method getConnection pada DriverManagerm
untuk menyediakan JDBC URL, sebaik username dan password supplying untuk
akses database. URL harus mengikuti syntax yang dianjurkan oleh implementasi
database tertentu. Dibawah ini adalah contoh dari bagaimana mendapatkan
koneksi dari database PostgreSQL. Sekali lagi, URL dan driver tepat untuk

99

implementasi database yang digunakan. Untuk database yang lain, periksalah


dokumen yang disediakan.

Gambar 2.23 Source Code Koneksi Database

Saat ini merupakan cara yang valid dari meretrieve sebuah Connection
object, method ini menganjurkan para pengembang untuk tetap mengikuti method
tersebut dari seperti detail sebagai driver class name, URL dianjurkan untuk akses
ke database, sedangkan username dan password tepat untuk penggunaan database.
Detail-detail ini paling banyak dipakai pada berbagai aplikasi. Dan juga, mengatur
URL dan driver name pada kode membuatnya lebih sulit untuk aplikasi dalam
menukar implementasi database, jika hal itu diperlukan.
2.4.2.4.11.5 Javax.sql. Data Source
DataSource merupakan interface yang digambarkan pada JDBC API sejak
versi 2 dari spesifikasinya. Sekarang saatnya direkomendasikan untuk para
pengembang dalam mendapatkan Connection object. Retrieval dari Connection
object

terjadi

secara

langsung

cara

sederhana

memanggil

method

getConnection() dalam kejadian yang valid dari DataSource. Hal tersebut


memperoleh sebuah kejadian dari DataSource yang sekarang dapat menyelesaikan
sebuah masalah untuk beberapa pengembang(developer).

100

Sejak DataSource merupakan sebuah interface, sebuah instance tidak dapat


dibuat oleh pengembang dengan menggunakan operator yang baru secara
sederhana. Hal tersebut direkomendasikan jika memilih aplikasi server dengan
menggunakan aturan pembuatan dari DataSource objects.
2.4.2.4.11.6 Konfigurasi Data Source pada Sun Application Server 8.1
Masing-masing server memiliki prosedurnya sendiri untuk mengonfigurasi
dan mengatur DataSources. Apa yang akan dibahas akan menjadi prosedur untuk
melakukan sesuatu dalam container yang telah gunakan sejauh ini untuk contoh
yaitu : Sun Application Server 8.1.
3 langkah dalam menyetting datasource untuk AppServer 8.1 :
Mendaftarkan file JAR yang berisi JDBC driver dengan container.
Membuat connection pool ke database
Mendaftarkan sebuah datasource yang digunakan untuk connection pool.
2.4.2.4.11.7 Membuat Sebuah Connection Pool
Untuk membuat sebuah connection pool, klik pada link JDBC pada pane
sebelah kiri, kemudian klik Connection Pools pada pane sebelah kanan.
Kemudian pada layar berikutnya, klik pada tombol New... untuk menampilkan
layar seperti pada gambar dibawah ini :
Dibawah field Name, isilah nama yang mana connection pool ini akan
ditunjuk. Dibawah connection pool drop kebawah, pilih javax.sql.DataSource.
Tinggalkan Database Vendor yang pilihannya kosong, karena PostgreSQL tidak
termasuk dalam list vendor.

101

Klik next, kemudian jika diminta untuk nama class prompted, masukkan:
org.postgresql.jdbc3.Jdbc3PoolingDataSource. klik next. Pada layar berikutnya,
scroll kebawah sampai terlihat properti yang akan diasosiasikan dengan
connection pool ini:

Gambar 2.24 Layar Console System Application Server

Gambar 2.25 Additional Properties

Parameter-parameter berikut ini harus mempunyai nilai-nilai yang telah


disediakan :
Password
ServerName

102

PortNumber
DatabaseName
User
Setelah menyediakan nilai dari semua parameter diatas, klik Finish. P
2.4.2.4.11.8 Mendaftarkan Data Source
Untuk mendaftarkan datasource, klik pada link JDBC yang ditemukan pda
pane sebelah kiri, lalu klik pada JDBC Resources. Pada layar berikutnya klik pada
New... Field harus diisi dengan ketentuan sebagai berikut :
JNDI Name masukkan logical name yang mana aplikasi akan me-retrieve
DataSource. Direkomendasikan bahwa namanya memiliki jdbc/ sebagai prefixnya, agar lebih mudah bagi server administrators pada masa selanjutnya dalam
mengidentifikasi element inisebagai JDBC resource.
Pool name pilih nama dari connection pool yang telah dibuat terlebih dahulu.
Description Masukkan text yang menjelaskan tentang DataSource (bebas) klik
pada OK untuk mengakhiri.
2.4.2.4.11.9 Retrieving Data Source
Retrieving merupakan sebuah instance DataSource dari sebuah aplikasi
server yang sederhana dan dapat dipenuhi hanya dengan menggunakan beberapa
baris dari kode menggunakan bagian dari JNDI API. Java Naming Directory
Interface (JNDI) adalah standard Java API untuk mengakses directories. Sebuah
direktori merupakan lokasi pusat dimana aplikasi Java dapat retrieve external
resources menggunakan logical name.

103

Detail tambahan untuk JNDI dan bagaimana dia bekerja merupakan


lingkup lain pada bahasan ini. Hal yang perlu diketahui adalah bahwa server
aplikasi memelihara sebuah direktori yang mana akan menerbitkan DataSource
yang telah dikonfigurasi. Kemudian, aplikasi dapat melakukan lookpup sederhana
sebuah nama pada direktori tersebut untuk meretrive rsource.

Gambar 2.26 Source Code Membuat Instance

2.4.2.4.11.10 Java.sql.Connection / Java.sql.Statement


Java.sql.conection objects yang nyata ke database. Sekali mempunyai
sebuah instance dari object ini, maka dapat membuat sebuah instance dari sebuah
statement object, dimana kemudian dapat digunakan query SQL. Statement object
menyediakan beberapa method untuk mengeksekusi query SQL. Dua method
yang sering digunakan adalah :

ExecuteQuery : menggunakan pernyataan select dan mengembalikan hasil


operasi sebagai Resulsetobject

ExecuteUpdate : Menggunakan pernyataan insert, update, atau , delete


dan mengembalikan jumlah dari baris yang dipengaruhi sebagai integer
primitive.

104

Berikut adalah bagian dari contoh kode outlining prosedur, bersama dengan
beberapa error yang sangat dasar dalam menangani prosedur.

Gambar 2.27 Source Code Outlining Prosedur

2.4.3

Dream Weafer
Dreamweaver merupakan salah satu software pembuat website yang

mempunyai banyak sekali kemudahan dalam pengoperasiannya namun juga


sangat powerful dalam pembuatan website. Salah satu keunggulannya adalah
kemudahannya dalam berinteraksi dengan macromedia flash, sebuah tool animasi
yang sangat populer di internet.
Pertama kali dreamweaver dibuka, setelah proses instalasi, akan
ditampilkan jendela yang menanyakan untuk memilih jenis layout yang
diinginkan.

105

Gambar 2.28 Jendela Dialog Dreamweaver

Ada dua pilihan model layout kerja, yaitu model dreamweaver mx, atau model
dreamweaver 4. Pada model dreamweaver 4, setiap jendela kerja berdiri sendirisendiri. Dalam tutorial ini digunakan layout kerja standart dreamweaver mx
karena

model

layout

kerja

ini

dirasa

paling

optimal.

Checkbox

homesite/codebuilder merupakan pilihan untuk mengoptimalkan kerja apabila


lebih banyak bekerja di script. Sangat cocok untuk tingkat lanjut.
2.4.3.1 Pengenalan Interface Dreamweaver
Gambar di bawah merupakan gambaran layout kerja dreamweaver mx.
Jendela-jendela pembantu yang terdapat pada menu window dikelompokkan pada
panel bagian kanan. Seluruh panel bisa disembunyikan dengan mengklik tombol
yang ditunjukkan oleh tanda panah. Design view bekerja layaknya kanvas bagi
pelukis. Bagian ini merupakan tempat bekerja dalam membentuk sebuah halaman
situs. Disini, dengan menggunakan document toolbar bisa ditampilkan code saja,
desain saja atau kedua-duanya.

106

Gambar 2.29 Document toolbar. Bisa digunakan untuk mengatur tampilan kerja. Dalam tampilan
script saja, tampilan script dan desain, ataukan hanya desain saja.

107

Document toolbar
Insert bar
menus

panels
Property inspector
Design & code view
Gambar 2.30 Bagian-bagian Utama Tempat Kerja Dreamweaver

Design view bekerja layaknya kanvas bagi pelukis. Bagian ini merupakan tempat bekerja
dalam membentuk sebuah halaman situs. Disini, dengan menggunakan document toolbar
bisa menampilkan code saja, desain saja atau kedua-duanya.

Insert bar dapat digunakan untuk memasukkan berbagai berbagai elemenelemen pembentuk halaman web, seperti gambar, script php, simbol-simbol,

108

shockwave, dan lain-lain. Elemen-elemen tersebut direpresentasikan dalam bentuk


icon. Document toolbar memberikan kemudahan untuk melakukan perintahperintah yang memberikan efek pada seluruh dokumen, seperti halnya judul
dokumen.
Property inspector menampilkan berbagai property yang dipunyai elemen
tertentu, yang bisa langsung mengubah properti dari elemen tersebut dengan tool
ini, misalnya merubah warna text, memberikan background pada elemen tabel,
menggabungkan kolom, dan lain-lain. Ketika membuka atau membuat lebih dari
satu dokumen.
Dokumen-dokumen yang sudah dibuka akan diurutkan pada bagian bawah
design view. Maka tinggal mengklik tombol tersebut untuk berpindah antar
halaman. Ditunjukkan oleh tanda panah warna biru pada gambar 5. Setiap
dokumen yang telah dibuka akan dapat dapat diminimize, maximize atau ditutup.
perhatikan keterangan pada gambar 2.30 berikut.

Gambar 2.31 Halaman Baru Dreamweaver

Otomatis akan ditahui fungsi dari toolbar-toolbar yang tidak dijelaskan


dalam sub bab ini. Setelah terbiasa dengan layout kerja dreamweaver, selanjutnya
dengan bagaimana memulai kerja dengan dreamweaver.

109

2.4.3.2 Memulai Mendesain Web dengan Dreamweaver


Diperlukan sebuah perencanaan yang matang dalam pembuatan sebuah
situs web karena sebuah website tidak hanya terdiri dari satu file teks saja. Disitu
terdapat beberapa halaman yang saling berhubungan (hyperlink), file-file gambar,
file css, javascript, belum lagi file multimedia seperti flash dan video yang
kesemuanya harus diupload ke server hosting dengan tempat yang jelas.
Dengan semakin kompleksnya komponen penyusun web, maka struktur
pemilahan file-file pun juga harus jelas. Misalnya, untuk semua gambar-gambar
yang tertampil di website maka dibuatkan folder sendiri dengan nama images,
untuk file jenis pdf ditaruh di folder pdf, atau mungkin halaman-halaman
tentang profil perusahaan disendirikan dalam folder profil. Hal tersebut akan
membantu ketika memaintenance sebuah situs.
Dalam merencanakan sebuah situs, ada beberapa hal yang patut menjadi
perhatian, yaitu:
Tentukan apa yang ingin disampaikan dalam website. Hal ini akan
berkaitan nantinya bagaimana pembuatan jenis informasi tersebut
gampang dicerna oleh audience.
Untuk siapa website ini nantinya? Ketika ingin membuat website untuk
sebuah situs anak-anak, maka akan dibuat tampilan situs dengan warna2
cerah dan sedikit cartoon karena memang begitulah dunia anak-anak pada
umumnya, sebaliknya, apabila ingin membuat situs instansi misalnya,
maka yang ada dalam bayangan adalah desain yang resmi, dan navigasi

110

yang mudah dipahami, karena memang target audiencenya adalah bagi


orang umum.
Resource yang meliputi ketersediaan data, waktu, tenaga, dan dana perlu
juga dijadikan pertimbangan dalam menentukan desain sepoerti apa yang
akan buat nantinya.
Navigasi. navigasi tentu saja sangat penting karena merupakan kemudi
untk bisa menjelajah sebuah situs. Buatlah navigasi sejelas-jelasnya dan
semudah-mudahnya

bagi

target

audience.

Untuk

mempermudah,

gambarkan secara diagram peta situs.


Dalam beberapa literatur yang didapat, ada beberapa pilihan navigasi yang
umum. Mungkin hal ini bisa memberikan gambaran seperti apa model navigasi
yang akan dibuat nantinya.
1. model linear

Gambar 2.32 Model Linear

Model ini biasanya dipakai untuk situs-situs training online atau buku
multimedia. Dengan model seperti ini dapat dikontrol langkah-langkah
yang harus dilalui audience.

2. model Hirarki

111

Gambar 2.33 Model Hirarki

Desain ini dapat mempermudah audience menemukan informasi yang dia


cari.
3. model terpusat

Gambar 2.34 Model Terpusat

112

Dengan model seperti ini maka akan mempercepat navigasi menuju ke


topik yang diinginkan dengan 2 klik, namun kekurangannya adalah untk
berpindah harus menuju ke halaman depan dahulu
4. Model FULL-WEB-DESIGN
Merupakan gabungan dari ketiga model di atas. Dengan penggabunagn
tersebut maka diharapkan akan meningkatkan efisiensi dari navigasi web.
Setiap halaman mempunyai navigasi ke halaman lainnya yang dirasa
paling perlu untuk dikoneksikan. Sebagai contoh website http://oke.or.id ,
http://macromedia.com dan lain-lain.
Macromedia dreamweaver mempermudah berbagai tahap di atas. Agar
tidak dipusingkan dengan kemungkinan terpencarnya file-file yang sudah dibuat
sebagaimana yang dijelaskan pada paragraf pertama subbab sebelumnya, maka
perlu mendefinisikan situs yang akan dibuat. Pendefinisian ini berguna untuk
menempatkan website yang mungkin kompleks ke tempat khusus tertentu
sehingga nantinya akan mempermudah dalam peng-upload-an ke server hosting.
2.5

Sistem Pendukung Keputusan


Sistem pendukung keputusan atau biasa disebut SPK adalah suatu sistem

yang memberikan kontribusi terhadap para manajer untuk memberikan dukungan


dalam pengambilan keputusan.
2.5.1

Jenis-jenis Keputusan Menurut Herbert A. Simon


Keputusan Terprogram, bersifat berulang dan rutin, sedemikian sehingga
suatu prosedur pasti telah dibuat untuk menanganinya.

113

Keputusan Tak Terprogram, bersifat baru, tidak terstruktur dan jarang


konsekuen. Tidak ada metode yang pasti untuk menangani masalah ini.

2.5.2

Tahap-tahap Pengambilan Keputusan

1. Kegiatan Intelijen, pemaparan masalah, pengumpulan data dan informasi,


serta mengamati lingkungan mencari kondisi-kondisi yang perlu
diperbaiki.
2. Kegiatan Merancang, menemukan, mengembangkan dan menganalisis
berbagai alternatif tindakan yang mungkin.
3. Kegiatan Memilih, memilih satu rangkaian tindakan tertentu dari beberapa
yang tersedia.
4. Kegiatan Menelaah, menilai pilihan-pilihan yang lalu.
2.5.3

Konsep DSS
Masalah Terstruktur, merupakan suatu masalah yang memiliki struktur
masalah pada 3 tahap pertama, yaitu intelijen, rancangan dan pilihan.

Masalah Tak Terstruktur, merupakan masalah yang sama sekali tidak


memiliki struktur pada 3 tahap Simon diatas.

Masalah Semi-Terstruktur, merupakan masalah yang memiliki struktur


hanya pada satu atau dua tahap Simon.

114

Gambar 2.35 Matriks Gorry dan Scott Morton

2.5.4 Tujuan DSS

Membantu manajer membuat keputusan untuk memecahkan masalah semi


terstruktur.

Mendukung penilaian manajer bukan mencoba menggantikannya.

Meningkatkan effektifitas pengambilan keputusan manajer daripada


efisiensinya.

Tujuan-tujuan tsb mengacu pada tiga prinsip dasar dari system pendukung
keputusan, yaitu :
1. Struktur masalah: untuk masalah terstruktur, penyelesaian dapat
dilakukan dengan menggunakan rumus2 yang sesuai, sedangkan untuk
masalah tak terstruktur tidak dapat dikomputerisasi. Sementara system
pendukung keputusan dikembangkan khususnya untuk masalah yang
semi-terstruktur.
2. Dukungan keputusan: SPK tidak dimaksudkan untuk menggantikan
manajer, karena komputer berada di bagian terstruktur, sementara manajer
berada di bagian tak terstruktur untuk memberi penilaian dan melakukan

115

analisis. Manajer dan komputer bekerja sama sebagai sebuah tim pemecah
masalah semi terstruktur
3. Evektifitas keputusan: tujuan utama dari SPK bukan mempersingkat
waktu pengambilan keputusan, tapi agar keputusan yg dihasilkan dapat
lebih baik.

STRUCTURED
(Computer
solution)

SEMI TERSTRUKTUR
(Computer+Manajer Solution)

UN
STRUCTURED
(Manajer Solution)

Gsmbar 2.36 DSS Berfokus Pada Masalah Semi Terstruktur

2.5.5

Kriteria Sistem Pendukung Keputusan


Interaktif: SPK memiliki user interface yang komunikatif sehingga
pemakai dapat melakukan akses secara cepat ke data dan memperoleh
informasi yang dibutuhkan.

Fleksibel: SPK memiliki kemampuan sebanyak mungkin variable


masukan, kemampuan untuk mengolah dan memberikan keluaran yang
menyajikan alternatif2 keputusan kepada pemakai

Data kualitas: SPK memiliki kemampuan untuk menerima data kualitas


yang dikuantitaskan yang sifatnya subyektif dari pemakainya, sebagai data
masukan untuk pengolahan data. Misalnya: penilaian thd kecantikan yang
bersifat kualitas, dapat dikuantitaskan dengan pemberian bobot nilai
seperti 75 atau 90.

116

Prosedur pakar: SPK mengandung suatu prosedur yang dirancang


berdasarkan rumusan formal atau berupa prosedur kepakaran seseorang
atau kelompok dlm menyelesaikan suatu bidang masalah dg fenomena
tertentu

2.5.6

Tahap-tahap Pembentukan SPK

1. Studi kelayakan, sebelum membuat SPK perluditeliti trelebih dahulu


kelyakannya, mengingat faktor biaya baik waktu, tenaga, maupun
financial
2. Persetujuan terhadap proposal kelayakan, proposal kelayakan harus
dapat menjelaskan kebutuhan dan urgensi dari keberadaan system tsb,
keuntungan dan biaya dari pembentukan SPK, waktu yg dibutuhkan,
ketersediaan ahli atau pakar yg merupakan sumber pengetahuan SPK,
serta ketersediaan perangkat hardware dan software baik yg utama
maupun pendukungnya
3. Pemilihan hardware dan software
4. Merepresentasikan pengetahuan yang diperoleh dari para ahli dan pakar
ke dalam komputer
5. Mengimplementasikan pengetahuan dalam bentuk bahasa yg dipahami
oleh computer, menggunakan suatu bahasa pemrograman
6. Menguji sistem yg telah dibuat.
2.5.7

Model DSS (SPK)

117

PEMECAH
MASALAH
PERORANGAN

PARA ANGGOTA
KELOMPOK
YANG LAIN

PERANGKAT LUNAK
PENULISAN
LAPORAN

MODEL
MATEMATIKA

PERANGKAT
LUNAK GDSS

D
A
T
A
B
A
S
E

Gambar 2.37 Model Pemecahan Masalah

Data dan Informasi dimasukkan kedalam database dari lingkungan


perusahaan. Database juga berisi data yang disediakan SIA. Isi Database
digunakan oleh 3 subsistem perangkat lunak :
1. Perangkat Lunak Penulisan Laporan, menghasilkan laporan periodik maupun
khusus. Laporan periodik disiapkan sesuai jadwal dan biasanya dihasilkan oleh
perangkat lunak yang dikodekan dalam suatu bahasa prosedural seperti COBOL.
Laporan khusus disiapkan sebagai jawaban atas kebutuhan informasi yang tak

118

terduga dan berbentuk database query oleh pemakai yang menggunakan query
language dari DBMS atau bahasa pemrograman generasi keempat.
2. Model Matematika, menghasilkan informasi sebagai hasil dari simulasi yang
melibatkan satu atau beberapa komponen dari sistem fisik perusahaan. Dapat
ditulis dalam bahasa pemrograman apaun.
3. Perangkat Lunak GDSS, memungkinkan beberapa pemecah masalah, bekerja
sama sebagai satu kelompok, mencapai solusi. Mungkin pemecah masalah itu
mewakili satu komite atau tim proyek.
2.5.8

Konsep GDSS
Sistem Pendukung Keputusan Berkelompok (Group Decision Support

System) merupakan. Suatu sistem berbasis komputer yang mendukung


kelompok-kelompok orang yang terlibat dalam suatu tugas (atau tujuan) bersama
yang menyediakan interface bagi suatu lingkungan yang digunakan bersama
ukuran kelompok dan lokasi menentukan pengaturan
2.5.9

Lingkungan GDSS
Pada tiap keadaan para anggota bertemu pada waktu yang sama atau pada

waktu yang berlainan. Jika anggota bertemu pada waktu yang sama disebut
Synchronus Exchange. Co.: rapat komite. Jika para anggota bertemu pada waktu
yang berlainan disebut Asynchronus Exchange. Co.: komunikasi melalu e-mail.
1. Ruang Keputusan, merupakan pengaturan untuk rapat kelompok kecil secara
tatap muka.

119

2. Jaringan Keputusan Setempat, jika kelompok kecil tidak mungkin bertemu


secara tatap muka, para anggota dapat berinteraksi melalui jaringan setempat
atau LAN.
3. Pertemuan Legislatif, jika kelompok terlalu besar untuk ruang keputusan,
pertemuan legislatif diperlukan. Ukuran besar menimbulkan kendala-kendala
tertentu pada komunikasi.
4. Konfrensi bermedia Komputer, beberapa aplikasi OA memungkinkan
komunikasi antar kelompok-kelompok besar dengan anggota yang tersebar
secara geografis, aplikasi ini dikenal dengan Teleconference.
Contoh GDSS :

Gambar 2.38 Tata Letak Ruang Keputusan

Dalam pertemuan GDSS umum yang menggunakan Group System, suatu


kelompok akan bertemu dalam ruang keputusan. Para peserta akan menulis

120

pendapat mengenai suatu topik, seperti :Sasaran apa yang perlu dimiliki oleh
perusahaan untuk tahun depan?
Program ini menyediakan komunikasi paralel maupun anonimitas.
komunikasi paralel adalah saat semua peserta menulis pendapat pada saat yang
bersamaan. Anonimitas adalah saat tak seorang pun mengetahui siapa yang
menulis pendapat tertentu. Anonimitas memungkinkan setiap peserta menuliskan
apa yang benar-benar dipikirkannya tanpa khawatir diejek oleh anggota kelompok
yang lain. Setelah sekitar setengah jam menuliskan berbagai pendapat mengenai
topik utama, para anggota kelompok mengumpulkan pendapat-pendapat itu
kedalam beberapa kategori dengan menggunakan program yang disebut Idea
Organizer.
Akhirnya para anggota kelompok menggunakan program Vote untuk
memberi peringkat para daftar kategori yang diikhtisarkan oleh Idea Organizer,
menurut kriteria tertentu. Tiap anggota menciptakan daftarnya sendiri dan tidak
dipengaruhi oleh peringkat orang lain. Ikhtisar dan daftar peringkat ini kemudian
ditampilkan pada layar umum untuk memberikan gambaran pada kelompok
mengenai konsensus pada topik pertemuan.
2.5.10 Peran DSS dalam Pemecahan Masalah
DSS dapat memperluas dukungan manajer dalam pemecahan masalah,
karena DSS disesuaikan dengan kebutuhan-kebutuhan khusus manajer. Yang
nantinya mampu memberikan pertimbangan logis, sebagi bentuk dukungan dalam
membantu seorang pimpinan (pengabil keputusan) untuk menentukan keputusan
yang akan diambil.

121

2.6

Flowchart
Flowchart adalah suatu diagram alur yang menggambarkan logika atau

urut-urutan instruksi program dari suatu permasalahan. Pada diagram alur, dapat
dilihat secara jelas arus pengendalian algoritma, yakni bagaimana rangkaian
pelaksanaan kegiatan program tersebut. Suatu diagram alur akan memberi
gambaran dua dimensi berupa symbol-simbol yang masing-masing symbol
tersebut telah ditetapkan lebih dahulu fungsi dan artinya.
Berikut ini seperangkat symbol diagram alur beserta fungsi dan
manfaatnya yang digunakan dalam pembautan langkah algoritma pemrograman,
yaitu:
Process/Proses, satu atau beberapa himpunan penugasan yang
akan dilaksanakan secara berurutan
Input, data yang akan dibaca dan dimasukkan ke dalam memori
computer dari suatu alat input atau data dan harus melewati
memori untuk dikeluarkan dari alat-alat output
Terminal, berfungsi sebagai awal (berisi Start) dan juga sebagai
akhir (berisi End) dari suatu proses alur
Decission, atau kotak keputusan berfungsi untuk memutuskan arah
atau percabangan yang diambil sesuai dengan kondisi yang
dipenuhi, yakni benar atau salah
Output/Print, berfungsi untuk mencetak (dan/atau menyimpan)
hasil output/keluaran

122

Conector/penghubung, sebagai penghubung bila diagram alur


terputus disebabkan misalnya oleh pergantian halaman (misal
diagram tidak cukup dalam satu halaman)
Flowline, menunjukkan bagian arah instruksi dijalankan
Preparation symbol, memberikan nilai awal pada suatu variabel
Selain simbol-simbol diatas masih banyak lagi simbol-simbol lain yang
kesemuanya digunakan dalam pembuatan desain alogaritma, untuk memudahkan
dalam pembuatan program.

123

BAB III
ANALISIS PERANCANGAN SISTEM

Bab ini akan membahas tentang perancangan aplikasi ujian masuk jalur
reguler (mandiri) akan dibuat, meliputi pembangunan program terstruktur,
overview diagram, SDLC (system development live cycle) dan alogoratma
pemrogramannya, serta bagaimana implementasi perancangan dan analisis
program pada use case, activity diagram, squence diagram, colaboration
diagram, serta class diagram.
3.1 Deskripsi Program
Program yang telah dirancang adalah aplikasi online untuk ujian masuk
jalur reguler (mandiri) di UIN Maliki malang yang disingkat (UMJR), dilihat dari
namanya maka jelas bahwa aplikasi ini nantinya akan digunakan sebagai sarana
dalam menseleks calon mahasiswa baru dari jalur reguler (mandiri), secara online.
Sehingga diharapkan dengan adanya aplikasi ini bisa menghemat waktu, biaya,
serta menghasilkan calon mahasiswa yang berkualitas.
3.2 Desain Sistem
3.2.1 Pembangunan Program Terstruktur
Pembangunan program terstruktur digunakan untuk mempermudah dalam
pemahaman alur pembuatan program dari awal sampai akhir, dalam bentuk
penyajian secara text, hal ini menjadi penting mengingat pembaca nantinya
memiliki kapasitas yang berbeda-beda, ada yang memiliki background teknik
yang cenderung bisa memahami penyajian dalam bentuk diagram. Namun ada

124

pula yang memiliki background non teknik sehingga lebih menyukai penyajian
dalam bentuk teks. Berikut adalah langkah-langkah pembuatan program UMJR
secara terstruktur.
Dalam pembuatan software ini langkah pertama yang dilakukan adalah
pencarian ide yang kemudian diaktualisasikan dalam bentuk proposal, selanjutnya
proposal tersebut diajukan kepada dewan penguji yang nantinya akan
diseminarkan, sebagai syarat diterima atau tidaknya judul yang diajukan.
Langkah kedua adalah mengumpulkan berbagai macam literatur yang
terkait dengan penelitian ini, baik berupa sumber langsung, (konsultasi ke dosen
atau teman), maupun melalui buku-buku dan media internet.
Langkah ketiga adalah pembuatan program terstruktur, yang bertujuan
memudahkan dalam melihat alur pembuatan program secara garis besar. Selain itu
juga memudahkan dalam pemahaman alur program untuk orang yang non-it.
Selanjutnya adalah pembuatan overview diagram, yakni pembuatan alur program
dalam bentuk diagram untuk mengetahui input proses dan output dari pembuatan
program sampai penggunaannya.
Langkah ke-empat adalah pembuatan system development live cycle,
SDLC ini digunakan untuk pembuatan alur program yang didasarkan pada input,
penyampaian, dan kriteria penyelesaian yang nantinya akan memudahkan dalam
pembuatan program.
Langkah kelima adalah pembuatan algoritma pemrograman, untuk
memudahkan programmer dalam membuat program yang telah dirancang, yang

125

dilanjutkan dengan pembuatan source code program yang akan dibuat, diteruskan
dengan uji coba program yang telah dibuat yang terkoneksi dalam satu jaringan.
Langkah ke-enam adalah perancangan desain ruang yang nantinya
digunakan untuk seleksi, ruangan ini di desain dengan koneksi jaringan lokal.
Langkah ke-tujuh adalah melakukan presentasi program kepada dewan
penguji untuk mendapatkan gelar sarjana komputer di jurusan teknik informatika
UIN Maliki Malang, yang dilanjutkan dengan pembuatan laporan hasil penelitian.
3.2.2 Overview Diagram
Tabel 3.1 Overview Diagram
0

INPUT

PROSES

OUTPUT

1. Melakukan segala persiapan,

Programer

mencari

ide

yang

3 Dokumen proposal.

dilanjutkan

dengan pembuatan proposal untuk


Persiapan

3 data

diajukan

ke

jurusan

teknik

3 dok

informatika UIN Maliki Mal1ang.

Programer

1. Melakukan penggalian datadata bahan penelitian dari literatur


maupun dari sumber langsung.

Dokumen
literatur
mendukung penelitian.

untuk

data

Programer

2. Mengcrosscek kebenaran data,


dan melakukan pemilhan literatur,
dan membuat rangkuman untuk
data yang bisa digunakan untuk
penelitian ini.
1. Menggunakan data untuk
membuat algoritma program dan
pembuatan variabel-variabel yang
dibutuhkan.
2.
Menecek
kembali
alur
algoritma yang telah dibuat untuk
diproses lebih lanjut.

Programer

1.
Membuat
source
code
pemrograman
dengan
acuan
dokumen algoritma yang telah
dibuat, kemudian melakuakn
konsultasi
dengan
dosen
pembimbing untuk pemantapan
hasil program yang dibuat.
2. Melakukan pencekan
perbaikan program.

dan

3. Melakukan pengujian software


yang telah dibuat serta melakukan
konsultasi
kepada
dosen

126

3 dok

Dokumen algoritma pemrograman.

1 dok

File program dan dokumen yang


sudah jadi dan siap untuk di
presentasikan dihadapan penguji.

3 dok

pembimbing
untuk perbaikan.
Selanjutnya
memperbaiki
tampilan interface program yang
telah dibuat.

INPUT
Programer
5 Dok

PROSES

OUTPUT

1. Mendistribusikan dokumentasi
file program dan laporan untuktiga
lembaga yakni : Jurusan Teknik
Informatika, fakultas Saintek,
Perpustakaan UIN Maliki Malang,
Organisasi, dan untuk arsip
pribadi.
2. Setelah didistribusikan ke
berbagai lembaga maka akan
dapat kritik dan saran yang akan
diproses untuk kemudian bisa
dilakukan perbaikan dikedian hari.

UIN

Proses

Sampai disinilah serangkaian proses


secara over view diagram dari pembuatn
program ini.

3.2.3 System Development Live Cycle


Tabel 3.2 SDLC (System Development Live Cycle)
INPUT
Programer

Programer

PENYAMPAIAN

KRITERIA PENYELESAIAN

1. Melakukan segala persiapan,


mencari ide yang dilanjutkan
dengan pembuatan proposal untuk
diajukan ke jurusan teknik
informatika UIN Maliki Malang.
1. Melakukan penggalian datadata bahan penelitian dari literatur
maupun dari sumber langsung.

1. Proposal mendapat persetujuan untuk


dilanjutkan ke proses penelitian.

1. Bahan Penelitian telah terkumpul.

2. Mengcrosscek kebenaran data,


dan melakukan pemilhan literatur,
dan membuat rangkuman untuk
data yang bisa digunakan untuk
penelitian ini.

2. Literatur telah siap dipakai untuk


penelitian,
dalam
bentuk
file
rangkuman

1. Menggunakan data untuk


membuat algoritma program dan
pembuatan variable-variabel yang
dibutuhkan.

1. Algoritma telah dibuat beserta variablevariabel yang dibutuhkan dalam


pembuatan aplikasi program.

Programer

2.
Menecek
kembali
alur
algoritma yang telah dibuat untuk
diproses lebih lanjut.

Programer

1.
Membuat
source
code
pemrograman
dengan
acuan
dokumen algoritma yang telah
dibuat, kemudian melakuakn
konsultasi
dengan
dosen
pembimbing untuk pemantapan
hasil program yang dibuat.
2. Melakukan pencekan
perbaikan program.

1. Source code program telah dibuat


berdasarkan algoritma.
2. Pemantapan program telah dilakukan
berdasarkan hasil konsultasi.
3. Pencekan programdan perbaikan telah
dilakukan.

dan

3. Melakukan pengujian software


yang telah dibuat serta melakukan
konsultasi
kepada
dosen

127

2. Algoritma telah dicek dan siap untuk


dijadikan landasan dalam pembuatan
program.

4. Uji coba software telah dilakukan


5. Mendapat masukan untuk perbaikan
program.

pembimbing
untuk perbaikan.
Selanjutnya dilakukan perbaikan
tampilan interface program yang
telah dibuat.

INPUT
Programer

PENYAMPAIAN
1. Mendistribusikan dokumentasi
file program dan laporan untuktiga
lembaga yakni : Jurusan Teknik
Informatika, fakultas Saintek,
Perpustakaan UIN Maliki Malang,
Organisasi, dan untuk arsip
pribadi.
2. Setelah didistribusikan ke
berbagai lembaga maka akan
didapatkan kritik dan saran yang
akan diproses untuk kemudian
bisa dilakukan perbaikan dikedian
hari.

6. Perbaikan interface program telah


dilakukan.

KRITERIA PENYELESAIAN

1. Distribusi laporan telah dilaksanakan.

2. Mengumpulkan,
menulis
dan
mengarsip kritik, saran dan komentar
dari pembaca, telah dilakukan.

3.2.4 Pembuatan Algoritma Program


Alogarima program digunakan untuk mempermudah pembutan program
dan disajikan dalam bentuk flowchart, pembuatan algoritma dapat menghindari
pemrograman yang tidak sistematis, serta dapat memudahkan pembaca dalam
pemahaman program yang akan dibuat, hal ini disebabkan karena setiap
programmer punya gaya dan seni sendiri dalam menggunkan bahasa
pemrograman, sehingga dibutuhkan algoritma sebagai jembatan bagi pembaca.

128

129

130

Gambar 3.1 Alogarima Pemrograman

3.3

Desain Basis Data


Pembutan desain basis data meliputi pembuatan database yang didalamnya

memuat table-tabel, kemudian dari table-tabel akan terbentuk field dan record
dengan tipe data yang berbeda-beda. Aplikasi ujian online ini menggunakan satu
buah database dengan nama ujian_online dan terdidri dari tuju buah tabel
diantaranya adalah sebagai berikut :
3.3.1

Tabel Ujian Online

131

Tabel 3.3 Tabel Pegawai

NAMA FIELD
nip

TIPE DATA
varchar (12)

NAMA FIELD
nama
alamat
telepon
kelamin

TIPE DATA
varchar (45)
varchar (50)
varchar (12)
varchar (1)

tahun_masuk

varchar (4)

jabatan

varchar (40)

status

varchar (40)

username
password

varchar (20)
varchar (20)

KETERANGAN
Menyimpan
nomor
induk
pegawai sebagai primary key.
KETERANGAN
Menyimpan nama pegawai
Menyimpan alamat pegawai
Menyimpan no telp. pegawai
Jenis kelamin pegawai
Menyimpan Tahun masuk
pgawai
Menyimpan jabatan pegawai
Menyimpan status pegawai
(oprator atau admin)
Menyimpan username pegawai
Menyimpan password pegawai

Tabel 3.4 Tabel Peserta

nip

NAMA FIELD

TIPE DATA
varchar (12)

nama
alamat
sekolah_asal
tahun_lulus
kelamin
telepon

varchar (45)
varchar (45)
varchar (45)
varchar (12)
varchar (1)
varchar (12)

kode_jurusan

varchar (20)

nama_wali
alamat_wali
telepon_wali
username
password
nilai

varchar (45)
varchar (45)
varchar (12)
varchar (20)
varchar (20)
varchar (12)

status

varchar (12)

wawancara

varchar (50)

132

KETERANGAN
Menyimpan
nomor
induk
peserta ujian masuk jalur
reguler (mandiri), sebagai
primary key.
Menyimpan nama peserta
Menyimpan alamat peserta
Asal sekolah peserta
Menyimpan tahun lulus peserta
Jenis kelamin peserta
Menyimpan no telp. peserta
Menyimpan kode jurusan
peserta (primary)
Menyimpan nama wali peserta
Menyimpan alamat wali
Menyimpan nomor telepon wali
Menyimpan username peserta
Menyimpan password peserta
Menyimpan nilai peserta
Menyimpan status peserta
(default : belum ujian)
Menyimpan nilai wawancara

Tabel 3.5 Tabel Jurusan

NAMA FIELD
kode

TIPE DATA
varchar (12)

nama
quota

varchar (25)
varchar (10)

KETERANGAN
Menyimpan kode jurusan
sebagai (primary)
Menyimpan nama jurusan
Menyimpan quota jurusan

Tabel 3.6 Tabel Kategori Soal

NAMA FIELD
kode

TIPE DATA
int (12)

kategori

varchar (35)

KETERANGAN
Menyimpan kode kategori
(primary)
Menyimpan nama kategori soal

Tabel 3.7 Tabel Soal

NAMA FIELD
kode
kode_kategori

TIPE DATA
varchar (12)
varchar (35)

soal

text

kode_jawaban

int (5)

KETERANGAN
Menyimpan kode soal (primary)
Menyimpan kode kategori soal
ujian online
Menyimpan soal ujian
Menyimpan jawaban peserta
ujian

Tabel 3.8 Tabel Test Pribadi

NAMA FIELD
kode
Soal

TIPE DATA
varchar (5)
text

KETERANGAN
Menyimpan kode soal (primary)
Menyimpan soal kepribadian

TIPE DATA

KETERANGAN
Menyimpan kode jawaban
peserta (primary)
Menyimpan jawaban peserta
Menyimpan kode soal ujian
sebagai (foreigen key) antara
tabel soal dengan jawaban.
Menyimpan status peserta

Tabel 3.9 Tabel Jawaban

NAMA FIELD
kode_jawaban

int (5)

Jawaban

text

kode_soal

varchar (12)

status

varchar (12)

133

Tabel 3.10 Tabel Jawaban Tes

NAMA FIELD
kode_soal
kode_peserta
jawaban

TIPE DATA
varchar (12)
varchar (12)
varchar (150)

KETERANGAN
Menyimpan kode soal (primary)
Menyimpan nilai peserta
Menyimpan status peserta

TIPE DATA

KETERANGAN
Menyimpan kode soal (primary)
Menyimpan nilai peserta
Menyimpan status peserta

Tabel 3.11 Tabel Nilai

NAMA FIELD
kode
nilai
status

int (12)
varchar (12)
varchar (20)

Tabel 3.12 Tabel Status Ujian

NAMA FIELD
kode

TIPE DATA
varchar (1)

status

varchar (100)

3.3.2

KETERANGAN
Menyimpan
kode
status
(primary)
Menyimpan status kelulusan
peserta

ERD (Entity Relationship Diagram)


ERD pertama kali dideskripsikan oleh Peter Chen yang dibuat sebagai bagian

dari perangkat lunak case, yang digunakan untuk memodelkan struktur antara
penyimpanan (dalam data dan hubungan antar data. dengan entity relationship

diagram), sehingga model dapat diuji dengan mengabaikan proses yang dilakukan.

134

(1:1) kode_jawaban
Tabel Peserta

Tabel Jurusan

nip
nama
...
kode_jurusan
...

kode
nama
quota

(1:1) kode_jurusan

(1:1) kode_peserta
(1:M) kode_jawaban

Tabel Kategori Soal

Tabel Soal
kode
kode_kategori
soal
kode_jawaban

Tabel Jawaban Tes

kode
kategori

kode_soal
kode_peserta
jawaban

(1:M) kode_kategori

Tabel Jawaban
kode_jawaban
jawaban
kode_soal
status

Tabel Tes Pribadi


Tabel Nilai

kode
kode_kategori
soal
kode_jawaban

kode
nilai
status

(1:M) kode_kategori

(1:M) kode_soal
Tabel Status Ujian
kode
status
(1:1) kode_status
(1:1) kode_peserta

Gambar 3.2 Entity Relationship Diagram

3.4

Analisis Sistem

3.4.1

Use Case Diagram


Use case diagram digunakan untuk menjelaskan manfaat sistem jika

dilihat dari sudut pandang orang yang berada di luar system (aktor). Digunakan
untuk menangkap requirement system dan untuk memahami bagaimana system
seharusnya bekerja (wahyuni, indah hal:5). Sedangkan menurut pemahaman yang
lain, use case adalah diagram yang mengambarkan kemampuan sebuah sistem
yang nantinya akan dijalankan oleh aktor, atau dengan kata lain aktifitas
(pekerjaan) yang nantinya akan dilakukan oleh aktor yang mampu difasilitasi oleh
sistem dan digambarkan dalam bentuk diagram. Berikut ini adalah esain use case
pada perancangan aplikasi UMJR (ujian masuk jalur reguler (mandiri))

135

< < e x te n d > >


C e t a k _ K a rtu
M e n d a ft a r

C a lo n M a h a s is w a

M e n d a p a t K a rt u _ ID

M e n g e d it D a t a

M e n g ik u t i T e s

M e l a k u k a n L o g in

O p ra to r

M e n c e k M a n u a l P e s e rt a T e s

A d m in

SAR

M e n g in p u t D a t a P e n d a ft a r

M e n c e t a k K e t e t a p a n K e lu lu s a n
P e s e rt a T e s

Gambar 3.3 Use Case Diagram

Gambar 3.1.1 memperlihatkan ada empat aktor yang memiliki use case
berbeda beda, namun ada satu use case yang sama yaitu login. Hal ini karena
masing-masing aktor memiliki hak akses pada sistem sendiri-sendiri, pada aktor
calon mahasiswa maka dia berhak untuk mengakses soal, sedangkan pada sar
berhak akses pada form pendaftaran dan operator berhak atas akses pada
pengawasan dan hasil tes, tentu berbeda dengan admin yang bisa mengakses
semua data. Penjelasan dari masing-masing use case adalah sebagai berikut.
Pertamakali pekerjaan atau aktifitas (use case) yang dilakukan adalah
mendaftar yang dilakukan oleh calon mahasiswa, pada proses mendaftar yang
menjalankan sistem (aplikasi) adalah sar, maka sar melakukan aktifitas login
terlebih dahulu kemudian akan dilakukan aktifitas kedua yaitu input data
pendaftar sesuai dengan data pada calon mahasiswa. Selanjutnya adalah

136

mencetak_kartu id, pada proses ini ada kata-kata extend, yang berarti bergantung
pada atifitas sebelumnya, atau dengan bahasa lain tidak akan ada aktifitas
mencetak_kartu apabila tidak ada aktifitas mendaftar dari calon mahasiswa.
Aktifitas selanjutnya adalah pengecekan manual peserta, pada aktifitas ini
yang berperan adalah operator, nantinya operator adalah karyawan yang ditunjuk
oleh instansi untuk mengawasi jalannya ujian. Dalam hal ini tidak memerlukan
orang banyak cukup satu orang per satu lokasi ujian, karena dalam fungsi
pengawan kecurangan peserta sudah mampu difasilitasi oleh aplikasi UMJR
melalui fungsi random soal, inilah letak efesiensi penggunakan model ujian online
bila dibandingkan secara manual. Namun bukan berarti tanpa celah, kenapa disini
ada aktifitas pengecekan manual ? tidak lain tidak bukan karena sistem belum
mampu mencek keaslian peserta ujian, maka masih dibutuhkan pencekan secara
manual untuk memastikan bahwa peserta benar-benar asli (bukan joki).
Idealnya memang use case adalah aktifitas yang hanya mampu difasilitasi
oleh sistem, namun ada referensi yang membolehkan penulisan use case
walaupun tidak masuk pada sistem yang dibuat, ini semata-mata untuk
memperjelas runtutan proses yang dijalankan mulai dari awal sampai akhir, untuk
lebih mempermudah pemahaman pembaca.
Aktifitas berikutnya adalah calon mahasiswa melakukan login untuk
mengikuti tes, sistem akan menilai berdarkan kebenaran jawaban dan kecepatan
dalam menjawab, kemudian dilakukan fungsi sorting untuk menentukan peringkat
yang dilakukan oleh operator. Selanjutnya operator melakukan aktifitas mencetak
ketetapan calon mahasiswa yang diterima tentu berdasarkan quota yang ditetapkan

137

sebelumnya. Sedangkan fungsi admin lebih pada control apabila terdapat


kesalahan-kesalahan dalam hal teknis nantinya, sehingga dia bisa mengubah data
pada sistem untuk tujuan antisipasi dan jalan alternatif tentunya dengan kebijakan
khusus yang telah disepakati pengelola lembaga.
3.4.2 Aktifity Diagram
Aktifity Diagram digunakan untuk memodelkan alur kerja sebuah proses
bisnis dan urutan aktivitas dalam sebuah proses. Diagram ini mirip dengan
flowchart. Dengan kata lain aktivity diagram bisa menggambarkan aktifitas dari
masing-masing use case secara sistematis. Adanya aktifity diagram akan bisa
mempermudah dalam pemahaman tugas dari use case. Aktifitas-aktifitas yang
dimaksud adalah sebagai berikut.

In p u t S t a t u s
L o g in
Y es
If < = 3 x

In p u t U s e r _ N a m e
& P a s s w o rd
V a li d a s i
P engguna

Hubungi
A d m in

No

Y es
F o rm
P engguna

Gambar 3.4 Aktifity Diagram (Aktifitas Login)

Pada gambar 3.3.2 memperlihatkan aktifitas login, yang dimulai dari memilih
status (Admin, Calon_Mahasiswa, dan Operator) kemudian memasukkan user
name dan password sampai sistem bisa memunculkan form pengguna.

138

Aktifitas yang selanjutnya adalah mendaftar sehingga sistem mampu


memunculkan form pendaftran pada pagawai sar sampai pada proses pencetakan
kartu ID calon mahasiswa, untuk lebih jelasnya lihat pada gambar 3.5 sebagai
berikut.

M em bayar
A d m in is t ra s i
M e n g is i F o r m
P e n d a ft a r a n

M e le n g k a p i B e rk a s
P e rs y a ra ta n

ve ri fi k a s i
p e rs y a r a t a n

T id a k

Y a
M e n e rim a
K a r t u _ ID

Gambar 3.5 Aktifity Diagram (Aktifitas Mendaftar)

Selanjutnya adalah aktifitas pengecekan secara manual dari operator


(pengawas) kepada calon_mahasiswa yang akan mengikuti tes, aktifitas ini wajib
dilakukan untuk menghindari penggunaan joki dalam pelaksanaan seleksi
nantinya, ini karena sulitnya menambahkan fungsi keaman kepada sistem,
utamanya dalam memvalidasi keaslian peserta ujian, dan dengan berbagai macam
pertimbangan demi kebaikan bersama, maka telah diputuskan untuk validasi
peserta dilakukan secara manual dengan melihat foto pada kartu id. Untuk lebih
jelasnya perhatikan gambar 3.6 sebagai berikut.

139

M e m a n g g il C a lo n
M a b a S e s u a i N o U ru t

C a lo n M a b a M a s u k
R uang Tes 1 P er 1

C e k K a r t u ID +
F o t o P e s e rt a

( va lid a s i )

If D a t a ID = D a t a
A s li
T id a k

M e la p o r K e
BAK

Ya

M e n g ik u t i T e s

Gambar 3.6 Aktifity Diagram (Aktifitas Cek Manual)

Aktifitas yang selanjutnya adalah calon mahasiswa mengikuti tes, setelah


peserta lolos dari validasi keaslian peserta, maka selanjutnya menempati pada
tempat yang disediakan untuk melakukan proses ujian seleksi, dimulai dari
pemilihan status pengguna (calon_mahasiswa) kemudian input user name dan
password sampai sistem memunculkan form pengguna (soal) yang selanjutnya
akan di isi oleh peserta, pada aktifitas ini peserta tidak dimungkinkan untuk
mencontek karena soal dari masing-masing peserta kecil kemungkinan untuk bisa
sama. Untuk lebih jelasnya perhatikan gambar 3.7 berikut.

140

L o g in

Ok
V a li d a s i
P engguna

If < = 3 x

No

Ok
No
M e n e r im a S o a l

M enghubungi
P e tug a s

In p u t J a w a b a n

M e n e r im a
H a s il t e s

Gambar 3.7 Aktifity Diagram (Aktifitas Ujian Seleksi)

Setelah seluruh peserta selesai melakukan tes maka aktifitas selanjutnya


adalah mencetak ketetapan hasil tes dengan mendasarkan peneliaan pada :
Kebutuhan quota, kebenaran menjawab, waktu menjawab, yang kemudian
dilakukan sorting diambil urutan terbaik sesuai quota yang dibutuhkan masingmasing jurusan. Untuk lebih jelasnya perhatikan gambar 3.8 sebagai berikut.

L o g in

V a lid a s i
P engguna No

Ok
if< = 3 x

No

Ok
S o r t in g N il a i
P e s e rt a

M enghubungi
A d m in

D i a m b il T e rb a i k S e s u a i
Q u o t a P e r J u ru s a n

C e t a k D a ft a r M a h a s is w a
B a r u p e r J u ru s a n

141

Gambar 3.8 Aktifity Diagram (Aktifitas Hasil Seleksi)

Selanjutnya adalah aktifitas admin dalam mengubah data, pada aktifitas ini
admin berfungsi sebagai kontrol untuk antisipasi permasalahan yang nantinya
dihawatirkan muncul misalnya, terkait validasi operator, maupun peserta. Untuk
lebih jelasnya perhatikan gambar 3.9 sebagai berikut.

L o g in

No

Y es
F o rm A d m in

E d it D a ta

Gambar 3.9 Aktifity Diagram (Aktifitas Edit Data)

Tentu tidak semua use case digambarkan aktifitasnya hal ini karena mengingat
fungsi diagram aktifitas hanya sebagai pelengkap untuk mempermudah
pemahaman sistem, dan tidak berpengaruh terhadap hasil generate code nantinya.
3.4.3 Squence Diagram
Sequence Diagram menjelaskan interaksi objek yang disusun dalam satu
urutan waktu. Sequence diagram memperlihatkan tahap demi tahap apa yang
seharusnya terjadi untuk menghasilkan sesuatu di dalam use case. Tipe diagram
ini menekankan pada urutan kejadian atau dengan kata lain menggambarkan alur

142

dari sebuah kejadian (aktifitas). Dengan kata lain dengan melihat squene diagram
pembaca akan memahami alur bekerjanya program, mulai dari aktifitas yang
pertama hingga yang terakhir secara sistematis.
Pertama adalah alur melakukan login, karena semua aktor didesain untuk
melakukan login maka dalam hal ini semua aktor terlibat dalam proses melakukan
login, yang dimulai oleh admin, sar, calon mahasiswa dan oprator, masing-masing
dari mereka memiliki user name dan password sendiri-sendiri tentunya dengan
hak akses yang berbeda untuk setiap aktor. Untuk lebih jelasnya mari perhatikan
gambar 3.10 berikut ini.

143

: A d m in

: SAR

: C a lo n M a h a s is w a

: O p ra t o r

: L o g in

: A d m in i s t ra t o r

: D B _P egaw ai

: P e n d a ft a ra n

: D B _ P e s e rta

: S oal

: O p e ra t o r

V i e w _ J e n is _ P e n g g u n a ( )
S e le c t _ J e n is _ P e n g g u n a ( )
In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )
G e t _ D a t a _ P e g a w a i( )
V a lid a s i_ D a t a _ P e n g g u n a ( )

V ie w _ D a t a _ P e n g g u n a ( )

V ie w _ F o rm _ P e n g g u n a ( )

V i e w _ J e n is _ P e n g g u n a ( )

S e le c t _ J e n is _ P e n g g u n a ( )

In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )
G e t _ D a t a _ P e g a w a i( )

V a lid a s i _ D a t a _ P e n g g u n a ( )

V ie w _ D a t a _ P e n g g u n a ( )

V ie w _ F o r m _ P e n g g u n a ( )

V i e w _ J e n is _ P e n g g u n a ( )

S e le c t _ J e n is _ P e n g g u n a ( )
In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )

G e t _ D a t a _ P e s e rt a ( )
V a li d a s i _ D a t a _ P e n g g u n a ( )

V ie w _ D a t a _ P e n g g u n a ( )

V ie w _ F o r m _ P e n g g u n a ( )
V i e w _ J e n is _ P e n g g u n a ( )

S e le c t _ J e n is _ P e n g g u n a ( )

In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )
G e t _ D a t a _ P e g a w a i( )
V a li d a s i _ D a t a _ P e n g g u n a ( )

V ie w _ D a t a _ P e n g g u n a ( )

V ie w _ F o r m _ P e n g g u n a ( )

Gambar 3. 10 Squence Diagram (Alur Melakukan Login)

Proses yang selanjutnya adalah alur untuk melakukan pendaftaran, dalam


kegiatan ini yang berperan untuk menjalankan sistem adalah sar, sedangkan
objeknya adalah calon mahasiswa, dengan bentuk kegiatan input data calon
mahasiswa, dalam proses pendaftaran form yang digunakan ada dua yakni form
login dan form pendaftaran yang akan diakses oleh sar dan menggunakan dua
data base yaitu pegawai dan peserta (untuk menyimpan data peserta). Untuk lebih
jelasnya perhatikan gambar 3.11 berikut ini.

144

: SAR

: D B _P egaw ai

: L o g in

: P e n d a ft a ra n

: D B _ P e s e rta

V i e w _ J e n is _ P e n g g u n a ( )

S e le c t _ J e n is _ P e n g g u n a ( )

In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )
G e t _ D a t a _ P e g a w a i( )
V a li d a s i _ D a t a _ P e n g g u n a ( )

V ie w _ D a t a _ P e n g g u n a ( )

V ie w _ F o rm _ P e n g g u n a ( )

S e le c t _ J u r u s a n ( )

S e le c t _ Q u o t a P e n d a ft a n ( )

In p u t _ B io d a t a ( )
C e k _ K e le n g k a p a n ( )

S a ve _ D a t a P e n d a ft a r ( )
S a ve _ D a t a ( )

P r in t _ K a r t u ID ( )

Gambar 3. 11 Squence Diagram (Alur Mendaftar)

Alur yang ke tiga adalah mengikuti tes, yang dilakukan oleh calon
mahasiswa dengan melibatkan tiga form, antara lain : Login, soal, dan hasil tes
(menampilkan benar = ; dan salah = ;). Dan tiga data base yaitu, peserta, jawaban
dan nilai. Alur yang dilakukan oleh mahasiswa dalam kegiatan ini adalah,
melakukan login, kemudian mengerjakan soal (input jawaban), dan terakhir
melihat hasil tes yang telah dilakukan. Untuk lebih memahami tentang alur
mengikuti tes, perhatikan gambar 3.12 berikut ini.

145

S : C a lo n
M a h a s is w a

: L o g in

: D B _ P e s e rt a

: S oal

: D B _ Ja w ab a n

: H a s i lT e s

: D B _ N il a i

V i e w _ J e n is _ P e n g g u n a ( )

S e le c t _ J e n i s _ P e n g g u n a ( )

In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )
G e t _ D a t a _ P e s e rt a ( )
V a lid a s i_ D a t a _ P e n g g u n a ( )

V ie w _ D a t a _ P e n g g u n a ( )

V ie w _ F o rm _ P e n g g u n a ( )

V ie w _ S o a l( )

In p u t _ J a w a b a n ( )
S a ve _ J a w a b a n ( )
E d it _ J a w a b a n ( )

V ie w _ J a w a b a n ( )

S a ve _ J a w a b a n ( )

U p d a te _ Ja w a b a n ( )
K o re k s i( )
S a ve _ N ila i ( )

V ie w _ N ila i_ P e s e r t a ( )
G e t _ n i la i( )

V i e w _ N ila i _ P e s e r t a ( )
C e t a k _ U r u t a n R a n g k in g S e m e n t a ra ( )
S o r t in g N i la i( )

Gambar 3. 12 Squence Diagram (Alur Mengikuti Tes)

Selanjutnya adalah alur untuk penetapan hasil ujian, pada aktifitas ini yang
berperan adalah operator, dengan membuka form hasil tes kemudian menunggu
hingga semua peserta menselesaikan semua soal, sehingga semua peserta telah
memiliki nilai pada data base nilai, berikutnya sistem melakukan sorting untuk
menentukan rangking, yang kemudian akan ditetapkan nama-nama peserta yang

146

berhasil lolos seleksi tentusaja juga mengacu pada kebutuhan kuota pada lembaga,
untuk lebih jelasnya mari perhatikan gambar 3.13 berikut ini.

: O p ra t o r

: L o g in

: DB _P egawai

: H a s i lT e s

: D B _ P e s e rt a

: D B _ N il a i

S e le c t _ J e n i s _ P e n g g u n a ( )

In p u t _ U s e r _ N a m e A n d P a s s w o r d ( )
G e t _ D a t a _ P e g a w a i( )
V a li d a s i_ D a t a _ P e n g g u n a ( )
V ie w _ D a ta _ P e n g g u n a ( )
V ie w _ F o rm _ P e n g g u n a ( )
V i e w _ A llK o d e P e s e r t a ( )
G e t _ D a t a _ P e s e rt a ( )

V i e w _ N ila i _ P e s e r t a ( )

G e t _ n i la i ( )
S o r t in g N i la i( )

K e p u t u s a n K e lu l u s a n ( )

C e t a k _ H a s i l_ K e p u t u s a n ( )

Gambar 3. 13 Squence Diagram (Alur Penetapan Hasil Tes)

Terakhir adalah alur tambahan yakni alur pada aktifitas edit data, yang
dilakukan oleh admin, untuk mengedit data apabila terdapat kesalahan pada sistem
yang diluar prosedur, mungkin karena aktifitas yang padat atau karena hal yang
lain, maka perlu adanya antisipasi salah satunya dengan memberika ruang akses
pada admin untuk mengedit data, yang bisa diedit oleh admin nantinya adalah
semua data selain nilai dari jawaban peserta. Tentusaja yang pertamakali
dilakukan adalah login yang kemudian dilajutkan dengan aktifitas edit data, yang
akan disajikan oleh sistem melalui form administrator, untuk lebih jelasnya
perhatikan pada gambar 3.14.

147

: A d m in i s t ra t o r

: O p e ra t o r

: P e n d a ft a ra n

V i e w A llD a t a O p ra t o r( )

E d it O p r a t o r( )

S a ve _ D a t a ( )

V i e w _ A llD a t a _ P e n d a ft a r ( )

E d it _ D a t a P e n d a ft a r( )

S a ve _ D a t a P e n d a ft a r ( )

A d d _ N e w P e s e rt a ( )

S a ve _ D a t a P e n d a ft a r ( )

V ie w _ S o a l( )

E d it _ S o a l( )

S a ve _ D a t a ( )
A d d _ N e w P e s e rt a ( )

S a ve _ D a t a P e n d a ft a r ( )

V ie w _ S o a l( )

A c a k _ S o a l( )

S a ve _ D a t a ( )

Gambar 3. 14 Squence Diagram (Alur Edit Data)

148

: S oal

Jadi nantinya admin akan mengakses form yang lain untuk kebutuhan edit
data (selain nilai). Tentu saja tidak semua aktifitas (use case) digambar alurnya,
hal ini disebabkan karena melihat prioritas yang nantinya akan mampu difasilitasi
oleh sistem untuk bisa dijalankan, seperti missal pada use case

cek peserta

manual, tentusaja tidak mampu difasilitasi oleh sistem sehingga tidak


digambarkan bagaimana alur kerja sistem pada aktifitas tersebut.
3.4.4 Collaboration Diagram
Collaboration Diagram digunakan sebagai alat untuk menggambarkan
interaksi yang mengungkapkan keputusan mengenai perilaku sistem. Tipe
diagram ini menekankan pada hubungan antarobjek. Dalam satu diagram ini
terdapat beberapa object, link dan message. Dalam pembuatannya collaboration
diagram dapat dimunculkan secara otomatis ketika telah dibuat squece
diagramnya. Sehingga diagram kolaborasi dari masing-masing alur aktifitas dari
aplikasi ujian online ini adalah sebagai berikut :
Pertama tentu saja login, yang melibatkan semua aktor mulai dari dari
aktor admin, sar, calon mahasiswa, dan operator, masing-masing dari aktor
memiliki interaksi sendiri-sendiri dengan form dengan data basenya masingmasing, kecuali pada data base pegawai. Untuk lebih jelasnya perhatikan interaksi
antar aktor pada sistem ketika melakukan aktifitas login (gambar 3.15).
Selanjutnya pada alur pendaftaran calon mahasiswa, yang dimulai dari
aktor sar melakukan login, kemudian sistem memanggil data base pegawai untuk
di validasi, setelah data valid sistem memperlihatkan form prndaftaran pada aktor
sar yang kemudian dilanjutkan pada input data calon mahasiswa lalu data calon

149

mahasiswa tersebut disimpan dalam data base peserta. Perhatikan gambar 3.16
yang memperlihatkan interaksi antar form.

: SAR
: P e n d a ft a ra n

: A d m in
: D B _P egaw ai

: A d m in i s t ra t o r
8 : V ie w _ J e n is _ P e n g g u n a ( )
9 : S e le c t _ J e n is _ P e n g g u n a ( )
1 0 : In p u t _ U s e r _ N a m e A n d P a s s w o r d ( )
1 3 : V ie w _ D a t a _ P e n g g u n a ( )
1 4 : V ie w _ F o r m _ P e n g g u n a ( )
6 : V ie w _ D a t a _ P e n g g u n a ( )
7 : V ie w _ F o r m _ P e n g g u n a ( )

4 : G e t_ D a ta _ P e g a w a i( )
1 1 : G e t_ D a t a _ P e g a w a i( )
2 5 : G e t_ D a t a _ P e g a w a i( )

1 : V ie w _ J e n is _ P e n g g u n a ( )
2 : S e le c t _ J e n is _ P e n g g u n a ( )
3 : In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )

5 : V a li d a s i _ D a t a _ P e n g g u n a ( )
1 2 : V a li d a s i _ D a t a _ P e n g g u n a ( )
1 9 : V a li d a s i _ D a t a _ P e n g g u n a ( )
2 6 : V a li d a s i _ D a t a _ P e n g g u n a ( )

1 5 : V ie w _ J e n is _ P e n g g u n a ( )
1 6 : S e le c t _ J e n is _ P e n g g u n a ( )
1 7 : In p u t _ U s e r _ N a m e A n d P a s s w o r d ( )

: C a lo n
M a h a s is w a

2 2 : V ie w _ J e n is _ P e n g g u n a ( )
2 3 : S e le c t _ J e n is _ P e n g g u n a ( )
2 4 : In p u t _ U s e r _ N a m e A n d P a s s w o r d ( )

: L o g in

1 8 : G e t_ D a t a _ P e s e rta ( )
2 7 : V ie w _ D a t a _ P e n g g u n a ( )
2 8 : V ie w _ F o r m _ P e n g g u n a ( )

: O p ra t o r

2 0 : V ie w _ D a t a _ P e n g g u n a ( )
2 1 : V ie w _ F o r m _ P e n g g u n a ( )

: D B _ P e s e rta
: S oal

: O p e ra t o r

Gambar 3. 15 Collaboration Diagram (Login)


5 : V a li d a s i _ D a t a _ P e n g g u n a ( )
1 : V ie w _ J e n is _ P e n g g u n a ( )
2 : S e le c t _ J e n is _ P e n g g u n a ( )
3 : In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )

: SAR

8 : S e le c t _ J u r u s a n ( )
9 : S e le c t _ Q u o t a P e n d a ft a n ( )
1 0 : In p u t _ B i o d a t a ( )
1 2 : S a ve _ D a t a P e n d a ft a r ( )
1 4 : P ri n t _ K a r t u ID ( )

4 : G e t _ D a t a _ P e g a w a i( )

: L o g in

6 : V ie w _ D a t a _ P e n g g u n a ( )
7 : V ie w _ F o r m _ P e n g g u n a ( )
1 1 : C e k _ K e le n g k a p a n ( )

1 3 : S a ve _ D a t a ( )
: D B _ P e s e rta

: P e n d a ft a ra n

Gambar 3. 16 Collaboration Diagram (Pendaftaran)

150

: D B _P egaw ai

Langkah berikutnya adalah menggambarkan interaksi antar form pada


aktifitas mengikuti tes, yang dimulai dari login (calon masiswa), dilanjutkan
dengan pemanggilan data base anggota oleh sistem (validasi) kemudian akan
ditampilkan form pengguna, karena penggunanya adalah calon mahasiswa maka
yang tampil adalah yang akan digunakan mahasiswa dalam mengikuti tes (form
soal), soal tersebut nantinya akan dikerjakan oleh mahasiswa hingga diperoleh
jawaban dari masing-masing mahasiswa yang akan disimpan dalam data base
jawaban. Proses ini berakhir ketika form hasil tes sudah ditampilkan pada calon
mahasiswa, untuk lebih jelasnya perhatikan gambar 3.17 berikut.
5 : V a li d a s i _ D a t a _ P e n g g u n a ( )

6 : V ie w _ D a t a _ P e n g g u n a ( )
7 : V ie w _ F o r m _ P e n g g u n a ( )

: S oal

4 : G e t _ D a ta _ P e s e rta ( )

: L o g in

: D B _ P e s e rta

1 : V ie w _ J e n is _ P e n g g u n a ( )
2 : S e le c t _ J e n is _ P e n g g u n a ( )
3 : In p u t _ U s e r _ N a m e A n d P a s s w o r d ( )
: D B _ N il a i
8 : V ie w _ S o a l ( )
9 : In p u t _ J a w a b a n ( )
1 1 : E d it _ J a w a b a n ( )
1 3 : S a ve _ J a w a b a n ( )
1 6 : S a ve _ N i la i( )

1 12 0: :V Sieawve_ _J Ja awwa ab ba an n( () )
1 4 : U p d a te _ Ja w a b a n ( )

1 8 : G e t _ n i la i( )
1 9 : V ie w _ N i la i_ P e s e rt a ( )

S : C a lo n
M a h a s is w a

1 7 : V ie w _ N i la i_ P e s e rt a ( )
2 0 : C e t a k _ U r u t a n R a n g k i n g S e m e n t a ra ( )
2 1 : S o rt in g N il a i( )

1 5 : K o re k s i( )

: D B _ Ja w a b a n

: H a s i lT e s

Gambar 3. 17 Collaboration Diagram (Mengikuti Tes)

Tahapan selanjutnya menggambarkan kolaborasi antar form pada aktifitas


penetapan peserta yang lolos seleksi. Pada proses ini oprator pertama-tama
melakukan login yang kemudian akan dilakukan pemanggilan data base pegawai
oleh sistem (untuk validasi). Jika proses validasi sukses selanjutnya ditampilkan

151

form hasil tes, kemudian setelah semua peserta memperoleh nilai sistem akan
mensorting untuk menentukan peringkat, selanjutnya diambil yang terbaik sesuai
quota, selajutnya hasil penetapan masiswa baru siap di cetak dan diedarkan. Untuk
lebih jelasnya perhatikan gambar 3.18 berikut ini.
1 1 : S o rt in g N i la i( )

1 0 : G e t _ n i la i( )

: O p ra t o r

7 : V ie w _ A llK o d e P e s e rt a ( )
9 : V ie w _ N ila i _ P e s e r t a ( )
1 2 : K e p u t u s a n K e lu lu s a n ( )
1 3 : C e t a k _ H a s il _ K e p u t u s a n ( )

1 : S e le c t _ J e n is _ P e n g g u n a ( )
2 : In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )
4 : V a li d a s i _ D a t a _ P e n g g u n a ( )
5 : V ie w _ D a t a _ P e n g g u n a ( )
6 : V ie w _ F o r m _ P e n g g u n a ( )

: H a s i lT e s

: D B _ N il a i

8 : G e t _ D a t a _ P e s e rt a ( )

3 : G e t _ D a t a _ P e g a w a i( )

: L o g in

: DB _P egawai

: D B _ P e s e rt a

Gambar 3. 18 Collaboration Diagram (Penetapan Hasil Tes)

Proses selanjutnya menggambarkar interaksi antar form pada saat


melakukan edit data tentu saja diperankan oleh aktor admin. Pertama admin
melakukan login, dilanjutkan dengan pemanggilan data base pegawai (untuk
validasi) kemudian akan ditampilkan form admin yang nantinya akan berinteraksi
dengan form lain untuk kebutuhan edit data, tentunya dalam collaboration
diagram ini tidak semua digambar, menyesuaikan dengan apa yang mampu
difasilitasi oleh sistem, dan juga tergantung dari sequence diagram (mengikuti).
Untuk lebih jelasnya perhatikan gambar 3.19 berikut.

152

1 : V ie w A llD a t a O p ra t o r ( )
2 : E d it O p r a t o r ( )
3 : S a ve _ D a t a ( )

: A d m in i s t r a t o r

: O p e ra t o r

4 : V i e w _ A l l D a t a _ P e n d a ft a r ( )
9 : V ie w _ S o a l( )
5 : E d it _ D a t a P e n d a ft a r ( )
1 0 : E d it _ S o a l( )
6 : S a v e _ D a t a P e n d a ft a r ( )
1 1 : S a ve _ D a t a ( )
7 : A d d _ N e w P e s e rta ( )
8 : S a v e _ D a t a P e n d a ft a r ( )

1 4 : V ie w _ S o a l ( )
1 5 : A c a k _ S o a l( )
1 6 : S a ve _ D a t a ( )

1 2 : A d d _ N e w P e s e rt a ( )
1 3 : S a v e _ D a t a P e n d a ft a r ( )

: S oal

: P e n d a ft a r a n

Gambar 3. 19 Collaboration Diagram (Edit Data)

3.4.5 Class Diagram


Analisis terakhir dalam pembahasan ini adalah class diagram (diagram
kelas) yang mana pada diagram kelas ini akan menjadi indikator kesuksesan suatu
perancangan sistem menggunakan rational rose. Pada diagram kelas kelas ini
akan tampak berapa form yang nantinya ada pada aplikasi, serta apa saja variablevariabelnya selain itu ditentukan pula data basenya, sehingga nampak jelas
kemampuan (pekerjaan) dari masing-masing form dan kebutuhan data base dari
masing-masing form tersebut.
Dalam pembuatan class diagram ini harus disesuaikan dengan
kemampuan sistem yang dijabarkan dalam sequence diagram sehingga nantinya
pada saat dilakukan generate code pada bahasa pemrograman tertentu tidak
terdapat kesalahan dari masing-masing form. Untuk lebih jelasnya perhatikan
gambar 3.20 yang memperlihatkan class diagram dalam rancangan aplikasi ujian
masuk jalur reguler (mandiri).

153

ja va

sun

< < e n tity > >


P e n d a ft a ra n
Com boB ox
Label
T e x tF ie ld
T e x t F i e l d _ P a s s w o rd
B u tto n

< < e n t it y > >


L o g in
C o m b o B o x _ J e n is P e n g g u n a
L a b e l_ N a m a
L a b e l_ P a s s w o rd
T e x t F ie l d _ N a m a
T e x t F ie l d _ P a s s w o rd
B u tto n
V i e w _ J e n is _ P e n g g u n a ()
S e le c t _ J e n i s _ P e n g g u n a ()
In p u t _ U s e r _ N a m e A n d P a s s w o rd ( )
V a lid a s i _ D a t a _ P e n g g u n a ()
G e t_ D a ta _ P e n g g u n a ()
V ie w _ D a ta _ P e n g g u n a ()
V i e w _ F o r m _ P e n g g u n a ()

< < e n t it y > >


S oal
Com boB ox
Label
T e x t F i e ld
T e x t F i e ld _ P a s s w o rd
Tabel
B u t to n
G e t _ D a t a _ s o a l()
V i e w _ S o a l ()
A c a k _ S o a l( )
In p u t _ J a w a b a n ()
E d it _ J a w a b a n ( )
S a ve _ J a w a b a n ()
V i e w _ K o d e _ P e s e r t a ()
V i e w _ H a s i l_ T e s ()
C e t a k _ H a s i l_ T e s ()
E d it _ S o a l( )
S a ve _ D a t a ()
V i e w _ J a w a b a n ()

S e le c t _ J u r u s a n ( )
S e le c t _ Q u o t a P e n d a ft a n ( )
In p u t _ B io d a t a ( )
C e k _ K e le n g k a p a n ( )
S a ve _ D a t a P e n d a ft a r ()
E d it _ D a t a P e n d a ft a r( )
G e t _ D a t a P e n d a ft a r( )
V ie w _ A llD a t a _ P e n d a ft a r ()
A d d _ N e w P e s e rt a ()
P r in t _ K a r t u ID ()

Tabel
Com boB ox
Label
T e x t F ie ld
T e x t F ie ld _ P a s s w o rd
B u t to n

G e t _ D a t a _ P e s e rt a ()
V ie w _ A ll_ N ila iP e s e r t a ( )
S a ve _ D a t a ()
V ie w _ U s e r n a m e A n d P a s s w o rd ( )
V ie w A llD a t a O p r a t o r( )
E d it O p r a t o r( )

DB _P egawai

Nam a
A la m a t
JK
N o _ T e lp
P i lih a n _ J u ru s a n
S ta tu s _ P e n g g u n a
U s e rn a m e
P a s s w o rd
K o d e _ P e s e rt a
N a m a _ W a li
A l a m a t _ W a li
N o _ T e lp _ W a l i
N i la i
H a s ilT e s

Nam a_P egawai


A la m a t
N o _ T e lp
JK
Tahun_M as uk
Ja b ata n
S ta tu s _ P e n g g u n a
U s e rn a m e
P a s s w o rd

E d it _ A ll D a t a ( )
S a ve _ A llD a t a ()

< < e n tity > >


H a s il T e s

< < e n t it y > >


O p e ra to r
Com boB ox
Label
T e x tF ie ld
T e x t F i e l d _ P a s s w o rd
B u tto n
Tabel

D B _ P e s e rta

< < e n t it y > >


A d m i n is t ra t o r
Com boB ox
Label
T e x t F ie l d
T e x t F ie l d _ P a s s w o rd
B u tto n
Tabel

DB _S oal
N o m o r_ S o a l
J e n is _ S o a l
K ode_S oal
K u n c i_ J a w a b a n

V i e w _ A llK o d e P e s e r t a ()
V i e w _ N ila i_ P e s e r t a ( )
S o r t in g N i la i( )
K e p u t u s a n K e lu l u s a n ( )
C e t a k _ H a s i l_ K e p u t u s a n ()
K o r e k s i()
C e t a k _ U r u t a n R a n g k in g S e m e n t a ra ( )

D B _Jaw aban
N o_Jaw aban
J a w a b a n _ P e s e rta
K o d e _ P e s e rt a
S a ve _ J a w a b a n ()
U p d a t e _ J a w a b a n ()

G e t _ D a t a _ P e g a w a i( )

G e t _ D a t a _ P e s e rt a ()
S a ve _ D a t a ()

Gambar 3. 20 Class Diagram Aplikasi UMJR

154

D B _ N i la i
N a m a _ P e s e rta
K o d e _ P e s e rt a
N ila i_ P e s e rt a
K e p u t u s a n _ K e lu lu s a n
S a ve _ N ila i ()
G e t _ n ila i ()

BAB IV
HASIL DAN PEMBAHASAN

Bab ini akan membahas tentang hasil program yang telah dibangun dengan
lingkungan uji coba yang telah di tentukan, hasil program berupa aplikasi ujian
online, yang akan dijalankan pada server local menggunakan apache tomcat
kemudian akan di exekusi dengan program browser (internet explorer, mozila,
opera). Selanjutnya akan dibahas fitur pada program serta cara pembuatannya.
4.1

Lingkungan Uji Coba


Pada subbab ini dijelaskan mengenai lingkungan uji coba yang meliputi

perangkat lunak dan perangkat keras yang digunakan. Spesifikasi perangkat keras
dan perangkat lunak yang digunakan dalam uji coba antara lain adalah :
Tabel 4.1 Lingkungan Uji Coba

Perangkat
Keras

Prosesor
Memori
Piranti Masukan

: Intel Celeron P.4. 1.7 GHz


: 512 GB
: - Mouse
- Keyboard

Sistem Operasi
Perangkat
Lunak

: Microsoft Windows XP Professional


2002 SP 2
Perangkat Pengembang : Java (JSP) jdk 6, Netbeans 5, dan
Dreamweafer
Perangkat Pendukung : Adobe Photoshop 7.0, Tomcat 5.0.18,
Appserv (MySQL), Internet Explorer.

Pada tabel 4.1 dapat dilihat bahwa program dibuat menggunakan bahasa
pemrograman java dengan dreamweafer dan netbeans sebagai editornya,
kemudian software yang telah dibuat dijalankan pada server local menggunakan
apache tomcat pada program browser (Internet Explorer).
4.2

Implementasi Program

155

Proses implementasi program yang akan dibahas sub bab ini dibagi dalam
bebarapa tahapan diantaranya, yang pertama adalah halaman utama, kemudian
login, dministrator, oprator (karyawan), dan calon mahasiswa (peserta ujian).
4.2.1 Generate Code
Generate code adalah proses penterjemahan dari suatu perancangan sistem
kedalam bentuk bahasa pemrogrman tertentu, dalam hal ini rancangan yang telah
didesain akan di generate (aplikasi ujian online) kedalam bahasa pemrograman
java

karena

dalam pembuatan

aplikasinya

nanti menggunakan

bahasa

pemrograman java, yang lebih tepatnya JSP (java server page) yang berjalan pada
server lokal menggunakan tomcat, berikut adalah hasil generate dari masingmasing form.
4.2.1.1 Login.java
//Source file: E:\BAB 3\Login.java
public class Login
{
private int ComboBox_JenisPengguna;
private int Label_Nama;
private int Label_Password;
private int TextField_Nama;
protected int TextField_Password;
private int Button;
public Login()
{
}
/**
@roseuid 4A494893008C
*/
public void View_Jenis_Pengguna()
{
}

//lanjutan
*/
public void Get_Data_Pengguna()
{
}
/**
@roseuid 4A4961A90109
*/
public void View_Data_Pengguna()
{
}
/**
@roseuid 4A4961B9033C
*/
public void View_Form_Pengguna()
{
}

/**
@roseuid 4A494B5A03C8
*/
public void Select_Jenis_Pengguna()
{
}
/**
@roseuid 4A494B7700DA

156

*/
public void Input_User_NameAndPassword()
{
}
/**
@roseuid 4A494B9A007D
*/
public void Validasi_Data_Pengguna()
{
}
/**
@roseuid 4A4952BE02BF

//lanjutan

4.2.1.2 Pendaftaran.java

/**
@roseuid 4A494D9D01C5
*/
public void Edit_DataPendaftar()
{
}
/**
@roseuid 4A494D8F038A
*/
public void Get_DataPendaftar()
{
}
/**
@roseuid 4A4975FD0290
*/
public void View_AllData_Pendaftar()
{
}
/**
@roseuid 4A497B9F0213
*/
public void Add_NewPeserta()
{
}
/**
@roseuid 4A49711C01D4
*/
public void Print_KartuID()
{
}
}

//Source file: E:\BAB 3\Pendaftaran.java


public class Pendaftaran
{
private int ComboBox;
private int Label;
private int TextField;
protected int TextField_Password;
private int Button;
public Pendaftaran()
{
}
/**
@roseuid 4A494E620203
*/
public void Select_Jurusan()
{
}
/**
@roseuid 4A494EC70213
*/
public void Select_QuotaPendaftan()
{
}
/**
@roseuid 4A494CF401A5
*/
public void Input_Biodata()
{
}
/**
@roseuid 4A494D50002E
*/
public void Cek_Kelengkapan()
{
}
/**
@roseuid 4A494D77008C
*/
public void Save_DataPendaftar()
{

157

4.2.1.3 Soal.java
//Source file: E:\BAB 3\Soal.java
public class Soal
{
private int ComboBox;
private int Label;
private int TextField;
protected int TextField_Password;
private int Tabel;
private int Button;
public Soal()
public void Edit_Jawaban()
{
}
/**
@roseuid 4A49539C03B9
*/
public void Save_Jawaban()
{
}
/**
@roseuid 4A497AEA02FD
*/
public void View_Kode_Peserta()
{
}
/**
@roseuid 4A49532502EE
*/
public void View_Hasil_Tes()
{
}
/**
@roseuid 4A49535B0119

//lanjutan
*/
public void Cetak_Hasil_Tes()
{
}
/**
@roseuid 4A4975B7009C
*/
public void Edit_Soal()
{
}
/**
@roseuid 4A4975C0033C
*/
public void Save_Data()
{
}
/**
@roseuid 4A4982260196
*/
public void View_Jawaban()
{
}
}

4.2.1.4 Operator.java
//Source file: E:\BAB 3\Operator.java
public class Operator
{
private int ComboBox;
private int Label;
private int TextField;
protected int TextField_Password;
private int Button;
private int Tabel;
public Operator()
{
}

//lanjutan
/**
@roseuid 4A49531F01E4
*/
public void Input_Jawaban()
{
}
/**
@roseuid 4A49540000FA
*/

158

/**
@roseuid 4A49553D038A
*/
public void Get_Data_Peserta()
{
}
/**
@roseuid 4A495555029F
*/
public void View_All_NilaiPeserta()
{
}
/**
@roseuid 4A49573B00EA
*/
public void Save_Data()
{
}

//lanjutan
/**
@roseuid 4A4956EA0138
*/
public void View_UsernameAndPassword()
{
}
/**
@roseuid 4A49754D0399
*/
public void ViewAllDataOprator()
{
}
/**
@roseuid 4A497565001F
*/
public void EditOprator()
{
}
}

4.2.1.5 HasilTes.java
//Source file: E:\BAB 3\HasilTes.java
public class HasilTes
{
private int Tabel;
private int ComboBox;
private int Label;
private int TextField;
private int TextField_Password;
private int Button;
public HasilTes()
{
}
/**
@roseuid 4A49777101F4
*/
public void View_AllKodePeserta()
{
}
/**
@roseuid 4A49787B003E
*/
public void View_Nilai_Peserta()
{
}
/**
@roseuid 4A49788E005D
*/
public void SortingNilai() {

//lanjutan

159

/**
@roseuid 4A4978CF00CB
*/
public void KeputusanKelulusan()
{
}
/**
@roseuid 4A4978DC0242
*/
public void Cetak_Hasil_Keputusan()
{
}
/**
@roseuid 4A498309000F
*/
public void Koreksi()
{
}
/**
@roseuid 4A4984DB01D4
*/
public void
Cetak_UrutanRangkingSementara()
{

4.2.1.6 Administrator.java
//Source file: E:\BAB 3\Administrator.java
public class Administrator
{
private int ComboBox;
private int Label;
private int TextField;
protected int TextField_Password;
private int Button;
private int Tabel;
public Administrator()
{
} /** @roseuid 4A4957F802EE*/

4.2.2

Halaman Utama
Halaman utama dari program ujian online terdiri dari tiga menu,

diantaranya : home, profile kampus, dan login. Pada menu home akan dijelaskan
tentang petunjuk pengerjaan ujian, selain itu dipapaparkan juga tentang rule
penilaian pada masing-masing soal, yang mencerminkan objektifitas dalam
pelaksaan ujian ini nantinya. Harapannya para siswa akan mampu menerapkan
setrategi pengerjaan soal yang benar, dengan nilai sebagai konsekuensi atas apa
yang telah dikerjakan.

160

Gambar 4.1 Halaman Utama

Menu home pada perancangan sourcode programnya akan memanggil


(memasukkan) halaman depan.jsp (<%@include file="depan.jsp" %> ) yang didalamnya
berisi tentang petujuk pengerjaan ujian. Untuk sourcecode lengkapnya adalah
sebagai berikut :
//bukahalaman_inc.jsp
<%
String halaman= request.getParameter("page");
if(halaman != null)
{{
iif(halaman.equals("home"))
{ %><%@include file="depan.jsp" %> <%
}
else if(halaman.equals("login"))
{%><%@include file="login.jsp" %> <%
}lse if(halaman.equals("profil"))
{ %> <%@include file="profil.jsp" %><%
}
} else
{ %><%@include file="depan.jsp" %><%} }%>

Selanjutnya adalah menu profile kampus, pada halaman ini akan dapat
dilihat sejarah perkembnagan UIN Malang, Mulai dari IAIN yang kemudian
berubah menjadi STAIN, sampai pada akhirnya terbentuklah nama UIN Malang,
dalam hal ini mengambil referensi dari buku pedoman pendidikan yang disusun
oleh Fakultas Sains dan Teknologi UIN Malang tahun 2007. untuk lebih jelasnya
perhatikan gambar 4.2 sebagai berikut.

161

Gambar 4.2 Profile UIN Maliki Malang

Berikutnya adalah adalah menu login yang akan dibahas pada sub bab 4.2.2.
selanjutnya.
4.2.3

Login
Pada halaman login, semua pengguna akan menginputkan user name dan

password yang akan divalidasi oleh sistem sesuai dengan perancangan pada
sistem, yang nantinya akan ditampilkan menu form pengguna yang berbeda sesuai
dengan status pada pengguna. Jika statusnya admin maka akan ditampilkan form
admin jika statusnya operator maka akan ditampilkan form operator perhatikan
gambar 4.3 sebagai berikut.

Gambar 4.3 Halaman Login

162

Setelah user name dan password di inputkan maka sistem akan


menvalidasi kesesuaian user name, password, dan status pengguna dengan
database sebagai acuan. Maka yang pertama dijalankan adalah melakukan
koneksi ke database ujian_online dengan sourcecode sebagai berikut :
//koneksiDB.jsp
<%@ page import="java.sql.*" %>
<%
ResultSet tr;
Statement st;
Connection con;
%>
<%
String curl = "jdbc:mysql://localhost/ujian_online";
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(curl, "root", "root");
st = con.createStatement();
%>

Selanjutnya setelah terkoneksi maka aplikasi akan akan menvalidasi


masing-masing pengguna dengan acuan masing-masing tabel, untuk admin dan
operator pada tabel pegawai, dan peserta pada tabel peserta, dengan sourcecode
sebagai berikut :
l//logincek.jsp
<%@ include file="admin/koneksiDB.jsp" %>
<%!
String nama=null;
String password=null;
%>
<%
nama=request.getParameter("nama");
password=request.getParameter("password");
theResult = statement.executeQuery("SELECT * FROM pegawai where username='"+nama+"' and
password='"+password+"'");
if (theResult.next()) {
session.setAttribute("user",nama);
out.println("<meta httpequiv=\"refresh\"content=0;url=admin/admin.jsp?nip="+theResult.getString("nip")+"&nama="+theResult.g
etString("nama")+">"); }
else{
theResult = statement.executeQuery("SELECT * FROM peserta where username='"+nama+"' and
password='"+password+"'");
if (theResult.next()) {
session.setAttribute("user",nama);

163

out.println("<meta httpequiv=\"refresh\"content=0;url=index2.jsp?nip="+theResult.getString("nip")+"&nama="+theResult.getStrin
g("nama")+">"); }
else {
out.println("Password dan nama yang anda masukkan salah");
out.println("</br>Klik Login Lagi untuk ulangi kembali : </br><a href=index.jsp?page=login>Login
Lagi</a>");
} } theResult.close(); tatement.close();
%>

4.2.4

Administrator
Sub bab ini akan membahas tentang segala aktifitas admin yang mampu

dikerjakan oleh sistem, admin memiliki hak akses tertinggi yang memungkinkan
melakukan editing pada semua menu selain nilai hasil ujian, tentunya tidak semua
menu dalam admin akan dibahas (hanya beberapa) yang dianggap penting serta
dapat merepresentasikan seluruh kemampuan yang ada pada admin, termasuk
bagaimana cara pembuatannya. Untuk lebih jelasnya perhatikan gambar 4.4
sebagai berikut.

Gambar 4.4 Halaman Admin

4.2.4.1 Home
Menu home berisi ucapan selamat datang pada pengguna, yang
menampilkan nama pengguna dan gambar animasi. Pada nama pengguna

164

diambilkan dari database pada tabel pengguna yang disesuaikan dengan user
name dan password pada saat melakukan login.
4.2.4.2 Jurusan
Pada menu ini akan ditampilkan kode jurusan, nama jurusan kemudian
quota dari masing-masing jurusan, keunggulan dari aplikasi ini adalah bisa
melakukan editing pada jurusan secara GUI (grafik user interface) sehingga lebih
memudahkan pengguna. Perhatikan gambar 4.5 dan 4.6 sebagai berikut.

Gambar 4.5 Jurusan

Gambar 4.6 Edit dan Tambah Jurusan

Sourcecode dari menu edit jurusan, update, hapus jurusan, dan tambah
jurusan adalah sebagai berikut :
//form_editjurusan.jsp
<%@ include file="koneksiDB.jsp" %>
<html>
<head>
<title>DAFTAR JURUSAN</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>

165

<form name="form1" method="post" action="update_jurusan.jsp?nip=<%=np%>">


<table width="299" border="0" align="center"><tr bgcolor="#FFCC66">
<td colspan="3"><strong> Form Edit Jurusan </strong></td>
</tr> <tr>
<td width="99">kode</td>
<td width="4">:</td> <%
String kode=null;
kode=request.getParameter("kode");
theResult = statement.executeQuery("SELECT * FROM jurusan where kode='"+kode+"'");
if (theResult.next()) {
String kodex=theResult.getString("kode");
String nama=theResult.getString("nama");
String quota=theResult.getString("quota");
%>
<td width="147"><input type="text" name="kode" size="30" value="<%= kodex %>"></td>
</tr> <tr>
<td width="99">nama</td>
<td width="4">:</td>
<td width="147"><input type="text" name="nama" size="30" value="<%= nama %>" ></td>
</tr> <tr>
<td>Quota</td>
<td>:</td>
<td><input type="text" name="quota" size="30" value="<%= quota %>"></td>
</tr> <tr> <% } %>
<td colspan="3"><div align="center">
<input type="submit" name="Submit" value="Update">
<input type="submit" name="Submit" value="Batal">
</div></td> </tr> </table> </form><br>
</body> </html>

Pada intinya adalah menampilkan daftar jurusan yang diambil dari tabel jurusan,
selanjutnya admin akan melakukan perubahan pada data yang kemudian akan di
update kode pemrogramannya adalah sebagai berikut :
//update_jurusan.jsp
<%@ include file="koneksiDB.jsp" %>
<%
String nama=null;
String kode=null;
String quota=null;
nama=request.getParameter("nama");
kode=request.getParameter("kode");
quota=request.getParameter("quota");
if(nama!=null)
{
try
{
String sql="update jurusan set nama='"+nama+"',quota='"+quota+"'where kode='"+kode+"'";
statement.executeUpdate(sql);
if(statement!=null)
{
out.println("<meta http-equiv=\"refresh\"content=0;url=admin.jsp?page=jurusan>");

166

}
}
catch(Exception ee)
{
out.println("Data dengan tersebut sudah ada"+ee);
out.println("</br><TD><a href='admin.jsp?page=editjurusan&kode="+kode+"'>Ulangi</a></TD>");
}
}
else
{
out.println("Data harus anda isi..!");
out.println("</br><TD><a href='admin.jsp?page=editjurusan&kode=kode'>Ulangi</a></TD>");
}
%>

Untuk menghapus jurusan cukup menklik tanda silang pada gambar 4.5,
sedangkan kode programnya adalah sebagai berikut :
//hapus_jurusan.jsp
<%@ include file="koneksiDB.jsp" %>
<%
String kode=null;
kode=request.getParameter("kode");
try
{
String sql="delete from jurusan where kode='"+kode+"'";
statement.executeUpdate(sql);
if(statement!=null)
{
out.println("<meta http-equiv=\"refresh\"content=0;url=admin.jsp?page=jurusan>");
}
}
catch(Exception ee)
{
out.println("Erorr"+ee);
}
%>

Terakhir adalah penambahan jurusan, menu ini dibuat sebagai antisipasi apabila
universitas membuka jurusan baru, kode programnya adalah sebagai berikut :
<%@ include file="koneksiDB.jsp" %>
<%
String kode=request.getParameter("kode");
String nama=request.getParameter("nama");
String quota=request.getParameter("quota");
if(kode!=null&&nama!=null)
{
try
{
String sql="INSERT INTO jurusan(kode,nama,quota)values('"+kode+"','"+nama+"','"+quota+"');";
statement.executeUpdate(sql);

167

if(statement!=null)
{
out.println("<meta http-equiv=\"refresh\"content=0;url=admin.jsp?page=jurusan>");
}
}
catch(Exception ee)
{
out.println("Data dengan tersebut sudah ada"+ee);
out.println("</br><TD><a href=admin.jsp?page=formjurusan>Ulangi</a></TD>");
}
}
else
{
out.println("Semua data harus anda isi..!");
out.println("</br><TD><a href=admin.jsp?page=formjurusan>Ulangi</a></TD>");
}
%>

4.2.4.3 Setting Nilai


Pada menu ini sistem bisa memfasilitasi untuk melakukan input penilaian,
bukan nilai peserta melainkan nilai untuk standart kelulusan peserta. Untuk contoh
penulisan nilai adalah : 80-100 (pisahkan range dengan tanda minus (-) tanpa
spasi) dan status : Diterima. Perhatikan gambar 4.7 sebagai berikut.

Gambar 4.7 Halaman Range Nilai

Gambar 4.8 Edit Range Nilai dan Input Nilai

168

Untuk kode pemrogramannya hanya dicantumkan untuk yang input nilai saja
sebagai contoh, yaitu sebagai berikut :
//input_nilai.jsp
<%
String status=null;
String nilai=null;
nilai=request.getParameter("nilai");
status=request.getParameter("status");
if(nilai!=null&&status!=null)
{
try
{
String sql="INSERT INTO nilai(nilai,status) VALUES('"+nilai+"','"+status+"');";
statement.executeUpdate(sql);
if(statement!=null)
{
out.println("<meta http-equiv=\"refresh\"content=0;url=admin.jsp?page=nilai>");
}} catch(Exception ee)
{
out.println("Data dengan tersebut sudah ada"+ee);
out.println("</br><TD><a href='admin.jsp?page=formnilai'>Ulangi</a></TD>");
}}else {
out.println("Data harus anda isi..!");
out.println("</br><TD><a href='admin.jsp?page=formnilai'>Ulangi</a></TD>");
}
%>

4.2.4.4 Kategori Soal


Menu ini memiliki fasilitas untuk editing kategori soal termasuk
penambahan kategori. Hasil dari penelitian, baik melalui wawancara dengan
Pegawai BAAK UIN Maliki Malang Ibu Endah, khususnya pada kategori soal
untuk tahun 2008 lalu terdapat sepuluh kategori yang termasuk didalamnya baca
tulis Al-Quran dan tes psykologi. Sebagai antisipasi akan adanya penambahan
ataupun penghapusan kategori soal maka pada aplikasi ini dilengkapi dengan
menu edit dan tambah kategori soal. Perhatikan gambar 4.9 dan 4.10 sebagai
berikut.

169

Gambar 4.9 Kategori Soal Ujian

Gambar 4.10 Edit Kategori Soal dan Input Kategori Soal

4.2.4.5 Soal Ujian


Menu soal ujian memiliki fasilitas untuk input soal, kemudian editing soal,
cetak soal, dan menghapus soal, fitur-fitur ini dibutuhkan karena besar
kemungkinan adanya pergantian soal setiap tahunnya, jenis soal yang bisa
digunakan sebagai ujian adalah soal pilihan ganda, dengan berbagai bentuk,
misalnya teks arab atau inggris dan sebagainya. Program ini berbasis GUI
sehingga mudah digunakan oleh siapapun. Untuk lebih jelasnya perhatikan
gambar 4.11 berikut.

Gambar 4.11 Soal Ujian

170

Gambar 4.12 Input Soal Ujian

Gambar 4.13 Edit Soal Ujian

Gambar 4.14 Cetak Soal Ujian

Kode program pada bahasan ini, memuat tentang perintah catak soal saja, karena
untuk perintah yang lain hampir sama dan telah dibahas pada sub bab soal ujian.
Kode program untuk perintah cetak adalah sebagai berikut :
//cetak_data_soal.jsp
<%@ include file="koneksiDB.jsp" %>
<html><head><title>Untitled Document</title>
</head> <body>
int i=1;
String kosong="kosong";
TheResult2 = statement2.executeQuery("SELECT * FROM kategori_soal order by kode asc");
while (theResult2.next()) {
String kode=theResult2.getString("kode");
String kategori=theResult2.getString("kategori");
%> <tr> <td width="100"><strong>Kategori_Soal </strong></td>
<td width="7"><strong>:</strong></td>
<td width="427"><strong><%= kategori %></strong></td>

171

</tr><% theResult = statement.executeQuery("SELECT * FROM soal where kode_kategori=


'"+kode+"'
order by kode asc");
while (theResult.next()) {
String kds=theResult.getString("kode");
String soal=theResult.getString("soal");
%><tr><td colspan="3"><div align="justify"><%= i %> . <%= soal %>
<input name="kode_soal<%= i %>" type="hidden" value="<%=kds%>">
</div></td></tr><tr><td colspan="3"><div align="justify">
<% ResultSet theResult4 = statement4.executeQuery("SELECT * FROM jawaban where
kode_soal='"+kds+"'order by kode_jawaban asc");
while (theResult4.next()) {
String jawaban=theResult4.getString("jawaban");
%><%= jawaban %><br> <%
} %></div></td></tr><% i++; } %><% }
%></table></td></tr><% String pertama=request.getParameter("awal");
theResult = statement.executeQuery("SELECT * FROM soal order by kode asc");
while (theResult.next()) {
String kode=theResult.getString("kode");
String kategori=theResult.getString("kode_kategori");
String soal=theResult.getString("soal");
%> <% } %></tr><tr><td>Jumah Soal <%=i-1%></td>
</tr></table></body></html>

4.2.4.6 Jawaban Soal


Jawaban soal merupakan fasilitas untuk editing jawaban, jawaban yang
telah ada akan diblok dengan warna hijau dan untuk mengedit jawaban tinggal
menekan gambar pena di sebelah kanan, selain itu pada menu ini pengguna juga
bisa menghapus jawaban dengan menekan tanda (x) sebelah kanan kanan.
Perhatikan gambar 4.15 dan 4.16 sebagai berikut :

Gambar 4.15 Edit Jawaban Soal

172

Gambar 4.16 Jawaban Soal

4.2.4.7 Soal Tes Kepribadian


Tes kepribadian terdiri dari tujuh puluh lima soal yang kesemuanya itu
dapat menggambarkan beberapa aspek dari calon mahasiswa diantaranya :
Motivasi berprestasi, kecerdasan sosial, power serta tipikal kepribadian (introvert,
ekstrovet). Namun dalam hal ini tidak bisa dilakuakan penyimpulan secara
otomatis karena komposisi rumusan penilaiannya menjadi rahasia pembuat soal
tersebut, sehingga akan ditampilkan hasil berupa jawaban dari peserta sebagai
pertimbangan dalam dukungan keputusan.

Gambar 4.17 Data Soal Kepribadian

173

Gambar 4.18 Edit Soal Kepribadian

Gambar 4.19 Cetak Soal Kepribadian

Untuk tes kepribadian kode pemrogramannya dibagi menjadi tiga bagian


yakni, pengambilan nilai soal, kemudian pengambilan nilai jawaban serta
pengaturan waktu untuk mengerjakan ujian. Tiga hal pokok ini sudah mewakili
untuk tes yang non kepribadian sehingga karena memiliki kesamaan prosedur
dalam penulisan kode pemrogramannya.
<SCRIPT LANGUAGE="JavaScript">
/*String kode_soal=request.getParameter("kode_soal"+i);
String jawaban=request.getParameter(kds);
int jumlah=Integer.parseInt(request.getParameter("jml"));*/
function Move() {
getByName();
}function getByName() // jml soal = i
{

174

var a=document.form.jml.value;
var kd_soal="";
var jawaban="";
var vjawaban="";
// mengambil nilai soal
for (i=1;i<a;i++)
{
var vkode=document.getElementById(""+i).value;
kd_soal+="kode_soal"+i+"="+vkode;
if(i<a-1) {
kd_soal+="&";
}
// mengambil nilai jawaban
vjawaban=document.getElementById(""+vkode).value;
jawaban+=vkode+"="+vjawaban;
if(i<a-1)
{
jawaban+="&";
}
}
var nip=document.form.nip.value;
var namax=document.form.namax.value;
var jumlah_soal=document.form.jml.value;
alert('Saudara '+document.form.namax.value +' Waktu anda habis, \n Jawaban anda akan
langsung dikoreksi');
self.location.href = "index2.jsp?page=koreksi_jawaban_kepribadian&nip="+
nip+"&namax="+namax+"&jml="+jumlah_soal+"&"+kd_soal+"&"+jawaban+"";
}
</SCRIPT>
// mengganti waktu
<body onLoad="setTimeout('Move()',5000);"> <% // mengganti waktu %>
<div align="center">
<strong>
Waktu Anda 20 Menit , dari Jam
<SCRIPT LANGUAGE="JavaScript">
var Digital=new Date()
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
var dn="AM"
if (hours>12) { dn="PM"
hours=hours-12 } if (hours==0) hours=12 if (minutes<=9)
minutes="0"+minutes
var ctime="<b><font face='Verdana' color='#8000FF'>"+hours+":"+minutes+"</font></b>"
document.write(ctime);
</script>

4.2.4.8 Daftar Peserta

175

Daftar peserta digunakan untuk melihat jumlah peserta, edit peserta yang
dibuat untuk antisipasi jika ada peserta yang mengalami masalah saat login,
kemudian cetak tanda peserta dan tambah peserta baru. Khusus pada menu daftar
peserta pengguna dengan status admin maupun oprator memiliki hak akses yang
sama. Untuk lebih jelasnya perhatikan gambar 4.19 berikut ini :

Gambar 4.20 Daftar Peserta

Khusus pada proses cetak tanda peserta, langsung diadakan penempelan pas photo
secara manual sekaligus dilakukan penandaan (stempel) untuk menghindari
pemalsuan peserta pada saat pelaksanaan ujian nantinya.

4.2.4.9 Daftar Pegawai


Daftar pegawai memiliki fasilitas untuk menambahkan data pegawai baru,
edit data pegawai, maupun menghapus pegawai, menu daftar pegawai ini nantinya
digunakan admin untuk membuat kartu tanda pengawas dalam ujian, yang

176

diambilkan dari daftar pegawai, melalui rekomendasi ketua penyelenggara ujian.


Sehingga nama-nama pegawai yang direkomendasikan untuk menjadi pengawas
dalam ujian akan dibuatkan kartu tanda pengawas ujian. Perhatikan gambar 4.20
sebagai berikut :

Gambar 4.21 Daftar Pegawai

4.2.4.10 Hasil Ujian


Hasil ujian ini dapat menampilkan nilai dari jawaban peserta, khusus
untuk jawaban pada kategori tes wawancara, memiliki tambahan penilaian berupa
dukungan keputusan (DSS) dengan ketentuan jika peserta mendapat nilai=0; maka
akan ada saran untuk mempertimbangan siswa tersebut. Karena dapat disimpulkan
bahwa ketertarikan siswa untuk belajar di lembaga dan kemampuannya untuk

177

baca tulis Al-Quran=0;. Hal ini dibuat untuk bisa merepresentasikan substansi
dari tes wawancara secara manual.
Nama-nama peserta yang dapat rekomendasi untuk dipertimbangkan,
kemudian dirapatkan oleh panitia penyelenggara ujian, yang selanjutnya akan
diambil keputusan, apakah dipertahankan atau di eliminasi yang dapat dilakukan
melaui menu ini oleh admin maupun oprator.

Gambar 4.22 Hasil Ujian

Tombol umumkan hasil ujian akan memanggil status diterima dan


tidaknya peserta, yang dilakukan pada hari yang ditentukan, sehingga peserta bisa
melihat keputusan diterima atau tidak. Sedangkan tombol tidak umumkan adalah
sebaliknya yakni dipakai untuk menghilangkan status penerimaan peserts. Untuk
cetak penguman adalah hasil pengumuman yang nantinya akan dicetak dan
ditempel pada papan pengumuman.Untuk proses penilaian peserta, akan
dicantumkan kode programnya, mulai dari pengkoreksian jawaban, pemberian

178

penilaian sampai pada proses cetak hasil penilaian setelah seluruh peserta
melakukan ujian.
//koreksi_jawaban.jsp
<%@ include file="admin/koneksiDB.jsp" %>
<% theResult = statement.executeQuery("SELECT * FROM peserta where
nip='"+request.getParameter("nip")+"' and status='belum ujian'");
if(theResult.next()) { %>
<html> <head><title>UJIAN ONLINE</title>
int skor=0;
Int salah=-1;
int benar=2;
int golput=0;
int nilai_wawancara=0;
if(jumlah!=0)
{ try
{
Int dipilih=1;
int dipilih2=1;
int dipilih_lagi=1;
String kodesoal=null;
for (int i=0; i<=jumlah; i++)
{
if(i>=35)
{
benar=5;
}
//pengambilan kode soal
String kode_soal=request.getParameter("kode_soal"+i);
theResult = statement.executeQuery("SELECT * FROM soal where kode='"+kode_soal+"'");
if(theResult.next())
{
String kds=theResult.getString("kode");
ResultSet theResult4 = statement4.executeQuery("SELECT * FROM jawaban where
kode_soal='"+kds+"'order by kode_jawaban asc");
while (theResult4.next())
{
String kdj=theResult4.getString("kode_jawaban");
String nama_jawaban=theResult4.getString("jawaban");
String status_jawaban=theResult4.getString("status");
String jawaban=request.getParameter(kds);
if(jawaban!="kosong"&&kodesoal!=kds)// ketika jawaban ada yang dipilih
{
if(status_jawaban.equals("Benar")&&jawaban.equals(status_jawaban))
{
skor+=benar;
if(i>35&&status_jawaban.equals("Benar"))
{
nilai_wawancara+=5;
%> <tr><td width="53" valign="top"><%= i %>.</td>
<td width="454" valign="top">Status Jawaban :<font color="#009900">
<%= jawaban %></font><br>
Jawaban Benar : <%=nama_jawaban%></td>
</tr><%}else if(jawaban.equals("-")&&dipilih==1)

179

{
dipilih++;
kodesoal=kds;
skor+=salah;
jawaban="Salah"; %><tr>
<td width="53" valign="top"><%= i %>.</td>
<td width="454" valign="top">Status Jawaban :<font color="#FF0000"><%= jawaban %></font>
<br>Jawaban Benar :
<%theResult2 = statement.executeQuery("SELECT * FROM jawaban
where kode_soal='"+kds+"'and status='Benar'");
if(theResult2.next())
{
out.println(theResult2.getString("jawaban"));
}%></td></tr>
<%
}
if(dipilih>1&&kodesoal!=kds)
{
dipilih=1;
}
}
if(jawaban.equals("kosong")&&dipilih2==1)
{kodesoal=kds; dipilih2++; %> <tr>
theResult2 = statement.executeQuery("SELECT * FROM jawaban where kode_soal='"+kds+"'and
status='Benar'");
if(theResult2.next())
{ out.println(theResult2.getString("jawaban"));
}%></td> </tr><%
}
if(dipilih2>1&&kodesoal!=kds)
{
dipilih2=1;
}
}
}
} %>
<tr bgcolor="#FFCC33">
<td><strong> Skor </strong></td>
<td><strong><%=skor%></strong></td>
</tr>
<%
String sql="update peserta set nilai='"+skor+"',status='Telah Ujian',wawancara='"+nilai_wawancara+"' where
nip='"+request.getParameter("nip")+"'";
statement.executeUpdate(sql);
%> <%
}
catch(Exception ee)
{
out.println("Erorr"+ee);
}
}%></table></body></html><%
}else
{
out.print("ANDA SUDAH IKUT UJIAN.. DAN TELAH DI KOREKSI <br>");
out.print("Silahkan Klik <a href='index2.jsp?page=nilai&nip="+request.getParameter("nip")+"'>Lihat Nilai
</a>"); }

180

%>
//penanganan wawancara dan hasil cetak penilaian
while (theResult.next())
{wawancara=theResult.getString("wawancara");
int nilai_wawancara=Integer.parseInt(wawancara);
if(wawancara.equals("-"))
{
wawancara="";
}
int nilai_angka=Integer.parseInt(nilai);
theResult2 = statement2.executeQuery("SELECT * FROM nilai");
while(theResult2.next())
{
for(int h=0;h<theResult2.getString("nilai").length();h++)
{
mzi=theResult2.getString("nilai").charAt(h);
mz+=mzi;
}
pattern = Pattern.compile("-");
hasile = pattern.split(mz.trim());
mz="";
if(hasile.length==2)
{
data1 =Integer.parseInt(hasile[0].trim().toString());
data2 =Integer.parseInt(hasile[1].trim().toString());
}
if(nilai_angka>=data1&&nilai_angka<=data2)
{
kelolosan=theResult2.getString("status");
}
else if(nilai_angka<data1)
{
kelolosan=theResult2.getString("status");
}
if(jumlah_peserta<=jumlah_quota)
{
kelolosan="Diterima";
}
}
if(nilai_wawancara==0)
{
saran="Sebaiknya dipertimbangkan";
}
%>
<tr class="kk">
<td valign="top"><%= nipx %></td>
<td valign="top"><%= nama %></td>
<td valign="top"><%= nilai %></td>
<td valign="top"><%= kelolosan %></td>
<td valign="top">Wawancara <%=nilai_wawancara%><br><font
color="#FF9900"><%=saran%></font></td>
</tr>
<% if(kelolosan.equals("Diterima"))
{ dtrma++;
} if(kelolosan.equals("Tidak Diterima"))

181

{
dtlak++;
} if(kelolosan.equals("Cadangan"))
{ cadnagn++;
}
}

4.2.5

Oprator
Fungsi oprator adalah sebagai petugas pendaftaran yang melakukan input

data calon mahasiswa (peserta ujian). Selain itu juga sebagai pengawas pada
waktu ujian. Oprerator memiliki hak akses yang sama dengan admin pada menu
daftar peserta dan hasil ujian, hal ini dimaksudkan agar penanganan seputar
permasalahan peserta bisa diselesaikan pada tingkatan operator. Sedangkan pada
menu yang lain oprator memiliki hak akses yang terbatas (hanya bisa melihat).

Gambar 4.23 Halaman Oprator

4.2.6

Calon Mahasiswa
Calon mahasiswa (peserta ujian) memiliki beberapa hak diantaranya :

mendapat kartu tanda peserta pada karu ini tertera username dan password yang
nantinya digunakan untuk mengakses soal. kemudian mahasiswa melihat
pengumuman tanggal ujian (secara manual). Selanjutnya peserta akan mengikuti
proses ujian, tentunya dengan melakukan login terlebih dahulu sehingga halaman
pengguna (peserta) bisa ditampilkan.

182

4.2.6.1 Home
Pada menu home ini peserta dapat membaca petunjuk pengerjaan soal,
selain itu juga ada saran-saran agar agar peserta mampu mengikuti proses
pelaksanaan ujian ini dengan baik. Pada halaman ini sama dengan halaman utama
pada saat pertamakali diakses (index.jsp).

Gambar 4.24 Halaman Peserta

4.2.6.2 Profile Peserta


Pada menu profile, peserta bisa melihat profilenya, data profile ini diambil
dari database peserta yang didalamnya memuat semua informasi tentang peserta
malai dari nomor induk peserta, nama, alamat, sekolah asal tahun lulus, dan
seterusnya. Untuk lebih jelasnya perhatikan gambar 4.24.

Gambar 4.25 Profile Peserta

4.2.6.3 Mulai Ujian

183

Proses selanjutnya peserta melakukan ujian, soal ujian akan ditampilkan


secara menyeluruh. Dengan pilihan jawaban pada menu combo box yang
disediakan dibawah soal. Peserta juga diberi kebebasan dalam memilih jawaban,
bahkan memungkinkan memilih untuk tidak memilih (golput) tentu dengan
konsekuensi nilai =0;. Untuk mengatasi masalah kecurangan yang sering terjadi
pada ujian manual misalnya nyontek, sistem ini dibuat dengan output soal
random, sehingga kemungkinan itu bisa diperkecil. int y =(int)(Math.random()*20);
Untuk kode program selengkapnya ada pada sub bab admin. Perhatiakan gambar
4.26 sebagai berikut.

Gambar 4.26 Soal Ujian

Setelah soal dikerjakerjakan semua maka siswa akan memeriksa kembali


jawabannya, selanjutnya ditekan tombol koreksi untuk melihat nilai termasuk
benar dan salahnya. Pada saat siswa menekan tombol back untuk kembali maka
sistem akan menutup akses untuk mengerjakan soal kembali. Peserta hanya dapat
melihat hasil ujian saja seperti pada sub bab hasil ujian.
4.2.6.4 Hasil Ujian

184

Hasil ujian menampilkan nama nilai, status dan keterangan, untuk


keterangan akan kosong sebelum seluruh peserta melakukan ujian. Pada field
ketengan ini lah puncak keputusan akhir, jadi walaupun status lulus belum tentu
akan diterima, hal ini karena menunggu pertimbangan, utamanya yang
menyangkut nilai wawancara. Untuk keterangan nantinya akan ditayangkan baik
secara online maupun tercetak pada hari yang ditentukan, sebagai keputusan final
dari hasil ujian.

Gambar 4.27 Hasil Ujian

4.2.6.5 Ganti Password


Peserta juga dimanjakan dengan fasilitas tambahan berupa ganti user
name dan password, dengan tinggal memasukkan user name dan password yang
baru pada form yang disediakan. Hal ini semata-mata untuk memberi keamanan
dan kenyamanan pada peserta, dengan begitu peserta bisa memasukkan kata-kata
yang mudah diingat.

Gambar 4.28 Ganti User Name & Password

185

Untuk kode programnya adalah sebagai berikut :


<%@ include file="admin/koneksiDB.jsp" %>
<% String nip=request.getParameter("nip");
String username=request.getParameter("username");
String password=request.getParameter("password");
try {
String sql="update peserta set username='"+username
+"',password='"+password+"' where nip='"+nip+"'";
statement.executeUpdate(sql);
if(statement!=null)
{ out.println("<meta http-quiv=\"refresh\"content=0;url=index2.jsp?page=password&nip="+nip+"&status=
Password_Telah_Diganti>");
}}catch(Exception ee) {
out.println("Data dengan tersebut sudah ada"+ee);
out.println("</br><TD><a href=admin.jsp?page=editpeserta&nip="+nip+">Ulangi</a></TD>");
}
%>

4.2.6.6 Logout
Logout adalah menu yang ada pada semua status (admin, oprator, dan
peserta) berfungsi sebagai akses untuk keluar dari form pengguna atau berpindah
dari status pengguna yang satu ke yang lain (hanya admin).Berikut adalah daftar
kode program pada menu logout :
<%
session.removeAttribute("user");
session.invalidate();
out.println("<meta http-equiv=\"refresh\"content=0;url=index.jsp>");
%>

Pada prinsipnya logout akan menghapus pengguna (user) yang kemudian akan
memanggil halaman utama pada index.jsp. Pembahasan pada logout mengakhiri
bab empat pada penulisan laporan ini.
4.3

Kajian Agama Terhadap Hasil Penelitian


Hasil dari penelitian yang telah dilakuan, memperlihatkan bahwa dengan

adanya aplikasi ujian online yang nantinya menggantikan ujian konvensional,


akan memberikan sebuah perubahan yang konstruktif utamanya dalam
peningkatan kepercayaan masyarakat terhadap hasil ujian. Maka diperlukan

186

sebuah keberanian dan usaha yang nyata untuk mewujudkan sebuah perubahan
yang lebih baik dalam dunia perguruan tinggi. Senada dengan hal tersebut, Allah
SWT telah berfirman dalam Al-Quran Surat Arradu 13 Ayat 11 yang berbunyi :
r'/ $t (# i0t 4Lym Bs)/ $t i0t !$# )
Artinya :
Sesungguhnya Allah tidak mengubah keadaan sesuatu kaum sehingga mereka
mengubah keadaan[768] yang ada pada diri mereka sendiri.
[768]

Tuhan tidak akan mengubah keadaan mereka, selama mereka tidak

mengubah sebab-sebab kemunduran mereka.


(QS. Arradu : 11)
Ujian juga merupakan sebuah proses menuju perubahan, dengan ujian
seseorang akan ditingkatkan derajatnya oleh Allah SWT. Semakin baik tingkat
seseorang maka semakin beratlah ujian yang akan ditempuh, ibarat pohon
semakin tinggi maka sebakin besarlah angin menerpa. Hal ini tidak semata-mata
berlaku pada tataran iman dan taqwa saja melainkan juga dalam dunia pendidikan
yang menggunkan ujian sebagai sarana peningkatan dari jenjang yang satu ke
jenjang yang lebih tingi secara bertahap. Melalui ujian, akan diperoleh bibit-bibit
unggul generasi penerus bangsa yang lebih baik. Allah SWT telah berfirman
dalam Al-Quran Surat Al-Kahfi 18 Ayat 17 yang berbunyi :

Wyt |mr& r& u=7o9 $o; Zo F{$# n?t $t $o=yy_ $)


Artinya :

187

Sesungguhnya kami Telah menjadikan apa yang di bumi sebagai


perhiasan baginya, agar kami menguji mereka siapakah di antara mereka yang
terbaik perbuatannya.
(QS. Al Kahfi 18 : 17)
Al-Quran Surat Al-Kahfi Ayat 17 diatas memberikan gambaran bahwa
sesungguhnya kehidupan manusia dalam keseharian adalah ujian dari Allah SWT,
ketika yang datang kebahagiaan maka kebahagian itulah yang menjadi ujian,
begitu juga sebaliknya ketika kesedihan yang datang maka kesedihan itulah yang
menjadi ujian. Sehingga manusia tidak pernah lepas dari ujian. Sedangkan yang
menjadi rule penilaiannya adalah bukan dari rupa (fisik) seseorang, tetapi dari
akhlak (perbuatannya) yang mengarah pada, bagaimana sikap seseorang dapat
memposisikan dirinya secara tepat, terhadap apa yang sedang menimpanya.
Tujuan adanya ujian tersebut adalah sebagai media evaluasi untuk mencari yang
terbaik diantara mereka, yang akan ditinggikan derajatnya dan dimaksukkan
kedalam surga.
Sedangkan aplikasi ujian online juga memiliki fungsi yang sama yakni,
untuk menseleksi (mencari yang terbaik) diatara para peserta (calon mahasiswa),
yang nantinya bisa masuk menjadi mahasiswa di Universitas Islam Negeri (UIN)
Maulana Malik Ibrahim Malang. Akan tetapi yang menjadi rule nilai adalah
kemampuan kognitifnya, yang bisa dilihat dan dinilai secara material
(kemampuan menjawab soal), berbeda dengan perbuatan atau sikap (ikhlas, sabar,
berfikir positif, dsb), yang hanya dapat dinilai oleh Allah SWT karena bersifat
imateri.

188

BAB V
KESIMPULAN DAN SARAN

5.1

Kesimpulan
Dari penelitian yang telah dilakukan, baik penelitian literatur maupun

wawancara tentang ujian masuk jalur reguler (mandiri) di UIN Maulana Malik
Ibrahim Malang, dapat disimpulkan bahwa aplikasi ujian online memiliki
beberapa keunggulan dibandingkan dengan ujian secara konvensional, selain bisa
mengurangi kecurangan dalam ujian, aplikasi ujian online juga dapat mengurangi
resiko kesalahan dalam pengkoreksian jawaban. Sehingga dapat meningkatkan
kepercaayaan masyarakat terhadap universitas terkait hasil ujian (tes).
5.2

Saran
Aplikasi ujian online ini masih memiliki beberapa kekurangan yang

nantinya bisa diperbaiki oleh peneliti selanjutnya, diantaranya adalah :


1. Peran admin yang memiliki hak penuh untuk melakukan editing pada peserta
menjadi kekuatan serta kelemahan. Disatu sisi memungkinkan admin untuk
melakukan editing data peserta (termasuk mengerjakan soalnya), tapi disisi lain
hal ini dibutuhkan sebagai antisipasi jika terjadi masalah.
2. Pelaksanaan ujian, masih membutuhkan tenaga pengawas untuk menvalidasi
keaslian peserta agar terhindar dari penggunaan joki.

189

DAFTAR PUSTAKA

Abidin, Zainal. dkk. 1996. Hadits Telaah Imam Khomeini atas Hadits-Hadits
Mistis dan Akhlak. Bandung : Mizan.
A Partanto, Pius. dan Dahlan Al Barry, M. 1994. Kamus Ilmiah Populer.
Surabaya: Arkola.
Avestro, Joice. 2007. Pemrograman Web. Java Education Network Indonesia :
JARDIKNAS.
Bahiah Ahmad, Nur. Dkk. 2005. Struktur Data dan Algoritma Menggunakan
C++. Johor : UTM Press.
Dwi Prasetyo, Didik. 2004. Tip dan Trik Pemrograman Java 2. Jakarta: Elex
Media Komputindo.
Faiz Almath, Muhammad. 2001. 1100 Hadits Terpilih. Gema Insani Press.
Software HaditsWeb 2.0.
Fatchurrochman. dan Basuki, Achmad. 2007. Pemrograman Visual Java.
Yogyakarta: Graha Ilmu.
Hariwijaya, M. dan Triton. 2007. Pedoman Penulisan Imiah proposal dan Skripsi.
Yogyakarta: Tugu Publisher.
Hariyanto, Bambang. 2007. Esensi-Esensi Bahasa Pemrograman Java. Bandung:
Informatika.
Hartati, Sri. dkk. 2007. Pemrograman GUI Swing Java dengan Netbeans 5.
Yogyakarta: Andi Offset.
Hartati Wijono, Sri. dkk. 2007. Java Servlet dan JSP dengan NetBeans.
Yogyakarta: Andi Offset.
Kadir, Abdul. 2004. Dasar Pemrograman Web Dinmis dengan JSP (Java Server
Pages). Yogyakarta: Andi Offset.
Latif, Masrul. 2007. Menyoal Efektifitas Pengawasan Ujian Nasional: Forwas.
hal. 25.
MADCOMS. 2005. Mendesain Website dengan Photoshop, Frontpage, dan
Pemrograman PHP-MySQL. Yogyakarta: Andi Offset

190

Mic,

Chocdove. 2003. Pengenalan JSP. http://www.ilmukomputer.com


/2006/09/28/tips-dan-trik-jsp. Diakses tanggal 13 Juni 2009.

Purnama, Rangsang. 2007. Pemrograman Gui Menggunakan Java. Jakarta:


Prestasi Pustakaraya.
Suhartono. dan Chamidy, Totok. 2007. Rahasia Al-Quran dalam Biometric.
Malang: UIN Malang Press.
Susanto, Budi. 2003. Pemrograman Client / Server dengan Java 2. Jakarta: Elex
Media Komputindo.
Sutisna, Dadan. 2007. 7 Langkah Mudah Menjadi Web Master. Jakarta:
Mediakita.
Tim Penyusun. 2009. Pedoman Penulisan Tugas Akhir. Malang: Fakultas Sains
dan Teknologi UIN Malang.

191

Lampiran 1. Bukti Konsultasi

BUKTI KONSULTASI SKRIPSI


Nama

: Syafii

NIM/Jurusan

: 05550003 / Teknik Informatika

Dosen Pembimbing Jurusan : M. Amin Haryadi, MT


Dosen Pembimbing Agama : Munirul Abidin, M. Ag
Judul Skripsi

: Rancang Bangun Aplikasi Online Ujian Masuk


Jalur Reguler Di UIN Malang

NO

TANGGAL

KETERANGAN

1.

TANDA TANGAN
1.

2.

2.

3.

3.

4.

4.

5.

5.

6.

6.

7.

7.

8.

8.

9.

9.

10.

10.

Malang, 22 Mei 2009

Mengetahui,
Pembimbing Jurusan,

Pembimbing Agama

M. Amin Haryadi M.T


NIP. 150 368 791

Munirul Abidin, M.Ag


NIP. 150 321 634

192

Lampiran 2. Naskah Soal Ujian Biasa


Bidang study Pendidikan Agama Islam
1. Hadits Nabi SAW yang dapat dijadikan hujjah adalah hadits yang
bernilai
a. Shohih
d. Mutawatir
b. Mutawatir
e. Ahad dan Masyhur
c. Hasan
2. Imam Ghozali berpendapat bahwa hadits dhoif dapat digunakan
sebagai.
a. Menjelaskan hal-hal yang rumit dalam al-Quran
b. Mentakhsish atau mengecualikan sesuatu yang bersifat umum
dalam ayat al-Quran
c. Memebri batas terhadap hal yang belum terbatas dalam al-Quran
d. Mengokohkan ayat
e. Menyederhanakan pengertian ayat al-Quran
3. Kitab hadits memuat kebanyakan bahwa hadits dhoif dapat digunakan
sebagai .
a. Hujjah
c. Fadhoil amal
e. Azimah
b. Nash
d. Rukhshah
4. Al-Quran diturunkan secara bertahap. Di antara hikmahnya
adalah.
a. Supaya mudah dihafalkan
b. Supaya mudah dibaca
c. Supaya dapat dihayati dan di amalkan
d. Supaya mudah ditulis
e. Supaya mudah dikumpulkan
5. Ahli ilmu perbandingan (astronom) yang terkenal pada zaman dinasti
Abbasiyah adalah.
a. Abu Mansyur Al-Falaki
d. Abu Zakaria Ar-Razi
b. Jabir al-Batani
e. Jawaban a, b, dan c benar
c. Raihan al-Baihuri
Bidang study Bahasa Arab
Tentukan bentuk jama dari setiap kata yang bergaris bawah!
1.
.

.

193

.
Tentukan bentuk mufrad dari setiap kata yang bergaris bawah!

2.
.

.
.
.
3.
.

.
.
.

Tentukan lawan kata dari setiap kata yang bergaris dibawahnya!

4. 
.
.
.
. 
6. 
.
.
.
.
Bidang study Ilmu Pengetahuan Sosial
1. Meningkatkan kriminalitas di masyarakat merupakan sebagian akibat dari
ketimpangan penghasilan antar individu dalam kelompok masyarakat.
Faktor yang mendasari peningkatan kriminalitas tersebut adalah
factor
a. Psikologis
c. Sosial ekonomi
e. Biologis
b. Sosiokultur
d. Historis
2. Nilai perolehan sebuah bangunan rp. 48.000.000; disusutkan
menggunakan angka tahun. Bila nilai risidu Rp. 40.000.000; dan umur
pakai bangunan sepuluh tahun, maka besarnya penyusutan pada tahun
ketiga adalah..
a. Rp. 2.400.000;
c. Rp. 6.400.000;
e. Rp. 8.000.000;
b. Rp. 4.400.000;
d. Rp. 7.200.000;

194

3. Berikut ini merupakan karakteristik pembangunan dan pertumbuhan


ekonomi..
1. meningkatkan GNP
2. meningkatkan pendapatan perkapita
3. memperhatikan perubahan struktur ekonomi
4. mengabaikan pemerataan pendapatan
5. mengendalikan laju pertumbuhan penduduk
yang merupakan karakteristik pembangunan ekonomi adalah.
a. 1, 2 dan 3
dan 5
b. 1, 3 dan 5

c. 2, 3 dan 4

e. 3, 4

d. 2, 3 dan 5

4. Fungsi keluarga yang berkaitan dengan kelangsungan kehidupan manusia


adalah.
a. Meneruskan kebudayaan leluhur
b. Mengembangkan keturunan
c. Meletakkan sendi-sendi kehidupan
d. Meletakkan dasar-dasar social
e. Melanjutkan keturunan
5. Bagi umat beragama, kebahagiaan dan keselamatan dunia saja tidaklah
cukup, sebab diakherat perlu dicapai juga. Kasus tersebut menunjukkan
adanya hubungan unsure-unsur system social, yaitu
a. Kepercayaan dengan tujuan
b. Kemauan dengan cita-cita
c. Nilai dengan norma
d. Ideology dengan fasilitas
e. Adapt dengan fasilitas
Bidang study Bahasa Inggris
TEXT I
Islam is religion without any mythology. Its techings are simple and
intelligible. It is free from superstition and irrational beliefs. Unity of God,
properhecy of Muhammad (peace be upon him) and the concept of life-after death
are the basic articles of its faith. They based on reason and sound logic. All the
teachings of Islam follow from these basic beliefs and are simple and
straightforward. There is no hierarchy of priests, no far-fetchod abstraction, no
complicated rites and riuals. Every day is to correctly approach the book of God
and translate its dictates into practice.
1. Why the teching of Islam are easlly understood?
a. Because they are irrational
b. Because they have many ritual
c. Because they are free from hierarchy
d. Because they are simple and rational

195

2. What are the basic principle of Islam faith?


a. Unity of God and the concept of life after death
b. Mythology and belief in God
c. Superstition and belief
d. Logic and reason
3. Its teaching is simple and intelligible. The word its refers to
a. Mythology
c. Islam
b. Religion
d. Faith
4. Life-after-death isthe basic aricles of Islamic faith
a. Most important
c. Less important
b. One among
d. More important than
5. How are Moslems supposed to understand and perform the Islamic
teaching?
a. Through Ulama
c. Through learned men
b. Through rational efforts
d. Through religion books
Bidang study Biologi
1. Pada saat menelan makanan, makanan akan masuk ke dalam
kerongkongan dan tidak akan masuk ke dalam tenggorokan, hal ini
dusebabkan oleh..
a. Kerongkongan berada di bagian belakang, sedangkan tenggorokan
di bagian depan
b. Gerak peristaltis memasukkan makanan dari mulut ke dalam
kerongkongan
c. Larink terangkat ke pangkal lidah sambil bergerak ke belakang
d. Sebuah otot sfikter menutup tenggorokan
e. Lidah mendorong makanan masuk ke dalam kerongkongan
2. Pada tanaman dikotil unsure P yang diserap akar ditransportasikan ke
seluruh bagian tubuh melalui
a. Pembuluh kayu
b. Pembuluh kulit
c. Pembuluh kayu dan kulit
d. Pembuluh tapis
e. Pembuluh angkut tanaman
3. Pada proses fotosintesis terjadi perubahan energi sinar matahari menjadi
energi kimia yang disimpan senyawa organik. Diantara denyawa berikut
yang memenuhi rumus empiris tersebut diatas adalah
a. C6H14O
c. C6H12O
e. C6H12O6
b. C5H12O
d. C6H12O2
4. Bakteri pengikat nitrogen yang hidup bersimbiosis dengan akar polongpolongan adalah.

196

a. Ozotobacter
Nitrosomonas
b. Nitrobacter

c. Clostridium

e.

d. Rhizobium

5. Organ tubuh manusia yang mempunyai fungsi filtrasi dan resbsorpsi


adalah.
a. Hati
b. Ginjal
c. Kulit
d. Usus
e. Paru-paru
Bidang study Matematika
1. Lingkaran dari pernyataan semua mahasiswa uin malang wajib
menggunakan jilbab dan masuk mahad kampus pada tahun pertama
adalah..
a. Semua mahasiswa UIN Malang sunnah menggunakan jilbab atau
masuk mahad kampus kedua sampai lulus
b. Semua mahasiswa UIN Malang makruh menggunakan jilbab dan boleh
tidak masuk mahad selain mahad kampus pada tahun pertama
c. Ada mahasiswa UIN Malang yang tidak menggunakan jilbab dan
masuk mahad selain mahad kampus pada tahun pertama
d. Beberapa mahasiswa UIN Malang tidak wajib menggunakan jilbab
atau tidak masuk mahad kampus pada tahun pertama
2. Jika salah satu akar persamaan ax2 + 5x 12 = 0 adalah 2, maka nilai a
dan akar yang lain adalah.
1
a. a =
dan x = 12
2
1
b. a = dan x = 12
4
1
c. a = dan x = -12
3
2
d. a = dan x = 10
3
1
e. a =
dan x = -12
2
3. Persamaan x2 + nx + n = 1 mempunyai akar yang sama jika dan hanya jika
n =.
a. -2
b. -1
c. 1
d. 2
e. 3
4. Jika x1 dan x2 adalah akar-akar persamaan 2x2 + 8x + m = 0 dan jika 7x1
x2 = 20, maka haruslah m =..
a. -24
b. -12
c. 12
d. 18
e. 3
5. f(x) = 2x2 40x + 225 nilai minimum fungsi tersebut adalah..
a. -225
b. -25
c. 25
d. 35
e. 225

Bidang study Kimia

197

1. Bila massa atom relative kecil H=1. O=16. Mg=24 dan Cl=35.5 jumlah
HCl yang diperlukan untuk cepat menetralkan 5.8 g Mg(OH)2
adalah
a. 3.65g
b. 4.21g
c. 7.30g
d. 7.50g
e. 9.15g
2. Konfigurasi system yang benar untuk in bromida 35 B adalah (nomor
atom Ar = 18).
a. (Ar) 4S2 4P5
b. (Ar) 3D10 4S2 4P6 5S1
c. (Ar) 3D10 4S2 4P5
d. (Ar) 3D10 4S2 4P6
e. (Ar) 3D10 4S2 4P4
3. Data percobaan suatu reaksi 2A + B2
2AB adalah sebagai berikut:
{A}
{B}
Kecepatan reaksi
Mol/L
Mol/L
mol / L
{
}
det ik
1 0.50
0.50
2 0.50
1.00
2 1.00
1.00
a. 0

b. 1

c. 2

d. 3

e. 4

4. Reaksi CO2 (g) + NO (g) + CO (g) dilakukan dalam wadah 5L, pada
keadaan awal terdapat 4.5 mol CO2 dan 4 mol NP; sesudah keseimbangan.
NO yang tersisa adalah 0.5 mol. Tetapan keseimbangan reaksi tersebut
adalah..
a. 11.25
b. 24.5
c. 35.5
d. 49.0
e. 60.0
5. Menurut Bronsted-Lowry pada reaksi manakah H2O bertindak sebagai
basa?
a. H2O + H2SO
H3O+ + OHb. H2O + CO3
HC3-+ + OH
c. H2O + CO2
H2CO3
d. H2O + NH3
NH4 + OHe. H2O + HSO4
OH- + H2SH4+

Bidang study Fisika


1. Sebuah benda yang masanya 0.10 kg jatuh bebas vertikal dari ketinggian 2
m ke hamparan pasir. Jika benda itu masuk sedalam 2 cm kedalam pasir
sebelum berhenti, gaya rata-rata yang dilakukan pasir untuk menghambat
benda besarnya sekitar.
a. 30 N
b. 50 N
c. 60 N
d. 90 N
e. 100 N
2. Sebuah truk bergerak dengan kecepatan 36 kg/jam dibelakang sepeda
motor. Pada saat truk mengeluarkan bunyi klakson dengan frekuensi 1000

198

Hz, pengemudi sepeda motor membaca sepido meter angka 72 km/jam.


Apabila kecepatan bunyi 340 m/s, maka pengemudi sepeda motor akan
mendengar bunyi klakson pada frekuensi.
a. 1091 Hz b. 1029 Hz
c. 1000 Hz
d. 970 Hz
e. 914 Hz
3. Apabila pada simpangan y = 5 cm percepatan getaran selaras a = -5 cm/s2
maka pada simpangan 1 cm percepatan dalam cm/s2 adalah
a. -5
b. -25
c. -10
d. -2.5
e. -1.25
4. Sebuah benda dengan tinggi 0.12 m berada pada jarak 60 cm dari lensa
cembung
dengan jarak focus 40 cm tinggi bayangannya benda
adalah..
a. 2 cm
b. 6 cm
c. 12 cm
d. 24 cm
e. 36 cm
5.

Balok-balok A, B dan C terletak di bidang mendatar yang licin. Jika massa


A = 5 kg, massa B = 3 kg, massa C = 2 kg, dan F = 10 N, maka
perbandingan besarnya tegangan tali antara A dan B dengan besarnya
tegangan tali antara B dan C adalah.
a. 5 : 2
b8:5
c. 1 : 1
d. 5 : 8
e. 3 : 5

Kunci Jawaban
1. D 2.A 3.C 4.A 5.B 6.A 7.B 8.C 9.C 10.A 11.B 12.C 13.D 14.A 15.C
16.B 17.D 18.B 19.D 20.E 21.D 22.D 23.E 24.D 25.A 26.E 27.A 28.C
29.B 30.B 31.D 32.E 33.D 34.D 35.D

199

Lampiran 3. Naskah Soal Ujian Wawancara


1

Kenapa anda memilih kampus UIN Malang?


a. keinginan keluarga b. ajakan teman c. keinginan sendiri d.lain-lain
2. Kapan anda berniat mendaftar di UIN ?
a. setelah tidak diterima di PTN lain b. sebelum SNPTN
c.tidak berniat sama sekali
d.baru saja
3. Kenapa ambil jurusan yang anda pilih di UIN Malang, dan tidak di
perguruan tinggi lain?
a. seleksinya mudah b.ajakan teman c.amanat orang tua d.berniat kuliah
di uin
4. Menurut anda apa kelebihan kampus uin dibanding dengan kampus lain ?
a. disiplin keilmuan dan akhlak b. sama saja c.lebih murah d.lebih megah

Baca-Tulis Al-Quran
5. Tentukan lawan kata dari kata yang bergaris dibawahnya!


.
.
.
. 

Kunci Jawaban:
1.C

2.B

3.D

4.A 5.B

200

Lampiran 4. Naskah Soal Ujian Kepribadian

1. Tidak mudah bagi saya untuk segera memaafkan orang yang menyakiti
hati saya
a. Ya
b. Kadang-kadang
c. Tidak
2. Saya lebih suka belajar sendiri
a. Ya
b. Kadang-kadang
c. Tidak
3. Ketika menginginkan sesuatu saya merasa tidak nyaman sebelum
mendapatakannya
a. Ya
b. Kadang-kadang
c. Tidak
4. Saya merasa ingin membalas orang yang menghina saya
a. Ya
b. Kadang-kadang
c. Tidak
5. Saya akan sulit menerima ketika ada orang lain menyampaikan pendapat
yang berbeda dengan saya
a. Ya
b. Kadang-kadang
c. Tidak
6. Saya merasa susah untuk memperbaiki suatu kesalahan yang telah saya
lakukan
a. Ya
b. Kadang-kadang
c. Tidak
7. Ketika gagal dalam ujian, maka saya meratapinya dengan mengurung diri
di kamar
a. Ya
b. Kadang-kadang
c. Tidak
8. Ketika melihat orang yang telah saya kenal saya akan pura-pura tidak
melihat
a. Ya
b. Kadang-kadang
c. Tidak
9. Ketika bertemu dengan orang yang saya kenal saya akan menunggunya
untuk menghampiri saya lebih dahulu
a. Ya
b. Kadang-kadang

201

c. Tidak
10. Saya senang berkumpul dengan banyak orang seperti menghadiri
pertemuan-pertemuan atau jamuan-jamuan
a. Ya
b. Kadang-kadang
c. Tidak
11. Saya merasa bersemangat dalam mencapai cita-cita
a. Ya
b. Kadang-kadang
c. Tidak
12. Saya merasa cemas bila mengerjakan sesuatu yang belum pernah saya
lakukan
a. Ya
b. Kadang-kadang
c. Tidak
13. Saya mengerjakan tugas mendekati waktu pengumpulan yang ditentukan
a. Ya
b. Kadang-kadang
c. Tidak
14. Saya merasa tidak bias menjelaskan suatu emosi (marah, sedih, takut,
gembira) yang sedang saya rasakan
a. Ya
b. Kadang-kadang
c. Tidak
15. Saya tidak bias memahami apa penyebab orang tua saya marah
a. Ya
b. Kadang-kadang
c. Tidak
16. Membutuhkan waktu yang lama bagi saya untuk memaafkan orang yang
menyakiti saya
a. Ya
b. Kadang-kadang
c. Tidak
17. Saya pernah hamper pingsan ketika mengalami suatu rasa sakit yang
sangat
a. Ya
b. Kadang-kadang
c. Tidak
18. Saya senang membicarakan masalah-masalah setempat dengan orang lain
a. Ya
b. Kadang-kadang
c. Tidak
19. Saya harus menahan diri untuk tidak selalu banyak melibatkan diri/
mencampuri masalah-masalah orang lain
a. Ya
b. Kadang-kadang

202

c. Tidak
20. Saya merasa bahwa pembicaraan dari tetangga membosankan
a. Ya
b. Kadang-kadang
c. Tidak
21. saya lebih suka belajar dengan teman-teman
a. Ya
b. Kadang-kadang
c. Tidak
22. Ketika orang lain menghadapi masalah, maka saya tidak mau ikut
memikirkannya
a. Ya
b. Kadang-kadang
c. Tidak
23. Bila sedang sakit hati saya sulit mengendalikan emosi
a. Ya
b. Kadang-kadang
c. Tidak
24. Ketika mempunyai suatu keinginan saya tidak sabar untuk
mendapatkannya
a. Ya
b. Kadang-kadang
c. Tidak
25. Ketika mengambil keputusan saya merasa ragu-ragu
a. Ya
b. Kadang-kadang
c. Tidak
26. Saya bias menunggu dengan sabar sampai apa yang saya inginkan
terwujud
a. Ya
b. Kadang-kadang
c. Tidak
27. Saya adalah orang yang penuh keyakinan
a. Ya
b. Kadang-kadang
c. Tidak
28. Saya merasa orang lain tidak nyaman ketika bersama saya
a. Ya
b. Kadang-kadang
c. Tidak
29. Adalah tidak mudah bagi saya untuk mengakui suatu kesalahan yang saya
lakukan
a. Ya
b. Kadang-kadang
c. Tidak
30. Susah bagi saya untuk minta maaf pada orang yang telah saya sakiti

203

a. Ya
b. Kadang-kadang
c. Tidak
31. Ketika menghadapi kesulitan saya mudah patah semangat
a. Ya
b. Kadang-kadang
c. Tidak
32. Perhatian saya terhadap orang-orang lain tidaklah sebesar perhatuan
mereka terhadap saya
a. Ya
b. Kadang-kadang
c. Tidak
33. Saya agaknya bias menahan diri dalam mengutarakan perasaan saya
daripada orang-orang lain
a. Ya
b. Kadang-kadang
c. Tidak
34. Saya tidak mudah menyerah
a. Ya
b. Kadang-kadang
c. Tidak
35. Ketika orang lain menceritakan masalahnya saya rasa saya bukan
pendengar yang baik
a. Ya
b. Kadang-kadang
c. Tidak
36. Saya suka menyendiri
a. Ya
b. Kadang-kadang
c. Tidak
37. Saya menjadi tidak sabar dan gelisah bila orang-orang memperlambat saya
tidak pada tempatnya
a. Ya
b. Kadang-kadang
c. Tidak
38. Saya ini sangat pemalu dan hati-hati dalam berteman dengan orang-orang
baru
a. Ya
b. Kadang-kadang
c. Tidak
39. Tidak membutuhkan waktu yang lama bagi saya untuk melupakan
kesedihan
a. Ya
b. Kadang-kadang
c. Tidak

204

40. Saya curiga bahwa orang yang baik-baik di depan saya, di belakang saya
dapatmengkhianati saya
a. Ya
b. Kadang-kadang
c. Tidak
41. Bila saya tidak menyukai orang-orang, maka saya bias berpura-pura saja
menyukai mereka
a. Ya
b. Kadang-kadang
c. Tidak
42. Saya mudah tersinggung ketika dikritik orang lain
a. Ya
b. Kadang-kadang
c. Tidak
43. Bila saya merencanakan sesuatu, maka saya lebih senang mengerjakannya
sendiri tanpa bantuan orang lain
a. Ya
b. Kadang-kadang
c. Tidak
44. Saya adalah orang yang mudah curiga pada orang lain
a. Ya
b. Kadang-kadang
c. Tidak
45. Ketika bersedih saya bingung tentang apa yang harus saya lakukan untuk
mengurangi kesedihan saya
a. Ya
b. Kadang-kadang
c. Tidak
46. Ketika muncul keinginan untuk marah saya tidak mudah untuk
menahannya
a. Ya
b. Kadang-kadang
c. Tidak
47. Saya akan marah-marah ketika orang tua tidak dapat memenuhi
permintaan saya
a. Ya
b. Kadang-kadang
c. Tidak
48. Ketika ada orang yang menolak pendapat saya maka saya akan
membencinya
a. Ya
b. Kadang-kadang
c. Tidak
49. Saya membutuhkan waktu yang lama untuk keluar dari kesedihan
a. Ya
b. Kadang-kadang

205

c. Tidak
50. Saya sering merasa cemas tanpa tahu penyebabnya yang jelas
a. Ya
b. Kadang-kadang
c. Tidak
51. Bila sedang bersama banyak orang, maka saya merasa agak kaku dan
canggung
a. Ya
b. Kadang-kadang
c. Tidak
52. Ketika mengalami suatu kegagalan susah bagi saya untuk bangkit kembali
a. Ya
b. Kadang-kadang
c. Tidak
53. Ketika diminta mengerjakan sesuatu yang baru saya sering ragu akan
berhasil
a. Ya
b. Kadang-kadang
c. Tidak
54. Ketika dikritik orang lain saya mudah tersinggung
a. Ya
b. Kadang-kadang
c. Tidak
55. Kebanyakan orang yang saya temui merasa senang bertemu saya
a. Ya
b. Kadang-kadang
c. Tidak
56. Saya merasa canggung memulai percakapan dengan orang yang barui saya
kenal
a. Ya
b. Kadang-kadang
c. Tidak
57. Saya sulit bergaul lagi dengan orang yang telah menyakiti hati saya
a. Ya
b. Kadang-kadang
c. Tidak
58. Secara jujr saya merasa bahwa saya memiliki ambisi yang lebih besar
daripada orang lain
a. Ya
b. Kadang-kadang
c. Tidak
59. Saya aktif dalam mengorganisir perkumpulan social/kegiatan kelompok
a. Ya
b. Kadang-kadang
c. Tidak
60. Saya rasanya ingin membalas dendam bila seseorang menghina saya

206

a. Ya
b. Kadang-kadang
c. Tidak
61. Ketika melihat orang yang telah saya kenal saya akan menunggu dia
menyapa saya lebih dahulu
a. Ya
b. Kadang-kadang
c. Tidak
62. Saya merasa kurang yakin dapat menyelesaikan pekerjaan dengan baik
a. Ya
b. Kadang-kadang
c. Tidak
63. Halangan-halangan yang saya temui, bias membuat saya hamper menangis
a. Ya
b. Kadang-kadang
c. Tidak
64. Saya berusaha untuk tidak melibatkan diri dalam kegiatan-kegiatan social
a. Ya
b. Kadang-kadang
c. Tidak
65. Saya akan berpikir ulang untuk mencobanya lagi ketika tidak lulus dalam
suatu tes
a. Ya
b. Kadang-kadang
c. Tidak
66. Saya rasanya inhin menghardik orang-orang lain bila berbeda pendapat
dengan saya
a. Ya
b. Kadang-kadang
c. Tidak
67. Saya mengalami emosi yang kuat (seperti rasa takut, marah, gembira)
tanpa adanya suatu sabab yang berarti
a. Ya
b. Kadang-kadang
c. Tidak
68. Pada saat-saat tertentu saya tidak dapat berpikir dengan jernih
a. Ya
b. Kadang-kadang
c. Tidak
69. Saya orang yang susah memahami perasaan orang lain
a. Ya
b. Kadang-kadang
c. Tidak
70. Saya mempunyai banyak teman di setiap aktivitas
a. Ya
b. Kadang-kadang

207

c. Tidak
71. Saya meminta bantuan orang lain ketika mendapat suatu masalah
a. Ya
b. Kadang-kadang
c. Tidak
72. Saya mudah marah
a. Ya
b. Kadang-kadang
c. Tidak
73. Saya suka bertahan menghadapi suatu pekerjaan atau masalah sekalipun
tampaknya seolah-olah saya tidak akan berhasil
a. Ya
b. Kadang-kadang
c. Tidak
74. Saya merasa malu menceritakan masalah saya pada orang lain
a. Ya
b. Kadang-kadang
c. Tidak
75. Saya orang yang peka terhadap perasaan orang lain
a. Ya
b. Kadang-kadang
c. Tidak

208

Anda mungkin juga menyukai