• Tidak ada hasil yang ditemukan

Aplikasi Ujian Online Dengan Pengamanan Menggunakan Physical Address

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Ujian Online Dengan Pengamanan Menggunakan Physical Address"

Copied!
33
0
0

Teks penuh

(1)

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)

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

(3)

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 .

(4)

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 :

(5)

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

(6)

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.

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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;

(17)

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

(18)

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

(19)

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

(20)

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.

(21)

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

(22)

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

(23)

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,

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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.

(31)

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

(32)

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

(33)

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

Gambar

Gambar 2.4 : Tampilan komodo edit
Gambar 2.5 : Tampilang control panel XAMPP

Referensi

Dokumen terkait

Protective fences have been processed regarding the interconnection of the same types of protective fences steel - steel, concrete - concrete, the interconnection of different types

(1) Pelaksanaan Road Map Reformasi Birokrasi di Lingkungan Pemerintah Kabupaten Tulungagung Tahun 2015-2019 dilaksanakan oleh masing- masing SKPD sesuai bidang

Pengujian ini dilakukan untuk menganalisis adanya pengaruh variabel independen yaitu Return on asset (ROA), Net Profit Margin (NPM) dan Earning Per Share (EPS)

Proses Perawatan/ Curing Beton.. Proses

Berangkat dari teori komunikasi massa (exposure dan efek), teori budaya, dan teori perilaku, maka dirumuskan hipotesis yang menyatakan bahwa “Eksposure tayangan hiburan

Kegiatan Apresiasi Kawasan Mandiri Pangan tahun 2015 dilaksanakan dua kali pada bulan Maret 2015, dengan sasaran peserta yang berbeda pada periode pertama untuk

Banyak teknologi pemrosesan dengan cara kerja menggunakan graf yang dalam Cloud Computing seperti model pemrograman Hadoop MapReduce dan HDFS ( Hadoop Distributed