Aplikasi Ujian Online Dengan Pengamanan Menggunakan Physical Address

BAB II
LANDASAN TEORI
2.1

Ujian Online

2.1.1 Pengertian Ujian
Ujian adalah suatu cara untuk mengetahui kemampuan seseorang dengan
memberikan pertanyaan – pertanyaan baik secara tertulis, lisan, ataupun cara-cara
lainnya.
2.1.2 Pengertian Online
Online adalah istilah saat kita sedang terhubung dengan internet atau dunia
maya, baik itu terhubung dengan akun media sosial kita, email dan berbagai jenis
akun lainnya yang kita pakai atau gunakan lewat internet.
2.1.3 Pengertian Ujian Online
Berdasarkan kedua defenisi diatas, ujian online dapat diartikan sebagai
suatu

cara

yang


dilakukan

seseorang

untuk

mengetahui

kemampuan

seseorang/peserta ujian melalui dunia maya dangan menggukanan fasilitasfasilitas yang dapat menghubungkan peserta ujian dengan dunia maya seperti
laptop/komputer, modem, wifidsb serta menggunakan aturan – aturan tertentu
untuk mencegah peserta ujian melakukan kecurangan layaknya ujian tertulis dan
dilaksanakn dalam waktu tertentu.
Berdasarkan defenisi ujian online diatas dapat ditarik beberapa poin
sebagai berikut :
1. Ujian online dilakukan melalui dunia maya sehingga perserta ujian
online harus terhubung ke dunia maya.


Universitas Sumatera Utara

2. Ujian online memiliki tujuan yang sama dengan ujian tertulis yaitu
untuk mengetahui kemampuan seseorang.
3. Ujian online memerlukan fasilitas-fasilitas yang berbeda dengan ujian
tertulis seperti komputer/laptop, modem, wifi, hotspotatau apasaja yang
dapat menghubungkan orang tersebut dengan dunia maya.
4. Ujian online memiliki aturan-aturan untuk mencegah peserta ujian
melakukan kecurangan.
2.2

Komponen – Komponen Perancangan Aplikasi Ujian Online.

2.2.1. Apache
Apache (server HTTP apache atau server website/www apache)
adalah server website yang dapat dijalankan di banyak sistem operasi (unix,
BSD, linux, microsoft windows dan novell netware serta platform lainnya) yang
berguna untuk melayani dan memfungsikan situs website. Protokol yang
digunakan untuk melayani fasilitas website/www ini menggunakan HTTP..


Apache merupakan web server yang cara kerjanya dapat diuraikan sebagai
berikut, sederhananya tugas web server adalah untuk menerima permintaan dari
client dan mengirimkan kembali berkas yang diminta oleh client tersebut. Client
yang dimaksud disini adalah komputer/laptop/perangkatlain yang telah diinstallweb browser seperti chrome, mozilla, opera danweb browserlain yang dapat
terhubung ke web server melalui jaringan internet. Perangkat lunak web server
terdapat pada komputer server, dan di komputer ini pulalah data-data website
tersimpan dengan rapi. Sama halnya dengan komputer client, komputer server
juga harus terhubung dengan jaringan internet atau jaringan intranet untuk dapat
diakses oleh client. Pada saat client (browser) meminta data website page kepada

Universitas Sumatera Utara

server, maka instruksi permintaan data oleh browser tersebut akan dikemas di
dalam TCP yang merupakan protokol transport dan dikirim ke alamat yang dalam
hal ini merupakan protokol yaitu Hyper Text Transfer Protocol (HTTP)
atau Hyper Text Transfer Protocol Secure(HTTPS).
Data yang diminta dari browser ke web server disebut dengan HTTP
request yang kemudian akan dicarikan oleh web server di dalam komputer server.
Jika ditemukan, data tersebut akan dikemas oleh web server dalam TCP dan
dikirim kembali ke browser untuk ditampilkan. Data yang dikirim dari server ke

browser

dikenal

dengan HTTP

response.

Jika data

yang

diminta

oleh

browser tersebut ternyata tidak ditemukan oleh web server, maka webserver akan
menolak permintaan tersebut dan browser akan menampilkan notifikasi error 404
atau Page Not Found. Meskipun proses atau cara kerja web server diatas
sepertinya sangat rumit, tapi pada prakteknya proses tersebut berlangsung dengan

sangat cepat. Pada saat user meminta suatu halaman website, ternyata hal itu
membutuhkan proses yang sangat panjang sampai halaman tersebut dapat anda
lihat di browser .

Gambar 2.1 : Cara kerja websiteserver apache

Universitas Sumatera Utara

Kelebihan dan Kekurangan WebServer Apache
Apache memiliki beberapa kelebihan dan kekurangan. Kelebihan dari apache
adalah sebagai berikut :
1. Open Source dan Free Software.
Open source adalah suatu istilah yang digunakan untuk software
(perangkat lunak) yang membuka atau membebaskan source code-nya
dapat dilihat oleh pengunanya, dan membiarkan penggunanya dapat
melihat bagaimana cara kerja dari software tersebut serta penggunanya
juga dapat memperbaiki atau mengembangkan software tersebut. Selain
open sourceapache juga free software yaitu software yang bisa
diperoleh tanpa harus membayar.
2. Apache dapat berjalan di beberapa sistem operasi (unix, BSD, linux,

microsoft windows dan novell netware serta platform lainnya).
3. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat
dikonfigurasi, autentikasi berbasis basis data dan lain-lain. Apache juga
didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI)
yang memungkinkan penggunaan server menjadi mudah.
4. Fleksibel, mudah di-setting (fleksibilitas untuk di-setting dengan PHP
dan MySQL).
5. Kehandalannnya telah teruji.
Selain kelebihan - kelebihandari web server apache yang telah disebutkan
di atas, web server apache juga memilik beberapa kekurangan diantaranya :
1. Web server apache tidak memiliki kemampuan mengatur load seperti
IIS, sehingga akan terus mem-fork proses baru hingga nilai max clients

Universitas Sumatera Utara

tercapai atau hingga batas yang diizinkan oleh OS. Ini tentunya
menguntungkan penyerang karena habisnya RAM akan lebih cepat
tercapai.
2. Apache tidak memproses karakter kutip dalam string referrer dan useragent


yang

dikirimkan

oleh

client.

Ini berarti client

dapat

memformulasi inputnya secara hati-hati untuk merusak format baris log
akses.
3. Terganggunya proses upload data, yang bisa menyebabkan software
salah dalam menerjemahkan ukuran data yang masuk. Dengan celah
tersebut, hacker dikabarkan dapat mengeksploitasi kerentanan dengan
cara mengirimkan request pada server apache bersangkutan. Versi yang
cacat tersebut adalah seluruh generasi apache 1.3 dan versi 2 hingga
2.0.36. Server yang diserang hacker memanfaatkan kelemahan ini akan

mengalami DoS atau server itu tidak bisa diakses. Dalam sejumlah
kasus, penyerangnya dapat menjalankan pilihan kodenya.
2.2.2. HTML
Pengertian dan Sejarah HTML
Berdasarkan wikipedia, HTML diartikan sebagai sebuah bahasa markup
yang digunakan untuk membuat sebuah halaman website, menampilkan berbagai
informasi di dalam sebuah penjelajah website internet dan pemformatan hypertext
sederhana yang ditulis dalam berkas format ASCII agar dapat menghasilkan
tampilan wujud yang terintegeras.. Dengan kata lain, berkas yang dibuat dalam
perangkat lunak pengolah kata dan disimpan dalam format ASCII normal sehingga
menjadi halaman website dengan perintah-perintah HTML.

Universitas Sumatera Utara

Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia
penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized
Markup Language), HTML adalah sebuah standar yang digunakan secara luas
untuk

menampilkan


halaman

website.

HTML

saat

ini

merupakan

standar internet yang didefinisikan dan dikendalikan penggunaannya oleh World
Wide Website Consortium (W3C).HTML dibuat oleh kolaborasi Caillau TIM
dengan Berners-lee Robert ketika mereka bekerja di CERN pada tahun 1989
(CERN adalah lembaga penelitian fisika energi tinggi di Jenewa).
Struktur dokumen HTML

Gambar 2.2 : Struktur halaman website

Elemen DOCTYPE
Digunakan untuk memberikan informasi kepada browser mengenai versi HTML
yang digunakan oleh dokumen. Versi HTML yang digunakan adalah HTML5.
Elemen HTML
Elemen ini mengandung keseluruhan dokumen HTML, yang berarti tag pembuka
elemen HTML merupakan tanda awal dokumen HTML, dan tag penutup adalah
tanda akhir dokumen.
Elemen head

Universitas Sumatera Utara

Elemen head pada dokumen digunakan untuk menguraikan berbagai metadata
(informasi yang berkaitan dengan dokumen), judul dokumen, dan tautan dokumen
ke berkas-berkas eksternal. Berbagai data yang ada di dalam elemen head tidak
akan nampak pada halaman website.
Elemen title
Memberikan judul dokumen.
Elemen body
Elemen ini merupakan penampung dari isi konten dokumen yang akan
ditampilkan kepada pengguna.

Tag , Atribut, dan Elemen HTML
Penulisan kode-kode HTML selalu melibatkan tag, atribut, dan elemen
HTML. Berikut ini adalah contoh penulisan dan tata letak ketiga istilah tersebut.

Gambar 2.3 : Penulisan tag, atribut, dan elemen HTML
Tag Adalah penulisan khusus (markup) berupa dua karakter ""

(tanpa tanda kutip) yang merupakan cara memberi tahu web browser bagaimana
suatu text ditampilkan. Setiap tagHTML memiliki fungsi tertentu namun dari
sekian banyak tagHTML hanya beberapa saja yang sering digunakan. Berikut ini
daftar dari tagHTML :

Universitas Sumatera Utara



Mendefinisikan hyperlink.



Mendefinisikan singkatan.
Mendefinisikan singkatan. (Tidak didukung di


HTML5).
Mendefiisikan informasi kontak untuk penulis /

pemilik dokumen.
Mendefinisikan sebuah applet tertanaman. (Tidak

didukung di HTML5).


Mendefinisikan area dalam sebuah image-map.



Mendefinisikan sebuah artikel.



Mendefinisikan isi disamping dari isi halaman.
Mendefinisikan sound seperti musik atau audio


stream lainnya.


Mendefinisikan text bold.
Mendefinisikan base URL/target untuk semua


URL relatif dalam dokumen.


Medefinisikan baris baru.



Menentukan default color, size, and font untuk
semua text di dalam dokumen.



mengisolasikan atau memisahkan dari text yang
dapat diformat dalam arah yang berbeda dari text
lain.



Mendefinisikan body dokumen.



Mendefinisikan sebuah tombol.

Universitas Sumatera Utara

Mendefinisikan sebuah bagian yang dikutip dari
sumber lain.


Mendefinisikan text lebih besar daritext normal.
(Tidak didukung di HTML5).
Digunakan

untuk

menggambar

grafik,


menggunakan scripting (biasanya JavaScript).


Mendefinisikan judul tabel.



Mendefinisikan text ketengah.



Mendefinisikan judul sebuah hasil karya.



Mendefinisikan potongan code komputer.
Menentukan properti kolom untuk setiap kolom


dalam elemen .


Mendefinisikan tombol command.



Mendefinisikan divisi/bagian.
Mengelompok satu atau lebih kolom dalam


sebuah tabel.
Menentukan daftar pilihan yang telah ditetapkan

untuk kontrol input.
Mendefinisikan

deskripsi/nilai

istilah

dalam


daftar deskripsi.
Mendefinisikan text yang telah dihapus dari

dokumen.


Mendefinisikan dialog box atau window.



Mendefinisikan sebuah daftar direktori.

Universitas Sumatera Utara

Mendefinisikan text yang telah dihapus dari

dokumen.
Mendefinisikan detail dari elemen

yang dapat di-view atau di-hide



Mendefinisikan daftar deskripsi.
Mendefinisikan sebuah window (frame) dalam


elemen .


Mendefinisikan frame.
Mendefinisikan font, color, dan size untuk text.


(Tidak didukung di HTML5)
to

Mendefinisikan heading atau judul.



Mendefinisikan informasi tentang dokumen.
Mendefinisikan sebuah header untuk elemen


atau untuk elemen .
Mendefinisikan

sebuah

label

untuk

sebuah


elemen .
Mendefinisikan

sebuah

judul

untuk


elemen .


Mendefinisikan daftar item.



Mendefinisikan client-side image-map.



Mendefinisikan text yang ditandai/disorot.



Mendefinisikan list/menu dari command.



Mendefinisikan metadata tentang dokumen HTML.

Universitas Sumatera Utara

Mendefinisikan hubungan antara dokumen dan


sumber daya eksternal (paling sering digunakan
untuk link ke style sheet).



Mendefinisikan pengukuran skala.



Mendefinisikan link navigasi.
Mendefinisikan



sebuah

isi

alternatif

untuk

pengguna jika elemen tidak didukung.
(Tidak didukung di HTML5).



Mendefinisikan sebuah objek yang tertanam.



Mendefinisikan sebuah input kontrol.
Mendefinisikan text yang di sisipkan kedalam


dokumen.


Mendefinisikan daftar terurut.



Mendefinisikan sebuah kutipan pendek.



Mendefinisikan apa yang harus ditampilkan di
browser yang tidak mendukung penjelasan ruby.



Mendefinisikan sebuah penjelasan / pengucapan
karakter (untuk tipografi Asia Timur).



Mendefinisikan sebuah penjelasan ruby (untuk
tipografi Asia Timur).



Mendefinisikan text yang tidak lagi benar.



Mendefinisikan

contoh

output

dari

program

komputer atau sistem komputasi.


Mendefinisikan client-side script.

Universitas Sumatera Utara



Mendefinisikan dalam dokumen.



Mendefinisikan sebuah daftar drop-down.



Mendefinisikan text yang lebih kecil.
Mendefinisikan beberapa sumber media untuk


elemen media ( dan ).
Digunakan untuk kelompok inline-elemen dalam

dokumen.
Mendefinisikan textstrikethrough. (Tidak didukung

di HTML5).


Mendefinisikan text penting.



Mendefinisikan style untuk dokumen.



Mendefinisikan text subscript.
Mendefinisikan

sebuah

judul

untuk


elemen .


Mendefinisikan text superscript.



Mendefinisikan tabel.



Mengelompokkan isi body dalam sebuah tabel.



Mendefinisikan cell dalam sebuah tabel.
Mendefinisikan sebuah kontrol inputmultiline (text


area).


Mendefinisikan sebuah cell header dalam tabel.



Mengelompokkan isi header dalam sebuah tabel.



Mengelompokkan isi footer dalam sebuah tabel.

Universitas Sumatera Utara



Mendefinisikan date/time.



Mendefinisikan judul dari dokumen.



Mendefinisikan baris dalam sebuah tabel.
Mendefinisikan text track untuk elemen media


( dan ).
Mendefinisikan text teletype. (Tidak didukung di

HTML5).
Mendefinisikan text yang harus berbeda dari text

biasa dengan memberi garis bawah.


Mendefinisikan sebuah daftar unordered.



Mendefinisikan sebuah text variabel.



Mendefinikan video.

Universitas Sumatera Utara


Membuat Form

User:
Password:
Alamat:
Jenis Kelamin:
Pria
Wanita
Hobbi:
Olahraga

Komputer

Musik

Membaca



Pada kode program sederhana di atas, selain tagHTML terdapat juga
atribut. Atribut adalah informasi tambahan yang diberikan kepada tag. Informasi
ini bisa berupa instruksi untuk warna dari text, besar huruf yang ditampilkan ,

Universitas Sumatera Utara

jenis huruf, dll. Setiap atribut memiliki nama dan nilai (value), dan ditulis dengan
format name=”value”.Value diapit tanda kutip, boleh menggunakan tanda kutip
satu (‘) atau dua (“). Contoh atribut dari kode program di atas diantaranya adalah
name, action, type, value.
Dalam pembuatan halaman website, HTML merupakah materi yang wajib
dipelajari. Hal ini dikarenakan HTML bisa disebut sebagai kerangka dari halaman
website. Namun HTML saja tidak cukup untuk membangun website yang menarik
dan dinamis. Banyak komponen lain yang harus dipelajari untuk membangun
website yang menarik dan dinamis. Beberapa diantaranya adalah CSS, PHP, dan
MySQL.
2.2.3. CSS
Cascading Style Sheet (CSS) merupakan aturan untuk mengatur beberapa
komponen dalam sebuah website sehingga akan lebih terstruktur dan seragam.
CSS bukan merupakan bahasa pemograman. Sama halnya dengan styles dalam
aplikasi pengolahan kata seperti microsoft word yang dapat mengatur beberapa
style seperti heading, subbab, bodytext, footer, images, dan masih banyak style
lainnya yang dapat digunakan untuk beberapa berkas file. Pada umumnya CSS
dipakai untuk memformat tampilan halaman website yang dibuat dengan bahasa
HTML. Penggunaan CSS tidaklah wajib namun sangat disarankan karena akan
memperindah tampilan website.
Kode CSS diletakkan di bawah head dari struktur HTML. Kode CSS dapat
diinputkan secara internal maupun eksternal. Kode CSS yang diinput secara
internal yaitu dengan menuliskan kode CSS tersebut dalam satu halaman dengan

Universitas Sumatera Utara

kode HTML. Adapun penggunaan kode CSS secara eksternal yaitu dengan
menuliskan kode CSS dalam satu file terpisah kemudian memanggilnya.



Belajar Penulisan CSS


body { font-size: 14px;
color: navy; }
p {font-family: calibri, helvetica, sans-serif; }
h1, h2 { text-decoration: underline;
font-size: 23px;
color: green; }



Belajar Aturan dan Cara Penulisan Kode CSS
Ini Adalah Judul Menggunakan h2
Ini adalah sebuah paragraf dengan tipe huruf
(font) calibri.
Sintaks
dari penulisan CSS adalah sebagai berikut :



Sintaks penulisan kode CSS adalah sebagai berikut :

Selector { property_1 : value_1 ; property_2 :
value_2 }

Berdasarkan sintaks penulisan CSS tersebut maka pada kode CSS adalah
yang background biru. Kode CSS berada di diantara dan . Ada
tiga bagian penting dari penulisan CSS yaitu selector, property, dan value. Bagian
yang digunakan untuk milih tagHTML mana yang ingin di-style disebut selector.
Pada kode CSS di atas yang merupakan selector adalah body, p, h1, dan h2.
Kemudian setelah selector yaitu property. Property CSS adalah jenis style,
atau elemen apa yang akan diubah dari sebuah tagHTML. CSS memiliki

Universitas Sumatera Utara

puluhan property yang dapat digunakan agar menampilkan hasil akhir yang kita
inginkan. Hampir semuaproperty dalam CSS dapat dipakai untuk seluruh selector.
Jika selector digunakan misalnya untuk “mencari seluruh tag “, maka
property adalah “efek apa yang ingin dimanipulasi dari tag p tersebut“, seperti
ukuran text, warna text, jenis font-nya, dll.
Bagian terakhir yaitu value. Value CSS adalah nilai dari property.
Misalkan untuk property background-color yang digunakan untuk mengubah
warna latar belakang dari sebuah selector, value atau nilainya dapat berupa red,
blue, black, atau white.
Hubungan antara HTML dan CSS dapat diumpamakan seperti rumah, yang
dimana HTML adalah beton yang membentuk rumah tersebut beserta ruang-ruang
yang ada di dalamnya sedangkan CSS adalah bagian untuk mempercantik rumah
tersebut seperti cat, hiasan dinding, dan dekorasi-dekorasi lainnya. Sehingga dapat
dipastikan bahwa CSS hanya dapat bekerja jika disertai dengan kode-kode HTML.
Namun HTML tetap dapat berkerja tanpa disertai kode CSS. Dalam perancangan
ujian online ini peran CSS digunakan untuk mendesain tampilan halaman login,
halaman penyajian soal, dan halaman logout
2.2.4. PHP
PHP adalah bahasa pemrograman script server-side yang didesain untuk
pengembangan website. Selain itu, PHP juga bisa digunakan sebagai bahasa
pemrograman umum
Sejarah Perkembangan PHP
Sejarah

PHP

kelahiranDenmarkyang

bermula
sekarang

pada

tahun

berdomisili

1994

ketika

di Canada

programmer

yaitu

Rasmus

Universitas Sumatera Utara

Lerdorfmembuat sebuah script (kode program) dengan bahasa pemrograman
Perl untuk website pribadinya. Salah satu kegunaan script ini adalah untuk
menampilkan resume pribadi dan mencatat jumlah pengunjung ke sebuah website.
Dengan alasan untuk meningkatkan performa, Rasmus Lerdorf

kemudian

membuat ulang kode program tersebut dalam bahasa C.
Ia juga mengembangkannya lebih lanjut sehingga memiliki script tersebut
memiliki kemampuan untuk memproses form HTML dan berkomunikasi dengan
database.

Lerdorfmenyebut

kode

program

ini

sebagai Personal

Home

Page/Forms Interpreter atau PHP/FI. Inilah asal mula penamaan PHP
digunakan. PHP/FI dapat digunakan untuk membuat aplikasi website dinamis
sederhana.

Lerdorfkemudian

merilis

kode

tersebut

ke

publik

dengan

sebutan Personal Home Page Tools (PHP Tools) version 1.0. Perilisan ini
diumumkan pada 8 Juni 1995.
Seiring dengan pengembangan dan penambahan fitur website pada saat itu,
pada April 1996, Rasmus Lerdorf mengumumkan PHP/FI versi 2.0. PHP versi 2
ini dirancang Lerdorf pada saat mengerjakan sebuah proyek di University of
Toronto yang membutuhkan pengolahan data dan tampilan website yang
rumit. PHP/FI versi 1 sebenarnya sudah mencukupi, namun performa yang
dihasilkan dirasakan belum cukup, sehingga butuh penambahan fitur lanjutan.
Evolusi PHP berikutnya terjadi pada pertengahan tahun 1997, PHP versi 2 telah
menarik banyak perhatian programmer, namun bahasa ini memiliki masalah
dengan kestabilan yang kurang bisa diandalkan. Hal ini lebih dikarenakan Lerdorf
hanya bekerja sendiri untuk mengembangkan PHP. Pada saat itulah Zeev

Universitas Sumatera Utara

Suraski dan Andi Gutmans, ikut mengambil bagian dan membuat ulang parsing
engine yang menjadi dasar dari PHP agar lebih stabil.
Dengan dukungan dari banyak programmer lainnya, Proyek PHP secara
perlahan beralih dari proyek satu orang menjadi proyek massal yang lebih akrab
dikenal sebagai open-source project. PHP selanjutnya dikembangkan oleh The
PHP Group yang merupakan kumpulan banyak programmer dari seluruh dunia.
Perilisan PHP versi 3 juga ditandai dengan perubahan singkatan PHP yang
sebelumnya PHP/FI: Personal Home Page Tools, menjadi PHP: Hypertext
Preprocessor. Kepanjangan PHP sebagai PHP: Hypertext Preprocessor disebut
juga sebagai kepanjangan rekursrif, sebuah istilah dalam pemrograman dimana
suatu fungsi memanggil dirinya sendiri. Jadi, sejak PHP versi 3, kepanjangan
PHP berubah menjadi PHP: Hypertext Preprocessor. Setelah perilisan PHP 3.0,
PHP semakin populer digunakan di seluruh dunia. Dan sejak saat itu, penggunaan
PHP sebagai bahasa pemrograman website menjadi sebuah standar bagi
programmer.
Segera setelahnya, Zeev Suraski, Andi Gutmans dan juga berbagai
programmer di seluruh dunia mengembangkan PHP lebih jauh lagi dengan
memperkenalkan banyak fitur lanjutan, seperti layer abstraksi antara PHP dengan
web server, menambahkan mekanisme thread-safety, dan two-stage parsing.
Parsing baru ini dikembangkan oleh Zeev dan Andi, dan dinamakan Zend engine.
Akhirnya pada 22 May 2000 diluncurkan PHP 4.0. PHP versi 4 juga menyertakan
fitur pemrograman objek / Object Oriented Programming, walaupun belum
sempurna.

Universitas Sumatera Utara

Versi PHP terakhir hingga saat ini, yaitu PHP 5.x diluncurkan pada 13
Juli 2004. PHP 5 telah mendukung penuh pemrograman object dan peningkatan
performa melalui Zend engine versi 2. Beberapa penambahan fitur meliputi PDO
(PHP Data

Objects)

untuk

pengaksesan database,

closures,

trait,

dan

namespaces.
Hingga Desember 2014, versi stabil terakhir dari PHP adalah versi 5.6.3.
Jika diperhatikan, sudah lebih dari 10 tahun berlalu sejak dirilisnya PHP versi 5.
Versi lanjutan dari PHP, yakni PHP 6.x sebenarnya telah lama dikembangkan,
bahkan sejak tahun 2005. Fokus pengembangan PHP 6 terutama dalam
mendukung unicode, agar PHP bisa mendukung berbagai jenis karakter bahasa
non-latin. Namun dikarenakan beberapa alasan seperti kurangnya programmer,
dan performa yang tidak memuaskan, pengembangan PHP 6 dihentikan dan fitur
yang ada dimasukkan kedalam PHP 5.
Pada tahun 2014, sebuah proyek lanjutan PHP mulai mengemuka, yakni
PHP 7. Kalangan programmer sedikit bingung dengan penamaan versi PHP yang
akan dirilis ini, apakah akan menyebutnya sebagai PHP 6 atau PHP 7. Walaupun
PHP versi 6 telah resmi ditinggalkan, namun banyak artikel dan buku yang ditulis
mengenai PHP 6. Setelah mengambil voting, nama PHP versi 7 akhirnya menjadi
keputusan final. Dengan demikian, kita tidak akan melihat PHP versi 6, dan
langsung ‘loncat’ ke PHP 7.
PHP 7 berkembang dari proyek experimen yang dinamakan PHPNG
(PHP Next Generation). Proyek PHPNG bertujuan untuk menyusun ulang kode
PHP untuk meningkatkan performa. Pada Juli 2014, sebuah percobaan mendapati

Universitas Sumatera Utara

hasil bahwa PHPNG mengalami peningkatan performa hampir 100% dari versi
PHP sebelumnya.
PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP
dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General
Public License (GPL) yang biasa digunakan untuk proyek Open Source.
Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer
website di seluruh dunia. Menurut wikipedia pada februari 2014, sekitar 82% dari
web server di dunia menggunakan PHP. PHP juga menjadi dasar dari aplikasi
CMS

(Content

Management

System) populer

seperti

Joomla,

Drupal, dan WordPress.
PHP Sebagai Bahasa Pemrograman Server Side
PHP disebut bahasa pemrograman server side karena PHP diproses pada
komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman
client-side seperti JavaScript yang diproses pada webbrowser (client). Pada
awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan
namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun
perkembangannya, PHP menjelma menjadi bahasa pemrograman website yang
powerful dan tidak hanya digunakan untuk membuat halaman website sederhana,
tetapi juga website populer digunakan oleh jutaan orang seperti wikipedia,
wordpress, joomla, dll.
Untuk membuat halaman website, sebenarnya PHP bukanlah bahasa
pemrograman yang wajib digunakan. Kita bisa saja membuat website hanya
menggunakan HTML saja. Website yang dihasilkan denganHTML (dan CSS) ini
dikenal dengan website statis, dimana konten dan halaman website bersifat tetap.

Universitas Sumatera Utara

Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan PHP
adalah situs website yang bisa menyesuaikan tampilan konten tergantung situasi.
Website dinamis juga bisa menyimpan data ke dalam database, membuat halaman
yang berubah-ubah sesuai input dari user, memproses form, dll. Untuk pembuatan
website, kode PHP biasanya di sisipkan kedalam dokumen HTML. Karena fitur
inilah

PHP

disebut

juga

sebagai ScriptingLanguage atau

bahasa

pemrograman script.
Cara Kerja PHP
Cara Kerja PHP yang dikombinasi dengan HTML adalah sebagai berikut :
1.

Web Server akan melihat extension (jenis) file yang diakses. Jika file
yang dijalankan adalah HTML, maka web server tidak akan memanggil
modul PHP untuk

menjalankan

kode PHP,

karena

web

server

menganggap itu adalah file HTML biasa, dan menampilkannya langsung
tanpa diproses. Namun jika file tersebut adalah PHP, maka web server
akan menjalankan modul PHP, dan mengeksekusi kode PHP yang ada
di dalam file tersebut.
2. Web server apache akan mulai memproses file PHP dimulai dari baris
paling pertama sampai baris paling akhir secara berurutan.
3. Biasanya pada halaman website baris pertama, server akan mendapati tag
pembuka HTML, yakni “” dan diikuti dengan tagtag HTML lainnya. Karena tidak menemukan instruksi untuk masuk ke
mode PHP, seluruh tag HTML ini tidak memerlukan proses, dan
langsung di kirim ke web browser.

Universitas Sumatera Utara

4. Begitu

web

server

menemukan

tag “” yang menandakan akhir dari PHP.
6. Tag “?>” selain menandakan untuk keluar dari mode PHP, juga
menginstruksikan kepada web server bahwa text berikutnya akan
diproses sebagai text HTML biasa.
Kelebihan dari bahasa pemrograman PHP adalah sebagai berikut :
1. Bisa membuat website menjadi dinamis.
2. PHP bersifat open source yang berarti dapat digunakan oleh siapa saja
secara gratis.
3. Program yang dibuat dengan PHP bisa dijalankan oleh semua sistem
operasi karena PHP berjalan secara website base yag artinya semua sistem
operasi bahkan HP yang mempunyai web browser dapat menggunakan
program PHP.
4. Aplikasi PHP lebih cepat dibandingkan dengan ASP maupun Java.
5. Mendukung banyak paket database seperti MySQL, oracle, postgr SQL,
dan lain-lain.

Universitas Sumatera Utara

6. Bahasa pemrograman PHP tidak memerlukan kompilasi / compile dalam
penggunaannya.
7. Banyak web server yang mendukung PHP seperti apache, lighttpd, IIS dan
lain-lain.
8. Pengembangan aplikasi PHP mudah karena banyak dokumentasi,
Refrensi dan developer yang membantu dalam pengembangannya.
9. Banyak bertebaran aplikasi dan program PHP yang gratis dan siap pakai
seperti wordpress, prestashop, dan lain-lain.
Percabangan dan Perulangan pada PHP
Bagian yang sering dijumpai dalam sebuah bahasa pemrograman yaitu
percabangan dan perulangan. Bagian percabangan dan perulangan pada PHP
merupakan termasuk bagian yang terpenting dalam pemrograman PHP
Percabangan pada PHP digunakan untuk mengetes suatu kondisi. Apa
yang harus dilakukan program jika kondisi tersebut benar dan apa yang
dilakukan

program

jika

kondisi

tersebut

salah.

Pada

percabangan

menggunakan if, if else ataupun switch case. Di dunia nyata penggunaan if, if
else dan switch case sangat sering dijumpai baik di program yang sederhana
hingga program yang kompleks Berikut contoh program percabangan pada
PHP.


Universitas Sumatera Utara

Kode PHP di atas untuk mengetes kondisi $nilai=70. Jika $nilai>50
maka program akan menuliskan “selamat anda lulus”. Namun jika selain itu
maka program akan menuliskan “maaf anda gagal”.
Selain percabangan, bagian sering dijumpai pada pemrograman yaitu
perulangan. Perulangan dapat menggunakan for, while, ataupun do while.

Kode PHP di atas akan melakukan perulangan sebanyak delapan kali
mulai dari “Cetak ke : 1” sampai cetak “Cetak ke : 8”. Proses perulangan
akan terus dilakukan selama kondisi yang ada di dalam kurung while bernilai
benar. Berdasarkan kode program di atas, perulangan akan berhenti jika nilai
dari $a telah melewati delapan atau dengan kata lain nilai yang ada di dalam
kurung while telah bernilai salah.
2.2.5. MySQL
Pengertian MySQL
MySQL adalah sebuah implementasi dari sistem manajemen basisdata
relasional

(RDBMS)

yang

didistribusikan

secara

gratis

dibawah lisensi

GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan
MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan
produk turunan yang bersifat komersial.MySQL sebenarnya merupakan turunan
salah satu konsep utama dalam basis data yang telah ada sebelumnya

Universitas Sumatera Utara

SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian
basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja
pengoptimasinya dalam melakukan proses perintah-perintah SQL yang dibuat oleh
pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai
peladen basis data, MySQL mendukung operasi basisdata transaksional maupun
operasi basisdata non-transaksional.
Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul
dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor
lainnya. Namun pada modus non-transaksional tidak ada jaminan atas reliabilitas
terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok
untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi
blogging berbasis website (wordpress),CMS, dan sejenisnya.
Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan
untuk menggunakan modus basisdata transaksional, hanya saja sebagai
konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk
kerja pada modus non-transaksional.
Sejarah MySQL
MySQL pada awalnya diciptakan pada tahun 1979, oleh Michael "Monty"
Widenius, seorang programmer komputer asal Swedia. Monty mengembangkan
sebuah sistem database sederhana yang dinamakan UNIREG yang menggunakan
koneksi low-level ISAM database engine dengan indexing.

Universitas Sumatera Utara

Pada saat itu Monty bekerja pada perusahaan bernama TcX di Swedia.
TcX pada tahun 1994 mulai mengembangkan aplikasi berbasis website, dan
berencana menggunakan UNIREG sebagai sistem database. Namun sayangnya,
UNIREG dianggagap tidak cocok untuk database yang dinamis seperti website.
TcX kemudian mencoba mencari alternatif sistem database lainnya, salah satunya
adalah mSQL (miniSQL). Namun mSQL versi 1 ini juga memiliki kekurangan,
yaitu tidak mendukung indexing, sehingga performanya tidak terlalu bagus.
Dengan

tujuan

memperbaiki

performa

mSQL,

Monty

mencoba

menghubungi David Hughes (programmer yang mengembangkan mSQL) untuk
menanyakan apakah ia tertarik mengembangkan sebuah konektor di mSQL yang
dapat dihubungkan dengan UNIREG ISAM sehingga mendukung indexing.
Namun saat itu Hughes menolak, dengan alasan sedang mengembangkan
teknologi indexing yang independen untuk mSQL versi 2. Dikarenakan penolakan
tersebut, David Hughes, TcX (dan juga Monty) akhirnya memutuskan untuk
merancang dan mengembangkan sendiri konsep sistem database baru. Sistem ini
merupakan gabungan dari UNIREG dan mSQL (yang source code-nya dapat bebas
digunakan). Sehingga pada May 1995, sebuah RDBMS baru, yang dinamakan
MySQL dirilis. David Axmark dari Detron HB, rekanan TcX mengusulkan agar
MySQL di ‘jual’ dengan model bisnis baru. Ia mengusulkan agar MySQL
dikembangkan dan dirilis dengan gratis.
Pendapatan perusahaan selanjutnya didapat dari menjual jasa “support”
untuk perusahaan yang ingin mengimplementasikan MySQL. Konsep bisnis ini
sekarang dikenal dengan istilah open source. Pada tahun 1995 itu juga, TcX
berubah nama menjadi MySQLAB, dengan Michael Widenius, David Axmark dan

Universitas Sumatera Utara

Allan Larsson sebagai pendirinya. Titel “AB” dibelakang MySQL, adalah
singkatan dari “Aktiebolag”, istilah PT (Perseroan Terbatas) bagi perusahaan
Swedia.
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :

1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti windows, linux, freeBSD, mac os X server, solaris, amiga, dan
masih banyak lagi.
2. Perangkat

lunak

sumber

terbuka.

MySQL

didistribusikan

sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga
dapat digunakan secara gratis.
3. Multi-user.MySQL dapat digunakan oleh beberapa pengguna dalam waktu
yang bersamaan tanpa mengalami masalah atau konflik.
4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses
lebih banyak SQL per satuan waktu.
5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,
seperti signed / unsigned integer, float, double, char, text, date,
timestamp, dan lain-lain.
6. Perintah dan fungsi. MySQL memiliki operator dan fungsi secara penuh
yang mendukung perintah select dan where dalam perintah (query).

Universitas Sumatera Utara

7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti
level subnetmask, nama host, dan izin akses user dengan sistem perizinan
yang mendetail serta sandi terenkripsi.
8. Skalabilitas dan pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60
ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat
ditampung mencapai 32 indeks pada tiap tabelnya.
9. Konektivitas.

MySQL

dapat

melakukan

koneksi

dengan

client

menggunakan protokolTCP/IP,unixsoket (UNIX), ataunamed pipes (NT).
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada client dengan
menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa
Indonesia belum termasuk di dalamnya.
11. Antar muka. MySQL memiliki antar muka (interface) terhadap berbagai
aplikasi

dan

bahasa

pemrograman

dengan

menggunakan

fungsi API (Application Programming Interface).
12. Clientdan peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)
yang dapat digunakan untuk administrasi basis data, dan pada setiap
peralatan yang ada disertakan petunjuk online.
13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani

ALTER

TABLE,

dibandingkan

basis

data

lainnya

semacam PostgreSQL ataupun oracle.
2. Kelebihan dan Kekurangan MySQL
Hal paling mendasar yang menjadikan MySQL pilihan utama sebagai
database yang digunakan adalah karena MySQL menggunakan lisensi GPL dan

Universitas Sumatera Utara

multiplatform, sehingga lebih disukai para mahasiswa karena tidak membutuhkan
biaya besar dalam membuat aplikasi serta tidak harus tergantung pada OS
windows ataupun linux karena dapat dijalankan pada kedua OS tersebut dan
beberapa OS lainnya. Tapi alasan tersebut tidaklah cukup untuk menjadikan
MySQL sebagai RDBMS yang akan digunakan.
Kelebihan

1. Berlisensi GPL dan multi Platform.
2. Dapat diintegrasikan dengan beberapa bahasa pemrograman seperti .net,
java, python, perl yang merupakan bahasa pemrograman yang paling
dominan di kalangan programmer.
3. Mendukung ODBC untuk sistem operasi windows sehingga bisa
digunakan aplikasi yang berjalan diwindows.
4. Bisa dijalankan pada spesifikasi hardware yang rendah karena lebih hemat
resource memory (dibandingkan database lain) sehingga mudah
digunakan untuk bahan pembelajaran.
5. MySQL

dapat

mendeteksi pesan

kesalahan

pada

client

dengan

menggunakan lebih dari 20 bahasa meskipun bahasa indonesia belum
termasuk didalamnya.
Kekurangan

1. Banyak mengklaim kurang support terhadap pemrograman visual/desktop,
sehingga sedikit yang menggunakan untuk aplikasi visual.
2. Karena

berlisensi

GPL

sehingga

sulit

mendapatkan

update

untuk problem yang urgent, sehingga perusahaan skala menengah keatas

Universitas Sumatera Utara

lebih memilih RDBMS berlisensi dan di-support seperti oracle dan MS
SQL Server
3. Sangat diragukan dalam menangani data skala besar, karena ada beberapa
opini yang pro dan kontra terhadap kemampuan MySQL terhadap
pengolahan data yang besar.
2.3 Software yang Digunakan dalam Perancangan Aplikasi Ujian Online
Dalam perancangan aplikasi ujian online diperlukan beberapa tools yang akan
digunakan yaitu : text editor, XAMPP , web browser.
2.3.1 Komodo Edit

Gambar 2.4 : Tampilan komodo edit
Komodo edit merupakan sebuah text editor yaitu software yang digunakan
untuk mengetikkan kode-kode suatu program. Pada text editorkomodo edit

Universitas Sumatera Utara

tersedia template untuk berbagai jenis bahasa pemrograman dan bahasa style
seperti HTML, PHP, Javascript, Phyton, ASP dll. Komodo edit merupakan salah
satu text editor terbaik dikarenakan kemudahan penggunaannya seperti auto
complete, pewarnaan text dan kelengkapan berbagai jenis bahasa pemrograman.
Text editor komodo edit dapat diperoleh secara gratis.
2.3.2 XAMPP
XAMPP ialah perangkat lunak bebas yang mendukung banyak sistem
operasi,

merupakan campuran dari

beberapa

program

yang

mempunyai

fungsi sebagai server yang berdiri sendiri (localhost), yang terdiri dari program
MySQL database, apache HTTP server, dan penerjemah ditulis dalam bahasa
pemrograman PHP dan perl.
Nama XAMPP merupakan bundle yang terdiri dari apache, MySQL, PHP
dan perl. Program ini tersedia di bawah GNU General Public License dan bebas,
adalah mudah untuk menggunakan web server yang dapat melayani tampilan
halaman website yang dinamis. Jika ingin mendapatkan xampp dapat mendownload langsung dari situs resminya. Sampai tulisan ini dibuat, XAMPP versi
terakhir adalah versi 7.1.1.0
Bagian-Bagian Penting dari XAMPP
XAMPP memiliki tiga bagian penting yaitu :
1. htdoc adalah folder di mana programmer meletakkan file yang akan
dijalankan, seperti file PHP, HTML dan script lainnya.
2. phpMyAdmin adalah bagian untuk mengelola databaseMySQL yang ada
dikomputer.phpMyAdmin merupakan database yang telah di-bundle dalam
instalasi XAMPP

Universitas Sumatera Utara

3. Control Panel yang berfungsi untuk mengelola layanan (service) XAMPP.
Seperti stop service (berhenti), atau start service (mulai).

Gambar 2.5 : Tampilang control panel XAMPP

2.3.3 Web Browser
Web browseradalah perangkat lunak yang berfungsi untuk menerima dan
menyajikan sumber

informasi dari internet.

Sebuah sumber

informasi

diidentifikasi dengan pengidentifikasi sumber seragam yang dapat berupa
halaman website, gambar, video, atau jenis konten lainnya. Contoh web browser
adalah opera, mozilla firefox, google chrome dll
Kegunaan Web Browser
Adapun kegunaan web browser adalah :
1.Mempermudah mencari informasi yang dibutuhkan.
2. Mempermudah mendapatkan situs-situs yang ingindicari.
3.Dapat membuat akun seperti (twiter,blog, facebook dan lain-lain).
BAB III
PERANCANGAN UJIAN ONLINE
3.1

Database

Universitas Sumatera Utara