• Tidak ada hasil yang ditemukan

PENGUJIAN UNTUK PROGRAM TEMPLATE

N/A
N/A
Protected

Academic year: 2019

Membagikan "PENGUJIAN UNTUK PROGRAM TEMPLATE"

Copied!
106
0
0

Teks penuh

(1)

S K R I P S I

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Jurusan Teknik Informatika

Disusun Oleh : ANI PURNAYEKTI

NIM : 995314101

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

S K R I P S I

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Jurusan Teknik Informatika

Disusun Oleh : ANI PURNAYEKTI

NIM : 995314101

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2007

(3)
(4)
(5)

Kupersembahkan Hasil Karya dan Kerja Kerasku ini untuk:

1.

Alloh S.W.T, yang telah melimpahkan Rahmat, Hidayah, Inayahnya,

Rosulalloh S.A.W, dengan jangkungan Syafa’at yang tiada

putus-putusnya, serta Ghoutsu Hadzaz Zaman R.A dengan pancaran

Nadrohnya.

2.

Bapak dan Ibu yang telah mendoakan, mendidik dan mendukungku sejak aku

masih berbentuk janin.

3.

Kakak-kakakku Didit, Koko, Cuncun, Terimakasih untuk semuanya.

4.

Pendamping Hidup, Teman Hidupku dan Penumbuh Semangatku Arif

Rochman, yang dengan setia menemani dan mendukungku.

5.

Anakku Tercinta Yoga Arfan Billah, yang telah menghiburku dengan

kenakalan dan kelucuannya.

6.

Almamater

(6)

JALANI HIDUP DENGAN PENUH SEMANGAT DAN APA ADANYA,

TENGOK KEBELAKANG UNTUK CERMIN DAN TATAP JAUH

KEDEPAN SEBAGAI TUJUAN

LAKUKAN SEGALA SESUATU DENGAN LILLAH, BILLAH,

LIRROSUL, BIRROSUL. (Sholawat Wahidiyah)

BILA KETETAPAN TUHAN SUDAH DITETAPKAN TETAPLAH

SUDAH, TAK ADA YANG BISA MERUBAH DAN TAKKAN BISA

BERUBAH (Dani Ahmad)

(7)

Puji syukur penulis haturkan kepada Tuhan Yang Maha Esa atas segala karunia yang diberikan, sehingga penulis dapat menyelesaikan tugas akhir yang berjudul “Templates Test” ini dengan baik. Penulisan ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Teknik di Universitas Sanata Dharma pada program studi Teknik Informatika.

Selama penulisan skripsi ini penulis telah memperoleh bantuan dan bimbingan dari berbagai pihak. Oleh karena itu penulis mengucapkan terima kasih kepada:

1. Bapak Drs. Haris Sriwindono, M.T selaku pembimbing I yang telah banyak membantu dan membimbing selama mengerjakan tugas akhir ini.

2. Pak Belle telah membantu saya dalam urusan administrasi .

3. Bapak, Ibu, Mas-mas ku yang telah memberi dorongan baik moril maupun spiritual.

4. Suamiku tercinta Arif Rochman dan buah hatiku Yoga Arfan Billah terima kasih atas dukungan doa dan perhatiannya selama ini.

5. Ponakan-ponakan lucu ku : Diva, Prita dan Kentang Dhimas.

6. Sahabat-sahabatku selama kuliah Ona, Devi dan Lina terima kasih atas doa dan masa-masa indah saat kita kuliah.

7. Siska, terima kasih atas laptopnya.

8. Teman–teman TI seperjuangan angkatan 99 : Jaka Permana, TeDe, Gogon, Dina terima kasih atas kebersamaan, keakraban dan bantuan serta dukungannya selama ini.

9. Teman-teman kost : Mbak Sinta, Kak Nona, Dora, Yosephine terima kasih atas doa dan masa-masa indah saat kost bersama

10.Seluruh civitas akademik Universitas Sanata Dharma, Yogyakarta.

(8)

Penulis menyadari sepenuhnya bahwa Tugas Akhir ini masih jauh dari kesempurnaan dan masih banyak kekurangan. Oleh karena itu penulis sangat mengharapkan kritik dan saran yang bersifat membangun demi perbaikan lebih lanjut. Penulis berharap semoga Tugas akhir ini dapat bermanfaat dan berguna bagi pembaca.

Yogyakarta, 9 Desember 2006

Penulis

(9)

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... ii

HALAMAN PENGESAHAN... iii

HALAMAN PERSEMBAHAN ... iv

MOTTO ... v

ABSTRAKSI... vi

ABSTRACT ... vii

PERNYATAAN KEASLIAN KARYA ... viii

KATA PENGANTAR... ix

1.5 Sistematika Penulisan... 3

BAB II LANDASAN TEORI ... 5

2.1. Internet... 5

2.2. Web Server... 5

(10)

2.5. Server Side dan Client Side... 7

2.6. HTML (Hypertext Markup Language) ... 8

2.7. PHP (Personal Home Page) ... 9

2.8. MySQL... 18

2.9. DDL (Data Definition Language)... 19

2.10.Fungsi PHP yang umum digunakan untuk mengakses Database MySQL ... 20

2.11.Apace ... 21

2.12.Modified Waterfall Model... 22

BAB III ANALISIS DAN DESAIN ... 25

3.1. Definisi Masalah ... 25

3.1.1. Analisa Sistem... 25

3.1.2. Klasifikasi Pengguna... 25

3.1.3. Informasi yang disajikan ... 25

3.2. Analisa Kebutuhan dan Spesifikasi... 26

3.2.1. Analisa User ... 26

3.2.2. Analisis Hardware... 26

3.3. Desain ... 27

3.3.1. DAD (Diagram Arus Data) ... 27

3.3.2. Desain Data Base... 34

(11)

BAB IV IMPLEMENTASI ... 58

4.1 Karakteristik Pengguna ... 58

4.2 Implementasi Program ... 58

4.2.1. Koneksi Database... 59

4.2.2. Modul Login... 59

4.2.3. Modul Administrator... 60

4.2.4. Modul User... 63

4.3 Implementasi Antarmuka ... 66

4.3.1. Implementasi Antarmuka Untuk Administrator.... 66

4.3.2. Implementasi Antarmuka Untuk User... 80

BAB V PENUTUP ... 91

5.1 Kesimpulan ... 91

5.2 Saran... 91

DAFTAR PUSTAKA ... 92

(12)

yang ingin latihan soal ujian masuk perguruan tinggi negeri dapat mengakses soal ini kapanpun. Program tes ini merupakan salah satu bentuk latihan soal ujian bagi para lulusan SMU yang ingin mengikuti ujian masuk perguruan tinggi negeri, yang berisi beberapa mata pelajaran. Bentuk ujian yang ada berupa pilihan ganda sehingga peserta tes hanya akan memilih satu jawaban yang menurutnya benar. Dalam tes ini, akan diikuti skor yang telah diperoleh langsung setelah menjawab soal latihan.

Program tes ini akan dibuat tampilan yang menarik sehingga dapat merangsang user untuk berlatih soal. Selain itu, program ini akan memberikan soal-soal tes yang lebih bervariasi.

Untuk mendukung pembuatan sistem informasi soal tes online, akan digunakan MySQL yang dikoneksikan dengan menggunakan PHP (Personal Home Page).

(13)

High School Graduate which wish the incoming test problem practice of Country College can access this problem anytime. This program represent one of form of practice of test problem to all High School graduate which wish to follow the incoming test of country college, containing some subject lesson. Form the existing test in the form of double helix so that competitor test will only chosen one answer which real correct according to him in this test, will be followed by the score which have been obtained direct after replying practice problem

This program will be made by an interesting appearance so that can stimulate the user to exercise the problem, others, program this will giving more varying problem test.

To support the making of information system of test online, will be used by MYSQL which connected using PHP (Personal Home Page)

(14)

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 9 Januari 2007 Penulis;

Ani Purnayekti

(15)

1.1. LATAR BELAKANG

Saat ini kebanyakan lulusan SMU akan meneruskan pendidikan ke perguruan tinggi. Kebanyakan dari mereka akan memilih perguruan tinggi negeri. Kita semua tahu bahwa masuk perguruan tinggi tidaklah mudah, harus melalui tes yang tidak gampang. Untuk mendukungnya, kita harus banyak berlatih soal-soal ujian masuk perguruan tinggi negeri dari tahun-tahun sebelumnya. Saat ini banyak buku yang berisi soal-soal ujian masuk perguruan tinggi negeri dari beberapa tahun sebelumnya. Dengan menggunakan buku-buku tersebut, kita dapat berlatih soal-soal tapi kesulitan dalam mengoreksi. Dalam arti, dalam mengoreksi memerlukan waktu beberapa lama padahal kita harus berlatih semaksimal mungkin.

Dengan kemajuan internet, diharapkan masalah seperti yang dijelaskan sebelumnya dapat diatasi. Dapat diselesaikan dengan Templates Test yang berisi mengenai soal-soal latihan masuk perguruan tinggi negeri. Pada web ini, calon mahasiswa diharapkan dapat latihan soal-soal semaksimal mungkin. Calon mahasiswa mengerjakan soal-soal latihan dan dapat mengetahui hasilnya dengan cepat.

1.2. RUMUSAN MASALAH

Dari latar belakang masalah yang ada, maka penulis dapat merumuskan masalah yang ada. Rumusan masalahnya adalah sebagai berikut :

(16)

1. Bagaimana membuat sebuah web tentang Templates Test yang berisi soal-soal latihan ujian masuk perguruan tinggi negeri.

1.3. BATASAN MASALAH

Dalam penulisan ini, penulis telah menentukan batasan-batasan masalah dari rancangan sistem ini adalah :

1. Tipe pertanyaan yang disediakan adalah pilihan ganda dengan 4 jawaban pilihan.

2. Tidak ada pembatasan waktu pengerjaan karena mempertimbangkan dengan adanya waktu akses internet yang tidak sama antara internet yang satu dengan yang lain.

3. Soal-soal latihan disediakan dengan gambar dengan format JPEG.

4. Administrator mempunyai hak mengupdate data antara lain input bidang studi, edit bidang studi, hapus bidang studi, input kelompok soal, edit kelompok soal, hapus kelompok soal, input bank soal, edit bank soal, hapus bank soal, lihat hasil tes dari user.

5. User atau peserta tes mempunyai fasilitas mendaftar diri ke sistem, mengerjakan soal-soal tes yang tersedia, mengetahui hasil tes yang telah dikerjakan.

6. Pembangunan sistem menggunakan perangkat lunak PHP triad yang didalamnya sudah terdapat apacheweb server dan database server

MySQL.

(17)

1.4. TUJUAN DAN MANFAAT

Penelitian ini bertujuan untuk membuat templates test yang berisi soal-soal latihan masuk perguruan tinggi negeri.

Adapun manfaat yang diharapkan dapat diperoleh dari web Templates Test

ini adalah :

1. Diharapkan para lulusan SMU yang ingin masuk perguruan tinggi negeri dapat berlatih soal-soal latihan dan setelah selesai mereka akan langsung mendapatkan hasil latihan.

1.5. SISTEMATIKA PENULISAN

Penyusunan skripsi ini terdiri dari lima sistem atau bab, yang satu dengan yang lainnya tidak dapat dipisahkan. Rangkaian dari tiap-tiap bab adalah sebagai berikut :

BAB 1 : PENDAHULUAN

Pendahuluan memberikan gambaran umum tentang isi skripsi. Meliputi Latar Belakang Masalah, Rumusan Masalah, Batasan Masalah, dan Sistematika Penulisan.

BAB 2 : DASAR-DASAR TEORI

Dasar-dasar teori membahas tentang landasan teori yang diperlukan dalam merancang sistem informasi berbasis web yang berisi soal-soal ujian.

(18)

Pada bab ini membahas tentang gambaran dan perancangan sistem yang akan dikerjakan.

BAB 4 : IMPLEMENTASI SISTEM

Bab ini membahas tentang implementasi sistem yaitu pembuatan sistem dari perancangan sistem yang telah dibuat.

BAB 5 : KESIMPULAN DAN SARAN

(19)

2.1 Internet

Internet adalah suatu media informasi komputer global yang dapat dikatakan sebagai teknologi tercanggih abad ini. Internet merupakan suatu media informasi yang berjalan dalam suatu komputer. Akan tetapi, tidak semua komputer yang ada bisa berhubungan karena suatu komputer dapat dikatakan sebagai internet jika sudah terhubung dengan jaringan. Agar terhubung, harus berlangganan ISP (Internet Service Provider). Melalui internet orang dapat berkomunikasi (misalnya email), mencari informasi.

2.2 Web Server

Web Server adalah perangkat lunak server yang menjadi tulang belakang dari WWW (Muller, 2003). Proses komunikasi web server dengan client menggunakan protokol HTTP. Cara kerjanya adalah web server menunggu permintaan dari client yang menggunakan web browser. Jika ada permintaan, maka web sever akan memproses permintaan kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali oleh web browser. Data ini mempunyai format

standar yang disebut dengan Standard General Markup Language (SGML).

(20)

2.3 WWW (World Wide Web)

WWW atau dapat juga disebut web adalah sistem informasi dan komunikasi hypertext yang popular digunakan pada jaringan komputer internet, dengan komunikasi data menggunakan model client / server.

Web didasarkan pada konsep hypertext, konsep hypertext ini sangat mirip dengan text biasa kecuali satu aspek penting yaitu memungkinkan untuk koneksi (link) didalam dokumen itu sendiri atau koneksi ke dokumen yang lain penggunaannya.

Hypertext seperti pada online help di Microsoft Windows, dimana pengguna dapat langsung menuju topik-topik yang dikehendaki dengan mengklik kata-kata yang diterangi (highlight).

Web adalah sistem informasi dan komunikasi, web tidak hanya tempat untuk penyebaran informasi tetapi juga memungkinkan untuk komunikasi interaktif untuk pengumpulan atau mendapatkan informasi. Dengan web informasi yang tersaji dapat mencapai area yang luas dari berbagai kalangan baik perorangan maupun perusahaan.

2.4 HTTP (Hypertext Transfer Protocol)

HTTP merupakan suatu protokol atau aturan yang dirancang khusus untuk mendukung implementasi web dan harus diikuti oleh web browser dalam meminta atau mengambil suatu dokumen dan oleh web server dalam menyediakan dokumen yang diminta oleh web browser. Dengan kata lain saat koneksi dengan

(21)

dokumen / berkas kepada web browser sehingga web browser dapat menampilkan informasi yang benar.

Protokol ini adalah protokol standar yang digunakan untuk mengakses

HTML sehingga banyak digunakan untuk melayani dokumen yang terletak pada web.

2.5 Server Side dan Client Side

Teknologi internet yang dipakai sekarang ini secara umum dibedakan menjadi dua, yaitu server side dan client side. Server side adalah teknologi dimana proses dilakukan di web server sedangkan client hanya menerima hasilnya dalam bentuk HTML, sebagai contoh teknologi internet berbasis server side

adalah CGI/Perl, ASP, Java Server Pages (JSP) dan lain – lain. Sedangkan client side adalah teknologi dimana proses dilakukan di web browser (Andy Kurniawan, 2000:2). Biasanya client side digunakan untuk hal-hal yang membutuhkan banyak interaksi user dan menggunakan jenis informasi yang pasti dan seragam.

Bukan hal yang mudah untuk menentukan mana yang lebih baik antara server side atau client side. Memang seakan – akan menjadi kontradiksi. Namun server side atau client side harus disesuaikan denagan keperluan aplikasi

web itu sendiri. Kunci utama dalam membangun web adalah meletakan sesuai proposinya. Artinya web developer harus pintar dalam memilah – milah mana yang harus diproses di server dan mana yang di client.

(22)

digunakan untuk mengadakan interaksi dengan user yang frekuensinya tinggi, namun data yang diperlukan relatif sedikit atau telah tersedia sebelumnya. Tidak dianjurkan untuk membangun client side pada aplikasi web yang membutuhkan data yang banyak dan selalu berubah-ubah, atau menggunakan untuk keperluan verifikasi user dan password.

2.6 HTML (Hypertext Markup Language)

HTML adalah bahasa universal yang dirancang untuk mempublikasikan halaman web yang memiliki elemen berupa heading, teks, tabel, list dan sebagainya.

Penulisan HTML dapat dilakukan dengan melalui editor text seperti

notepad yang dimiliki oleh sistem operasi Windows ataupun editor lain seperti

wordpad, Ms-Word dan lain-lain. Berkembangnya teknologi software, saat ini

web editor HTML dapat memudahkan pemakai dalam menulis halaman web tanpa harus mengerti tag-tag HTML yang ada, contohnya: Frontpage, Macromedia Dreamwaver dan sebagainya.

(23)

Tag-tag HTML secara umum dalam penulisannya diapit oleh tanda kurung lancip (<....>) untuk bagian awal suatu tag, sedangkan untuk bagian akhir suatu tag diapit oleh tanda kurung lancip dan diawali dengan tanda garis miring (</....>). Penulisan tag-tag HTML tidak case sensitive artinya dapat ditulis dengan huruf kapital maupun non kapital.

Penulisan HTML diawali dengan tag <HTML> dan diakhiri dengan

tag </HTML> berfungsi untuk web browser dalam memperlakukan teks yang diawali dan diakhiri oleh kedua tag ini sebagai dokumen HTML. Berikutnya adalah tag <HEAD> ...</HEAD> berguna untuk menunjukkan body header dari suatu HTML yang terisi <TITLE>...</TITLE> atau judul dokumen HTML berfungsi untuk mempermudah pengenalan akan isi dokumen. Judul HTML ini akan ditampilkan pada sudut kiri atas web browser yang digunakan untuk mengakses dokumen tersebut. Selanjutnya tag <BODY>...</BODY> untuk menyatakan isi dari dokumen.

Apabila terjadi kesalahan pada penulisan HTML, web browser tidak akan melakukan proses kompilasi dan menampilkan pesan-pesan kesalahan terhadap dokumen namun akan ditampilkan apa adanya sesuai dengan penafsiran

web browser.

2.7 PHP (Personal Home Page)

(24)

PHP dirancang untuk membentuk web dinamis, dimana ia dapat membentuk suatu tampilan berdasarkan permintaan terkini, contohnya anda dapat menampilkan isi database ke halaman web. Pada prinsipnya PHP mempunyai fungsi yang sama dengan skrip-skrip yang lain seperti ASP (Active Server Page),

Cold Fusion dan Perl.

Kode program PHP menyatu dengan tag-tag HTML dalam suatu file.

Kode PHP diawali dengan tag <? atau tag <?PHP dan ditutup dengan tag ?>. File

yang berisi tag HTML dan kode PHP ini diberi ekstensi .PHP atau ekstensi lainnya yang ditetapkan pada apache / web server. Berdasarkan ekstensi ini, pada saat file diakses, server akan tahu bahwa file ini mengandung kode PHP. Server

akan menerjemahkan kode ini dan menghasilkan output dalam bentuk tag HTML

yang akan dikirim ke browser client yang mengakses file tersebut. Untuk lebih jelasnya dapat dilihat dalam format dibawah ini :

<?

*** sintak PHP ditulis disini; ***

?>

atau

<?php

*** sintak PHP ditulis disini; ***

?>

atau

<SCRIPT LANGUAGE = “php”>

*** sintak PHP ditulis disini; ***

</SCRIPT>

(25)

<HTML>

<HEAD>

<TITLE>Example</TITLE>

</HEAD>

<BODY>

<?

Echo “Hi, Selamat Datang di Web Penerimaan

Mahasiswa baru USD Online”;

?>

(26)

2. Sekilas mengenai script-script PHP

a. Variabel

Varibel berfungsi untuk menyimpan suatu nilai dan nilai yang ada dapat diubah sewaktu-waktu. Di dalam PHP diawali dengan karakter $ diikuti dengan huruf sebagai karakter pertama setelah $, kemudian kombinasi karakter dan angka. Tidak boleh ada spasi dan tanda baca dalam penamaannya, kecuali karakter _ (garis bawah, under score). Contoh :

$nama = “Mahasiswa”; dimana nama -> nama variable b. Pengenal

Pengenal (identifier) banyak digunakan dalam program untuk memberi nama variable, fungsi atau kelas.

Aturan yang berlaku untuk pengenal :

• Karakter yang dapat digunakan adalah huruf, angka, atau garis

bawah(_).

• Karakter pertama harus berupa huruf atau garis bawah.

• Panjang pengenal bisa berapa saja.

• Huruf kecil dan huruf kapital dibedakan.

Con t oh Pe n ge na l

Be n a r Sa la h

Nama 3bulan

nama_pemakai Nama pemakai

_nama Nama-pemakai I

kuartal3 NamaBarang

(27)

c. Tipe data

Tipe data dasar PHP ada tiga macam, yaitu : ƒ Integer.

Variabel berjenis integer bertujuan untuk menyimpan bilangan bulat (tidak termasuk bagian pecahan dan/ atau pemangkatan).

ƒ Floating Point

Double digunakan untuk menyimpan bilangan bernilai pecahan. ƒ String

String merupakan jenis data karakter yang disimpan sebagai nomor pada memori komputer. Nilai yang disimpan adalah nilai ASCII karakter string tersebut.

d. Konstanta

Konstanta menyatakan nilai yang tetap di dalam program. Contoh :

$bahasa = “PHP”; e. Operator

Operator adalah alat yang digunakan untuk memanipulasi data. Operator dibedakan menjadi :

ƒ Operator Aritmatika

(28)

Ope r a t or Ke gu n a a n Pr ior it a s

+ Penjumlahan Ketiga

- Pengurangan Ketiga

* Perkalian Kedua

/ Pembagian Kedua

% Sisa Pembagian Kedua

++ Penaikan Pertama

-- Penurunan Pertama

Tabel 2.2 Operator-operator aritmatika ƒ Operator Perbandingan

Operator perbandingan atua dikenal juga dengan operator relasional adalah operator yang digunakan untuk melakukan perbandingan dua buah operand dan menghasilkan nilai benar atau salah.

Operator Makna

== Sama dengan

< Kurang dari

> Lebih dari

<= Kurang dari atau sama dengan

>= Lebih dari atau sama dengan

!= Tidak sama dengan

<> Tidak sama dengan

Tabel 2.4 Daftar operator perbandingan

ƒ Operator Logika

Operator logika bisa digunakan untuk menggabungkan kondisi berganda dan menghasilkan sebuah ekspresi yang bernilai benar (nilai 1) atau salah (nilai 0).

Jenis operator logika :

(29)

f. Pernyataan Kontrol ƒ Pernyataan IF

Struktur if merupakan struktur kontrol pemilihan yang digunakan untuk pemeriksaan apakah perintah-perintah yang ada di dalam blok if dikerjakan atau tidak. Perintah dalam blok if akan dikerjakan apabila nilai dari ekspresi di dalam if bernilai benar (true). Ekspresi akan bernilai benar apabila ekspresi tersebut menghasilkan suatu nilai yang tidak sama dengan 0 atau kosong. Bentuk :

ƒ Pernyataan else

Kontrol struktur else merupakan pelengkap dari kontrol struktur if, digunakan untuk memberikan alternatif urutan perintah yang harus dilakukan apabila ada hal proses yang mempunyai dua alternatif benar atau salah. Else merupakan bagian seurutan perintah yang harus dikerjakan apabila hasil evaluasi dari ekspresi pada if

bernilai salah. Blok pada bagian else merupakan blok perintah yang harus dikerjakan apabila nilai ekspresi dari suatu if bernilai salah (false).

(30)

If (ekspresi){

Nilai hasil suatu ekspresi bisa jadi bukan merupakan dua nilai, benar atau salah, true atau false, tetapi bisa banyak nilai. Bentuk if

.. else digunakan untuk memutuskan suatu blok perintah yang harus dikerjakan berdasarkan dua macam nilai yang dihasilkan, benar atau salah saja. Jika lebih dari dua maka harus digunakan struktur kontrol yang dapat memenuhi kebutuhan ini.

Struktur kontrol if … elseif menyederhanakan model struktur kontrol if … else. Struktur kontrol elseif mengharuskan proses pemeriksaan kembali ekspresi apabila nilai ekspresi pada if

bernilai salah, karena belum tentu nilai salah dalam if pasti benar nilai ekspresinya untuk bagian else. Untuk itu perlu diperiksa lagi apakah benar nilai salah pada bagian if adalah benar untuk bagian

(31)

ƒ Pernyataan While

While adalah salah satu bentuk pengulangan. Struktur kontrol ini memungkinkan seurutan perintah untuk dieksekusi berulang-ulang. Jumlah pengulangan yang harus dilakukan ditentukan oleh nilai dari suatu ekspresi. Perintah-perintah dalam while akan dikerjakan apabila nilai dari ekspresi dalam while bernilai benar. Dalam blok perintah ini harus ada proses yang melakukan perubahan nilai agar ekspresi yang diperiksa oleh while menjadi salah, apabila tidak ada perubahan nilai pada bagian ekspresi maka akan terjadi pengulangan tiada henti (never ending loop – atau loop forever). Perintah-perintah dalam struktur kontrol while bisa jadi tidak akan dikerjakan sama sekali apabila pemeriksaan pertama pada while menghasilkan nilai salah.

While (ekspresi) {

perintah_1; perintah_2; …

(32)

ƒ Pernyataan for

For merupakan struktur kontrol pengulangan dengan jumlah pengulangan dapat ditentukan berapa kali harus dilakukan. Pengulangan dengan menggunakan bilangan sebagai penghitung Bentuk :

for ( $c=nilaiawal; $c<=batasakhir; $c++ { perintah_1;

perintah_2;

}

$c adalah variabel penghitung, nilaiawal adalah bilangan nilai awal hitungan, batasakhir adalah angka hitungan terakhir, $c++ isi variabel penghitung ditambah satu apabila telah sampai akhir blok

for, perintah pada bagian ini tidak harus $c++ yang bearti ditambah satu, tetapi juga dapat menggunakan $c+=n. n adalah angka pertambahan yang diinginkan.

2.8 MySQL

MySQL (My Strukture Query Language) atau yang biasa dibaca “mai-se-kuel” adalah sebuah program pembuat database yang bersifat open sorce, artinya siapa saja boleh menggunakan dan tidak dicekal.

MySQL sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya yang open sorce, maka dapat dijalankan pada semua platform baik

(33)

Kelebihan lain dari MySQL adalah menggunakan bahasa Query

standar yang dimiliki SQL (Structure Query Language). SQL adalah suatu bahasa permintaan yang terstruktur yang telah distandarkan untuk semua program pengakses database seperti Oracle, Posgres SQL, SQL Server, dan lain-lain.

Program-program yang menggunakan bahasa SQL antara lain :

MySQL

Posgres SQL

Oracle

SQL Server 97, 200

Interbase

Program-program aplikasi pendukung MySQL antara lain :

PHP (Page Hypertext Preprosesor)

Visual Delphi

Visual Basic

Cold Fusion, dan lain-lain

2.9 DDL (Data Definition Language)

(34)

2.10 Fungsi PHP yang Umum digunakan untuk Mengakses Database MySQL

2.10.1 mysql_connect()

Digunakan untuk melakukan uji dan koneksi kepada server database MySQL.

Sintaks :

$koneksi adalah nama variabel penampung status hasil koneksi kepada database

host adalah nama host atau alamat server database MySQL

username adalah nama user yang telah diberi hak untuk dapat mengakses server database

password adalah kata sandi untuk username untuk dapat masuk ke dalam database

2.10.2 mysql_query()

digunakan untuk melakukan eksekusi perintah SQL untuk memanipulasi database yang berhasil dilakukan koneksinya.

Sintaks :

$hasil berupa record set apabila SQLStatement berupa perintah SELECT. $koneksi=mysql_connect(“host”,”username”,”password”)

$hasil=mysql_query(“SQLStatement”)

(35)

digunakan untuk melakukan pemrosesan hasil query yang dilakukan dengan perintah mysql_query().

Sintaks :

$array adalah array satu record dari record $hasil yang diproses, nomor record sesuai dengan nomor urut dari proses mysql_fetch_array yang sedang dilakukan. $hasil adalah record set yang akan diproses.

$array=mysql_fetch_array(“$hasil”)

2.11 Apache

Apache adalah sebuah Hypertext Transfer Protocol Daemon

(HTTPD) atau aplikasi web server yang dapat digunakan untuk koneksi client

dengan menggunakan port tertentu (www.aclug.org, 2004). Ketika sebuah koneksi terjadi, Apache akan menunggu request dari aplikasi client. Apache akan

memberikan tanggapan dengan menyampaikan dokumen yang tepat sesuai permintaan web browser. Berikut ini adalah contoh komunikasi sederhana yang terjadi: jika web browser mengirim perintah seperti Get/index.htm HTTP, maka Apache akan memberikan tanggapan terhadap permintaan HTTP berupa halaman index.htm yang didalamnya berisi antara lain: teks HTML, gambar dengan

(36)

2.12 Modified Waterfall Model

Modiffied waterfall model merupakan variasi dari waterfall model yang menjelaskan model rekayasa web berupa urutan proses secara terstruktur dengan analogi air terjun (Powell, 1998). Menurutnya waterfall model dianggap terlalu lamban untuk pembuatan perangkat lunak berbasis web, hal ini dikarenan setiap anggota kelompok perancang mendapatkan spesifikasi kerja yang lengkap dari sebuah kelompok besar. Metode ini akan memakan waktu lama dan kondisinya tidak mendukung untuk perkembangan website yang berkembang cepat. Secara garis besar modiffied waterfall model memiliki kesamaan fase dengan weterfall mode. Hanya saja modiffied waterfall model pada fase definisi masalah serta analisa kebutuhan & spesifikasi dilakukan secara berulang – ulang. Modiffied Waterfall Model ditunjukkan pada gambar 2.2:

Gambar 2.2. Modiffied Waterfall Model

Problem Definition

Requirement Analysis & Spesification

(37)

Fase – fase yang terdapat pada Modiffied waterfall model dapat di uraikan menjadi penjelasan berikut ini:

A. Problem Definition, rekayasa web dimulai dengan mendefinisikan permasalahan dan latar belakang website yang akan dikerjakan. Pada pendefinisian masalah, dapat dibantu dengan menjawab tiga poin pertanyaan berikut ini:

• “Why” : mengapa website tersebut diperlukan?

• “For Whom” : untuk siapa website itu dibuat? (klasifikasi

pengguna)

“What” : Informasi apa saja yang akan di sajikan?

B. Requirement Analysis & Specification, fase ini merupakan analisis kebutuhan dan spesifikasi website. Pada langkah ini harus ditentukan teknologi yang digunakan baik perangkat keras (misalnya: ukuran memori RAM / hard disk) maupun perangkat lunak (misalnya: sistem operasi, web server, sistem database, bahasa pemrograman untuk aplikasi web dinamis, dan editor untuk desain halaman web). Selanjutnya dibuat spesifikasi semua halaman web termasuk penentuan tema informasi yang akan disajikan didalamnya.

(38)

D. Implementation & Unit Testing, fase ini merupakan proses implementasi semua halaman web pada website tersebut. Pengujian terhadap kemampuan halaman web dilakukan setelah implementasi. E. Integration & System Testing, integrasi adalah sebuah proses

penggabungan semua halaman web yang sudah dibuat kedalam website secara utuh.Selanjutnya pada pengujian sistem dilakukan pengecekan broken link (tujuan yang salah).

F. Release Operation & Maintenance, fase ini mencakup proses upload

(39)

BAB III

ANALISIS DAN DESAIN

3.1. Definisi Masalah

Tahap definisi masalah dibuat dengan maksud mendefinisikan latar belakang pembuatan sistem. Berikut tahapan pada definisi masalah:

3.1.1. Analisa Sistem

Website dibuat untuk membantu para lulusan SMU yang ingin masuk perguruan tinggi negeri dalam berlatih soal-soal ujian masuk supaya mereka dapat berlatih semaksimal mungkin. Ujian masuk perguruan tinggi tidaklah mudah untuk itu diperlukan perencanaan matang dalam menghadapi ujian antara lain dengan berlatih soal-soal. Dengan banyak berlatih maka akan terbiasa dengan mengerjakan soal-soal. Permasalahan yang dihadapi adalah bagaimana membuat

templates test yang berisi soal-soal latihan untuk dikerjakan.

3.1.2. Klasifikasi Pengguna

Website ini diperuntukkan bagi mereka para lulusan SMU yang ingin masuk ke perguruan tinggi negeri.

3.1.3. Informasi Yang Disajikan

Website Templates Test ini menyajikan informasi soal-soal yang sudah pernah di ujikan pada tahun-tahun sebelumnya. Dan informasi hasil latihan yang telah dikerjakan.

(40)

3.2. Analisis Kebutuhan dan Spesifikasi 3.2.1. Analisis User

Web ini mempunyai 2 user yaitu peserta dan administrator. Berikut penjelasan mengenai masing-masing user :

A. Peserta

Peserta ini adalah user yang mengerjakan latihan soal. Dalam hal ini adalah mereka para lulusan SMU yang ingin masuk perguruan tinggi negeri. Peserta ini hanya mempunyai hak mengerjakan soal dan menampilkan hasil kerjanya. Tetapi peserta ini diharuskan untuk mendaftarkan diri terlebih dahulu kemudian melakukan proses login untuk dapat mengerjakan soal.

B. Administrator

Administrator ini adalah user yang mengelola sistem. Administrator mempunyai hak untuk mengupdate semua data yang ada yaitu : menginputkan bidang studi, mengedit bidang studi, menghapus bidang studi, menginputkan kelompok soal, mengedit kelompok soal, menghapus kelompok soal, menginputkan bank soal, mengedit bank soal, menghapus bank soal, menampilkan hasil kerja peserta

3.2.2. Analisis Software dan Hardware

A. Peserta a. Hardware

(41)

ƒ

b. Software

B. Adminstrator

3.3. Desain

3.3.1. DAD (Diagram Arus Data) 3.3.1.1. Gambaran Sistem

Kesatuan luar dari analisis sistem user a. Peserta tes

User ini merupakan user yang akan menjawab soal-soal yang telah disediakan. Peserta tes ini diharuskan untuk mendaftar terlebih dahulu atau login sebelum menjawab soal yang digunakan untuk mencatat identitas peserta tes

b. Administrator

User ini merupakan user yang mengupdate soal-soal dalam sistem. User ini juga dapat melihat hasil tes dari masing-masing peserta.

Diagram konteks

(42)

3.3.1.2. Fasilitas-fasilitas yang terdapat pada masing-masing user yaitu : 1. User peserta Tes, yaitu :

ƒ Dapat mendaftar untuk menjawab soal tes (Login). ƒ Dapat melihat dan menjawab soal.

ƒ Dapat melihat jawaban yang salah dan benar. ƒ Dapat mengetahui skor yang diterima.

2. Admin , yaitu :

ƒ Dapat melihat jawaban soal yang telah dikerjakan setiap peserta. ƒ Dapat melihat skor yang dihasilkan oleh peserta tes.

ƒ Dapat mengupdate bidang studi pada sistem. ƒ Dapat mengupdate kelompok soal pada sistem ƒ Dapat mengupdate bank soal pada sistem.

Jadi dari gambaran fasilitas masing-masing user, dapat disimpulkan bahwa sistem ini memiliki kemampuan sebagai berikut yaitu :

1. Menyediakan login akses untuk user baik peserta tes maupun admin.

2. Menyediakan akses bagi user peserta tes untuk menjawab soal-soal tes yang telah disediakan.

3. Menyediakan soal-soal tes yang harus dikerjakan user peserta tes.

4. Admin mampu melihat jawaban atas soal-soal ujian yang telah dikerjakan. 5. Mampu melihat skor atas jawaban yang telah ada.

3.3.1.3. Identifikasi kesatuan luar

(43)

A. Peserta Tes B. Administrator 3.3.1.4. Diagram konteks

(44)

3.3.1.5. Diagram Berjenjang

Gambar 3.3. Diagram Alir Data Diagram Berjenjang

(45)

3.3.1.6. Overview

Gambar 3.4. Diagram Alir Data Overview

3.3.1.7. DAD Level 1 Proses 1

(46)

3.3.1.8. DAD Level 1 Proses 2

Gambar 3.6. Diagram Alir Data Level 1 Proses 2 3.3.1.9. DAD Level 2 Proses 2.2

(47)

3.3.1.10. DAD Level 2 Proses 2.3

Gambar 3.8. Diagram Alir Data Level 2 Proses 2.3 3.3.1.11. DAD Level 2 Proses 2.4

(48)

3.3.2. Desain Database

Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di simpanan luar komputer dan digunakan perangkat lunak tertentu untuk memanipulasinya. Desain database ini dibuat menggunakan diagram relasi entitas atau E-R Diagram yang didasarkan atas persepsi obyek tersebut benar-benar ada (entities) dan terdapat hubungan antar obyek (relationship).

(49)

Ga

m

bar 3.10. Entity Relation Diag

(50)

Berikut struktur tabel : a. Tabel Peserta

Tabel peserta digunakan untuk menyimpan data-data peserta tes yang telah mendaftarkan diri. Berikut ini field-field dari tabel peserta :

Field Tipe

Data

Lebar Keterangan username VarChar 20 Username peserta tes (primary

key)

password VarChar 20

nama VarChar 30 Nama lengkap peserta tes

email VarChar 30

jns_kelamin Enum

tgl_lahir Date

alamat Tinytext

kode_pos VarChar 6

telepon VarChar 16

pendidikan VarChar 30 pekerjaan VarChar 30

tgl_daftar Date Tanggal saat peserta mendaftar menjadi anggota

Tabel 3.1. Tabel Peserta b. Tabel kerja

Tabel kerja merupakan tabel bantuan yang menghubungkan antara tabel peserta dengan tabel soal dan digunakan untuk menyimpan hasil ujian dari peserta tes. Berikut field-field dari tabel nilai :

Field Tipe Data Lebar Keterangan

id_nilai int 11 Id nilai peserta tes (primary key) username VarChar 20

id_soal VarChar 225 Id soal yang telah dipilih peserta jawaban VarChar 225

(51)

c. Tabel bid_studi

Tabel bid_studi digunakan untuk menyimpan bidang studi dari soal tes. Berikut field-field dari tabel bid_studi :

Field Tipe Data Lebar Keterangan

kode_bid VarChar 5 Kode bidang studi (primary key) bid_studi VarChar 30

Tabel 3.3. Tabel bid_studi d. Tabel klp_soal

Tabel klp_soal digunakan untuk menyimpan kelompok soal. Satu bidang studi terdiri dari beberapa kelompok soal. Berikut field-field dari tabel klp_soal :

Field Tipe Data Lebar Keterangan

kode_klp VarChar 6 Kode kelompok soal (primary key) kode_bid VarChar 5

level int 1 Level kelompok soal jml_soal smallint 4 Jumlah soal tes yang harus

dikerjakan oleh peserta tes Tabel 3.4. Tabel klp_soal

e. Tabel soal

(52)

Field Tipe Data Lebar Keterangan

pil_a tinytext

pil_b tinytext

pil_c tinytext

pil_d tinytext

gambar varchar 100

Tabel 3.5. Tabel Soal B. Desain Interface

1. Desain Interface untuk Peserta Tes

a. Perancangan interface halaman utama

(53)

Gambar 3.11. Perancangan Index

b. Perancangan interface untuk pendaftaran peserta tes baru

Halaman interface gambar 3.12 digunakan bagi calon peserta tes yang belum pernah mendaftarkan diri di dalam sistem ini.

(54)

Gambar 3.12. Perancangan Pendaftaran Peserta Tes Baru

c. Perancangan interface menu pilihan untuk peserta tes

(55)

TEMPLATES TEST

Gambar 3.13. Perancangan Interface Menu Pilihan Peserta Tes

d. Perancangan interface untuk menu halaman utama

Perancangan interface gambar 3.14. digunakan untuk menampilkan aturan-aturan dalam mengerjakan soal-soal tes. Berikut perancangannya :

e. Perancangan interface untuk menu profil anggota

(56)

username tidak dapat diubah karena akan mengacaukan database yang telah ada.

Berikut perancangan interface untuk menu profil anggota

Gambar 3.15. Perancangan Interface untuk menu profil anggota

f. Perancangan interface untuk mengubah data anggota

Perancangan interface gambar 3.16 digunakan apabila peserta akan mengubah data-data pribadinya.

(57)

Gambar 3.16. Perancangan interface untuk mengubah data anggota

g. Perancangan interface pilihan bidang studi soal-soal tes

(58)

Gambar 3.17. Perancangan Interface Pilihan Bidang Studi Soal Tes

h. Peracangan interface pilihan level soal tes

Perancangan interface gambar 3.18 digunakan untuk memilih level soal tes yang akan dikerjakan. Masing-masing bidang studi akan terdapat level soal.

(59)

Gambar 3.18. Perancangan interface untuk pilihan level soal tes

i. Peracangan interface tampilan soal tes

(60)

Berikut rancangannya :

Gambar 3.19. Perancangan Interface Soal Tes

j. Perancangan interface jika semua soal sudah terjawab

Perancangan interface gambar 3.20 akan muncul jika semua soal sudah dijawab oleh peserta. Dan peserta harus menekan tombol selesai jika sudah yakin akan jawabannya supaya hasil jawaban disimpan dalam database.

(61)

Gambar 3.20. Perancangan interface untuk soal yang sudah selesai

k. Perancangan interface untuk menampilkan skor peserta tes

(62)

Gambar 3.21. Perancangan Interface Skor l. Perancangan interface halaman menu hasil ujian

(63)

Gambar 3.22. Perancangan interface halaman menu hasil ujian

2. Perancangan Interface untuk Admin

a. Perancangan interface halaman index untuk administrator Pada halaman interface gambar 3.23, admin melakukan login untuk masuk ke dalam sistem. Admin dapat masuk ke sistem jika sudah terdaftar, sehingga admin mempunyai username dan password.

(64)

Gambar 3.23. Perancangan Interface Halaman Index untuk Administrator

b. Perancangan interface tampilan menu pilihan untuk admin Halaman perancangan interface gambar 3.24 berisi menu-menu pilihan yang dapat diakses oleh admin. Rancangan adalah sebagai berikut :

(65)

c. Perancangan interface tampilan menu pilihan input bidang studi

Interface gambar 3.25 digunakan untuk menginputkan bidang studi dari soal tes. Rancangannya adalah :

Gambar 3.25. Perancangan Interface Menu pilihan Input Bidang Studi

d. Perancangan interface untuk menu pengelolaan soal tes

(66)

dahulu. Setelah soal tes yang didalamnya habis terhapus, maka kelompok soal baru bisa dihapus. Rancangannya adalah :

Gambar 3.26. Perancangan Interface Pengelolaan Soal Tes e. Perancangan interface untuk penginputan soal tes

Perancangan interface gambar 3.27 digunakan untuk menginputkan soal-soal tes baru. Pada perancangan ini akan secara otomatis jumlah soal yang dimasukkan bertambah.

(67)

Gambar 3.27. Perancangan Interface untuk Penginputan Soal Tes

f. Perancangan interface untuk lihat soal tes

(68)

Gambar 3.28. Rancangan Interface untuk Lihat Soal

(69)

Gambar 3.29. Perancangan Interface untuk Menu Pegelolaan Data Peserta

h. Perancangan interface untuk aksi lihat hasil ujian peserta

Pada perancangan gambar 3.30, admin dapat melihat hasil ujian yang pernah diikuti oleh masing-masing peserta.

(70)

Gambar 3.30. Perancangan Interface Untuk Aksi Lihat Hasil Ujian Peserta

i. Perancangan interface untuk aksi melihat data peserta secara detail

(71)
(72)

Implementasi merupakan penerapan dari tahapan analisa dan perancangan

Templates Test yang telah dibuat sebelumnya. Pada tahap ini dilakukan proses penulisan instruksi program.

Templates Test ini diimplementasikan menggunakan bahasa pemrograman PHP dan menggunakan editor Macromedia Dreamweaver MX. Database

menggunakan MySQL. 4.1 Karakteristik Pengguna

Dalam program Templates Test ini ada 2 (dua) karakteristik pengguna yang harus memiliki kemampuan minimal agar dapat mengoperasikan sistem. Kemampuan minimal yang harus dimiliki pengguna tersebut adalah :

a. Administrator

Memahami penggunaan komputer, konsep database, internet. b. User

Memahami penggunaan komputer dan internet.

4.2 Implementasi Program

Bab ini menbahas penulisan program untuk setiap modul. Pembahasan meliputi skrip-skrip utama dan interface aplikasi yang dibuat.

(73)

4.2.1 Koneksi Database

Skrip koneksi ini dibuat agar database yang telah dibuat dapat diakses dari browser.

echo "Server not connected"; }

?>

4.2.2 Modul Login

Secara logika, skrip login untuk administrator dan user adalah sama perbedaannya terletak pada tabel yang diakses.

Berikut skrip login untuk administrator.

<?

session_start(); ob_start();

include("../database.php");

$query=mysql_query("select idadmin,password from admin where idadmin='$username' and password='$password'");

if (mysql_num_rows($query)>=1) {

$hasil=mysql_fetch_array($query);

session_register("SESS_ADM"); session_register("SESS_PASS");

$SESS_ADM=$username; $SESS_PASS=$password; header("location:../admin/admin.php"); }

else {

echo"<script>alert('Login gagal, silakan ulangi

kembali');window.location='../admin/index.php';</script>"; exit();

(74)

4.2.3 Modul Administrator

Administrator mempunyai wewenang untuk mengolah data pada

database. Pengolahan data meliputi menambah data, mengedit data dan menghapus data. selain pengolahan data, administrator juga bisa menampilkan data dari database.

Berikut skrip-skrip dari proses pengolahan data dan juga skrip untuk menampilkan data dari database.

1. Modul tambah data bidang studi

2. Modul Edit data bidang studi

<?php

include "../database.php";

$hasil=mysql_query("select * from bid_studi where kode_bid='$kode_bid'"); if (mysql_num_rows($hasil)>0)

{

echo "<script>window.alert('Kode Bidang Studi sudah ada');

window.location='admin.php?tampil=forminputbidstudi.php&kode_bid=$kode_bid&bi d_studi=$bid_studi';</script>";

} else {

mysql_query("insert into bid_studi(kode_bid,bid_studi) values('$kode_bid','$bid_studi')");

echo "<script>window.alert('Bidang Studi sudah disimpan');

mysql_query("update bid_studi set bid_studi='$bid_studi' where kode_bid='$kode_bid'");

echo "<script>window.alert('Data sudah berubah');

window.location='admin.php?tampil=forminputbidstudi.php&kode_bid=$kode_bid&bi d_studi=$bid_studi';</script>";

(75)

3. Modul hapus data bidang studi

4. Modul tambah data kelompok soal

5. Modul edit data kelompok soal

6. Modul hapus data kelompok soal

<?php

include "../database.php";

mysql_query("delete from bid_studi where kode_bid='$kode_bid'"); mysql_query("delete from klp_soal where kode_bid='$kode_bid'"); mysql_query("delete from soal where kode_klp like '$kode_bid%'");

echo "<script>window.alert('Data sudah terhapus');

window.location='admin.php?tampil=forminputbidstudi.php&kode_bid=$kode_bid&bi d_studi=$bid_studi';</script>";

?>

$kode_klp=$kode_bid."-".$level;

mysql_query("insert into klp_soal(kode_klp,kode_bid,level,jml_soal) values('$kode_klp','$kode_bid',$level,$jml_soal)"); echo "<script>window.alert('Kelompok soal sudah disimpan');

window.location='admin.php?tampil=tampil_headsoal.php';</script>";

$kode_klp=$kode_bid."-".$level;

mysql_query("insert into

klp_soal(kode_klp,kode_bid,level,jml_soal)

values('$kode_klp','$kode_bid',$level,$jml_soal)"); echo "<script>window.alert('Kelompok soal sudah disimpan');

window.location='admin.php?tampil=tampil_headsoal.php';</script>";

<?php

include "../database.php";

$hasil=mysql_query("select count(*) as jml from soal where kode_klp='$kode_klp'"); $baris=mysql_fetch_array($hasil);

if ($baris[jml]>0) {

echo "<script>window.alert('head soal ini dipakai di data soal'); window.location='admin.php?tampil=tampil_headsoal.php';</script>"; exit;

}

mysql_query("delete from klp_soal where kode_klp='$kode_klp'"); echo "<script>window.alert('Kelompok soal sudah dihapus');

(76)

7. Modul tambah data bank soal tes

8. Modul edit data bank soal tes

<?php

include "../database.php";

$kd_soal=$kode_klp . "-" . $kd_soal; if ($gambar!="" and $gambar!="none") {

echo "<script>window.alert('Soal sudah disimpan');

window.location='admin.php?tampil=forminputsoal.php&kode_klp=$kode_klp';</sc ript>";

} else {

echo "<script>window.alert('Soal gagal disimpan');

window.location='admin.php?tampil=forminputsoal.php&kode_klp=$kode_

$query="update soal set soal='$soal',

ceka='$ceka',cekb='$cekb',cekc='$cekc',cekd='$cekd',kunci='$kunci' ";

if ($gambar!="" and $gambar!="none") {

copy($gambar,"../images/$gambar_name"); $query .= ",gambar='$gambar_name' ";

}

$query .=" where id_soal='$kd_soal'"; mysql_query($query);

echo "<script>window.alert('soal dengan kode $kd_soal sudah diubah');

window.location='admin.php?tampil=formeditsoal.php&kode_klp=$kode_klp';</script >";

(77)

9. Modul hapus data bank soal tes

10.Modul Logout

<?php

include "../database.php";

$perintah="delete from soal where id_soal= '$kode_soal'"; $hasil=mysql_query($perintah);

echo "<script>window.alert('Soal sudah dihapus');

window.location='admin.php?tampil=formhapussoal.php&kode_klp=$kode_klp';</sc

echo("<script>alert('Anda telah keluar dari sistem, terima kasih!!')</script>"); echo("<script>window.location=\"../admin/index.php\"</script>");

?>

4.2.4 Modul User

Pada program ini, user hanya mempunyai hak untuk mengerjakan soal-soal tes yang kemudian dapat melihat hasilnya. User diharuskan untuk mendaftar terlebih dahulu sebelum mengerjakan soal tes. Setelah mendaftar,

user akan mendapat username dan password untuk melakukan login ke sistem ini. Pada Templates Test ini, user dapat melakukan pendaftaran, login, mengerjakan soal tes, mengedit profilnya sendiri (username tidak dapat diedit), melihat hasil dari mengerjakan soal tes, melihat detail hasil tes, dan

logout.

Berikut skrip untuk masing-masing proses yang bisa dikerjakan oleh

(78)

1. Modul Pendaftaran

<?php

include "database.php";

$hasil=mysql_query("select count(*) as jml from peserta where username='$username'");

$baris=mysql_fetch_array($hasil); if ($baris[jml]>0)

{

echo"<script>alert('Username sudah dipakai, silakan ulangi pendaftaran');window.history.go(-1);</script>";

$query=mysql_query("select username,password,tgl_daftar from peserta where username='$loginuser'

and password='$loginpwd'"); if (mysql_num_rows($query)>=1) {

$hasil=mysql_fetch_array($query);

session_register("SESS_USER"); session_register("SESS_PASS");

session_register("SESS_JOINT"); $SESS_USER=$loginuser; $SESS_PASS=$loginpwd;

(79)

3. Modul memilih bidang studi yang akan dikerjakan

4. Modul memilih kelompok soal yang akan dikerjakan

else {

echo"<script>alert('Login gagal, silakan ulangi kembali');window.location='../index.php';</script>"; exit();

} ?>

<strong>Pilih Bidang studi dibawah ini : </strong><br> <?

if (session_is_registered(kode_klp)) include "batal_soal.php"; $query=mysql_query("select * from klp_soal group by kode_bid"); while ($ambil=mysql_fetch_array($query))

{

$query2=mysql_query("select * from bid_studi where kode_bid='$ambil[kode_bid]'");

$ambil2=mysql_fetch_array($query2); print"<a

href='index.php?tampil=peserta/level.php&kode_bid=$ambil2[kode_bid]&bid=$amb il2[bid_studi]'>$ambil2[bid_studi]</a> <br>";

}

Pilih level bidang studi <? echo $bid ?> dibawah ini : <br> <?

$query=mysql_query("select * from klp_soal where kode_bid='$kode_bid' order by level");

if (mysql_num_rows($query)>0) {

while ($ambil=mysql_fetch_array($query)) {

$query3=mysql_query("select count(*) from soal where kode_klp='$ambil[kode_klp]'");

$ambil3=mysql_fetch_array($query3); $total_soal=$ambil3[0];

if ($total_soal>$ambil[jml_soal]) print"<a

href='index.php?tampil=peserta/soal.php&kode_klp=$ambil[kode_klp]'>$ambil[level ]</a>($ambil[jml_soal] soal) <br>";

} } else {

(80)

5. logout <?php

session_start(); session_destroy();

echo("<script>alert('Anda telah keluar dari sistem, terima kasih!!')</script>"); echo("<script>window.location=\"../index.php\"</script>");

?>

4.3 Implementasi Antarmuka

Tampilan yang ada terdiri dari beberapa halaman. Berikut tampilannya :

4.3.1 Implementasi Antarmuka untuk administrator 1. Halaman Login

(81)

Gambar 4.1 Tampilan Halaman Login untuk Administrator

Setelah tombol LOGIN di klik, maka program akan mengecek apakah

username dan password nya sudah benar. Halaman ini juga sebagai halaman utama untuk administrator. Jika sudah benar maka tampilannya adalah sebagai berikut :

(82)

Jika username dan atau password masih salah maka akan tampil pesan salah dan akan diulangi proses loginnya. Berikut tampilannya :

Gambar 4.3 Tampilan Halaman Administrator Login Salah

2. Tampilan Halaman Menu Input Bidang Studi

(83)

Gambar 4.4 Tampilan Halaman Menu Input Bidang Studi 3. Tampilan Halaman Menu Edit Bidang Studi

Gambar 4.5 Tampilan Halaman Menu Edit Bidang Studi

(84)

4. Tampilan Halaman Menu Hapus Bidang Studi

Gambar 4.6 Tampilan Halaman Menu Hapus Bidang Studi

Pada bidang studi ini, menu hapus akan menghapus secara otomatis semua data yang ada dalam bidang studi tanpa peringatan satu persatu. Setelah klik ok, maka data akan terhapus semua.

5. Tampilan Menu Pengelolaan Soal Tes

Sama seperti menu input bidang studi, pada menu ini administrator melakukan update kelompok soal dan update soal. Berikut tampilannya :

Gambar 4.7 Tampilan Halaman Menu Pengelolaan Soal Tes

(85)

yang ada menandakan bahwa jumlah soal yang diujikan lebih banyak dari pada jumlah bank soal. Jika jumlah bank soal lebih banyak maka warna merah akan hilang.

6. Tampilan menu edit kelompok soal

Gambar 4.8 Tampilan Halaman Menu Edit Kelompok Soal

Tampilan pada gambar 4.8 muncul jika kita mengklik menu edit pada kolom kelompok soal. Pada menu edit ini, yang bisa diedit hanya jumlah soal yang diujikan saja. Setelah selesai menginputkan data yang diganti, maka pilih tombol simpan dan akan muncul peringatan seperti gambar 4.9

Gambar 4.9 Tampilan Peringatan Kelompok Soal Telah Diedit 7. Tampilan Menu Hapus Kelompok Soal jika masih terdapat data soal

(86)

Menu hapus kelompok soal akan proses jika data soal sudah dihapus terlebih dahulu. Jika masih terdapat data bank soal pada kelompok soal maka akan tampil peringatan seperti gambar 4.10.

8. Tampilan Menu Hapus Kelompok Soal jika tidak terdapat data soal

Jika data pada bank soal sudah kosong maka menu hapus akan proses dan tampil peringatan seperti gambar 4.11

Gambar 4.11 Tampilan Halaman Menu Hapus Kelompok Soal jika tidak terdapat data soal

9. Tampilan Halamam Menu Input Bank Soal

(87)
(88)

10.Tampilan Halaman Menu Edit Bank Soal

Tampilan ini digunakan untuk mengedit bank soal yang telah ada. Jika ingin mengedit, klik menu edit. Berikut gambar 4.13

Gambar 4.13 Tampilan Halaman Pilih Edit Bank Soal

(89)
(90)

Setelah selesai mengedit dan disimpan maka akan muncul tampilan seperti

Gambar 4.14 Tampilan Peringatan Soal Telah Disimpan 11.Tampilan Halaman Menu Hapus Bank Soal

Tampilan seperti pada menu edit bank soal. Bedanya disini menu yang ada adalah hapus. Jika ingin menghapus, klik menu hapus

Gambar 4.15 Tampilan Halaman Menu Hapus Bank Soal

(91)

Gambar 4.16 Tampilan Peringatan Bank Soal telah Terhapus

12.Tampilan Halaman Menu Lihat Bank Soal

Menu ini hanya untuk melihat semua data bank soal yang telah ada.

(92)

13.Tampilan Halaman Menu Pengelolaan Data User

Gambar 4.18 Tampilan Halaman Menu Pengelolaan Data User

Gambar 4.18 menampilkan data user yang dilengkapi dengan menu lihat hasil ujian dan detail data. Berikut tampilan menu lihat hasil ujian dari salah satu user yang ada

Gambar 4.19. Tampilan Halaman Menu Lihat Hasil Ujian

(93)

Gambar 4.20. Tampilan Halaman Menu Detail Data

14.Tampilan Halaman Menu Hasil Tes dilihat Dari Kelompok Soal

Tampilan ini dapat dilihat hasil tes dari segi masing-masing kelompok soal.

Berikut tampilan halaman menu hasil tes :

Gambar 4.21 Tampilan Halaman Menu Pengelolaan Data User

(94)

Gambar 4.22 Tampilan Halaman Menu Lihat

Pada gambar 4.22 terdapat menu lihat hasil ujian dan detail data. menu detail data berisi profil user. Sedangkan menu lihat hasil berisi hasil dari pengerjaan user.

4.3.2 Implementasi Antarmuka untuk User

Implementasi ini digunakan untuk user atau peserta tes. 1. Tampilan Halaman Pendaftaran

(95)

Gambar 4.23. Tampilan Halaman Menu Pendaftaran

(96)

Gambar 4.24 Tampilan Menu Daftar

Jika tombol daftar diklik tapi username yang dimasukkan sama maka akan tampil peringatan seperti gambar 4.25

Gambar 4.25 Tampilan Halaman Menu Daftar Username Sama 2. Tampilan Halaman Menu Login

(97)

Gambar 4.26 Tampilan Halaman Menu Login

Jika username dan password yang dimasukkan salah atau tidak sama maka akan muncul peringatan seperti gambar 4.27

Gambar 4.27 Tampilan jika User dan Password Salah 3. Tampilan Halaman Jika Login Sukses

(98)

Gambar 4.28 Tampilan Halaman Login Sukses 4. Tampilan Halaman Menu Profil Anggota

Pada tampilan ini user dapat mengedit data diri. Semua dapat diedit kecuali username. Berikut tampilan halaman menu profil anggota

(99)

Jika ingin mengubah, maka klik tombol Ubah data anggota. Setelah klik tombol ubah data anggota maka akan tampil gambar 4.30

Gambar 4.30 Tampilan Halaman Ubah Data Anggota

Setelah data yang diedit diisi, maka klik ubah dan data anggota akan berubah. Jika batal mengedit, klik tombol batal.

5. Tampilan Halaman Menu Pendaftaran Ujian

(100)

Gambar 4.31 Tampilan Halaman Menu Pendaftaran Ujian

Jika user pilih salah satu dari bidang studi maka akan tampil gambar seperti gambar 4.32. Akan tampil kelompok-kelompok soal yang ada dalam bidang studi. Kelompok soal akan tampil dengan syarat jumlah soal yang diujikan lebih kecil daripada jumlah bank soal. Jika syarat tidak terpenuhi maka kelompok soal tidak akan muncul meskipun bidang studinya ada. Angka dalam kurung menunjukkan jumlah soal yang diujikan.

(101)

6. Tampilan Halaman Soal yang akan Dikerjakan

Memilih soal yang akan dikerjakan dengan mengklik angka berwarna biru. Setelah diklik, maka akan tampil soal yang akan dikerjakan secara satu persatu sebanyak jumlah soal yang diujikan. Berikut tampilannya

Gambar 4.33 Tampilan Soal yang akan dikerjakan

(102)

Gambar 4.34 Tampilan Halaman Selesai Jawab

Setelah yakin akan jawabannya, maka klik tombol selesai. Dan akan tampil peringatan seperti gambar 4.35

Gambar 4.35. Tampilan Peringatan Selesai Kerja Soal

(103)

Gambar 4.36 Tampilan Hasil Ujian User 7. Tampilan Halaman Menu Hasil Ujian

Halaman ini berisi mengenai semua hasil ujian user. Berikut tampilan halaman menu Hasil Ujian

Gambar 4.37 Tampilan Halaman Menu Hasil Ujian 8. Tampilan Halaman Menu Logout

(104)

Gambar 4.38 Tampilan Halaman Menu Logout

(105)

Pada bagian akhir skripsi ini, dicantumkan beberapa kesimpulan dan saran dari hal-hal yang berhubungan dengan Templates Test yang berisi soal-soal latihan tes masuk perguruan tinggi negeri.

5.1. Kesimpulan

Setelah melihat proses jalannya program dan beberapa kali percobaan, maka penulis mengambil kesimpulan. Templates Test ini dapat dijadikan salah satu sarana latihan soal-soal tes masuk perguruan tinggi dengan proses penampilan hasil yang cepat. Dalam arti, setelah kita selesai mengerjakan soal maka nilai akan secara otomatis menghitung secara komputerisasi sehingga hasil bisa langsung diterima tanpa banyak waktu. Dibandingkan dengan latihan menggunakan media buku, latihan dengan templates tests ini akan lebih cepat.

5.2. Saran

Sebagai pertimbangan untuk penyempurnaan dan pengembangan program ini, ada beberapa saran yang penulis sampaikan.

1. Program dapat dikembangkan lebih sempurna dengan adanya fasilitas toolbar yang berisi operator matematika dan simbol-simbol untuk soal-soal perhitungan.

(106)

Hartono, Jogiyanto, 1999, Analisis dan Disain, Andi, Yogyakarta.

Kadir, Abdul, 2002, Dasar-Dasar Pemrograman Web Dinamis Menggunakan PHP, Andi, Yogyakarta.

Pressman, Roger, Rekayasa Perangkat Lunak (Buku Satu), Andi, Yogyakarta PHP Manual

Gambar

Gambar 2.1. Skema PHP
Gambar 2.2. Modiffied Waterfall Model
Gambar 3.3. Diagram Alir Data Diagram Berjenjang
Tabel 3.1. Tabel Peserta
+7

Referensi

Dokumen terkait

Dalam pengembangan selanjutnya, Pusat Inkubator Bisnis FE UNTAN sejak Tahun 2009 selalu berupaya untuk melakukan langkah-langkah sinergi dengan berbagai program yang ada

Sebagai Ketua Umum terpilih Pertama adalah Bapak Isdarmawan Asrikan yang memegang kepemimpinan pada masa bak tahun 2015 - 2017, kemudian terpilih sebagai ketua umum masa

Mahasiswa memahami dan mampu melakukan analisa sinyal waktu kontinu seperti fungsi singular, eksponensial dan geometri kompleks, representasi dan transformasi Fourier LLO 3:

Sebagaimana Tercantum dalam penjelasan dari Pasal 24 Peraturan Pemerintah Nomor 24 Tahun 1997 tentang Pendaftaran Tanah, terdapat alat bukti tertulis untuk dapat

Dalam hasil ini Sugiyono (2011:2) menjelaskan bahwa: “metode penelitian pada dasarnya merupakan cara ilmiah untuk mendapatkan data dengan tujuan dan kegunaan tertentu”. Sesuai

Hasil dari penelitian ini yaitu: (1) bank asing mempunyai tingkat perbandingan antara simpanan dengan aktiva maupun aktiva dengan aktiva lebih besar dari pada bank persero,

Pelanggan yang sudah menyepakati barang dan harga yang ditawarkan atau dipesan, maka konsumen harus melakukan pembayaran ketika barang sudah datang atau sesuai

Pada tahap pengkajian, penulis banyak mendapat kesenjangan antara teoritis dengan kasus langsung dilapangan dimana pada teoritis terdapat fungsi