SKRIPSI
Disusun Oleh:
Nama : Hendro Wibowo
NIM : 035314016
i
ONLINE STATE UNIVERSITY TRY OUT TEST
INFORMATION SYSTEM
( Case Study in Institute of Education of PrimagamaYogyakarta )
Final Assignment
Created by :
Name : Hendro Wibowo
NIM : 035314016
ii
iii
iv
PERNYATAAN
Dengan ini saya sebagai penulis tugas akhir menyatakan dengan sesungguhnya
bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain,
kecuali pemikiran, metode atau hasil penelitian orang lain yang diambil disebutkan
Hendro Wibowo
Penulis
v
HALAMAN PERSEMBAHAN
vi
HALAMAN MOTTO
Hidup bagaikan permainan catur. Hadapi masalah, taklukkan rasa takut, dan
( The game of life is lot like chess. You have to tackle your problems, block your fears,
vii
ABSTRAKSI
Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri
dikembangkan guna membantu siswa Sekolah Menengah Atas ( SMA ) khususnya kelas
3 menghadapi tes masuk Perguruan Tinggi Negeri ( PTN ). Sistem Informasi ini berisi
try out online yang dapat digunakan siswa untuk mengerjakan soal – soal dan
Siswa SMA yang merupakan user sistem informasi informasi ini harus terdaftar
untuk dapat mengakses sistem ini. Pada saat melakukan try out atau pengecekan
jawaban, sistem akan menghitung total nilai yang didapat user dan membandingkan
dengan data passing grade program studi yang telah dipilih untuk melihat hasilnya.
Output Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri adalah
pembuatan sistem informasi ini, sedangkan Java Server Pages ( JSP ) digunakan sebagai
Hasil akhir yang diperoleh adalah sebuah Sistem Informasi Try Out Online Tes
Masuk Perguruan Tinggi Negeri yang dapat melakukan pengecekan jawaban tes masuk
PTN serta menampilkan hasil try out berupa program studi yang telah dipilih siswa;
namun masih memiliki kelemahan belum dapat menampilkan soal dalam bentuk gambar
( image ).
viii
ABSTRACT
Online state university try out test information system is developed to utilize to
assist the Senior High School student specially 3rd class facing incoming test of state
university. This Information System contain the online try out which can be used by a
student to do the problems and checking the answer of state university test.
Student as a user have to register to access this system. At the time of doing try
out or answer checking, system will calculate total of value have got by user and
compare with the passing grade major which have been selected to see its result. Output
of online state university try out test information system is the major which have been
information system, while Java Server Pages ( JSP ) used as a programming language
The final result is obtained a Online State University Try Out Test Information
System which can check the answer of state university test and also present the result of
try out, the result is major which have been selected by a student; but still have a
ix
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa yang telah
ini. Laporan ini ditulis dalam rangka pemenuhan Tugas Akhir sebagai salah satu syarat
untuk memperoleh gelar Sarjana Teknik, pada Program Studi Teknik Informatika,
Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta
beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena itu,
penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut
membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan,
1. Bapak Ir. Greg. Heliarko SJ., SS., BST., M.A., M.Sc., selaku dekan Fakultas Sains
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik Informatika
Universitas Sanata Dharma Yogyakarta dan dosen pembimbing skripsi yang telah
banyak membantu dalam memberikan ide dasar dan saran – saran selama
3. Bapak Alb. Agung Hadhiatma, S.T.,M.Sc. dan bapak St. Wisnu Wijaya, S.T.,M.T.
5. Pak Bele yang telah membantu penulis menghadapi masalah teknis menjelang
pendadaran.
x
6. Kedua orang tua serta adik penulis, yang selalu mendoakan, memberikan semangat
dan dorongan kepada penulis untuk dapat menyelesaikan penulisan laporan tugas
akhir ini.
yang telah banyak membantu : ruth, dian, winda, abe, yansen, danang, ones, jun,
ucup, breg, gepeng, acid, dea, rachel, sarah, devi dan semua yang telah membantu.
8. Teman – teman English Extension Course : Bagus, Pinto, Dian, Ifa, Ditto, Siska dan
9. Teman – teman seveners yang selalu memberi semangat : Aesh, Aanx, Ema, Anita,
10. Bapak, Ibu, Mbak dan Mas bagian sekretariat Teknik dan laboratorium Teknik yang
11. Teman – teman dan semua pihak yang tidak bisa disebutkan satu per satu yang telah
xi
Dengan tersusunnya laporan Tugas Akhir ini penulis berharap dapat memberi
informasi dan wawasan kepada pembaca. Meskipun masih jauh dari sempurna, dengan
hati terbuka penulis bersedia menerima kritik dan saran guna kesempurnaan penulisan
Hendro Wibowo
Penulis
xii
DAFTAR ISI
HALAMAN JUDUL...............................................................................................i
HALAMAN PERSETUJUAN.............................................................................iii
HALAMAN PENGESAHAN...............................................................................iv
HALAMAN PERNYATAAN................................................................................v
HALAMAN PERSEMBAHAN...........................................................................vi
HALAMAN MOTTO..........................................................................................vii
ABSTRAKSI.......................................................................................................viii
ABSTRACT...........................................................................................................ix
KATA PENGANTAR............................................................................................x
DAFTAR ISI.......................................................................................................xiii
DAFTAR GAMBAR...........................................................................................xix
DAFTAR TABEL..............................................................................................xxii
BAB I PENDAHULUAN.......................................................................................1
2.1.1 Sistem..................................................................................................6
xiii
2.1.2 Informasi.............................................................................................6
2.4.1 Actor..................................................................................................12
2.8.7 Statement...........................................................................................22
xiv
2.8.7.1.2 Statement if … else...............................................................23
2.8.7.2 Loop............................................................................................24
2.8.7.2.2 Do … while...........................................................................24
2.8.9 Cookie............................................................................................26
2.8.10 Sesi.................................................................................................26
2.9 MySQL....................................................................................................27
2.11 Tomcat..................................................................................................32
xv
3.1.6 Data Modelling ( E – R Diagram ).................................................43
3.2.3.3 Universitas................................................................................50
3.2.3.5 Tes............................................................................................51
3.2.3.6 Soal...........................................................................................51
3.2.4.2 Siswa........................................................................................56
xvi
4.2.1 Pembuatan Database.........................................................................58
4.4.1 Administrator....................................................................................63
4.4.2 Operator.............................................................................................67
4.4.2.3 Universitas................................................................................69
4.4.2.6 Soal...........................................................................................78
4.4.2.8 User..........................................................................................86
4.4.3.2 Pendaftaran...............................................................................89
4.4.3.6 Dataku....................................................................................105
xvii
4.4.3.7 Universitas..............................................................................107
BAB VI PENUTUP............................................................................................112
6.1 Kesimpulan...........................................................................................112
6.2 Saran......................................................................................................112
DAFTAR PUSTAKA.........................................................................................113
LAMPIRAN........................................................................................................114
xviii
DAFTAR GAMBAR
xix
3.20 Form Input Kunci 52
3.21 Form Input Edit Profile Operator 52
3.22 Login User 53
3.23 Form Daftar Siswa 53
3.24 Home User 54
3.25 Try Out 54
3.26 Cek Jawaban Tes Masuk PTN 55
3.27 Desain Sistem Navigasi Administrator dan Operator 56
3.28 Desain Sistem Navigasi Siswa 56
4.1 Login Administrator 63
4.2 Home Administrator 65
4.3 Login Operator 67
4.4 Home Operator 68
4.5 Input Universitas 69
4.6 Edit Universitas 71
4.7 List Universitas 72
4.8 Input Program Studi 73
4.9 Edit Program Studi 74
4.10 Input Tes Masuk 75
4.11 Edit Tes 77
4.12 List Try Out 78
4.13 List Jenis Soal Try Out 79
4.14 Edit Jenis Soal 80
4.15 Bank Soal 81
4.16 Edit Bank Soal 82
4.17 List Tes 83
4.18 List Jenis Soal Tes Masuk PTN 84
4.19 Kunci Jawaban Tes Masuk PTN 85
4.20 List User 86
4.21 Edit Profile Operator 87
4.22 Index User 88
xx
4.23 Form Pendaftaran User 89
4.24 Home User 91
4.25 List Try Out 92
4.26 Kelompok Try Out 92
4.27 Form Input Pilihan Prodi Try Out 93
4.28 Data Try Out User 94
4.29 Jenis Soal Try Out 95
4.30 Form Try Out 95
4.31 Nilai User 98
4.32 Hasil User 99
4.33 List Tes Masuk PTN 101
4.34 Kelompok Tes Masuk PTN 102
4.35 Form Input Pilihan Prodi Tes 102
4.36 Data Tes User 103
4.37 List Jenis Soal Tes 103
4.38 Form Input Jawaban Tes 104
4.39 My Profile 105
4.40 Form Ubah Username 106
4.41 Form Ubah Password 107
4.42 List Universitas 107
4.43 List Program Studi 108
xxi
DAFTAR TABEL
xxii
BAB I
PENDAHULUAN
2. Jalur reguler, melalui tes tertulis, seperti : Seleksi Penerimaan Mahasiswa Baru (
Pelaksanaan tes masuk PTN diselenggarakan secara bersama di tiap – tiap kota
di mana PTN itu berada, misalkan : Seleksi Penerimaan Mahasiswa Baru ( SPMB ). Di
dalam menghadapi tes masuk PTN, siswa Sekolah Menengah Atas ( SMA ) kelas 3
akan menemui beberapa kendala yaitu terbatasnya frekuensi try out yang
diselenggarakan oleh pihak sekolah atau lembaga bimbingan belajar. Try Out tidak
diadakan secara rutin sehingga siswa tidak dapat melatih kemampuan untuk
Permasalahan lain yang timbul adalah pada saat siswa selesai mengikuti tes
masuk PTN, siswa tidak dapat mengetahui hasil tesnya secara cepat. Siswa dapat
menghitung total nilai yang didapat menggunakan kunci jawaban yang dicetak di surat
kabar atau didapat dari internet tetapi tidak dapat mengetahui apakah total nilai yang
1
2
Dari latar belakang itulah, maka penulis tertarik untuk mengembangkan sebuah
sistem informasi yang dapat memberikan solusi kepada siswa berupa fasilitas try out
yang selalu ter-update dan fasilitas untuk melihat hasil tes masuk PTN yang telah
diikuti oleh siswa. Sistem informasi yang akan dikembangkan berbasis web sehingga
mempermudah siswa untuk mengaksesnya dari lokasi manapun, sistem informasi ini
Dari latar belakang tersebut di atas maka rumusan masalah adalah sebagai
berikut : Bagaimana mengembangkan sebuah Sistem Informasi Try Out Online Tes
Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri berbasis
web yang akan dibuat ini, mengambil beberapa batasan masalah sebagai berikut :
1. Sistem hanya bisa menangani soal ujian yang bertipe pilihan ganda ( tidak
2. Sistem informasi ini memberikan informasi tes masuk PTN jalur reguler, tidak
3. Hasil yang ditampilkan sistem ini berupa diterima atau tidaknya calon
mahasiswa di PTN yang dipilih hanya berdasarkan passing grade yang ada
5. Sistem Informasi ini dibuat menggunakan JSP ( Java Server Pages ) serta
2. Mengembangkan sebuah sistem try out online Tes Masuk Perguruan Tinggi
Akhir ini dengan melakukan studi kasus serta menerapkan beberapa metode
1. Studi pustaka tentang Java Server Pages serta MySQL sebagai databasenya.
terstruktur :
penelitian.
sistem.
menyimpan data.
b. Implementasi sistem
sistem informasi.
Secara garis besar, sistematika penulisan dari laporan Tugas Akhir ini adalah
sebagai berikut :
Bab I Pendahuluan
Dalam bab ini berisi latar belakang, rumusan masalah yang akan dihadapi,
batasan masalah yang diambil untuk dilaksanakan, tujuan penelitian yang akan
Bab ini berisi tentang landasan teori yang menjadi permasalahan yang akan
dibahas serta perangkat lunak yang akan digunakan untuk membangun Sistem
Informasi ini.
Bab ini berisi tentang analisis dan perancangan sistem informasi yang akan
dibuat oleh penulis, meliputi analisis sistem baru, rancangan desain input, dan
Bab ini berisi tentang analisis hasil yang menyangkut kelebihan dan kekurangan
Bab VI Penutup
Bab ini berisi tentang kesimpulan yang dapat diambil oleh penulis untuk
menjawab permasalahan yang sudah diutarakan pada bab I serta berisi tentang
saran – saran mengenai sistem informasi yang telah dibuat oleh penulis.
BAB II
LANDASAN TEORI
2.1.1 Sistem
elemen – elemen yang terintegrasi dengan maksud yang sama untuk mencapai
suatu tujuan. Pendapat ini juga didukung oleh Jogiyanto, H.M dalam bukunya
jaringan kerja dari prosedur yang saling berhubungan bersama – sama untuk
2.1.2 Informasi
kenyataan pada saat tertentu. Data yang ada kemudian diolah melalui suatu model
kemudian diproses lagi dan demikian seterusnya sehingga akan membentuk suatu
siklus. Siklus ini oleh John Burch disebut dengan Siklus Informasi ( Information
Cycle ).
6
7
Proses
( Model )
Input Data Output
Data
Basis
Data
Data Penerima
(Ditangkap )
Hasil-hasil Keputusan
Tindakan Tindakan
Gambar 2.1 Siklus Informasi ( Information Cycle )
Hidup matinya suatu oganisasi tergantung pada informasi yang berkualitas atau
dengan kata lain informasi yang dimiliki tersebut adalah informasi yang akurat,
tepat waktu, dan relevan. Agar suatu organisasi dapat berkembang pesat,
informasi ditentukan oleh dua hal, yaitu manfaat dan biaya mendapatkannya.
Informasi tidak dapat ditaksir keuntungannya dengan materi, tetapi dapat ditaksir
nilai efektifitasnya.
Sistem Informasi adalah sekumpulan orang, data, proses, interface dan geografi
Informasi yang benar harus sudah dapat dihasilkan pada waktu yang tepat untuk
organisasi. Sistem informasi yang ada harus mempunyai sifat efisien, efektif, dan
membangun suatu sistem yang dapat berjalan sesuai dengan tujuan dari
Layanan akademis
pencarian data di internet dan ditemukan oleh Tim Bernes Lee di CERN.
9
memungkinkan para ahli riset dapat mengakses dengan cepat dari komputer
mereka ke dokumen yang ingin diakses juga informasi yang dibuat oleh rekan
browser, pengguna dapat meminta halaman web dari komputer yang lain yang
berada dalam satu jaringan dan menampilkannya pada layar. Untuk menampilkan
komputer host. Permintaan tersebut dilakukan oleh program aplikasi yang disebut
web server, sebuah aplikasi yang biasanya dijalankan sebagai service atau
daemon, yang memonitor aktivitas network pada jalur / port khusus ( biasanya
dokumen ( web page ) pada web server melalui network port ini. Web server
Istilah web berasal dari sistem dengan sekumpulan node yang saling
umum, dimana setiap orang boleh untuk mengakses situs ini dan
tersebut bekerja.
b. Intranet Site
organisasi tersebut.
c. Extranet
Ciri khas lain pada penggunaan aplikasi web, pemakai menggunakan perangkat
menyediakan database server, selain web server yang ditujukan untuk melayani
adalah server yang melayani akses terhadap database. Oracle dan MySQL
merupakan contoh dari sekian database server. Contoh web server yaitu Apache
Tes masuk Perguruan Tinggi Negeri ( PTN ) adalah ujian bersama yang
diselenggarakan oleh beberapa PTN di Indonesia dengan pola ujian tulis. Peserta
tes masuk PTN adalah siswa Sekolah Menengah Atas ( SMA ) kelas 3, di dalam
pelaksanaan tes siswa dapat memilih tiga program studi sesuai kelompok tes yang
diikuti. Tabel 2.1 menunjukkan kelompok tes yang dapat dipilih siswa beserta
Kelompok
TES PROGRAM STUDI
IPA IPA
IPS IPS
IPC IPA, IPS
Tabel 2.1 Kelompok tes dan kelompok program studi
Program studi di PTN dibagi menjadi dua kelompok yaitu IPA dan IPS
sehingga siswa harus menyesuaikan antara kelompok tes dan kelompok program
sebuah sistem Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang aktor adalah
sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk
2.4.1.Actor
atau sesuatu yang harus berinteraksi dengan sistem. Peranan yang dimainkan user
user
Gambar 2.2 Actor
2.4.2.Use case
pemakai. Deskripsi sederetan aksi yang dilakukan sistem untuk mendapatkan hasil
tertentu. Sederetan aksi menyatakan interaksi antara sistem dengan sesuatu di luar
sistem ( aktor ).
login
Gambar 2.3 Use Case
2.4.3.Hubungan ( Relationship )
digunakan untuk menghubungkan antara dua simbol dalam use case diagram. Arti
tersebut.
13
untuk mengambarkan aliran dari data yang melalui sebuah sistem dan proses yang
1. Proses ( Process )
Proses adalah kerja yang dilakukan oleh sistem dalam merespon arus data
yang datang atau suatu kondisi. Gambar 2.3 merupakan simbol proses
Nama Proses
Arus data adalah data sebagai masukan ke proses atau keluaran dari
sebuah proses.
Arus data adalah data yang bergerak. Arus data juga digunakan untuk
mewakili creation, reading, deleting, atau updating dari data dalam file
Kesatuan luar adalah orang, unit organisasi, sistem atau organisasi luar
Gambar 2.5 merupakan simbol kesatuan luar menurut Gane dan Sarson :
Nama
kesatuan
luar
Sarson
Penyimpanan data
Pemodelan data adalah suatu teknik atau cara untuk mengatur dan
yang memanfaatkan beberapa notasi untuk menggambarkan data dalam entity dan
2.6.1.Entitas ( Entity )
Entitas adalah suatu kelompok orang, tempat, obyek kejadian atau konsep
yang dibutuhkan untuk menyimpan data. Nama entitas berupa kata benda tunggal
( singular noun ).
Siswa
nim
memiliki nilai yang unik untuk setiap entitas. Sering juga disebut identifier.
1. Candidate key merupakan satu dari nilai key yang akan beerfungsi
key.
3. Alternate key merupakan sebuah candidate key yang tidak dapat dipilih
Foreign key merupakan sebuah primary key dari sebuah entitas yang digunakan
Jenis-jenis relationship:
1. one to one
2. one to many
3. many to many
<html> dan kemudian selalu ada tag penutupnya </html>, namun ada
dan sebagainya.
<img src = “nama_file”> Untuk menampilkan gambar. Jenis file yang didukung
adalah *.gif, *.jpg, *.jpeg. *.png, dan *.tif. Tanpa tag
penutup. Tag ini juga mempunyai atribut align yang
berfungsi untuk mengatur posisi text terhadap gambar,
atribut border untuk memberi bingkai gambar, height
untuk tinggi gambar, dan width untuk lebar gambar
<table>…</table> Untuk membuat tabel. Mempunyai atribut :
Border : untuk mengatur bingai tabel, besarnya antara
0..10
Bgcolor : untuk memberi warna background
Width : untuk mengatur lebar tabel
<caption>…</caption> Untuk membuat judul tabel
<th>…</th> Untuk membuat judul kolom
<tr>…</tr> Untuk membuat baris dalam tabel. Mempunyai atribut
sama dengan <td>…</td>
<td>…</td> Untuk membuat satu sel data. Mempunyai atribut –
atribut :
Rowspan : untuk menggabungkan baris
Colspan : untuk menggabungkan kolom
Tabel 2.2 Tag – tag HTML
scripting server side untuk membangun suatu web yang interaktif. JSP disusun
internet, maka JSP merupakan salah satu bahasa yang embeded pada halaman
1. Harus ada web server yang mendukung JSP, dalam hal ini akan digunakan
Apache Jakarta-Tomcat.
dalam bentuk JSP ( berekstensi .jsp ). Permintaan ini akan disampaikan ke Web
server. Kemudian web server mengambil dokumen JSP dan mengirimkan ke JSP
Servlet Engine. Bagian inilah yang melakukan pemrosesan kode – kode JSP (
HTML. Berikutnya, kode HTML ini disampaikan oleh Web server ke klien yang
Pengkompilasian kode JSP hanya dilakukan sekali saja, yaitu pada pemanggilan
dokumen yang pertama kali. Oleh karena itu, pemakai yang memanggil dokumen
yang baru saja dibuat atau diperbaharui akan merasakan bahwa tanggapan
seperti ini, pengembang dapat memanggil terlebih dulu dokumen tersebut setelah
dilakukan perubahan.
Kode JSP pada dasarnya adalah kode HTML yang dilengkapi dengan tag –
tag JSP. Pada tag – tag inilah pemrogram menyisipkan kode dalam bahasa Java.
Contoh :
selamat.jsp
<HTML>
<HEAD>
<TITLE>Latihan JSP Pertama</TITLE>
</HEAD>
<BODY>
<%
//Syntak JSP
%>
</BODY>
</HTML>
Detail pemrosesan oleh JSP Servlet engine adalah sebagai berikut :
Servlet adalah teknologi Java yang memungkinkan pembuatan halaman web yang
Hasil suatu ekspresi JSP dapat dijadikan sebagai keluaran pada halaman
web dengan menggunakan bentuk tag yang bersifat khusus, yakni seperti berikut :
Tag <%= %> biasa dinamakan tag ekspresi. Dalam hal ini semua ekpresi
<%@.......%>
misalnya :
yang berarti mengimpor semua kelas yang terdapat pada paket java.util.
java.lang javax.servlet.jsp
javax.servlet javax.servlet.http
22
Tag direktif ini ditujukan untuk memberitahukan kepada mesin JSP dan bukan
ditujukan untuk membentuk keluaran. JSP memiliki tiga buah direktif yaitu :
suatu kelas )
pendeklarasian variabel yang berlevel halaman. Variabel seperti ini akan dikenal
sepanjang halaman. Tag yang dimaksud biasa dinamakan tag deklaratif. Tag ini
<%!...%>
Tag deklaratif sebenarnya tidak hanya untuk mendeklarasikan variabel, tetapi juga
2.8.7. Statement
dengan statement – statement struktur kontrol. JSP mengenal dua jebis statement
yang ditetapkan. Untuk masalah dengan satu atau dua percabangan dapat
digunakan statement if dan else, untuk multiple alternatif dapat digunakan else if
dan switch.
2.8.7.1.1. Statement if
Operasi dilaksanakan jika persyaratan terpenuhi atau bernilai true, jika tidak
Pada statement if, jika persyaratan tidak terpenuhi atau bernilai false
dilakukan operasi II. Untuk masalah seperti ini dapat ditambahkan statement else
<%
if(persyaratan){
operasi I
}
else{
operasi II
}
%>
24
2.8.7.2. Loop
mempunyai dua macam loop, yaitu while loop dan for loop.
while(persyaratan){
operasi program
};
true.
2.8.7.2.2. Do … while
dahulu baru kemudian persyaratan diperiksa. Jika true loop diteruskan, jika false
Syarat pertama diperiksa sekali saja saat awal mulanya loop. Syarat kedua
diperiksa setiap awal iterasi / perulangan. Jika syarat kedua dipenuhi operasi
program dieksekusi, jika tidak maka loop dihentikan. Syarat ketiga dieksekusi
keperluan menangkap eksepsi, bisa menggunakan pernyataan try. Ada dua bentuk
Dalam hal ini parameter berupa nama kelas yang berhubungan dengan
penanganan eksepsi dan diikuti nama parameter. Perlu diketahui bahwa kelas
tertinggi eksepsi adalah Throwable. Kelas ini terdapat pada paket java.lang. Kelas
ini merupakan subkelas dari kelas object ( kelas tertinggi pada Java ). Bentuk
kedua adalah :
try {
//blok yang akan ditangkap sekiranya terjadi eksepsi
}
catch(parameter) {
//blok yang akan dijalankan kalau terjadi eksepsi
}
finally {
//blok yang akan dijalankan terakhir kali
}
26
Pada bentuk di atas, bagian finally akan dijalankan, tidak tergantung apakah
2.8.9. Cookie
menyimpan nama pemakai, sehingga ketika pemakai mengunjungi situs web itu
kembali, pemakai bisa segera disapa. Penggunaan lain, cookie digunakan untuk
mengatur tampilan halaman web yang bisa dilakukan sendiri oleh pemakai. Selain
itu cookie juga dapat digunakan untuk menciptakan suatu sesi yang
2.8.10. Sesi
klien dengan web server dalam selang waktu tertentu. Cara yang lebih baik untuk
membentuk hubungan dalam waktu yang lama yaitu melalui fasilitas sesi ( session
) yang secara khusus disediakan oleh JSP. Berbeda dengan cookie ( yang
pada server. Dengan demikian tidak perlu ada komunikasi bolak – balik antara
web server dan klien ketika web server membutuhkan data tersebut. Setiap kali
suatu sesi dibentuk maka akan terdapat referensi yang menunjuk ke sesi
session = request.getSession(true);
2.9 MySQL
lain : MySQL, Oracle, PostgreSQL, Microsoft Acces dan masih banyak lagi.
dan lain-lain. Misalnya create table, alter table, drop table, dan sebagainya.
Hasil kompilasi dari statement DDL adalah satu set tabel yang disimpan
pada file khusus yang disebut Data Dictionary. Data Dictionary adalah file
setiap database atau sebagian dari isi database dengan membuat hak – hak
akses tertentu bagi user. Misalnya grant digunakan untuk memberikan hak
– hak tertentu kepada seorang user dan revoke digunakan untuk mencabut
a. CHAR
dinyatakan dengan integer. Jumlah karakter pada tipe ini data CHAR
b. VARCHAR
Tipe data ini mempunyai panjang berkisar antara 1 – 255. Berbeda dengan
CHAR, tipe ini akan mengikuti panjang karakter yang disimpan. Misal :
judul VARCHAR(90).
c. INT
d. DATE
e. DATETIME
penanggalan yang lebih detail daripada tipe data DATE. Format default
tanggal DATETIME.
string dengan jumlah karakter antara 255 sampai 65535. Perbedaaan antara
tipe data TEXT dan BLOB terletak pada sifat case sensitive yang hanya
dimiliki oleh tipe data BLOB. Misal : berita TEXT atau berita BLOB.
1. CREATE DATABASE
Database ini akan digunakan untuk menampung tabel – tabel yang akan
2. USE
Query USE digunakan untuk masuk ke dalam database yang telah dibuat.
Setelah masuk ke database maka kita dapat membuat suatu tabel. Sintaks
yang digunakan :
USE nama_database;
3. CREATE TABLE
digunakan :
deskripsi_field2,... );
4. INSERT INTO
5. SELECT
SELECT field1,field2,…
FROM nama_tabel
WHERE field1=..;
6. UPDATE
atau untuk mengedit data yang telah disimpan dalam tabel. Sintaks yang
digunakan :
31
7. DELETE
khusunya MySQL. Hal pertama yang harus dilakukan adalah menginstall driver
terpenting dalam membangun koneksi antara Java ( JSP ) dan database adalah
sejumlah interface yang ada dalam paket Java.sql, karena itu kita harus melakukan
Terdapat empat interface yang mutlak harus dipakai ketika membangun koneksi
1. Connection
2. Driver
com.MySQL.jdbc.Driver “.
32
3. Statement
4. ResultSet
if(!ada_kesalahan){
Connection koneksi = null;
try {
koneksi = DriverManager.getConnection(
"jdbc:mysql://localhost/latihan","root","");
out.println("Semua beres");
}
catch(Exception ex){
out.println("Kesalahan: "+ex);}
}
%>
</body>
</html>
2.11 Tomcat
Try Out tes masuk Perguruan Tinggi Negeri ( PTN ) diadakan oleh
bimbingan belajar atau sekolah untuk membantu siswa sekolah Menengah Atas
dalam menghadapi tes mask PTN yang sesungguhnya. Jika siswa SMA mengikuti
try out yang diselenggarakan oleh bimbingan belajar maka hasil try out-nya dapat
dapat dilakukan secara cepat disebabkan oleh banyak sedikitnya peserta try out.
Setelah mengikuti tes masuk PTN, siswa SMA dapat mengetahui hasil tes
tersebut dengan menghitung sendiri total nilai yang didapat. Kunci jawaban yang
dicetak di surat kabar dapat digunakan untuk proses pengecekan jawaban. Setelah
selesai mengetahui total nilai yang didapat, siswa SMA tidak akan mengetahui
33
34
Sistem yang akan dibuat berbasis web sehingga memudahkan user untuk
mengaksesnya, user tersebut adalah siswa SMA khususnya kelas 3. Sistem ini
mempunyai fasilitas try out dan pengecekan jawaban tes masuk PTN. Fasilitas try
out di dalam sistem informasi ini dibuat sama dengan sistem tes masuk PTN yang
ada, meliputi pilihan program studi yang akan dimasukkan user. Fasilitas
pengecekan jawaban tes masuk PTN dapat diakses oleh user setelah mengikuti tes
masuk PTN sehingga user dapat mengetahui hasil tes yang diikuti dalam waktu
yang relatif cepat. User harus terdaftar sebagai member untuk dapat mengakses
sistem ini.
Ada tiga orang yang akan terlibat dalam “ Sistem Informasi Try Out
a. Administrator
b. Operator
yang berhubungan dengan sistem informasi ini, seperti : data universitas, program
studi, soal try out dan kunci jawaban tes masuk PTN serta menghapus member.
c. Siswa
Siswa SMA khususnya kelas 3 adalah orang yang menggunakan sistem ini
Proses modeling dapat dimulai dari pembuatan input dan output dari sistem
ENTITAS INPUT OUTPUT
ADMINISTRATOR Data login, data Data operator, data
administrator, data operator administrator
baru
OPERATOR Data login, data universitas Data universitas, data prodi,
baru, data prodi baru, data data soal, data kunci
soal baru, data kunci baru
SISWA Data login, data jawaban Data hasil tes masuk PTN,
tes masuk PTN, data try data hasil try out
out
Tabel 3.1 Tabel Process Modelling
DFD Level 0
%
& '
% '
% (
%
& (
database yang bernama prediksi, database tersebut terdapat beberapa tabel yang
digunakan yaitu tabel universitas, tabel prodi, tabel master_soal, tabel siswa, tabel
siswa_tes, tabel tes, tabel soal, tabel kunci, tabel jawaban, tabel hasil_user, dan
tabel login.
Tabel universitas
Tabel prodi
Tabel tes
Tabel siswa
Tabel siswa_tes
Tabel master_soal
Tabel soal
Tabel kunci
Tabel jawaban
Tabel hasil_user
Tabel login
)) *
)) *
- $
. (
+
3.2.3.3 Universitas
)) *
) (
)) *
&
3.2.3.5 Tes
)) *
. (
3.2.3.6 Soal
)) *
( +
)) *
0$
+
)) *
- $
)) *
- $
- $ 1
. &
0( ( +
)) *
*2 +, -* / ./
-*+3/ -*+ /
)) *
. 4
+
+ # $
+
+
+ +
)) *
0$
# $
+
3.2.4.2 Siswa
IMPLEMENTASI SISTEM
Sistem yang dibangun adalah Sistem Informasi Try Out Online Tes Masuk
Perguruan Tinggi Negeri ( PTN ) berbasis web sehingga sistem dapat diakses
dimana saja dan kapan saja. Pada sistem ini terdapat administrator yang bertugas
melakukan input data administrator dan data operator, operator adalah orang yang
sistem, misalnya : data universitas, data program studi, dan data soal. Sistem ini
dalam melakukan persiapan tes masuk PTN dengan mengerjakan try out yang ada
Implementasi sistem ini menggunakan studi kasus sistem try out yang
ke dalam sebuah sistem yang berbasis web. Bahasa pemrograman yang digunakan
adalah Java Server Pages ( JSP ) beserta Apache Tomcat 5.0.16 sebagai web
server dan MySQL 5 sebagai database dengan menggunakan beberapa tools yang
57
58
Sistem Informasi Try Out Online Tes Masuk PTN membutuhkan sebuah
database yang akan berisi beberapa tabel, tabel – tabel tersebut akan menyimpan
semua data yang berhubungan dengan sistem. Database yang digunakan bernama
Sistem Informasi Try Out Online Tes Masuk PTN membutuhkan beberapa
tabel untuk penyimpanan data, data tersebut adalah data yang dimasukkan oleh
a. Tabel Universitas
b. Tabel prodi
c. Tabel Tes
Tabel tes digunakan untuk menyimpan semua data jenis tes yang ada, tes
tersebut dapat berupa tes yang bersifat latihan yang akan dikerjakan oleh user ( try
out ) dan tes masuk PTN yang akan diprediksi oleh user.
CREATE TABLE `tes` (
`kd_tes` varchar(10) NOT NULL,
`nama_tes` varchar(60) NOT NULL,
`status` enum('open','closed') NOT NULL,
PRIMARY KEY (`kd_tes`)
)
d. Tabel master_soal
beberapa jenis soal seperti kemampuan dasar, kemampuan IPA, dan kemampuan
IPS. Field waktu akan digunakan untuk tes try out sehingga field waktu dapat
diberikan nilai atau tidak, apabila tidak diberi nilai maka akan di-set NULL.
Tabel soal digunakan untuk menyimpan data – data soal yang akan
dikerjakan oleh user. Data tes try out yang akan berisi soal – soal ini beserta
f. Tabel kunci
kunci jawaban dari tes masuk PTN dan bukan merupakan data tes try out.
g. Tabel jawaban
Tabel jawaban berisi semua jawaban tes dari user, tes try out dan tes
masuk PTN.
CREATE TABLE `jawaban` (
`kd_tes` varchar(10) NOT NULL,
`kd_soal` varchar(5) NOT NULL,
`no_soal` int(5) NOT NULL,
`jawaban` varchar(5) default NULL,
`username` varchar(20) NOT NULL,
PRIMARY KEY
(`kd_tes`,`kd_soal`,`no_soal`,`username`),
KEY `username_fk` (`username`)
)
61
h. Tabel siswa
Data user yang telah terdaftar sebagai member akan disimpan ke dalam
tabel siswa.
CREATE TABLE `siswa` (
`user_id` int(11) NOT NULL auto_increment,
`username` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
`nama` varchar(50) NOT NULL,
`asal_sekolah` varchar(15) NOT NULL,
`jurusan` varchar(5) NOT NULL,
PRIMARY KEY (`user_id`,`username`)
)
i. Tabel siswa_tes
Data user yang telah mengerjakan try out atau mengikuti prediksi akan
j. Tabel hasil_user
User yang telah mengerjakan try out atau prediksi, akan memperoleh
k. Tabel login
bersifat dinamis dan tidak statis adalah semua data yang ditampilkan diambil dari
database sehingga apabila data berubah, data yang ditampilkan ke dalam sistem
ikut berubah tanpa harus merubah kode HTML. Java Server Pages ( JSP ) dapat
mengakses database dengan cara memuat driver MySQL dengan listing program
sebagai berikut :
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception ex){
out.println("Kesalahan: "+ex);
ada_kesalahan = true;
}
try {
Connection koneksi = DriverManager.getConnection(
"jdbc:mysql://localhost/prediksi","root","");
out.println("");
}
catch(Exception ex){
out.println("Kesalahan: "+ex);
}
63
User Interface dari sistem ini digunakan oleh administrator, operator, dan
user siswa untuk mengakses Sistem Informasi Try Out Online Tes Masuk
4.4.1. Administrator
melakukan login maka halaman ini akan ditampilkan kembali dan akan muncul
64
peringatan. Login administrator akan valid jika username, password dan status
dicocokkan dengan data yang ada menggunakan fungsi otentikasi, apabila data
yang dimasukkan tidak valid maka halaman index akan ditampilkan kembali.
hasilQuery = stm.executeQuery(
"SELECT password FROM login " +
"WHERE username = '" + pemakai + "' AND status = '"+status+"'");
Fungsi otentikasi digunakan untuk melihat apakah data yang dimasukkan untuk
proses login administrator benar dan valid. Perintah SQL tersebut yang digunakan
session.invalidate();
session = request.getSession(true);
session.setAttribute("sesi_user", sesi_user);
session.setAttribute("sesi_pass", sesi_pass);
session.setAttribute("sesi_status", sesi_status);
response.sendRedirect("menu_admin.jsp");
Setelah proses login sukses, maka data username, password, dan status akan
menghapus sesi sekarang yang ada, menciptakan sesi baru, dan membentuk tiga
kesalahan maka administrator akan masuk ke halaman ini. Pada halaman ini
administrator dapat melakukan input data administrator dan operator. Data – data
yang harus dimasukkan adalah nama, username, password, dan status. Status
mempunyai dua nilai yaitu administrator dan operator. Pada saat proses input data,
username yang dimasukkan oleh administrator. Jika username sudah ada maka
String query =
"INSERT INTO login(username,password,nama,status)
VALUES ('"+username+"','"+pass+"','"+nama+"','"+stat+"')";
hasil_penyisipan = stm.executeUpdate(query);
administrator. Perintah tersebut akan dijalankan apabila semua data yang diisikan
data operator yang ada. Proses penghapusan data tampak pada listing program
sebagai berikut :
4.4.2.Operator
sebagai operator agar dapat mengakses sistem, apabila operator gagal melakukan
login maka halaman ini akan ditampilkan kembali dan akan muncul peringatan.
Data – data yang dimasukkan oleh operator untuk melakukan proses login akan
dicocokkan dengan database yang ada. Login operator akan valid jika username,
password dan status sebagai operator cocok dengan data yang ada. Proses login
response.sendRedirect("menu_super.jsp");
sedangkan bagi operator apabila login yang dilakukan sukses, perintahnya adalah
response.sendRedirect("menu_admin.jsp");
68
dilakukan valid. Pada halaman ini operator akan menemui beberapa penjelasan
tentang menu – menu yang ada, menu – menu ini digunakan untuk proses update
data yang meliputi input data, pengeditan data, dan penghapusan data. Menu –
Tes Masuk, operator memasukkan semua nama tes masuk yang ada baik
itu try out yang diadakan atau tes masuk Perguruan Tinggi Negeri ( PTN )
soal yang dapat dikerjakan sedangkan pada tes masuk PTN hanya terdapat
kunci jawaban.
Soal, menu ini digunakan oleh operator untuk memasukkan semua soal –
data kunci jawaban dari tes masuk PTN dan bukan merupakan kunci
User, operator dapat menghapus semua user yang terdaftar yaitu siswa
Edit Profile, menu edit profile digunakan untuk meng-edit data operator
4.4.2.3. Universitas
universitas negeri yang terlibat secara langsung dengan tes masuk yang
alamat, dan nomor telepon. Data – data tersebut akan memberikan gambaran yang
jelas kepada siswa. Proses input, peng-editan, dan penghapusan data hanya bisa
kode ditulis dengan sama maka sistem akan menolaknya. Proses pemasukan data
yang valid akan ditampilkan ke dalam list universitas tetapi apabila proses
tersebut gagal maka akan muncul pernyataan yang menunjukkan data gagal
dimasukkan.
if(!ada_kesalahan){
String kode = request.getParameter("kode");
String nama = request.getParameter("nama");
String alamat = request.getParameter("alamat");
String telepon = request.getParameter("telepon");
if(kode.equals("") || nama.equals("") || alamat.equals("") ||
telepon.equals("")){
String msg = "Data yang diisikan tidak lengkap";
response.sendRedirect("menu_universitas.jsp?offset="+offse
t+"&msg=" +msg);}
else{
try{
Statement stm = koneksi.createStatement();
String query = "INSERT INTO universitas
(kd_univ,nama_univ,alamat,telepon) VALUES
('"+kode+"','"+nama+"','"+alamat+"','"+telepon+"')";
hasil_penyisipan = stm.executeUpdate(query);}
catch(Exception ex) {
ada_kesalahan = true;}}
Listing program tersebut menunjukkan proses input data universitas. Data – data
yang dimasukkan melalui form akan dicek terlebih dahulu kemudian akan
dimasukkan ke dalam database apabila data tersebut valid tetapi jika data tidak
List universitas tersebut menunjukkan semua data universitas yang telah berhasil
data universitas, variabel offset dan limit hanya digunakan untuk mengatur
Setelah operator memilih universitas yang di-edit maka akan muncul tampilan
sesuai gambar 4.6, operator tinggal mengganti data yang diganti dengan data yang
baru, perintah SQL yang digunakan di dalam melakukan proses edit data
meng-klik link delete pada data universitas yang akan dihapus. Perintah SQL yang
Pada saat menghapus universitas akan dijalankan dua perintah SQL yaitu
tersebut.
Pada saat operator akan menambah daftar program studi di tiap – tiap
universitas yang ada. Pertama kali operator akan menemui halaman yang
bagi operator dalam update data program studi di tiap universitas yang ada.
73
Proses update data program studi dapat dilakukan dengan cara meng-klik link
view. Link tersebut akan menampilkan daftar program studi pada universitas
prodi, nama prodi, passing grade, kelompok, dan tahun. Apabila data yang
bahwa data gagal dimasukkan. Passing grade merupakan suatu nilai minimal
yang harus didapat oleh siswa untuk dapat lulus tes sesuai dengan program
studi yang bersangkutan. Passing grade setiap program studi mempunyai nilai
yang berbeda. Kelompok mempunyai dua nilai yaitu IPA dan IPS. Program
sesuai. List program studi menunjukkan data – data yang berhasil dimasukkan.
74
Data – data yang dimasukkan melalui form input data universitas akan di-
memasukkan ke dalam tabel prodi. Data yang dimasukkan tidak boleh kosong,
apabila data yang dikirimkan tidak valid maka proses input data tersebut
gagal.
Proses peng-editan data dapat dilakukan dengan cara mengganti data yang ada
seperti pada gambar 4.9 dengan data yang baru. Data yang berhasil di-edit
dapat dilihat pada list program studi yang ada, perintah SQL berikut yang
meng-klik link delete pada program studi yang akan dihapus, perintah SQL
Proses input tes masuk dapat dilakukan pada halaman seperti pada
gambar 4.10, data yang harus dimasukkan oleh operator adalah kode tes, nama
76
tes, dan status. Data tes yang dimasukkan adalah semua data tes yang ada baik itu
data tes try out atau tes masuk PTN. Status mempunyai dua nilai yaitu open dan
closed, status open menunjukkan bahwa tes tersebut telah dibuka sehingga akan
ditampilkan ke dalam sistem dan user dapat mengaksesnya tetapi apabila status
closed berarti tes tersebut belum bisa ditampilkan ke dalam sistem dan user belum
bisa mengaksesnya. Status mempuyai nilai default yaitu closed. Hal ini akan
memberikan manfaat yaitu apabila operator belum selesai menambah data soal try
out atau menambah data kunci pada tes masuk PTN maka user tidak bisa
mengakses tes tersebut karena tidak akan ditampilkan ke dalam sistem. Sebelum
memasukkan data tes masuk, sistem akan memeriksa data tersebut. Listing
pada tes yang akan di-edit. Perintah SQL yang digunakan untuk meng-update tes
Proses peng-editan data dapat dilakukan dengan cara mengganti data yang ada
seperti pada gambar 4.11 dengan data yang baru. Data yang berhasil di-edit dapat
Pada saat melakukan proses penghapusan data tes masuk maka akan ada beberapa
data yang akan terhapus juga. Data – data tersebut adalah jenis soal beserta soal
dan kunci jawabannya. Jika tes tersebut adalah try out maka akan menghapus jenis
soal dan isi soalnya sedangkan jika tes tersebut adalah tes masuk PTN maka akan
4.4.2.6. Soal
yang dijumpai adalah halaman yang berisikan list try out. Data try out tersebut
merupakan try out yang akan ditampilkan ke dalam sistem. Pemberian kode tes
untuk try out diawali dengan huruf “ T “ dengan tujuan untuk membedakan
dengan tes masuk PTN. Proses update soal pada tiap jenis try out dapat dilakukan
dengan cara meng-klik link view. Perintah SQL berikut digunakan untuk
Pada tiap try out akan diberikan tiga jenis soal yang berbeda yaitu
kemampuan dasar, kemampuan IPA, dan kemampuan IPS. Di setiap jenis soal
Perintah SQL berikut digunakan untuk menampilkan semua jenis soal try out.
Pada halaman ini operator dapat menambah jenis soal beserta waktu
pengerjaannya.
Proses edit jenis soal dapat dilakukan dengan meng-klik link edit
sehingga akan muncul halaman seperti pada gambar 4.14, untuk melakukan peng-
editan data dapat dilakukan dengan cara mengganti data – data yang sudah ada
delete seperti pada gambar 4.13, tetapi apabila melakukan penghapusan jenis soal
perlu diperhatikan karena saat jenis soal tersebut dihapus maka semua soal yang
Proses input data soal di dalam tiap jenis soal dilakukan di halaman
Operator dapat melakukan input data soal di halaman seperti pada gambar 4.15,
data yang diperlukan untuk membuat sebuah soal try out adalah no soal, isi soal,
lima buah option ( A – E ), dan kunci jawabannya. Soal – soal ini akan
ditampilkan ke dalam sistem dan bisa diakses oleh user. Proses input data akan
sukses jika data yang dimasukkan benar – benar valid, hasil dari input data dapat
dilihat pada list yang terdapat di halaman form untuk input data. Perintah SQL
hasil_penyisipan = stm.executeUpdate(query);
82
Proses edit soal dilakukan dengan cara meng-klik link edit pada soal
Operator akan menjumpai halaman seperti pada gambar 4.16, form edit soal
tersebut digunakan untuk mengubah data yang sudah ada. Data yang lama dapat
diganti dengan yang baru. Pada saat melakukan proses edit data, perintah SQL
halaman bank soal seperti pada gambar 4.15, data yang dipilih dapat dihapus
menjumpai halaman seperti pada gambar 4.17, halaman ini berisikan semua data
tes yang ada. Tes tersebut adalah semua jenis tes masuk PTN beserta kunci
jawabannya dan bukan kunci jawaban dari try out yang dikerjakan oleh user.
Proses update data kunci jawaban dapat dilakukan dengan cara meng-klik link
String sql = "SELECT kd_tes,nama_tes FROM tes WHERE kd_tes NOT LIKE
'T%'";
Perintah SQL tersebut digunakan untuk menampilkan semua jenis tes masuk PTN
yang ada.
84
Setelah operator memilih tes mana yang akan di-update data kunci
jawabannya maka akan dijumpai halaman yang berisikan beberapa jenis soal yang
berbeda, setiap tes masuk mempunyai beberapa jenis soal yang berbeda walaupun
mempunyai nama yang sama. Perbedaan ini ditunjukkan dengan kode soal yang
ada. Operator dapat menambah beberapa jenis soal sesuai dengan jenis soal yang
String query =
"INSERT INTO master_soal (kd_tes,kd_soal,nama_soal)
VALUES ('"+kd_tes+"','"+kode+"','"+jenis+"')";
Link delete digunakan untuk menghapus jenis soal yang ada, pada saat
menghapus jenis soal maka sistem secara otomatis akan menghapus semua kunci
Kunci jawaban tes masuk PTN di-inputkan dengan cara meng-klik link tambah
Proses input data kunci jawaban membutuhkan dua buah data yaitu
nomor soal tersebut dan kunci jawaban. Apabila proses input data gagal maka
sistem akan menampilkan pernyataan yang menunjukkan data gagal disimpan, hal
ini dapat disebabkan pada saat operator menambah data kunci jawaban dengan
Jika operator memasukkan kunci jawaban yang salah, maka kunci jawaban yang
telah dimasukkan dapat dihapus dengan cara meng-klik link delete yang ada.
Kunci jawaban tersebut akan terhapus dari database, sehingga operator dapat
4.4.2.8. User
yang terdaftar. Data – data yang akan dihapus meliputi data user, semua jenis try
out yang diikuti serta semua kunci jawaban yang telah dikirimkan oleh user.
Perintah SQL tersebut digunakan untuk menampilkan semua user yang terdaftar.
Operator atau administrator tidak berhak meng-edit data user, hak yang dipunyai
Pada saat operator menghapus data user, data dari beberapa tabel yang
berhubungan dengan user tersebut akan dihapus secara otomatis oleh sistem,
diantaranya data pribadi user, data partisipasi user mengikuti try out atau cek
jawaban tes masuk PTN meliputi jawaban dan hasilnya. Proses delete user ini
dapat dilakukan sekali dalam kurun waktu satu tahun karena sistem informasi ini
dikhususkan bagi siswa SMA kelas 3 sehingga akan diasumsikan setelah satu
tahun berlalu, user tersebut tidak akan aktif lagi dalam mengakses sistem ini.
pribadinya, data yang dapat dirubah adalah username dan password. Data nama
tidak dapat dirubah karena proses input data operator ini dilakukan oleh
dijumpai oleh user saat user akan mengakses sistem. User harus
tetapi apabila user belum terdaftar sebagai member maka dapat melakukan
hasilQuery = stm.executeQuery(
"SELECT password FROM siswa " +
"WHERE username = '" + pemakai + "'");
89
session.invalidate();
session = request.getSession(true);
session.setAttribute("sesi_user", sesi_user);
session.setAttribute("sesi_pass", sesi_pass);
Setelah proses login sukses maka sesi yang ada sekarang akan dihapus kemudian
menciptakan sesi baru, dan kemudian membentuk dua buah data sesi.
4.4.3.2. Pendaftaran
password, nama, asal sekolah, dan jurusan. Semua data tersebut harus diisi dan
apabila user tidak melengkapi data yang ada maka sistem akan menolak untuk
90
memprosesnya. Username tiap - tiap user tidak diperbolehkan sama maka jika ada
user yang mendaftar dengan username yang sama, sistem akan menolaknya.
Listing tersebut digunakan untuk menyimpan semua data yang di-inputkan oleh
Pernyataan di atas digunakan untuk mengecek username yang diisikan oleh user
member lain maka akan muncul pemberitahuan dan kembali ke form pendaftaran.
Apabila proses validasi yang dilakukan sistem tidak menemui kesalahan dalam
pengisian data maka perintah di atas akan dieksekusi untuk memasukkan data user
berhasil, maka akan ditampilkan halaman index seperti pada gambar 4.22 disertai
dapat melakukan proses login dengan username dan password yang telah ada.
91
dilakukan tidak menemui kesalahan. Halaman home user berisi menu – menu
Try Out, menu Try Out digunakan user untuk mengerjakan soal – soal
Cek Tes, menu cek tes digunakan user untuk melihat hasil tes masuk PTN.
Dataku, menu Dataku berisi semua data pribadi user meliputi username
dan password serta semua data tentang try out yang pernah dilakukan dan
Program Studi, user dapat melihat semua program studi di tiap – tiap PTN
Pada saat user memilih menu Try Out maka halaman seperti pada
gambar 4.25 akan ditampilkan. Daftar try out tersebut adalah semua try out yang
dapat dikerjakan oleh user, untuk mengikuti salah satu try out user dapat meng-
Setelah memilih try out mana yang akan dikerjakan maka user akan
diminta memilih salah satu kelompok try out yang akan diikuti. Kelompok
tersebut ada tiga macam yaitu IPA, IPS, dan IPC. Kelompok tersebut akan
mempengaruhi jenis soal yang akan dikerjakan beserta program studi yang
User akan diminta memasukkan program studi yang akan dipilih, user dapat
mengisi maksimal tiga program studi dan minimal satu program studi. Kelompok
try out yang diikuti user adalah IPA maka semua program studi yang dapat
Halaman seperti pada gambar 4.28 akan dijumpai user setelah user selesai mengisi
Data pilihan program studi yang dimasukkan user akan disimpan ke dalam tabel
Halaman ini digunakan untuk pengecekan apakah data yang dimasukkan sesuai
dengan keinginan user, jika user ingin mengganti pilihan program studinya dapat
Setelah user yakin program studi yang dimasukkan valid maka dapat mengerjakan
soal try out tersebut, karena user memilih kelompok IPA maka user harus
gambar 4.26 akan diakses oleh user. User dapat menjawab setiap pertanyaan
Listing program tersebut digunakan untuk mengatur tampilan soal – soal try out,
soal try out yang akan ditampilkan sesuai yang dipilih user berdasarkan kode tes
dan kode soal. Tiap halaman soal akan memuat lima soal.
97
Semua jawaban user dapat dilihat pada list jawaban yang ada. Perintah SQL yang
pertanyaan saja. Perintah SQL yang digunakan untuk memasukkan jawaban try
Jika user ingin mengganti jawaban soal yang telah dikerjakan dapat meng-klik
link delete pada list jawaban, jawaban lama user akan terhapus dari sistem dan
Setelah user menjawab semua pertanyaan dan menyelesaikan jenis soal tersebut,
user harus mengirim jawaban – jawaban tersebut agar dapat mengetahui hasilnya
Halaman seperti pada gambar 4.31 akan ditampilkan setelah user selesai
mengerjakan soal. Halaman tersebut berisi keterangan nilai dan semua jawaban
yang dijawab oleh user. Nilai try out didapat dari perhitungan bobot nilai benar
Apabila user tidak menjawab soal maka nilai tersebut diberi nilai 0 ( nol )
Perintah SQL yang digunakan untuk menghitung jawaban yang benar, yaitu :
Perintah SQL yang digunakan untuk menghitung jawaban yang salah, yaitu :
User hanya bisa mengerjakan jenis soal di dalam sebuah try out hanya satu kali.
User dapat mengetahui hasil akhir dari try out yang dikerjakan apabila telah
Pada contoh ini adalah kemampuan IPA, setelah user selesai mengerjakan kedua
jenis soal tersebut dapat dilihat dengan meng-klik link cek hasil atau dari menu
dataku. Gambar 4.32 menunjukkan hasil akhir try out yang telah dilakukan user.
Nilai yang terdapat di dalam hasil try out terdiri dari dua macam yaitu nilai IPA
dan nilai IPS sesuai dengan kelompok tes yang diikuti. Tabel 4.1 menunjukkan
Perintah SQL yang digunakan untuk menghitung total nilai IPA jika user
Perintah SQL yang digunakan untuk menghitung total nilai IPS jika user
Jika user mengikuti kelompok tes IPC maka user akan mempunyai dua nilai yaitu
nilai IPA dan nilai IPS. Nilai IPA akan digunakan sebagai nilai untuk
membandingkan dengan passing grade program studi kelompok IPA yang dipilih
101
user sedangkan nilai IPS digunakan sebagai nilai untuk membandingkan dengan
passing grade program studi kelompok IPS. Hasil try out berupa program studi
Halaman cek tes digunakan user untuk mengecek jawaban tes masuk
User harus memilih kelompok tes yang diikutinya, misalkan user memilih IPA.
User harus memasukkan program studi yang dipilihnya di dalam mengikuti tes
masuk PTN, agar sistem dapat memberikan hasil tes dengan tepat.
103
Program studi yang telah dimasukkan tersebut akan ditampilkan seperti pada
gambar 4.36, user dapat melihat apakah data yang diinputkan benar. Apabila user
User dapat memilih jenis soal yang sesuai dengan tes yang diikutinya, user hanya
bisa memasukkan jawaban satu kali pada tiap jenis soal. Misalkan user sudah
104
memasukkan jawaban pada jenis soal kemampuan dasar dengan kode 121, user
tidak dapat memasukkan jawaban pada jenis soal yang sama ( kemampuan dasar )
User dapat meng-inputkan jawaban sesuai dengan nomor soal dan jawaban tes
yang diikuti. Hasil dari inputan user dapat dilihat di dalam list jawaban, setelah
tersebut agar dapat diketahui hasilnya dengan cara meng-klik tombol send. Nilai
yang didapat user akan ditampilkan seperti pada gambar 4.31. Setelah user selesai
meng-inputkan semua jawaban pada jenis soal tes masuk yang diikuti user dapat
mengecek hasilnya pada menu dataku atau dengan meng-klik link cek hasil yang
terdapat pada halaman seperti pada gambar 4.31. Hasil tes user akan ditampilkan
seperti pada gambar 4.32. Proses menghitung nilai tes masuk PTN sama dengan
4.4.3.6. Dataku
Halaman my profile berisi semua data user tersebut, seperti : username, nama, asal
sekolah, dan jurusan. Data nama, asal sekolah dan jurusan tidak dapat di-edit
karena data – data tersebut tidak mungkin berubah sehingga user tidak perlu
fasilitas untuk mengedit. Data yang dapat di-edit adalah username dan password.
Form untuk melakukan proses edit data username tampak pada gambar 4.40
sedangkan gambar 4.41 menunjukkan form untuk melakukan proses edit data
password. User juga dapat melihat semua hasil try out atau hasil tes masuk PTN
Pada saat melakukan proses edit data username, sistem akan melakukan update
data di beberapa tabel. Perintah SQL yang digunakan untuk melakukan edit
username adalah
Pada saat user mengubah password, user harus memasukkan password dua kali
dengan tujuan untuk mencegah apabila user melakukan kesalahan seperti pada
gambar 4.41. Perintah SQL yang digunakan untuk meng-edit password adalah
User dapat melihat semua program studi di semua PTN dengan cara memilih PTN
yang ada seperti pada gambar 4.42 dan melihat semua program studi beserta
Perintah SQL yang digunakan untuk menampilkan semua nama PTN yang ada
adalah
String sql = "SELECT nama_univ,kd_univ FROM universitas";
ANALISIS HASIL
Pengujian Sistem Informasi Try Out Online Ter Masuk Perguruan Tinggi
penyimpanan data dan memenuhi permintaan user. Sistem dapat menerima input
data dari user, administrator, dan operator secara menampilkan output secara
PTN ) dan try out secara detail kepada user sehingga user tidak mengalami
Sistem Informasi Sistem Informasi Try Out Online Tes Masuk Perguruan
web, termasuk try out online dan hasil tes masuk PTN yang diikuti user.
Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri
109
110
user.
3. Sistem mempunyai beberapa soal try out dan siswa hanya bisa
5. Hasil yang ditampilkan tidak hanya satu program studi yang dipilih
user jika nilai total yang didapat memenuhi passing grade program
besar.
Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri
2. Hasil tes masuk PTN yang ditampilkan hanya berdasarkan passing grade
dan total nilai user sehingga belum memberikan hasil secara tepat.
111
Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri
merupakan pengembangan dari sistem try out yang menggunakan Lembar Jawab
Komputer ( LJK ) sehingga di masa depan sistem ini dapat terus untuk
dikembangkan sebagai pengganti model try out sekarang, bahkan sistem ini dapat
digunakan pada masa sekarang. Prospek tersebut dapat tercapai jika didukung
sumber daya yang ada baik hardware, software, dan brainware ( pengguna ).
BAB VI
PENUTUP
6.1 Kesimpulan
a. Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri
berbasis web secara umum dapat berfungsi dengan baik sehingga tidak
b. Sistem informasi ini mempunyai beberapa kemampuan yaitu try out secara
online dengan bentuk yang sama seperti pada try out yang menggunakan
cepat, dan memberikan hasil tes masuk PTN yang diikuti user.
6.2 Saran
Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri
perlu ditambahkan suatu fasilitas untuk menampilkan soal dalam bentuk gambar (
112
DAFTAR PUSTAKA
Betha Sidik, Ir, Pohan, Husni Iskandar, Ir., M.Eng., Pemrograman WEB
Yogyakarta, 1995.
Yogyakarta, 2004.
Sano, Alb. V. Dian, 24 Jam Menguasai HTML, JSP dan MySQL, Penerbit
113
LAMPIRAN
114
115
try { else if
((password.equals(data_password)) &&
Class.forName("com.mysql.jdbc.Driver"); (status.equals("operator"))){
} password_cocok = true; }
catch (Exception ex) { }
ada_kesalahan = true; }
} }
return(password_cocok);
if (!ada_kesalahan) { }
117
<% response.sendRedirect("menu_super.j
//String kd_univ = sp?msg="+msg);
request.getParameter("kode"); }
String msg = "";
boolean ada_kesalahan = false; else {
try{ if(username.equals("") ||
Class.forName("com.mysql.jdbc.Dri password.equals("") || nama.equals("") )
ver"); {
} msg = "Data tidak lengkap .... ";
catch (Exception ex){
out.println("Kesalahan: }
"+ex); else if(!pass.equals(pass2)) {
ada_kesalahan = true; msg = "Password tidak
} cocok. Silahkan ulangi....";
if(!ada_kesalahan){
Connection koneksi = null; }
try { else{
koneksi = try{
DriverManager.getConnection( String query =
"INSERT INTO
login(username,password,nama,status)
"jdbc:mysql://localhost/prediksi","ro VALUES
ot",""); ('"+username+"','"+pass+"','"+nama+"','"+stat
out.println(""); +"')";
}
catch(Exception ex){ hasil_penyisipan =
out.println("Kesalahan: stm.executeUpdate(query);
"+ex);
} }
int hasil_penyisipan = 0;
if(!ada_kesalahan){ catch(Exception ex) {
String username = ada_kesalahan = true;
request.getParameter("username"); }
if(username==""){ }
} if(hasil_penyisipan > 0){
msg = "Pendaftaran
String nama = berhasil....";
request.getParameter("nama");
String pass = response.sendRedirect("menu_super.j
request.getParameter("password"); sp?msg="+msg);
String pass2 = }
request.getParameter("password2");
String stat = else {
request.getParameter("status"); ada_kesalahan = true; }
Statement stm = }
koneksi.createStatement(); }
}
if(ada_kesalahan){
118
response.sendRedirect("menu_super.j if(!ada_kesalahan){
sp?msg="+msg); Connection koneksi = null;
} try {
%> koneksi =
DriverManager.getConnection(
Del_admin.jsp
<%
String nama = "jdbc:mysql://localhost/prediksi","ro
request.getParameter("username"); ot","");
String sql = "DELETE FROM login out.println("");
WHERE username = '"+nama+"'"; }
catch(Exception ex){
try{ out.println("Kesalahan:
Class.forName("com.mysql.jdbc.Dri "+ex);
ver"); }
} int hasil_penyisipan = 0;
catch (Exception ex){ if(!ada_kesalahan){
out.println("Kesalahan: String kode =
"+ex); request.getParameter("kode");
//ada_kesalahan = true; if(kode==""){
} }
Connection koneksi =
DriverManager.getConnection( String nama =
request.getParameter("nama");
String alamat =
"jdbc:mysql://localhost/prediksi","ro request.getParameter("alamat");
ot",""); String telepon =
Statement stm = request.getParameter("telepon");
koneksi.createStatement();
stm.executeUpdate(sql); if(kode.equals("") || nama.equals("") ||
stm.close(); alamat.equals("") || telepon.equals(""))
koneksi.close(); {
%> String msg = "Data yang diisikan tidak
lengkap";
Add_univ.jsp ada_kesalahan = true;
<%@ page import = "java.sql.*" %> }
<%@ include file = "segarkan.jsp" %> else{
<%@ include file = "validasi.jsp" %> try{
Statement stm =
<% koneksi.createStatement();
String jum = String query = "INSERT INTO
request.getParameter("offset"); universitas
int offset = (kd_univ,nama_univ,alamat,telepon)
Integer.valueOf(jum).intValue(); VALUES
boolean ada_kesalahan = false; ('"+kode+"','"+nama+"','"+alamat+"','"+telepo
try{ n+"')";
Class.forName("com.mysql.jdbc.Dri
ver"); hasil_penyisipan =
} stm.executeUpdate(query);
catch (Exception ex){ }
out.println("Kesalahan:
"+ex); catch(Exception ex) {
119
ada_kesalahan = true;
}
} "jdbc:mysql://localhost/prediksi","ro
if(hasil_penyisipan > 0) { ot","");
out.println("");
String msg = "Data telah }
dimasukkan"; catch(Exception ex){
out.println("Kesalahan:
response.sendRedirect("menu_univer "+ex);
sitas.jsp?msg=" +msg+"&offset="+offset); }
} int hasil_penyisipan = 0;
else { if(!ada_kesalahan){
ada_kesalahan = true; } String kode_prodi =
} request.getParameter("kode_prodi");
} if(kode_prodi==""){
if(ada_kesalahan){ }
String msg = "Data gagal dimasukkan....";
response.sendRedirect("menu_univer String nama =
sitas.jsp?msg=" +msg+"&offset="+offset); request.getParameter("nama");
} String passing =
%> request.getParameter("passing");
String kelompok =
Add_prodi.jsp request.getParameter("kelompok");
<%@ page import = "java.sql.*" %> String tahun =
<%@ include file = "segarkan.jsp" %> request.getParameter("tahun");
<%@ include file = "validasi.jsp" %>
if( kelompok.equals("0"))
{
String msg = "Anda lupa memasukkan
<% kelompok";
String jum = }
request.getParameter("offset"); else{
int offset = try{
Integer.valueOf(jum).intValue(); Connection koneksi =
String kd_univ = DriverManager.getConnection(
request.getParameter("kd_univ");
hasil_penyisipan =
stm.executeUpdate(query);
}
<%
boolean ada_kesalahan = false; catch(Exception ex) {
try{ ada_kesalahan = true;
Class.forName("com.mysql.jdbc.Dri }
ver"); }
} if(hasil_penyisipan > 0) {
catch (Exception ex){ String msg = "Data telah
out.println("Kesalahan: dimasukkan";
"+ex);
ada_kesalahan = true; response.sendRedirect("menu_view_tes.jsp?m
} sg=" +msg); }
else {
if(!ada_kesalahan){ ada_kesalahan = true; }
Connection koneksi = null; }
try { }
koneksi = if(ada_kesalahan){
DriverManager.getConnection( String msg = "Data gagal
dimasukkan";
"jdbc:mysql://localhost/prediksi","ro response.sendRedirect("menu_view_t
ot",""); es.jsp?msg=" +msg);
out.println(""); }
} %>
catch(Exception ex){
out.println("Kesalahan: Add_jsnis_soal.jsp
"+ex); <%@ page import = "java.sql.*" %>
} <%@ include file = "segarkan.jsp" %>
121
Statement stm =
koneksi.createStatement();
<% String query =
String kd_tes = "INSERT INTO master_soal
request.getParameter("kd_tes"); (kd_tes,kd_soal,nama_soal) VALUES
boolean ada_kesalahan = false; ('"+kd_tes+"','"+kode+"','"+jenis+"')";
try{
Class.forName("com.mysql.jdbc.Dri hasil_penyisipan =
ver"); stm.executeUpdate(query);
} }
catch (Exception ex){
out.println("Kesalahan: catch(Exception ex) {
"+ex); ada_kesalahan = true;
ada_kesalahan = true; }
} }
if(hasil_penyisipan > 0) {
if(!ada_kesalahan){ String msg = "Data berhasil
//Connection koneksi = null; disimpan....";
try {
Connection response.sendRedirect("menu_jenis.jsp?kd_te
koneksi = DriverManager.getConnection( s="+kd_tes+"&msg="+msg); }
else {
"jdbc:mysql://localhost/prediksi","ro ada_kesalahan = true; }
ot",""); }
out.println(""); }
} if(ada_kesalahan)
catch(Exception ex){ out.print("Gagal menyimpan");
out.println("Kesalahan: %>
"+ex);
} Save_univ.jsp
int hasil_penyisipan = 0; <%@ page import="java.sql.*" %>
if(!ada_kesalahan){ <%@ include file = "segarkan.jsp" %>
String kode = <%@ include file = "validasi.jsp" %>
request.getParameter("kode_soal");
if(kode==""){ <%
} String kd_univ =
request.getParameter("kode");
String jenis = String nama_univ =
request.getParameter("jenis_soal"); request.getParameter("nama");
if(kode.equals("") || jenis.equals("")) String alamat =
{ request.getParameter("alamat");
String msg = "Data tidak lengkap..."; String telepon =
request.getParameter("telepon");
response.sendRedirect("menu_jenis.j String jum =
sp?kd_tes="+kd_tes+"&msg=" +msg ); request.getParameter("offset");
} int offset =
else{ Integer.valueOf(jum).intValue();
try{
Connection koneksi = String sql = "UPDATE universitas
DriverManager.getConnection( SET kd_univ ='"+kd_univ+"', nama_univ
='"+nama_univ+"',alamat =
"jdbc:mysql://localhost/prediksi","ro '"+alamat+"',telepon = '"+telepon+"' WHERE
ot",""); kd_univ='"+kd_univ+"'";
122
'"+kd_univ+"' WHERE
try{ kd_prodi='"+kd_prodi+"'";
Class.forName("com.mysql.jdbc.Dri
ver"); try{
} Class.forName("com.mysql.jdbc.Dri
catch (Exception ex){ ver");
out.println("Kesalahan: }
"+ex); catch (Exception ex){
//ada_kesalahan = true; out.println("Kesalahan:
} "+ex);
Connection koneksi = //ada_kesalahan = true;
DriverManager.getConnection( }
Connection koneksi =
"jdbc:mysql://localhost/prediksi","ro DriverManager.getConnection(
ot","");
Statement stm = "jdbc:mysql://localhost/prediksi","ro
koneksi.createStatement(); ot","");
stm.executeUpdate(sql); Statement stm =
koneksi.createStatement();
response.sendRedirect("menu_univer stm.executeUpdate(sql);
sitas.jsp?offset="+offset);
stm.close(); response.sendRedirect("menu_view_
koneksi.close(); prodi.jsp?kd_univ="+kd_univ+"&offset="+of
fset);
%> stm.close();
koneksi.close();
Save_prodi.jsp %>
<%@ page import="java.sql.*" %>
<%@ include file = "segarkan.jsp" %> Save_tes.jsp
<%@ include file = "validasi.jsp" %> <%@ page import="java.sql.*" %>
<%@ include file = "segarkan.jsp" %>
<% <%@ include file = "validasi.jsp" %>
String kd_prodi =
request.getParameter("kode_prodi"); <%
String nama = String kd_tes =
request.getParameter("nama"); request.getParameter("kode_tes");
String passing = String nama_tes =
request.getParameter("passing"); request.getParameter("nama_tes");
String kelompok = String stat =
request.getParameter("kelompok2"); request.getParameter("status");
String tahun =
request.getParameter("tahun"); String sql = "UPDATE tes SET
String kd_univ = kd_tes='"+kd_tes+"',
request.getParameter("kd_univ"); nama_tes='"+nama_tes+"',status='"+stat+"'
String jum = WHERE kd_tes='"+kd_tes+"'";
request.getParameter("offset");
int offset = try{
Integer.valueOf(jum).intValue(); Class.forName("com.mysql.jdbc.Dri
ver");
String sql = "UPDATE prodi SET }
kd_prodi ='"+kd_prodi+"', nama_prodi catch (Exception ex){
='"+nama+"',passing_grade = out.println("Kesalahan:
'"+passing+"',kelompok = "+ex);
'"+kelompok+"',tahun = '"+tahun+"',kd_univ = //ada_kesalahan = true;
}
123
Add_siswa.jsp if(hasil.next()) {
<%@ page import = "java.sql.*" %> msg =
"Username sudah ada. Silahkan cari yang lain
<% !";
String msg = "";
boolean ada_kesalahan = false; response.sendRedirect("menu_daftar.
try{ jsp?msg="+msg);
Class.forName("com.mysql.jdbc.Dri }
ver");
}
catch (Exception ex){ else {
out.println("Kesalahan:
"+ex); if( username.equals("") || pass.equals("") ||
ada_kesalahan = true; nama.equals("") || sekolah.equals("") ||
} jurusan.equals("0"))
{
if(!ada_kesalahan){ msg = "Data yang diisikan tidak
Connection koneksi = null; lengkap";
try {
koneksi = response.sendRedirect("menu_daftar.
DriverManager.getConnection( jsp?msg=" +msg);
}
else if(!pass.equals(pass2)){
"jdbc:mysql://localhost/prediksi","ro msg = "Password
ot",""); tidak cocok...Silahkan ulangi lagi!!";
out.println("");
} response.sendRedirect("menu_daftar.
catch(Exception ex){ jsp?msg="+msg);
out.println("Kesalahan: }
"+ex); else{
} try{
int hasil_penyisipan = 0; // Statement stm =
if(!ada_kesalahan){ koneksi.createStatement();
String username = String query = "INSERT INTO
request.getParameter("username"); siswa
if(username==""){ (username,password,nama,asal_sekolah,jurusa
} n) VALUES
String pass = ('"+username+"','"+pass+"','"+nama+"','"+seko
request.getParameter("password"); lah+"','"+jurusan+"')";
String pass2 =
request.getParameter("password2");
124
response.sendRedirect("index.jsp?ms "jdbc:mysql://localhost/prediksi","ro
g="+msg); ot","");
} Statement stm =
koneksi.createStatement();
else{ ResultSet rs =
ada_kesalahan = true; stm.executeQuery(sql);
rs.next();
} String benar =
} rs.getString("benar");
} int nilai_benar =
} Integer.valueOf(benar).intValue();
else{ int jwbn_benar =
msg = "Gagal menyimpan"; nilai_benar/4;
String salah =
rs2.getString("salah");
int nilai_salah = //"jdbc:mysql://localhost/prediksi","r
Integer.valueOf(salah).intValue(); oot","");
int jwbn_salah = Statement kon2 =
nilai_salah*(-1); koneksi.createStatement();
ResultSet res2 =
String sql3 = "SELECT count(j.no_soal)*0 kon2.executeQuery(cek2);
kosong FROM jawaban j,soal s WHERE res2.next();
j.username = '"+pemakai+"' and s.no_soal = String nama_tes =
j.no_soal and j.jawaban='' and s.kd_soal = res2.getString("nama_tes");
'"+kd_soal+"' and j.kd_soal = '"+kd_soal+"'";
try{ String sql4 = "INSERT INTO hasil_user
Class.forName("com.mysql.jdbc.Dri (username,kd_tes,kd_soal,skor,jwb_bnr,jwb_s
ver"); lh,jwb_kosong) VALUES (
} '"+pemakai+"','"+kd_tes+"','"+kd_soal+"','"+to
catch (Exception ex){ tal+"','"+jwbn_benar+"','"+jwbn_salah+"','"+j
out.println("Kesalahan: wbn_kosong+"')";
"+ex); try{
//ada_kesalahan = true; Class.forName("com.mysql.jdbc.Dri
} ver");
//koneksi = }
DriverManager.getConnection( catch (Exception ex){
out.print("ok");
//ada_kesalahan = true;
//"jdbc:mysql://localhost/prediksi","r }
oot",""); //koneksi =
Statement stm3= DriverManager.getConnection(
koneksi.createStatement();
ResultSet rs3 =
stm3.executeQuery(sql3); //"jdbc:mysql://localhost/prediksi","r
rs3.next(); oot","");
String kosong = Statement stm4 = koneksi.createStatement();
rs3.getString("kosong"); int hasil = 0;
int nilai_kosong = hasil = stm4.executeUpdate(sql4);
Integer.valueOf(kosong).intValue(); response.sendRedirect("menu_view_l
int jwbn_kosong = at.jsp?kd_tes="+kd_tes+"&kd_soal="+kd_soa
nilai_kosong; l);
int total = %>
nilai_benar+nilai_salah+nilai_kosong;