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
fasilitas-fasilitas 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
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
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
di-installweb 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
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 komput er 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 .
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 :
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 user-agent 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
Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia
penerbitan dan percetakan yang disebut denga
Markup Language), HTML adalah sebuah standar yang digunakan secara luas
untuk menampilkan halaman website. HTML saat ini merupakan standar
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 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.
Gambar 2.3 : Penulisan tag, atribut, dan elemen HTML
Tag Adalah penulisan khusus (markup) berupa dua karakter "<" dan ">"
(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 : 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
<a></a> Mendefinisikan hyperlink.
<abbr></abbr> Mendefinisikan singkatan.
<acronym></acronym>
Mendefinisikan singkatan. (Tidak didukung di
HTML5).
<address></address>
Mendefiisikan informasi kontak untuk penulis /
pemilik dokumen.
<applet></applet>
Mendefinisikan sebuah applet tertanaman. (Tidak
didukung di HTML5).
<area> Mendefinisikan area dalam sebuah image-map.
Mendefinisikan sebuah artikel.
<aside></aside> Mendefinisikan isi disamping dari isi halaman.
<audio></audio>
Mendefinisikan sound seperti musik atau audio
stream lainnya.
<b></b> Mendefinisikan text bold.
Mendefinisikan base URL/target untuk semua
URL relatif dalam dokumen.
<br> Medefinisikan baris baru.
<basefont> Menentukan default color, size, and font untuk
semua text di dalam dokumen.
<bdi></bdi> mengisolasikan atau memisahkan dari text yang
dapat diformat dalam arah yang berbeda dari text
lain.
<body> Mendefinisikan body dokumen.
<blockquote></blockquote> Mendefinisikan sebuah bagian yang dikutip dari
sumber lain.
<big></big> Mendefinisikan text lebih besar daritext normal.
(Tidak didukung di HTML5).
<canvas></canvas>
Digunakan untuk menggambar grafik,
menggunakan scripting (biasanya JavaScript).
<caption></caption> Mendefinisikan judul tabel.
<center></center> Mendefinisikan text ketengah.
<cite></cite> Mendefinisikan judul sebuah hasil karya.
<code></code> Mendefinisikan potongan code komputer.
<col>
Menentukan properti kolom untuk setiap kolom
dalam elemen <colgroup>.
<command></command> Mendefinisikan tombol command.
<div></div> Mendefinisikan divisi/bagian.
<colgroup></colgroup>
Mengelompok satu atau lebih kolom dalam
sebuah tabel.
<datalist></datalist>
Menentukan daftar pilihan yang telah ditetapkan
untuk kontrol input.
<dd></dd>
Mendefinisikan deskripsi/nilai istilah dalam
daftar deskripsi.
<del></del>
Mendefinisikan text yang telah dihapus dari
dokumen.
<dialog></dialog> Mendefinisikan dialog box atau window.
<del></del>
Mendefinisikan text yang telah dihapus dari
dokumen.
<details></details>
Mendefinisikan detail dari elemen <summary>
yang dapat di-view atau di-hide
<dl></dl> Mendefinisikan daftar deskripsi.
<frame></frame>
Mendefinisikan sebuah window (frame) dalam
elemen <frameset>.
<frameset></frameset> Mendefinisikan frame.
<font></font>
Mendefinisikan font, color, dan size untuk text.
(Tidak didukung di HTML5)
<h1></h1> to <h6></h6> Mendefinisikan heading atau judul.
Mendefinisikan informasi tentang dokumen.
<header></header>
Mendefinisikan sebuah header untuk elemen
<body> atau untuk elemen <article>.
<label></label>
Mendefinisikan sebuah label untuk sebuah
elemen <input>.
<legend></legend>
Mendefinisikan sebuah judul untuk
elemen <fieldset>.
<li></li> Mendefinisikan daftar item.
<map></map> Mendefinisikan client-side image-map.
<mark></mark> Mendefinisikan text yang ditandai/disorot.
<menu></menu> Mendefinisikan list/menu dari command.
<link>
Mendefinisikan hubungan antara dokumen dan
sumber daya eksternal (paling sering digunakan
untuk link ke style sheet).
<meter></meter> Mendefinisikan pengukuran skala.
<nav></nav> Mendefinisikan link navigasi.
<noframes></noframes>
Mendefinisikan sebuah isi alternatif untuk
pengguna jika elemen <frame> tidak didukung.
(Tidak didukung di HTML5).
<object></object> Mendefinisikan sebuah objek yang tertanam.
<input> Mendefinisikan sebuah input kontrol.
<ins></ins>
Mendefinisikan text yang di sisipkan kedalam
dokumen.
<ol></ol> Mendefinisikan daftar terurut.
<q></q> Mendefinisikan sebuah kutipan pendek.
<rp></rp> Mendefinisikan apa yang harus ditampilkan di
browser yang tidak mendukung penjelasan ruby.
<rt></rt> Mendefinisikan sebuah penjelasan / pengucapan
karakter (untuk tipografi Asia Timur).
<ruby></ruby> Mendefinisikan sebuah penjelasan ruby (untuk
tipografi Asia Timur).
<s></s> Mendefinisikan text yang tidak lagi benar.
<samp></samp> Mendefinisikan contoh output dari program
komputer atau sistem komputasi.
<section></section> Mendefinisikan <section> dalam dokumen.
<select></select> Mendefinisikan sebuah daftar drop-down.
<small></small> Mendefinisikan text yang lebih kecil.
<source>
Mendefinisikan beberapa sumber media untuk
elemen media (<video> dan <audio>).
<span></span>
Digunakan untuk kelompok inline-elemen dalam
dokumen.
<strike></strike>
Mendefinisikan textstrikethrough. (Tidak didukung
di HTML5).
<strong></strong> Mendefinisikan text penting.
<style></style> Mendefinisikan style untuk dokumen.
<sub></sub> Mendefinisikan text subscript.
<summary></summary>
Mendefinisikan sebuah judul untuk
elemen <details>.
<sup></sup> Mendefinisikan text superscript.
<table></table> Mendefinisikan tabel.
<tbody></tbody> Mengelompokkan isi body dalam sebuah tabel.
<td></td> Mendefinisikan cell dalam sebuah tabel.
<textarea></textarea>
Mendefinisikan sebuah kontrol inputmultiline (text
area).
<th></th> Mendefinisikan sebuah cell header dalam tabel.
<thead></thead> Mengelompokkan isi header dalam sebuah tabel.
<time></time> Mendefinisikan date/time.
<title></title> Mendefinisikan judul dari dokumen.
<tr></tr> Mendefinisikan baris dalam sebuah tabel.
<track></track>
Mendefinisikan text track untuk elemen media
(<video> dan <audio>).
<tt></tt>
Mendefinisikan text teletype. (Tidak didukung di
HTML5).
<u></u>
Mendefinisikan text yang harus berbeda dari text
biasa dengan memberi garis bawah.
<ul></ul> Mendefinisikan sebuah daftar unordered.
<var></var> Mendefinisikan sebuah text variabel.
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 , <html>
<head><title>Membuat Form</title></head>
<body>
<form name="F1" action="post.php" method="post">User: <br/>
<input type="text" name="nama"><br/>Password: <br/>
<input type="password" name="password"><br/>Alamat: <br/>
<textarea name="alamat"></textarea><br/>Jenis Kelamin: <br/>
<input type="radio" name="jk" value="Pria">Pria</input><br/>
<input type="radio" name="jk" alue="Wanita">Wanita</input><br/>
Hobbi:<br/>
<input type="checkbox" name="hobbi"
value="olahraga">Olahraga</input><br/>
<input type="checkbox" name="hobbi" value="komputer">
Komputer</input><br/>
<input type="checkbox" name="hobbi" value="musik">
Musik</input><br/>
<input type="checkbox" name="hobbi" value="membaca">
Membaca</input><br/>
<input type="submit" value="submit">
<input type="reset" value="reset">
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
kode HTML. Adapun penggunaan kode CSS secara eksternal yaitu dengan
menuliskan kode CSS dalam satu file terpisah kemudian memanggilnya.
Sintaks dari penulisan CSS adalah sebagai berikut :
Sintaks penulisan kode CSS adalah sebagai berikut :
Berdasarkan sintaks penulisan CSS tersebut maka pada kode CSS adalah
yang background biru. Kode CSS berada di diantara <style> dan </style>. 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
<!DOCTYPE html>
<h1>Belajar Aturan dan Cara Penulisan Kode CSS</h1> <h2>Ini Adalah Judul Menggunakan h2</h2>
<p>Ini adalah sebuah paragraf dengan tipe huruf (font) calibri.</p>
</body> </html>
<style>
Selector { property_1 : value_1 ; property_2 : value_2 }
</style>
<style type="text/css"> body { font-size: 14px; color: navy; }
p {font-family: calibri, helvetica, sans-serif; } h1, h2 { text-decoration: underline;
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 <p>“, 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
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
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
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.
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 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
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 “<!DOCTYPE html>” dan diikuti dengan
tag-tag HTML lainnya. Karena tidak menemukan instruksi untuk masuk ke mode PHP, seluruh tag HTML ini tidak memerlukan proses, dan
4. Begitu web server menemukan tag “<?php”maka tag tersebut
menginstruksikan kepada web server bahwa kode selanjutnya terdiri dari
kode PHP, sehingga apa pun yang ditulis setelah tag ini akan diproses
mengikuti aturan bahasa pemograman PHP, proses ini sebagai PHP
mode.
5. Mulai dari tag “<?php” adalah PHP mode. Di dalam PHP mode inilah
akan dibuat kode pemograman PHP.Web server akan terus berada
dalamPHPmodesampai menemukan tag penutupPHP, yakni
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,
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.
<?php
$nilai = 70;
if ($nilai > 50){ echo "selamat anda lulus"
} else {echo "maaf anda gagal"}
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 MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan
produk turunan yang bersifat komersial.MySQL sebenarnya merupakan turunan
<?php
echo"Operasi menggunakan while.";
$a=1;
While($a <= 8)
{echo"<br>Cetak ke : $a ";
basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdat
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 websit
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
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
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
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
7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti
level
yang mendetail serta sandi terenkripsi.
8. Skalabilitas dan pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman
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 protoko
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
12.Clientdan peralatan. MySQL dilengkapi dengan berbagai peralatan
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
2. Kelebihan dan Kekurangan MySQL
Hal paling mendasar yang menjadikan MySQL pilihan utama sebagai
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.
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
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
men-download 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
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