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
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