i
TES MASUK PERGURUAN TINGGI NEGERI
(
Studi Kasus di Lembaga Pendidikan Primagama Yogyakarta)
SKRIPSI
Ditujukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
Disusun Oleh: Nama : Hendro Wibowo
NIM : 035314016
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
INFORMATION SYSTEM
( Case Study in Institute of Education of PrimagamaYogyakarta )
Final Assignment
Presented as partial fulfillment of the requirements to obtain the sarjana teknik degree
in department of informatics engineering
Created by : Name : Hendro Wibowo
NIM : 035314016
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
v
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 dengan jelas sebagai acuan.
Yogyakarta, Desember 2007
vi
Karya ini kupersembahkan untuk :
Kedua orang tuaku yang telah membesarkan dan mendidik aku
serta adik tercinta
Teman â teman TI Sanata Dharma angkatan 2003
Teman â teman semua yang telah membantu sampai sejauh ini
vii
Rencanakan pekerjaanmu kemudian kerjakanlah itu.
( Plan your work and work your plan. )
Hidup bagaikan permainan catur. Hadapi masalah, taklukkan rasa takut, dan
menang ketika kesempatan itu datang.
( The game of life is lot like chess. You have to tackle your problems, block your fears,
viii
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 pengecekan jawaban tes masuk PTN.
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 program studi yang telah dipilih oleh siswa.
Metodologi pengembangan perangkat lunak secara terstruktur digunakan untuk pembuatan sistem informasi ini, sedangkan Java Server Pages ( JSP ) digunakan sebagai bahasa pemrogramannya dan MySQL sebagai databasenya.
ix
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 selected by the student.
Structure methodology of software Development used for the making of this information system, while Java Server Pages ( JSP ) used as a programming language and MySQL as a database.
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 weakness not yet earned to present the question in an image.
x
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini. Laporan ini ditulis dalam rangka pemenuhan Tugas Akhir sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik, pada Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.
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, petunjuk, kerjasama, kritikan, maupun saran, antara lain kepada:
1. Bapak Ir. Greg. Heliarko SJ., SS., BST., M.A., M.Sc., selaku dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
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 pengembangan sistem ini.
3. Bapak Alb. Agung Hadhiatma, S.T.,M.Sc. dan bapak St. Wisnu Wijaya, S.T.,M.T. selaku dosen penguji.
4. Ibu Ridowati Gunawan, S.Kom., M.T. selaku Dosen Pembimbing Akademik
xi
dan dorongan kepada penulis untuk dapat menyelesaikan penulisan laporan tugas akhir ini.
7. Teman â teman mahasiswa Teknik Informatika Universitas Sanata Dharma 2003 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. Terima kasih semuanya !!!!
8. Teman â teman English Extension Course : Bagus, Pinto, Dian, Ifa, Ditto, Siska dan semua yang pernah jadi partner di kelas speaking.
Terima kasih semuanyaâ¦.walau baru kenal dua semester !!!
9. Teman â teman seveners yang selalu memberi semangat : Aesh, Aanx, Ema, Anita, Asmi, Widya, Irfan, Ditto.
Terima kasih semuanya !!!!
10.Bapak, Ibu, Mbak dan Mas bagian sekretariat Teknik dan laboratorium Teknik yang telah banyak membantu.
xii
informasi dan wawasan kepada pembaca. Meskipun masih jauh dari sempurna, dengan hati terbuka penulis bersedia menerima kritik dan saran guna kesempurnaan penulisan skripsi ini dimasa yang akan datang.
Yogyakarta, Desember 2007
xiii
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
1.1Latar Belakang...1
1.2Rumusan Masalah...2
1.3Batasan Masalah...2
1.4Tujuan Penelitian...3
1.5Metode Penelitian...3
1.6Sistematika Penulisan...4
BAB II DASAR TEORI...6
2.1Sistem, Informasi, dan Sistem Informasi...6
xiv
2.1.3Sistem Informasi...7
2.2Aplikasi Web...8
2.3Tes Masuk Perguruan Tinggi Negeri...11
2.4Use Case Diagram...11
2.4.1Actor...12
2.4.2Use Case...12
2.4.3Hubungan ( Relationship ) ...12
2.5Data Flow Diagram ( DFD ) ...13
2.6Pemodelan Data...14
2.6.1Entitas ( Entity ) ...15
2.6.2Atribut ( attribute ) ...15
2.6.3Hubungan ( relationship ) ...16
2.7Dasar â dasar HTML...17
2.8Java Server Pages ( JSP ) ...18
2.8.1Pengantar JSP...18
2.8.2Arsitektur JSP...19
2.8.3Kode Sumber JSP...20
2.8.4Ekspresi JSP...21
2.8.5Direktif JSP...21
2.8.6Tag Deklaratif...22
2.8.7Statement...22
2.8.7.1Statement Kondisional...23
xv
2.8.7.2Loop...24
2.8.7.2.1While Loop...24
2.8.7.2.2Do ⦠while...24
2.8.7.2.3For Loop...24
2.8.8 Penanganan Eksepsi...25
2.8.9 Cookie...26
2.8.10 Sesi...26
2.9MySQL...27
2.9.1 Pengantar SQL...27
2.9.2 Tipe Data MySQL...28
2.9.3 Query MySQL...29
2.10 Koneksi JSP â MySQL...31
2.11 Tomcat...32
BAB III ANALISIS DAN PERANCANGAN SISTEM...33
3.1Analisis Sistem...33
3.1.1 Gambaran Sistem Lama...33
3.1.2 Gambaran Sistem Baru...34
3.1.3 Orang yang terlibat dalam Sistem...34
3.1.4 Requirement Analysis...35
3.1.5 Process Modelling...36
3.1.5.1Context Diagram...36
3.1.5.2Diagram Berjenjang...37
xvi
3.2Desain Sistem...45
3.2.1 Desain Database...45
3.2.2 Relasi Antar Tabelâ¦â¦â¦..48
3.2.3 Desain User Interface...49
3.2.3.1 Login Administrator dan Operator...49
3.2.3.2 Pendaftaran Administrator dan Operator...49
3.2.3.3 Universitas...50
3.2.3.4 Program Studi...50
3.2.3.5 Tes...51
3.2.3.6 Soal...51
3.2.3.7 Kunci Jawaban...52
3.2.3.8 Edit Profile Operator...52
3.2.3.9 Login Siswa...53
3.2.3.10 Pendaftaran Siswa...53
3.2.3.11 Home Siswa...54
3.2.3.12 Try Out...54
3.2.3.13 Cek Jawaban Tes Masuk PTN...55
3.2.4 Desain Sistem Navigasi...56
3.2.4.1 Administrator dan Operator...56
3.2.4.2 Siswa...56
BAB IV IMPLEMENTASI SISTEMâ¦â¦â¦.57
4.1Karakteristik Sistem...57
xvii
4.2.2Pembuatan Tabel...58
4.3Koneksi Database...62
4.4User Interface Sistem...63
4.4.1Administrator...63
4.4.1.1 Login Administrator...63
4.4.1.2 Home Administrator...65
4.4.2Operator...67
4.4.2.1 Login Operator...67
4.4.2.2 Home Operator...68
4.4.2.3 Universitas...69
4.4.2.4 Program Studi...72
4.4.2.5 Tes Masuk...75
4.4.2.6 Soal...78
4.4.2.7 Kunci Jawaban...83
4.4.2.8 User...86
4.4.2.1 Edit Profile...87
4.4.3 User Siswa...88
4.4.3.1 Index User...88
4.4.3.2 Pendaftaran...89
4.4.3.3 Home User...91
4.4.3.4 Try Out...92
4.4.3.5 Cek Tesâ¦...101
xviii
BAB V ANALISIS HASIL...109
5.1Hasil Pengujian Sistem...109
5.2Kelebihan Sistem...109
5.3Kelemahan Sistem...110
5.4Prospek Pengembangan Sistem...111
BAB VI PENUTUP...112
6.1Kesimpulan...112
6.2Saran...112
DAFTAR PUSTAKA...113
xix
Gambar Keterangan Halaman
2.1 Siklus Informasi 7
2.2 Actor 12
2.3 Use Case 12
2.4 Simbol Proses menurut Gane dan Sarson 13
2.5 Simbol dari arus data 13
2.6 Simbol kesatuan luar menurut Gane dan Sarson 14 2.7 Simbol penyimpanan data menurut Gane dan Sarson 14
2.8 Simbol Entitas 15
2.9 Simbol Atribut 15
3.1 Use Case Diagram 35
3.2 Context Diagram 36
3.3 Diagram Berjenjang 37
3.4 DFD Level 0 38
3.5 DFD Level 1 Proses 1 39
3.6 DFD Level 1 proses 2 39
3.7 DFD Level 1 proses 3 40
3.8 DFD Level 1 proses 4 40
3.9 DFD Level 1 proses 5 41
3.10 DFD Level 1 proses 6 41
3.11 DFD Level 1 proses 7 42
3.12 E â R Diagram 43
3.13 Relasi Antar Tabel 48
3.14 Login Administrator dan Operator 49
3.15 Form Pendaftaran Administrator dan Operator 49
3.16 Form Input Universitas 50
3.17 Form Input Program Studi 50
3.18 Form Input Tes 51
xx
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
xxi
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
xxii
Tabel Keterangan Halaman
2.1 Kelompok tes dan kelompok program studi 11
2.2 Tag â tag HTML 18
3.1 Tabel Process Modelling 36
3.2 Tabel universitas 44
3.3 Tabel prodi 44
3.4 Tabel tes 45
3.5 Tabel siswa 45
3.6 Tabel siswa_tes 45
3.7 Tabel master_soal 46
3.8 Tabel soal 46
3.9 Tabel kunci 46
3.10 Tabel jawaban 47
3.11 Tabel hasil_user 47
3.12 Tabel login 47
1.1Latar Belakang
Proses penerimaan mahasiswa baru di Perguruan Tinggi Negeri ( PTN ) di Indonesia menggunakan dua jalur, yaitu :
1. Jalur khusus, melalui penilaian prestasi akademik siswa di Sekolah Menengah Atas, prestasi olah raga.
2. Jalur reguler, melalui tes tertulis, seperti : Seleksi Penerimaan Mahasiswa Baru ( SPMB ), Ujian Masuk Universitas Gajah Mada ( UM UGM ).
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 menghadapi tes masuk PTN.
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 diperoleh mempunyai peluang diterima di program studi yang dipilih.
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 dibuat dengan mengambil studi kasus di lembaga pendidikan Primagama Yogyakarta.
1.2Rumusan Masalah
Dari latar belakang tersebut di atas maka rumusan masalah adalah sebagai berikut : Bagaimana mengembangkan sebuah Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri yang berbasis web ?
1.3Batasan Masalah
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 menangani soal yang bertipe essay ).
2. Sistem informasi ini memberikan informasi tes masuk PTN jalur reguler, tidak termasuk jalur prestasi.
3. Hasil yang ditampilkan sistem ini berupa diterima atau tidaknya calon mahasiswa di PTN yang dipilih hanya berdasarkan passing grade yang ada dengan total nilai siswa.
menggunakan MySQL sebagai databasenya.
1.4Tujuan Penelitian
Tujuan penelitian ini adalah :
1. Memberi kemudahan siswa untuk mengecek jawaban tes masuk PTN, menghitung nilai totalnya dan melihat hasilnya.
2. Mengembangkan sebuah sistem try out online Tes Masuk Perguruan Tinggi Negeri ke dalam suatu sistem informasi yang berbasis web.
1.5Metode Penelitian
Metode penelitian yang digunakan penulis dalam penyusunan laporan Tugas Akhir ini dengan melakukan studi kasus serta menerapkan beberapa metode pengambilan data, antara lain :
1. Studi pustaka tentang Java Server Pages serta MySQL sebagai databasenya. 2. Melakukan survey dan wawancara langsung dengan pihak Primagama.
3. Mengembangkan sistem dengan metode pengembangan perangkat lunak secara terstruktur :
a. Analisis dan perancangan sistem
Mendapatkan data â data yang diperlukan selama melakukan penelitian.
Menganalisis data â data yang diperlukan untuk pengembangan sistem.
menyimpan data.
Membuat desain user interface sistem informasi yang akan dibuat. b. Implementasi sistem
Mengimplementasikan rancangan â rancangan yang sudah ada ke dalam sebuah sistem informasi.
1.6Sistematika Penulisan
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 dicapai, metode penelitian yang dipakai untuk mendapatkan data yang diperlukan dan sistematika penulisan laporan.
Bab II Landasan Teori
Bab ini berisi tentang landasan teori yang menjadi permasalahan yang akan dibahas serta perangkat lunak yang akan digunakan untuk membangun Sistem Informasi ini.
Bab III Analisis dan Perancangan Sistem
Bab ini berisi tentang implementasi program berdasarkan rancangan â rancangan yang telah dibuat pada bab sebelumnya.
Bab V Analisis Hasil
Bab ini berisi tentang analisis hasil yang menyangkut kelebihan dan kekurangan sistem informasi yang telah dibuat oleh penulis.
Bab VI Penutup
2.1Sistem, Informasi, dan Sistem Informasi 2.1.1Sistem
Menurut Raymond Mc Leod, Jr ( 1995 ) sistem merupakan sekelompok elemen â elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Pendapat ini juga didukung oleh Jogiyanto, H.M dalam bukunya Pengenalan Komputer ( 1995 ) yang mengatakan bahwa sistem adalah suatu jaringan kerja dari prosedur yang saling berhubungan bersama â sama untuk melakukan suatu kegiatan atau menyelesaikan tujuan tertentu.
2.1.2Informasi
Informasi bersumber dari data akurat yang merupakan gambaran dari kenyataan pada saat tertentu. Data yang ada kemudian diolah melalui suatu model tertentu sehingga akan menghasilkan suatu informasi. Informasi yang dihasilkan dapat untuk mendukung pengambilan keputusan dan melakukan tindakan selanjutnya yang akan menghasilkan sejumlah data sebagai masukan ( input ), kemudian diproses lagi dan demikian seterusnya sehingga akan membentuk suatu siklus. Siklus ini oleh John Burch disebut dengan Siklus Informasi ( Information Cycle ).
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, diperlukan suatu informasi pendukung yang berkualitas dan bernilai. Nilai informasi ditentukan oleh dua hal, yaitu manfaat dan biaya mendapatkannya. Informasi tidak dapat ditaksir keuntungannya dengan materi, tetapi dapat ditaksir nilai efektifitasnya.
2.1.3Sistem Informasi
Adalah kegiatan dari prosedur â prosedur yang mempunyai tujuan yang sama dan apabila dijalankan akan menyediakan informasi. Menurut Whitten, Sistem Informasi adalah sekumpulan orang, data, proses, interface dan geografi yang terintegrasi untuk mendukung dan meningkatkan operasional bisnis hari ke
Hasil-hasil Tindakan
Keputusan Tindakan Input Data
Data (Ditangkap )
Penerima Output
Data Basis
hari, sedemikian rupa sehingga dapat menyelesaikan masalah dan memberikan informasi yang mendukung pengambilan keputusan.
Informasi yang benar harus sudah dapat dihasilkan pada waktu yang tepat untuk mendukung pengambilan keputusan yang dilakukan pimpinan pada suatu organisasi. Sistem informasi yang ada harus mempunyai sifat efisien, efektif, dan fleksibel serta dapat memberikan keputusan terhadap pemakai sistem. Sistem informasi merupakan sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil keputusan untuk mengendalikan organisasi. Oleh sebab itu, informasi sangatlah dibutuhkan untuk membangun suatu sistem yang dapat berjalan sesuai dengan tujuan dari perusahaan, yaitu keuntungan yang maksimal dan optimal.
Arsitektur sistem informasi menyediakan sebuah kerangka untuk menyatukan berbagai pandangan ( perspektif ) user yang berbeda untuk dapat mengorganisasikan dan melihat building blok sistem informasi.
2.2Aplikasi Web
Aplikasi web adalah suatu aplikasi yang dapat membentuk halaman â halaman web berdasarkan permintaan user. Berbagai contoh aplikasi web :
Mesin pencari atau search engine ( altavista, google, dll ) Situs â situs berita ( detikcom, cnn, dll )
Layanan akademis
Laboratorium Eropa untuk Particle Physics, membentuk suatu sistem yang memungkinkan para ahli riset dapat mengakses dengan cepat dari komputer mereka ke dokumen yang ingin diakses juga informasi yang dibuat oleh rekan kerjanya. Dokumen diakses dan ditampilkan melalui browser, sebuah aplikasi perangkat lunak sederhana yang dijalankan pada komputer client. Dengan browser, pengguna dapat meminta halaman web dari komputer yang lain yang berada dalam satu jaringan dan menampilkannya pada layar. Untuk menampilkan dokumen, pengguna dapat menggunakan browser yang dimasukkan nama host dari komputernya, kemudian dimasukkan nama dokumennya, sehingga dapat ditampilkan dokumen tersebut. Browser mengirimkan dokumen yang diminta ke 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 pada port 80 ). Browser mengirimkan format permintaan khusus untuk sebuah dokumen ( web page ) pada web server melalui network port ini. Web server menerima request, menemukan dokumen pada sistem local, dan mengirimkan dokumen tersebut pada browser.
Aplikasi web berdasarkan kebutuhannya dibedakan menajdi tiga kategori, yaitu ( Restyandito, 2002 ) :
a. Internet Web Site
Digunakan jika pengembangan aplikasi situs akan dibuat untuk umum, dimana setiap orang boleh untuk mengakses situs ini dan akan mengetahui apa yang terdapat dan bagaimana aplikasi tersebut bekerja.
b. Intranet Site
Dipakai hanya untuk kepentingan dalam suatu organisasi, dimana sistem yang dikembangkan hanya boleh diakses dari lingkungan organisasi tersebut.
c. Extranet
2.3Tes Masuk Perguruan Tinggi Negeri
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 program studi yang sesuai.
Kelompok
TES PROGRAM STUDI
IPA IPS IPC
IPA IPS 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 studi yang harus dipilih.
2.4Use Case Diagram
2.4.1.Actor
Representasi pemakai sistem ( manusia atau sistem yang lain ). Seseorang atau sesuatu yang harus berinteraksi dengan sistem. Peranan yang dimainkan user saat melakukan interaksi dengan sistem. Misal : Proses peminjaman di bank melibatkan customer dan loan officer.
user
Gambar 2.2 Actor
2.4.2.Use case
Representasi fungsionalitas atau layanan yang diberikan sistem kepada 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 )
2.5Data Flow Diagram ( DFD )
Data Flow Diagram merupakan sebuah model proses yang digunakan untuk mengambarkan aliran dari data yang melalui sebuah sistem dan proses yang dibentuk oleh sistem ( Whitten, J.L, 2004 ).
DFD terdiri dari 4 buah simbol yaitu : 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 menurut Gane dan Sarson :
Gambar 2.4 Simbol Proses menurut Gane dan Sarson
2. Arus data ( Data Flow )
Arus data adalah data sebagai masukan ke proses atau keluaran dari sebuah proses.
Gambar 2.4 merupakan simbol dari arus data :
Gambar 2.5 Simbol dari arus data
Arus data adalah data yang bergerak. Arus data juga digunakan untuk mewakili creation, reading, deleting, atau updating dari data dalam file atau database ( disebut datastore atau penyimpanan data ).
Nama Proses
3. Kesatuan Luar ( External Agent ).
Kesatuan luar adalah orang, unit organisasi, sistem atau organisasi luar yang berinteraksi dengan sistem. Disebut juga dengan external entity. Gambar 2.5 merupakan simbol kesatuan luar menurut Gane dan Sarson :
Gambar 2.6 Simbol kesatuan luar menurut Gane dan Sarson 4. Penyimpanan data ( Data Store )
Penyimpanan data digunakan untuk menyimpan data hasil proses maupun menyediakan data untuk diproses. Sinonim dengan file dan database. Gambar 2.6 merupakan simbol penyimpanan data menurut Gane dan Sarson
Gambar 2.7 Simbol penyimpanan data menurut Gane dan Sarson
2.6Pemodelan Data
Pemodelan data adalah suatu teknik atau cara untuk mengatur dan mendefinisikan persyaratan bisnis untuk sebuah database. Pemodelan data sering juga disebut sebagai pemodelan database, karena model data kadang-kadang diimplementasikan sebagai sebuah database.
Entity Relationship Diagram atau ER-Diagram merupakan sebuah data model yang memanfaatkan beberapa notasi untuk menggambarkan data dalam entity dan relasi yang dijelaskan oleh data.
Nama kesatuan
luar
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 ).
2.6.2. Atribut ( attribute )
Atribut adalah sebuah property yang deskriptif atau krakteristik dari sebuah entitas. Sinonimnya adalah elemen, sifat dan bidang.
Key merupakan sebuah atribut atau kelompok atribut yang diasumsikan memiliki nilai yang unik untuk setiap entitas. Sering juga disebut identifier.
1. Candidate key merupakan satu dari nilai key yang akan beerfungsi sebagai primary key dari sebuah entitas. Sinonimnya adalah candidate key.
2. Primary key merupakan sebuah candidate key yang paling umum digunakan untuk mengidentifikasi secara unik dari entitas tunggal.
Siswa
Gambar 2.8 Simbol Entitas
nim
3. Alternate key merupakan sebuah candidate key yang tidak dapat dipilih untuk menjadi primary key. Sinonimnya adalah secondary key.
Foreign key merupakan sebuah primary key dari sebuah entitas yang digunakan oleh entitas yang lain untuk mengidentifikasikan sebuah relasi.
2.6.3. Hubungan ( relationship )
Hubungan ( relationship ) adalah sebuah asosiasi bisnis normal antara satu entitas atau lebih.
Jenis-jenis relationship: 1. one to one
2. one to many 3. many to many
2.7Dasar â dasar HTML
HTML ( Hyper Text Markup Language ) merupakan bahasa standar yang digunakan oleh protokol HTTP ( Hyper Text Transfer Protokol ).
Ciri â ciri HTML :
1. Tersusun oleh tag â tag, misalnya <html> â¦â¦ </html>.
2. Pada umumnya tag selalu mempunyai tag pembuka sepwerti di atas
<html> dan kemudian selalu ada tag penutupnya </html>, namun ada beberapa tag yanbg tidak mempunyai tag penutup misalnya <br>,<hr>, dan sebagainya.
4. Nama file berupa *.html atau *.htm.
Semua tag â tag tersebut harus diletakkan dalam tag <html>â¦</html>
Tag â tag dasar
<body>â¦</body> Untuk tampilan halaman web. Mempunyai atribut bgcolor untuk warna background, text untuk warna text <br> Untuk pindah baris. Tanpa tag penutup
<h1>â¦<h1> Untuk membuat heading dan mempunyai 6 jenis heading. <h1>â¦<h1> yang paling besar fontnya, <h6>â¦</h6> yang paling kecil
<hr> Membuat garis horizontal. Tanpa tag penutup <center>â¦</center> Menengahkan kata
<b>â¦</b> Membuat huruf tebal
<big>â¦</big> Memperbesar teks dari ukuran normal <i>â¦</i> Membuat huruf miring
<small>â¦</small> Memperkecil teks dari ukuran normal <sub>â¦</sub> Membuat subsript
<sup>â¦</sup> Membuat superscript <u>â¦</u> Membuat garis bawah
<font>â¦</font> Memnentukan jenis font. Mempunyai atribut face, size, dan color
<p> Untuk membuat paragraph. Tanpa tag penutup
<pre>â¦</pre> Teks akan ditampilkan apa adanya seperti yang kita ketik pada editor
<ul>â¦</ul> Membuat list tanpa nomor urut. Mempunyai atribut berupa type
<ol>â¦</ol> Membuat list bernomor. Mempunyai atribut type <li> Membuat item â item apda list dan harus berada di
<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
2.8Java Server Pages ( JSP ) 2.8.1. Pengantar JSP
Java Server Pages ( JSP ) merupakan sebuah bahasa pemrograman scripting server side untuk membangun suatu web yang interaktif. JSP disusun berdasarkan bahasa Java dan dikembangkan oleh Sun Microsistem.
2. JSP mendukung multiplatform, yakni kode yang dibuat untuk tidak
terpengaruh dengan sistem operasi, jadi bisa berjalan pada Windows, Linux, maupun sistem operasi lain.
3. JSP sangat cocok untuk skala enterprise dengan pemrograman multitier
karena menyediakan ke akses JavaBean.
4. JSP memberi dukungan terhadap berbagai jenis database seperti MySQL,
Oracle, Acces, Fox Pro, dan lain-lain.
Karena kode JSP merupakan bahasa yang penggunaannya berjalan pada internet, maka JSP merupakan salah satu bahasa yang embeded pada halaman HTML, jadi bukanlah bahasa pemrograman standalone.
Hal â hal yang harus diperhatikan dalam pemrograman JSP :
1. Harus ada web server yang mendukung JSP, dalam hal ini akan digunakan Apache Jakarta-Tomcat.
2. Penamaan file harus berakhiran *.jsp.
3. Pemrograman bersifat case sensitive ( huruf kecil dan besar dibedakan ).
2.8.2. Arsitektur JSP
HTML. Berikutnya, kode HTML ini disampaikan oleh Web server ke klien yang memintanya. Kode HTML ini selanjutnya diproses oleh browser sehingga pemakai bisa memperoleh informasi dari halaman Web yang dikehendakinya. 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 terhadap permintaan halaman Web cukup lama. Untuk menghindari keadaan seperti ini, pengembang dapat memanggil terlebih dulu dokumen tersebut setelah dilakukan perubahan.
2.8.3. Kode Sumber JSP
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
Detail pemrosesan oleh JSP Servlet engine adalah sebagai berikut : 1. Melakukan pemilahan ( parsing ) kode JSP
2. Membangkitkan kode sumber Servlet
3. Mengkompilasi kode sumber Servlet menjadi sebuah kelas
<HTML> <HEAD>
<TITLE>Latihan JSP Pertama</TITLE> </HEAD>
<BODY> <%
//Syntak JSP
4. Membuat instan servlet
5. Memberikan keluaran servlet ke web server
Servlet adalah teknologi Java yang memungkinkan pembuatan halaman web yang bersifat dinamis dan diproses pada sisi server.
2.8.4. Ekspresi JSP
Hasil suatu ekspresi JSP dapat dijadikan sebagai keluaran pada halaman web dengan menggunakan bentuk tag yang bersifat khusus, yakni seperti berikut :
<%= ekspresi Java %>
Tag <%= %> biasa dinamakan tag ekspresi. Dalam hal ini semua ekpresi dikonversikan ke string ( deretan karakter ) dan disisipkan ke halaman web.
2.8.5. Direktif JSP
Pada JSP, pengimportan suatu paket dilakukan dengan menggunakan tag direktif, bentuk umumnya adalah :
<%@...%> misalnya :
<%@ page import=âjava.util.*â %>
yang berarti mengimpor semua kelas yang terdapat pada paket java.util.
JSP dengan sendirinya akan mengimpor paket â paket berikut :
java.lang javax.servlet.jsp
Tag direktif ini ditujukan untuk memberitahukan kepada mesin JSP dan bukan ditujukan untuk membentuk keluaran. JSP memiliki tiga buah direktif yaitu :
page ( digunakan untuk mendefinisikan atribut â atribut yang terdapat pada halaman JSP )
include ( digunakan untuk menyisipkan suatu berkas atau mengimpor suatu kelas )
taglib ( digunakan untuk mendefinisikan tag â tag buatan pemrogram )
2.8.6. Tag Deklaratif
JSP menyediakan tag yang secara khusus ditujukan untuk melakukan pendeklarasian variabel yang berlevel halaman. Variabel seperti ini akan dikenal sepanjang halaman. Tag yang dimaksud biasa dinamakan tag deklaratif. Tag ini berbentuk sebagai berikut :
<%!...%>
Tag deklaratif sebenarnya tidak hanya untuk mendeklarasikan variabel, tetapi juga dapat dipakai untuk mendeklarasikan metode.
2.8.7. Statement
2.8.7.1. Statement Kondisional
Statement ini mengatur aliran program berdasarkan pada kondisi tertentu 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
Digunakan jika atau lebih operasi akan dilaksanakan jika syaratnya terpenuhi. Bentuk pernyataan :
Operasi dilaksanakan jika persyaratan terpenuhi atau bernilai true, jika tidak operasi program diabaikan.
2.8.7.1.2. Statement if ⦠else
Pada statement if, jika persyaratan tidak terpenuhi atau bernilai false operasi program diabaikan. Namun, adakalanya suatu permasalahan memiliki dua alternatif, dimana jika pernyataan dipenuhi dilakukan operasi I, jika tidak dilakukan operasi II. Untuk masalah seperti ini dapat ditambahkan statement else pada statement if. Bentuk pernyataan :
<%
if(persyaratan){ operasi program; }
%>
<%
if(persyaratan){ operasi I
} else{ operasi II }
2.8.7.2. Loop
Adalah sebuah proses eksekusi operasi program secara berulang â ulang sampai ditemui kondisi untuk mengakhiri eksekusi tersebut. JSP mempunyai dua macam loop, yaitu while loop dan for loop.
2.8.7.2.1. While Loop
Adalah statement loop yang paling sederhana, bentuknya adalah :
Operasi program akan dieksekusi terus â menerus selama persyaratan bernilai true.
2.8.7.2.2. Do ⦠while
Loop menggunakan do ⦠while pada prinsipnya sama dengan while, yang berbeda adalah pada eksekusi program. Jika menggunakan while persyaratan diperiksa terlebih dahulu. Kemudian, jika persyaratan bernilai true, eksekusi dilakukan. Sebaliknya, pada do ⦠while, operasi program dieksekusi terlebih dahulu baru kemudian persyaratan diperiksa. Jika true loop diteruskan, jika false loop dihentikan. Dengan demikian, operasi program minimal dieksekusi sekali.
2.8.7.2.3. For Loop
Bentuk loop menggunakan statement for sebagai berikut :
while(persyaratan){ operasi program };
for(syarat1, syarat2, syarat3){ operasi program;
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 setiap akhir iterasi.
2.8.8. Penanganan Eksepsi
Kesalahan seringkali terjadi sewaktu kode dieksekusi. Agar kesalahan karena eksepsi dapat dikendalikan maka eksepsi perlu â ditangkap â. Untuk keperluan menangkap eksepsi, bisa menggunakan pernyataan try. Ada dua bentuk pernyataan yang dapat dibentuk, bentuk pertama adalah :
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 }
try {
//blok yang akan ditangkap sekiranya terjadi eksepsi }
catch(parameter) {
//blok yang akan dijalankan kalau terjadi eksepsi }
finally {
Pada bentuk di atas, bagian finally akan dijalankan, tidak tergantung apakah bagian bilik try mengalami eksepsi ataupun tidak.
2.8.9. Cookie
Cookie digunakan untuk menangani berbagai hal, misalnya untuk 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 memungkinkan seseorang dapat masuk ke halaman â halaman lain tanpa perlu melakukan login kembali.
2.8.10. Sesi
Sebuah sesi dapat digunakan untuk membentuk interaksi antara sebuah 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 menyimpan data pada klien ), sesi diimplementasikan dengan menyimpan data 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 bersangkutan. Referensi ini dikenal dengan sebutan pengenal sesi.
session = request.getSession(true);
session adalah variabel terdefinisi yang digunakan untuk menangani session.
2.9MySQL
2.9.1. Pengantar SQL
Bahasa standar yang digunakan dalam database adalah SQL ( Structured Query Language ). Beberapa software database yang menggunakan SQL antara lain : MySQL, Oracle, PostgreSQL, Microsoft Acces dan masih banyak lagi. Berdasarkan ANSI ( American National Standards Institute ) SQL merupakan bahasa standar yang digunakan untuk relational database management sistem. Pada dasarnya perintah â perintah SQL terbagi menjadi tiga kelompok :
1. DDL ( Data Definition Language )
Perintah yang digunakan untuk mendefinisikan data. Pernyataan-pernyataan di sini berkaitan dengan pembuatan tabel, penghapusan tabel, 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 yang berisi Meta Data yaitu â data mengenai data â.
2. DML ( Data Manipulation Language )
3. DCL ( Data Contol Language )
Perintah yang digunakan untuk membantu mengkontrol keamanan 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 hak â hak tertentu dari seorang user terhadap database tertentu.
Sotfware database yang akan digunakan adalah MySQL
2.9.2. Tipe Data MySQL
a. CHAR
Tipe data CHAR digunakan untuk menyimpan data string dengan jumlah karakter tertebtu. Panjang maksimum karakter dalam tipe data dinyatakan dengan integer. Jumlah karakter pada tipe ini data CHAR berkisar antara 1 - 255. Misal : judul CHAR(90).
b. VARCHAR
Tipe data VARCHAR lebih fleksibel daripada tipe data CHAR. 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
Tipe data DATE digunakan untuk menyimpan informasi seputar penanggalan. Format default tipe data DATE adalah YYYY-MM-DD. Misal : tanggal DATE.
e. DATETIME
Tipe data DATETIME digunakan untuk menyimpan informasi penanggalan yang lebih detail daripada tipe data DATE. Format default tipe data DATETIME adalah YYYY-MM-DD HH:MM:SS. Misal : tanggal DATETIME.
f. TEXT dan BLOB
Tipe data TEXT dan BLOB digunakan untuk menyimpan data 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.
2.9.3. Query MySQL
1. CREATE DATABASE
Query CREATE DATABASE digunakan untuk membuat suatu database. Database ini akan digunakan untuk menampung tabel â tabel yang akan dibuat. Sintaks yang digunakan :
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
Query CREATE TABLE digunakan untuk membuat tabel. Sintaks yang digunakan :
CREATE TABLE nama_tabel( deskripsi_field1,
deskripsi_field2,... );
4. INSERT INTO
Query INSERT INTO digunakan untuk memasukkan data ke dalam tabel. Sintaks yang digunakan â
INSERT INTO nama_tabel(field1, field2,â¦);
5. SELECT
Query SELECT digunakan untuk menampilkan semua atau sebagian record yang ada pada tabel. Sintaks yang digunakan :
SELECT field1,field2,â¦
FROM nama_tabel
WHERE field1=..;
Keterangan WHERE digunakan untuk menambahkan perintah spesifik. 6. UPDATE
UPDATE nama_tabel SET field1=new_field1;
7. DELETE
Query DELETE digunakan untuk menghapus record dari dalam tabel. Sintaks yang digunakan :
DELETE FROM nama_tabel WHERE field1=â¦.;
2.10 Koneksi JSP â MySQL
Untuk membuat koneksi antara bahasa pemrograman dan database, khusunya MySQL. Hal pertama yang harus dilakukan adalah menginstall driver Java, untuk koneksi ke database Java menyediakan API ( Application Programming Interface ), yaitu JDBC ( Java Data Base Conectivity ). Dasar terpenting dalam membangun koneksi antara Java ( JSP ) dan database adalah sejumlah interface yang ada dalam paket Java.sql, karena itu kita harus melakukan import paket âJava.sql.*â, supaya Java bisa mengakses database.
Terdapat empat interface yang mutlak harus dipakai ketika membangun koneksi Java â database, yaitu :
1. Connection
Berfungsi untuk mendefinisikan koneksi ke database. Kelas yang digunakan adalah DriverManager dan metodenya getConnection.
2. Driver
3. Statement
Berfungsi untuk mendefinisikan statement SQL. 4. ResultSet
Berfungsi untuk menangkap hasil pengaksesan ke database. Scipt berikut merupakan pembentukan koneksi ke database
2.11 Tomcat
Merupakan sebuah sebutan untuk web container, yang merupakan implementasi resmi spesifikasi JSP dan Servlet dari Sun Microsistem.
<html> <head>
<title>Tes Koneksi Database</title> </head>
<body>
<%@ page import="java.sql.Connection,java.sql.DriverManager" %> <%
boolean ada_kesalahan = false; try{
Class.forName("com.mysql.jdbc.Driver"); }
catch (Exception ex){
out.println("Kesalahan: "+ex); ada_kesalahan = true;
}
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);} }
3.1Analisis Sistem
3.1.1Gambaran Sistem Lama
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
langsung diketahui tetapi membutuhkan waktu relatif lama karena proses
pengecekan jawaban yang menggunakan Lembar Jawab Komputer ( LJK ) tidak
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
apakah nilai tersebut mempunyai memenuhi standar minimal untuk diterima di
program studi yang telah dipilih.
3.1.2Gambaran Sistem Baru
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.
3.1.3Orang yang terlibat dalam sistem
Ada tiga orang yang akan terlibat dalam â Sistem Informasi Try Out
Online Tes Masuk Perguruan Tinggi Negeri â :
a. Administrator
Orang yang berhak menambah dan menghapus operator.
b. Operator
Orang yang bertugas memasukkan, meng-edit dan menghapus data â data
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
3.1.4Requirement Analysis
Tahap requirement analysis meliputi pembuatan use case diagram
3.1.5Process Modelling
Proses modeling dapat dimulai dari pembuatan input dan output dari sistem
ENTITAS INPUT OUTPUT
ADMINISTRATOR Data login, data
administrator, data operator
baru
Data operator, data
administrator
OPERATOR Data login, data universitas
baru, data prodi baru, data
soal baru, data kunci baru
Data universitas, data prodi,
data soal, data kunci
SISWA Data login, data jawaban
tes masuk PTN, data try
out
Data hasil tes masuk PTN,
data hasil try out
Tabel 3.1 Tabel Process Modelling
3.1.5.1 Context Diagram
Context diagram berguna untuk menggambarkan secara jelas bagaimana sistem
tersebut bekerja, mulai dari inputan awal sampai outputnya. Context diagram dan
overviewnya
3.1.5.2 Diagram Berjenjang
3.1.5.3 Overview Diagram
DFD Level 0
DFD Level 1 proses 1
Gambar 3.5 DFD Level 1 Proses 1
DFD Level 1 proses 2
DFD Level 1 proses 3
Gambar 3.7 DFD Level 1 proses 3
DFD Level 1 proses 4
DFD Level 1 proses 5
Gambar 3.9 DFD Level 1 proses 5
DFD Level 1 proses 6
DFD Level 1 proses 7
! " ! " # $
! " ! " # $
% & '
% '
% & (
% (
3.1.6 Data Modelling ( E â R Diagram )
3.2Desain Sistem
3.2.1Desain Database
Di dalam pembuatan sistem informasi ini akan menggunakan sebuah
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
Name Type Size Description Key
kd_univ nama_univ alamat telepon varchar varchar varchar int 10 30 50 10 Kode universitas Nama universitas Alamat universitas Telepon universitas PK
Tabel 3.2 Tabel universitas
Tabel prodi
Name Type Size Description Key
kd_prodi nama_prodi passing_grade kelompok tahun kd_univ int varchar int varchar int varchar 10 25 5 5 5 10 Kode prodi Nama prodi
Nilai minimal prodi
Kelompok prodi
Tahun prodi ada di universitas
Kode universitas
PK
FK
Tabel tes
Name Type Size Description Key
kd_tes nama_tes varchar varchar 5 10 Kode tes Nama tes PK
Tabel 3.4 Tabel tes
Tabel siswa
Name Type Size Description Key
user_id username password nama asal_sekolah jurusan int varchar varchar varchar varchar varchar 5 20 20 50 15 10
Id bagi user
Username
Password
Nama lengkap user
Asal sekolah user
Jurusan user ( IPA, IPS, Bahasa )
PK
Tabel 3.5 Tabel siswa
Tabel siswa_tes
Name Type Size Description Key
username kd_tes kelompok pil1 pil2 pil3 varchar varchar varchar varchar varchar varchar 20 5 5 10 10 10 Username
Kode tes yang diikuti user
Kelompok tes ( IPA, IPS, IPC )
Kode prodi pilihan pertama
Kode prodi pilihan kedua
Kode prodi pilihan ketiga
PK, FK
PK, FK
Tabel master_soal
Name Type Size Description Key
kd_soal nama_soal kd_tes varchar varchar varchar 10 50 5 Kode soal Nama soal Kode tes PK FK
Tabel 3.7 Tabel master_soal
Tabel soal
Name Type Size Description Key
kd_soal no_soal isi option_a option_b option_c option_d option_e kunci kd_tes varchar int text varchar varchar varchar varchar varchar varchar varchar 5 5 200 200 200 200 200 5 10 Kode soal Nomor soal Isi soal Pilihan a Pilihan b Pilihan c Pilihan d Pilihan e Kunci jawaban
Kode tes soal tersebut
PK, FK
PK
PK, FK
Tabel 3.8 Tabel soal
Tabel kunci
Name Type Size Description Key
kd_soal no_soal jawaban kd_tes int int varchar varchar 5 5 5 10 Kode soal No soal Jawaban soal
Kode tes soal tersebut
PK, FK
PK
FK
Tabel jawaban
Name Type Size Description Key
kd_tes kd_soal no_soal jawaban username varchar varchar int varchar varchar 5 5 5 5 20 Kode tes Kode soal No soal Jawaban user Username PK, FK PK, FK PK PK, FK
Tabel 3.10 Tabel jawaban
Tabel hasil_user
Name Type Size Description Key
username kd_tes kd_soal skor jwb_bnr jwb_slh jwb_kosong varchar varchar varchar int int int int 20 20 20 5 5 5 5 Username Kode tes Kode Soal
Total nilai yang didapat
Jumlah jawaban benar
Jumlah jawaban salah
Jumlah jawaban kosong
PK, FK
PK, FK
PK, FK
Tabel 3.11 Tabel hasil_user
Tabel login
Name Type Size Description Key
username password nama status varchar varchar varchar enum 20 20 50 (âadminâ, âoperatorâ)
Username administrator dan operator
Password administrator dan operator
Nama administrator dan operator
Status administrator dan operator
PK
3.2.2 Relasi Antar Tabel
3.2.3 Desain User Interface
3.2.3.1 Login Administrator dan Operator
)) *
(
$
+
Gambar 3.14 Login Administrator dan Operator
3.2.3.2 Pendaftaran Administrator dan Operator
+
)) *
) , - $
. (
3.2.3.3 Universitas
) ( (
+
)) *
Gambar 3.16 Form Input Universitas
3.2.3.4 Program Studi
)) *
)
-& (
3.2.3.5 Tes
)) *
) . (
+ Gambar 3.18 Form Input Tes
3.2.3.6 Soal
)) *
) /
+ + + + +
( +
3.2.3.7 Kunci Jawaban
)) *
) 0 $
+
Gambar 3.20 Form Input Kunci
3.2.3.8 Edit Profile Operator
3.2.3.9 Login Siswa
+
)) *
, - $
Gambar 3.22 Login User
3.2.3.10 Pendaftaran Siswa
+
)) *
, - $ - $ 1
) . &
0( (
3.2.3.11 Home Siswa
)) *
*2 +, -* / ./
-*+3/ -*+ /
Gambar 3.24 Home User
3.2.3.12 Try Out
)) *
. 4 +
+ + + +
+
# $
3.2.3.13 Cek Jawaban Tes Masuk PTN
)) *
)
0 $ # $
+
3.2.4Desain Sistem Navigasi
3.2.4.1 Administrator dan Operator
Gambar 3.27 Desain Sistem Navigasi Administrator dan Operator
3.2.4.2 Siswa
4.1Karakteristik 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
bertugas melakukan update data yang berhubungan secara langsung dengan
sistem, misalnya : data universitas, data program studi, dan data soal. Sistem ini
digunakan untuk membantu siswa Sekolah Menengah Atas ( SMA ) kelas 3
dalam melakukan persiapan tes masuk PTN dengan mengerjakan try out yang ada serta melihat hasil tes masuk PTN yang diikuti.
Implementasi sistem ini menggunakan studi kasus sistem try out yang masih menggunakan Lembar Jawab Komputer ( LJK ), kemudian dikembangkan
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 mendukung dalam pengembangan web seperti Macromedia Dreamweaver MX,
SQL yog, Net Beans, dan Adobe Photoshop 7.
4.2Pembuatan Database dan Tabel
4.2.1. Pembuatan database
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
database prediksi, perintah SQL yang digunakan :
create database prediksi;
4.2.2. Pembuatan tabel
Sistem Informasi Try Out Online Tes Masuk PTN membutuhkan beberapa tabel untuk penyimpanan data, data tersebut adalah data yang dimasukkan oleh
administrator, operator, dan user.
a. Tabel Universitas
Tabel universitas digunakan untuk menyimpan data â data yang
berhubungan dengan universitas. Data â data tersebut adalah kode universitas,
nama universitas, alamat, dan nomor telepon.
b. Tabel prodi
Tabel prodi digunakan untuk menyimpan data program studi dari
universitas yang telah dimasukkan.
CREATE TABLE `universitas` (
`kd_univ` varchar(10) NOT NULL, `nama_univ` varchar(50) NOT NULL, `alamat` varchar(50) NOT NULL, `telepon` varchar(15) default NULL, PRIMARY KEY (`kd_univ`)
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.
d. Tabel master_soal
Tabel master_soal digunakan untuk menyimpan jenis â jenis soal yang
berhubungan dengan data tes. Misalkan : tes UM âUGM akan mempunyai
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.
e. Tabel soal
`kd_prodi` int(10) unsigned NOT NULL default '0', `nama_prodi` varchar(25) NOT NULL, `passing_grade` int(5) unsigned NOT NULL, `kelompok` varchar(5) NOT NULL, `tahun` int(5) unsigned NOT NULL, `kd_univ` varchar(10) NOT NULL, PRIMARY KEY (`kd_prodi`), KEY `kd_univ_fk` (`kd_univ`) )
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`) )
CREATE TABLE `master_soal` ( `kd_soal` varchar(10) NOT NULL, `nama_soal` varchar(50) default NULL, `kd_tes` varchar(10) NOT NULL, `waktu` varchar(10) default NULL, PRIMARY KEY (`kd_soal`), KEY `kd_tes` (`kd_tes`)
Tabel soal digunakan untuk menyimpan data â data soal yang akan
dikerjakan oleh user. Data tes try out yang akan berisi soal â soal ini beserta kunci kunci jawabannya.
f. Tabel kunci
Tabel kunci merupakan tabel yang digunakan untuk menyimpan data
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 `soal` ( `kd_soal` varchar(5) NOT NULL, `no_soal` int(5) NOT NULL, `isi` text, `option_a` varchar(200) default NULL, `option_b` varchar(200) default NULL, `option_c` varchar(200) default NULL, `option_d` varchar(200) default NULL, `option_e` varchar(200) default NULL, `kunci` varchar(5) default NULL, `kd_tes` varchar(10) NOT NULL, PRIMARY KEY (`kd_soal`,`no_soal`,`kd_tes`), KEY `kd_soal` (`kd_soal`,`kd_tes`) )
CREATE TABLE `kunci` ( `kd_soal` varchar(10) NOT NULL, `no_soal` int(11) NOT NULL, `jawaban` varchar(5) NOT NULL, `kd_tes` varchar(10) NOT NULL, PRIMARY KEY (`kd_soal`,`no_soal`), KEY `kd_tes` (`kd_tes`) )
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`),
h. Tabel siswa
Data user yang telah terdaftar sebagai member akan disimpan ke dalam
tabel siswa.
i. Tabel siswa_tes
Data user yang telah mengerjakan try out atau mengikuti prediksi akan disimpan ke dalam siswa tes.
j. Tabel hasil_user
User yang telah mengerjakan try out atau prediksi, akan memperoleh hasilnya. Hasil tersebut akan disimpan ke dalam tabel hasil_user.
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`) )
CREATE TABLE `siswa_tes` ( `username` varchar(20) NOT NULL, `kd_tes` varchar(20) NOT NULL, `kelompok` varchar(5) NOT NULL, `pil1` varchar(10) default NULL, `pil2` varchar(10) default NULL, `pil3` varchar(10) default NULL, PRIMARY KEY (`username`,`kd_tes`) )
k. Tabel login
Tabel login digunakan untuk menyimpan data administrator dan operator
yang akan digunakan untuk login ke dalam sistem.
4.3Koneksi Database
Langkah pertama yang harus dilakukan untuk membangun website yang
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 :
CREATE TABLE `login` ( `username` varchar(20) NOT NULL, `password` varchar(20) NOT NULL, `nama` varchar(50) default NULL, `status` enum('admin','operator') default NULL, PRIMARY KEY (`username`) )
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){
Listing program tersebut digunakan untuk membentuk hubungan ke database
MySQL, bernama prediksi yang terdapat pada localhost menggunakan nama
root dan password â â ( kosong ).
4.4User Interface Sistem
User Interface dari sistem ini digunakan oleh administrator, operator, dan
user siswa untuk mengakses Sistem Informasi Try Out Online Tes Masuk Perguruan Tinggi Negeri.
4.4.1. Administrator
4.4.1.1. Login Administrator
Gambar 4.1 Login Administrator
Administrator harus memasukkan username, password, dan login
as sebagai administrator agar dapat mengakses sistem, apabila administrator gagal
peringatan. Login ad