BAB II
DASAR TEORI
2.1
Pengertian Aplikasi
Aplikasi merupakan penerapan, menyimpan sesuatu hal, data, permasalahan, pekerjaan kedalam suatu sarana atau media yang dapat digunakan untuk menerapkan atau menginplementasikan hal atau permasalahan yang ada sehingga berubah menjadi suatu bentuk yang baru tanpa menghilangkan nilai-nilai dasar dari hal data, permasalahan, pekerjaan itu sendiri (Jogiyanto, 2001).
2.2
Pengertian QOS (Quiz Online System) QOS menurut Karya Gunawan (2011) merupakan aplikasi berbasis web
yang
digunakan untuk melaksanakan ujian secara online. QOS adalah perangkat
lunak berbasis web yang digunakan untuk melakukan test atau ujian secara online melalui jaringan internet dan atau intranet. QOS dikembangkan dengan tujuan mempermudah pengelolaan nilai mahasiswa serta mengurangi biaya operasional penyelenggaraan kuis. Aplikasi Quiz Online System membutuhkan beberapa spesifikasi sistem baik spesifikasi perangkat keras dan atau perangkat lunak. Tujuan dari pemilihan sistem yang baik adalah menjamin kinerja dari perangkat lunak untuk menghindari crash atau error saat dijalankan.
6
7
2.2.1
Kebutuhan Hardware Hardware atau perangkat keras yang dibutuhkan untuk sistem ujian online (Quiz Online System):
Tabel 2.1 Kebutuhan Hardware
2.2.2
Kebutuhan Software Software atau perangkat keras yang dibutuhkan untuk sistem ujian online (Quiz Online System):
Tabel 2.2 Kebutuhan Software
8
2.3
Tools Yang Digunakan
2.3.1
Diagram Konteks
Diagram konteks merupakan level utama dari suatu diagram arus data. Pada diagram konteks digambarkan aliran data yang keluar-masuk sistem dan keluarmasuk entitas luar (eksternal)., dengan kata lain diagram konteks merupakan suatu cara pemodelan untuk menggambarkan sistem yang dirancang secara umum atau global dimana sistem tersebut berbasis komputer.
2.3.2
Data Flow Diagram (DFD) Di dalam Modul Rekayasa Perangkat Lunak : Data Flow Diagram (DFD)
merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisis maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. (Uriawan, 2010) DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan darimana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang disimpan dan proses yang dikenakan pada data tersebut. (Kristanto, 2008) DFD merupakan penggambaran suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logik tanpa mempertimbangkan lingkungan fisik
9
dimana data tersebut mengalir atau lingkungan fisik dimana data tersebut akan disimpan. (Jogiyanto, 2005)
DFD merupakan alat yang digunakan pada metodelogi pengembangan sistem yang terstruktur. DFD merupakan alat yang cukup populer, karena dapat menggambarkan arus data di dalam sistem dengan terstruktur dan jelas. Lebih lanjut DFD merupakan dokumentasi dari sistem yang baik.
2.3.2.1 Simbol-Simbol Dfd Tabel 2.3 Simbol-Simbol DFD No
Simbol
1
Keterangan External Entity 1) Merupakan simbol entitas eksternal untuk menunjukkan tempat asal data (sumber) atau tempat tujuan data (Tujuan). 2) Nama entitas eksternal (terminator) ditulis dalam bentuk tunggal.
2
Arus Data (Flow) 1) Menunjukkan alur data (informasi/objek) yang mengalir. 2) Nama alur data menunjukkan nama dari data yang mengalir tersebut, dan bisa lebih dari satu.
3
Proses Proses
n
1) Menunjukkan tugas atau proses yang dilakukan baik secara
10
manual atau otomatis. 2) Simbol Proses ini tidak hanya menunjukkan alur data yang keluar dari proses tersebut, tetapi juga menunjukkan alur data yang masuk dalam proses ini. 3) Nama proses hendaknya berupa kalimat perintah yang berupa kata kerja aktif dan diikuti oleh klausa objek untuk menjelaskan proses tersebut. 4) n menunjukkan angka referensi dari proses tersebut 4
Simpanan Data (Data Store) 1) Terlepas
dari
media
penyimpanan
fisik,
simbol
ini
menunjukkan gudang informasi atau data. 2) Sangat sering terjadi bahwa unsur-unsur data tidak berjalan dari suatu proses ke proses berikutnya secara langsung, melainkan disimpan terlebig dahulu, sementara operasi lainnya atau penyusunan ulang unsur-unsur data berlangsung.
2.3.3
Bagan Alir (Flowchart) Menurut Wisnu Uriawan dalam Modul Rekayasa Perangkat Lunak : Bagan
Alir Merupakan alat bantu yang bisa digunakan untuk kegiatan analisa sistem dan perancangan (desain) sistem. Suatu skema representasi suatu proses atau algoritma. Flowchart merupakan salah satu tool yang digunakan untuk Quality Control.
11
Flowchart adalah bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial.Flowchart digunakan untuk merepresentasikan maupun mendesain program.Oleh karena itu flowchart harus bisa merepresentasikan komponenkomponen dalam bahasa pemrograman.Baik flowchart maupun algoritma bisa dibuat sebelum maupun setelah pembuatan program. Flowchart dan Algoritma yang dibuat sebelum membuat program digunakan untuk mempermudah pembuat program untuk menentukan alur logika program, sedangkan yang dibuat setelah pembuatan program digunakan untuk menjelaskan alur program kepada orang lain.
Flowchart berbeda dengan DAD,
yang paling jelas
adalah dari
tahapan/langkah alur data serta simbol-simbol yang digunakan. Untuk itu, perhatikan penjelasan berikut sehingga bisa mengetahui apa saja perbedaan yang ada pada flowchart dan DAD.
2.3.3.1 Simbol-Simbol Flowchart Tabel 2.4 Simbol-Simbol Flowchart Simbol
Arti
Definisi
Oval
Terminasi atau Start, menunjukan awal atau akhir bagan alir
Aliran Data Aliran data fisik dari satu bagan ke bagan yang lain
12
Data
Rectangle
Suatu proses input dan output
Menunjukan
suatu
proses
yang
digunakan Diamond
Notasi suatu keputusan atau percabangan, sehingga hanya dipilih salah satu.
Keterangan : 1.
Tanda Oval, biasanya disebut sebagai start and end symbol. Biasanya diberi nama “Mulai” dan “Selesai”, atau “Start” dan “End”. Ataupun frase lain yang menunjukkan bahwa program/bagan alir tersebut mulai dan selesai.
2.
Diamond sebagai tanda pemilihan adalah Conditional (or decision). Simbol ini mengandung pertanyaan Yes/No atau Ya/Tidak atau Benar/Salah. Simbol ini memiliki dua simbol aliran data yang keluar, biasanya dari sudut yang bawah dan sudut yang kanan, satunya menyatakan “Benar(true)” dan satunya menyatakan “False(salah)”.
2.3.4
Diagram Relasi Entitas (ERD)
Model data Entity-Relationship (E-R) dibangun berdasarkan persepsi dari dunia nyata yang mengandung himpunan dari objek-objek yang disebut entity dan
13
hubungan antara objek-objek tersebut. Setiap objek bersifat unik. Hal ini tampak dari atribut-atribut yang dimilikinya .sebuah database secara grafik digambarkan sebagai berikut, yang terdiri dari beberapa komponen :
2.3.4.1 Simbol-Simbol ERD ERD merupakan alat untuk pembuatan model data secara grafik, maka ERD memiliki symbol-symbol yang digunakan untuk menggambarkan model data seperti terdapat pada table berikut : Tabel 2.5 Simbol-Simbol ERD No 1
Simbol
Arti Entitas
Definisi 1) Entitas/Entity
adalah
sesuatu
yang
dibedakan dalam dunia nyata, diman informasi yang berkaitan dengannya dikumpulkan. Entity set
(Himpunan
entitas) adalah kumpulan dari entity yang sejenis, berupa proyek, kendaraan, pegawai,
konsumen,
pemasok,
penjualan dan lain sebagainya.Suatu kumpulan objek atau sesuatu yang dapat
dibedakan
secara unik.
atau
didefinisikan
14
2
Relationship
1) Hubungan yang terjadi antara satu atau lebih entity. 2) Relationship
tidak
mempunyai
keberadaan fisik kecuali yang diwarisi dari hubungan antara entity tersebut. 3
Atribut
1) Karakteristik
dari
relationship
yang
entity
atau
menyediakan
penjelasan detail tentang entity atau relationship tersebut. 2) Nilai atribut (Attribute value) adalah suatu data aktual atau informasi tertentu yang disimpan pada tiap atribut di dalam suatu entitas atau relationship (Nonkey
attribute). Identifier (key)
digunakan untuk menentukan suatu entity secara unik. Descriptor (nonkey attribute)
digunakan
menspesifikasikan
karakteristik
untuk dari
suatu entity yang tidak unik. 4
____ __
Atribut Kunci
1) Atribut
yang
digunakan
untuk
menentukan suatu entity secara unik.
15
Atribut yang memiliki sekelompok nilai untuk setiap instant entity
2.3.4.2
Entity, Atribut Dan Relationship
2.3.4.2.1 Entity Entity adalah objek yang mempunyai eksistensi dan terdefinisi dengan baik. Himpunan entity yang sejenis disebut entity set. Untuk model dari ER digambarkan dengan simbol 4 persegi panjang. Sedangkan relationship set yang merupakan hubungan yang terjadi antara entity set digambarkan dengan simbol layang-layang.
SISWA
Mengerja kan
SOAL
Gambar 2.1 Entity set dan Relationship set 2.3.4.2.2 Atribut 1.
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut.
2.
Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship.
16
2.3.4.2.3 Jenis-Jenis Atribut 1.
Key
: Atribut yang digunakan untuk menentukan suatu entity
secara unik. 2.
Atribut Simple
: Atribut yang bernilai tunggal.
3.
Atribut Multivalue : Atribut yang memiliki sekelompok nilai untuk setiap instan entity. TglLahir
Ge Jenis_kelamin
NIS
Nama
SISWA
Gambar 2.2 Jenis-jenis atribut 4.
Atribut Composite : Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
Nama Depan
Nama Tengah
NAMA
SISWA
Gambar 2.3 Atribut composite
Nama Belakang
17
5.
Atribut Derivatif
: Suatu atribut yang dihasilkan dari atribut yang lain. Umur
TglLahir
SISWA
Gambar 2.4 Atribut derivatif
2.3.4.2.4
Relationship
Relationship adalah asosiasi di antara beberapa entity. Relationship set adalah himpunan dari relasi-relasi dengan tipe yang sama.
2.3.4.2.5 Entity Relationship Dalam entity relatioship, relasi yang bisa terjadi antara 2 file adalah sebagai berikut : 1.
One to One Hubungan antara file pertama dengan file kedua adalah satu banding satu.
2.
One to Many Hubungan antara file pertama dengan file kedua adalah satu banding banyak.
3.
Many to Many Hubungan antara file pertama dengan file kedua adalah banyak banding banyak.
18
2.3.4.3 Normalisasi Proses Normalisasi adalah suatu proses dimana elemen-elemen data dikelompokan menjadi tabel-tabel, dimana dalam tabel tersebut terdapat entity-entity relasi antar entity tersebut. (Kristanto, 2008) Dalam proses normalisasi, field kunci memegang peranan yang penting dalam pembuatan tabel yang berisi entity dan relasinya. Field kunci merupakan field atau satu set field yang terdapat dalam satu file yang merupakan kunci dan mewakili record. Kunci disini akan sangat penting apabila di dalam program nanti terdapat fasilitas pencarian, karena field yang merupakan kunci akan menjadi penentu dalam pencarian program. Dalam proses normalisasi juga membutuhkan beberapa tahap sebelum nantinya akan diimplementasikan dalam program. Tahap-tahap normalisasi adalah ; 1.
Bentuk Tidak Normal Bentuk tidak normal adalah suatu bentuk dimana semua data dikumpulkan apa adanya tanpa mengikuti aturan-aturan tertentu. Bisa jadi data yang dikumpulkan akan tidak lengkap dan terjadi duplikasi data
2.
Bentuk Normal Pertama (1 NF) Bentuk normal pertama (1 NF) adalah suatu bentuk dimana data yang dikumpulkan menjadi satu field yang sifatnya tidak akan berulang dan tiap field hanya mempunyai satu pengertian.
19
3.
Bentuk Normal Kedua (2 NF) Bentuk Normal Kedua (2 NF) adalah suatu bentuk yang memenuhi syaratsyarat yaitu:
4.
a.
Sudah memenuhi kriteria sebagai bentuk normal pertama
b.
Field yang bukan kunci tergantung secara fungsi pada kunci primer.
Bentuk Normal Ketiga (3 NF) Bentuk Normal Kedua (3 NF) adalah suatu bentuk yang memenuhi syaratsyarat yaitu: a. Sudah memenuhi kriteria sebagai bentuk normal kedua b. Field yang bukan kunci tergantung secara fungsi pada kunci primer.
2.3.5
Kamus Data Kamus Data (KD) atau Data Dictionary (DD) atau disebut juga dengan istilah
systems data dictionary adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi (Jogiyanto, 2005). Kamus data adalah kumpulan elemen-elemen atau simbol-simbol yang digunakan untuk membantu dalam penggambaran atau pengidentifikasian setiap field atau file di dalam sistem (Kristanto, 2008). Dari dua definisi diatas maka dapat disimpulkan bahwa pengertian Kamus Data adalah suatu aplikasi yang digunakan sebelum data diaplikasikan atau diakses.
20
Isi dari kamus data adalah sebagai berikut: 1.
Nama Arus Data Karena KD dibuat berdasarkan arus data yang mengalir di DAD, maka nama dari arus juga harus dicatat di KD, sehingga mereka yang membaca DAD dan memerlukan penjelasan lebih lanjut tentang suatu arus data tertentu di DAD dapat langsung mencarinya dengan mudah di KD.
2.
Alias Alias perlu ditulis karena data yang sama mempunyai nama yang berbeda untuk orang atau departemen satu dengan lainnya.
3.
Bentuk Data Digunakan untuk mengelompokkan KD ke dalam kegunaannya sewaktu perancangan sistem.
4.
Arus Data Arus data menunjukkan dari mana data mengalir dan kemana data akan menuju.
5.
Penjelasan Untuk lebih memperjelas lagi tentang makna dari arus data yang dicatat di KD, maka bagian penjelasan dapat diisi dengan keterangan-keterangan tentang arus data tersebut.
6.
Periode Periode ini menunjukkan kapan terjadinya arus data ini.
21
7.
Volume Volume yang perlu dicatat di KD adalah tentang volume rata-rata dan volume puncak dari arus data.
8.
Struktur Data Struktur data menunjukkan arus data yang dicatat di KD terdiri dari itemitem data apa saja.
2.4
Perangkat Lunak Yang Digunakan
2.4.1
Content Management System
2.4.1.1 Latar Belakang CMS (Content Management System) pertama kali muncul sebagai solusi dari kebutuhan manusia akan penyediaan informasi yang sangat cepat. Dengan hanya mengandalkan bahasa pemograman HTML dan beberapa gambar serta informasi yang statis, sebuah perusahaan berusaha sebaik mungkin menampilkan informasi secukupnya kepada para pengunjung. Setiap kali ada perubahan informasi dalam perusahaan, pihak manajeman mau tak mau haruslah berhubungan terlebih dahulu dengan pihak Humas sebelum akhirnya semua bahan diserahkan kepada pihak webmaster. Pihak inilah yang nantinya akan mengadakan perubahan terhadap isi website. Dapat dibayangkan bila hal yang sama terjadi terus-menerus, berulang kali dan dalam kuantitas yang besar, seberapa banyak waktu dan tenaga yang dibutuhkan untuk memproses semuanya. Selain tidak efisien, biaya operasional yang harus dikeluarkan juga sangatlah besar. sebuah metode atau sistem yang dapat
22
meningkatkan tingkat produktivitas dan efisiensi dalam pengembangan website sangatlah dibutuhkan. Dan salah satu solusi yang tepat untuk ini adalah dengan menerapkan Content Mangement System atau CMS. 2.4.1.2 Pengertian CMS CMS adalah suatu sistem yang digunakan untuk mengelola dan memfasilitasi proses pembuatan, pembaharuan, dan publikasi content secara bersama (colaboration content management). Content mengacu pada informasi dalam bentuk teks, grafik, gambar, maupun dalam format-format lain yang perlu dikelola dengan tujuang memudahkan pembuatan, pembaharuan, distribusi, pencarian,
analisis, dan
meningkatkan fleksibilitas untuk ditramformasikan dalam bentuk lain. Terminologi CMS sendiri cukup luas, diantararanya mencakup software aplikasi, database, arsip, workflow, dan alat bantu lain yang dapat dikelola sebagai bagian dari mekanisme jaringan informasi suatu perusahaan maupun global. Konten yang disimpan dalam Database memudahkan pemilik web dalam melakukan Export-Import data dari server ke komputer klien sebagai upaya backup.Penambahan berbagai Applikasi external untuk menambah Fasilitas dan fitur web dapat dilakukan dalam sekali klik installasi. System secara otomatis menambahkan Fitur yang anda install dalam jenis Component, Module dan Plugin. ciri-ciri website yang menggunakan CMS yaitu : 1. CMS memisahkan isi dan desain sehingga konsistensi tampilan senantiasa terjaga dengan baik. Hal itu dikarenakan ada fungsi “aksi” sehingga perubahan tampilan halaman tidak merubah desain keseluruhan halaman,
23
hanya modul atau bagian yang perlu dirubah saja, Setiap bagian website dapat meliliki isi dan tampilan berbeda, tanpa harus khawatir kehilangan identitas website secara keseluruhan. 2. Semua data disimpan dalam satu tempat sehingga mudah memanfaatkan kembali informasi untuk berbagai keperluan. 3. CMS membuat fleksibel pengaturan alur kerja dan hak akses sehingga memperbesar kesempatan user berpartisipasi mengembangkan website. CMS ini menggunkan basis pemrograman PHP, sehingga dalam penyimpanan ke server tidak diperlukan server kusus. Semua jenis Hosting baik Windows server dan Linux server dapat dengan mudah menjalankan website basis CMS. Berikut beberapa Fitur utama dari website berbasis CMS yaitu : a) Website Configuration
Ini memudahkan pengguna dalam melakukan konfigurasi terhadap website, seperti : setting SEF URL (Search Engine Friendly URl), Konfigurasi Server, Judul website, Penjelasan Web, Keyword web, dll. b) Media Manager
Memudahkan dalam melakukan Upload/Download file seperti Gambar, Music, Video ke website tanpa diperlukan software tambahan. c) User Manager
Melakukan pengelolaan untuk pengguna web. Pemilik web dapat memberikan hak akses berdasarkan Group dalam mengelola web ( Public user, Manager, Publisher, Administrator dan Super Administrator)
24
d) Menu Manager
Menu Manager berfungsi untuk Menambahkan, Mengedit dan Menghapus Menu navigasi secara mudah lewat. Begitu juga dalam membuat suatu Link/Tautan keberbagai halaman dan ke tautan lain. e) Content Manager
Mengelola isi/konten halaman web dengan tanpa diperlukan pengetahuan akan bahasa pemrograman. Editor pengelolaan halaman di lengkapi dengan tampilan WYSWYG Editor ( What You See What You Get), ini tampil layaknya anda mengggunakan Microsoft Office Word dalam pengerjaannya. Ketik Text, Copy & Paste, insert Image dalam satu tool editor. Konten yang anda buat memungkinkan untuk melakukan kelompok berdasarkan Seksi dan Katagori. f) Installer Manager
Tool yang canggih untuk website anda untuk Menambah, Menghapus extensi/Addon (Fitur dan fasilitas tambahan web dalam Component, Module dan Plugin) Website berbasis CMS telah dikenal dan dipakai oleh banyak kalangan bisnis, personal, organisasi dan instansi pemerintahan. Ketangguhan dari segi keamanan, efektifitas dan efisiensi dari web berbasis CMS seperti Joomla, Word Press sudah tidak diragukan lagi. Dalam pengembangannya CMS selalu bersifat Up To Date, ini dimaksudkan para developer pembuat Operating System Web CMS selalu melakukan perbaikanperbaikan sesuai dengan perkembangan Teknologi Informasi.
25
Dengan demikian web yang anda miliki baik itu Website bersekala Bisnis Perusahaan, Individual atau Blog, selalu up to date dan disesuaikan dengan semakin berkembangnya software komputer Browser yang dipakai pengguna. 2.4.1.3 Jenis – Jenis CMS pengembangan aplikasi web CMS sudah banyak yang menggunakan konsep freamework. Dengan konsep ini, sangat dimungkinkan untuk melakukan modifikasi terhadap beberapa fitur Content Management System instant tersebut karena semuanya dibuat lebih modular. Berikut adalah beberapa contoh web CMS instant yang dibuat oleh vendor dan dapat digunakan secara gratis dan scripting language yang digunakan adalah PHP dengan database server MySQL. Ada beberapa jenis-jenis Content Management System atau CMS, yaitu : 1) CMS untuk membuat personal blog, contohnya WordPress. 2) CMS
untuk
membuat
web
e-Commerce,
contohnya
PrestaShop,
OsCommerce, Opencart, Drupal. 3) CMS untuk membuat web e-Learning, contohnya Moodle. 4) CMS untuk membuat personal web, contohnya joomla!, Mambo. 5) CMS untuk membuat web e-Forum, contohnya phpBB, MYBB,Vbulletin. Berikut adalah beberapa jenis framework berbasis scripting language PHP : 1) Code Igniter (CI). 2) RubyOnRail (RoR). 3) CakePHP. 4) FuseBox.
26
2.4.1.4 Model CMS Website yang pembuatannya menggunakan CMS memiliki model – model yang berbeda. Ada beberapa model CMS yang diterapkan pada website yaitu: 1) CMS Komersial CMS Komersial dibuat dan dikembangkan oleh perusahaan – perusahaan software yang menjalankan usahanya dengan motif mencari keuntungan. CMS komersial pun menyediakan hampir semua fitur dan tidak tersedia secara gratis karena usernya harus membeli lisensi dari perusahaan pembuatnya mulai dari harga termurah sampai harga termahal, baik untuk intranet maupun untuk internet.Bila memilih CMS komersial, pastikan telah membeli lisensi yang sesuai dengan kondisi organisasi/perusahaan. Tidak kurang dan tidak pula berlebihan. Pergunakan pelayanan purna jual dari penyedia CMS sebaik mungkin, karena dengan demikian biaya yang telah dikeluarkan dapat berbanding lurus dengan hasil yang diperoleh. 2) CMS Open Source
CMS dibuat dan dikembangkan oleh sekelompok komunitas orang atau perusahaan yang intinya memberikan alternatif murah dan terjangkau kepada pengguna. CMS yang tersedia gratis ini dapat dipergunakan tanpa batasan dan memberikan hak akses kepada pengguna akan kode (source) program sehingga user dapat mudah memodifikasi CMS dimasa mendatang sesuai keinginannya.Bila memilih untuk menggunakan CMS Open Source, perlu disadari bahwa untuk jenis CMS yang satu ini tidak menyediakan pelayanan purna jual seperti halnya CMS
27
komersial. Jadi setiap kali ada permasalahan dalam implementasinya, diharapkan dapat mencari jalan keluarnya sendiri. Atau dengan mengunjungi berbagai forum yang telah disediakan.
2.4.1.5 Manfaat CMS Setiap website yang dibuat dengan CMS ataupun dibuat dengan bahasa pemrograman tentunya bertujuan untuk menarik perhatian dari user untuk mengunjungi website karena dengan tampilan yang menarik dan fitur – fitur yang ada pada website tersebut akan memberikan kemudahan bagi user ketika mengunjungi website tersebut. manfaat dari suatu website yang menggunakan CMS yaitu : 1) ManajemenData Manajemen data merupakan fungsi utama CMS. Semua data dan informasi yang telah ditempilkan belum dapat diorganisasi dan disimpan dengan baik. Setiap saat data dan informasi dapat dipergunakan kembali sesuai dengan kebutuhan. CMS pun mendukung berbagai macam format data seperti XML, HTML, PDF dan lainlain. Proses indexing, searching, join dan kontrol terhadap revisi data dan informasi dapat dilakukan dengan baik oleh CMS. 2) Pengaturan kelancaran website Banyak CMS memberikan fasilitas kepada para penggunanya untuk mengelola bagian atau isi yang akan ditampilkan, masa atau waktu penampilan dan lokasi penampilan di website. Tak jarang sebelum ditampilkan ada fungsi untuk mereview dahulu oleh user agar validitas data terjamin.
28
3) Standarisai halaman Setiap halaman website berasal dari “aksi” yang telah disediakan oleh CMS. Selain dapat menjaga konsistensi tampilan secara keseluruhan, para user dan editor dapat berkonsentrasi penuh dalam menyediakan isi website. Bila isi telah tersedia, maka proses publikasi ke halaman web mudah berjalan karena sudah ada aksi yang tersedia. Penetepan bagian website memberikan standarisasi kepada seluruh bagian website. 4) Personalisasi website Sekali ditempatkan dalam CMS, isi dapat ditampilkan sesuai keinginan dan kebutuhan penggunanya. Terlebih lagi kelabihan CMS yang dapat memisahkan isi dan desain menyebabkan proses personalisasi berjalan mudah. 5) Sindikasi Sindikasi memungkinkan sebuah website membagi isinya kepada websitewebsite yang lain. Format data yang didukung pun cukup bervariasi mulai dari rss, rdx, xml, atom hingga “backend scripting”. Sama halnya dengan personalisasi, sindikasi mudah pula dilakukan karena isi dan desain dibuat terpisah. 6) Akuntabilitas dan Akurasi
Karena CMS mendukung alur kerja dan hak akses yang jelas kepada penggunanya, data dan informasi dapat pula dipertanggungjawabkan dengan baik. Setiap usert atau editor memilki tugas masing-masing dan hak akses yang berbeda-
29
beda pula. Dengan demikian setiap perubahan di website dapat segera ditelusuri dan diperbaiki seperlunya.
2.4.2
Browser WEB Browser Web merupakan software yang digunakan untuk menampilkan
informasi dari server web. Perangkat lunak ini kini telah dikembangkan dengan menggunakan Grafis User interface (GUI), sehingga pemakai dapat melakukan ‘point and click’ untuk berpindah dari satu dokumen ke dokumen yang lainnya.
Pada saat ini hanya ada dua browser web GUI yang populer yaitu Internet Explorer dan Netscape Navigator, kedua browser ini bersaing untuk menarik pemakai dengan
berusaha
mendekati
standar
spesifikasi
dokumen
HTML
yang
direkomendasikan oleh W3C.
2.4.2.1 Cara Kerja World Wide Web (WWW) Dalam cara kerja dari www ada dua hal yang terpenting yaitu software web server dan software web browser. Server mempunyai tugas menyimpan dan mengirimkan informasi, sedangkan client membuat permintaan informasi dan menangani pengaksessan informasi kepada end user. Adapun cara kerja World Wide Web (WWW) adalah sebagai berikut : 1.
Informasi web disimpan dalam dokumen yang disebut dengan halamanhalaman web (web pages).
30
2.
Web pages adalah file-file yang disimpan dalam komputer yang disebut dengan server-server web (web server).
3.
Komputer-komputer membaca web page disebut sebagai web client.
4.
Web client menampilkan page dengan menggunakan program yang disebut dengan browser web (web browser).
2.4.3
PHP (Hypertext Preprocessor)
PHP (Hypertext Preprocessor) merupakan bahasa pemrograman berbasis web yang memiliki kemampuan untuk memproses dan mengolah data secara dinamis. PHP dapat dikatakan sebagai sebuah server-side embedded script language, artinya semua sintaks dan perintah program yang di tulis akan sepenuhnya dijalankan oleh server, tetapi dapat disertakan pada halaman HTML biasa.
2.4.3.1 Sejarah PHP PHP Pertama kali ditemukan pada 1995 oleh seorang Software Developer bernama Rasmus Lerdrof. Ide awal PHP adalah ketika itu Radmus ingin mengetahui jumlah pengunjung yang membaca resume onlinenya. script yang dikembangkan baru dapat melakukan dua pekerjaan, yakni merekam informasi visitor, dan menampilkan jumlah pengunjung dari suatu website. Dan sampai sekarang kedua tugas tersebut masih tetap populer digunakan oleh dunia web saat ini. Kemudian, dari situ banyak
31
orang di milis mendiskusikan script buatan Rasmus Lerdrof, hingga akhirnya rasmus mulai membuat sebuah tool/script, bernama Personal Home Page (PHP). Kebutuhan PHP sebagai tool yang serba guna membuat Lerdorf melanjutkan untuk mengembangkan PHP hingga menjadi suatu bahasa tersendiri yang mungkin dapat mengkonversikan data yang di inputkan melalui Form HTML menjadi suatu variable, yang dapat dimanfaatkan oleh sistem lainnya. Untuk merealisasikannya, akhirnya Lerdrof mencoba mengembangkan PHP menggunakan bahasa C ketimbang menggunakan Perl. Tahun 1997, PHP versi 2.0 di rilis, dengan nama Personal Home Page Form Interpreter (PHP-FI). PHP Semakin popular, dan semakin diminati oleh programmer web dunia. Rasmus Lerdrof benar-benar menjadikan PHP sangat populer, dan banyak sekali Team Developer yang ikut bergabung dengan Lerdrof untuk mengembangkan PHP hingga menjadi seperti sekarang, Hingga akhirnya dirilis versi ke 3-nya, pada Juni 1998, dan tercatat lebih dari 50.000 programmer menggunakan PHP dalam membuat website dinamis. Pengembangan demi pengembangan terus berlanjut, ratusan fungsi ditambahkan sebagai fitur dari bahasa PHP, dan di awaal tahun 1999, netcraft mencatat, ditemukan 1.000.000 situs di dunia telah menggunakan PHP. Ini membuktikan bahwa PHP merupakan bahasa yang paling populer digunakan oleh dunia web development. Hal ini mengagetkan para developernya termasuk Rasmus sendiri, dan tentunya sangat diluar dugaan sang pembuatnya. Kemudian Zeev Suraski dan Andi Gutsman selaku core developer (programmer inti) mencoba untuk menulis
32
ulang PHP Parser, dan diintegrasikan dengan menggunakan Zend scripting engine, dan mengubah jalan alur operasi PHP. Dan semua fitur baru tersebut di rilis dalam PHP 4. Pada tanggal 13 Juli 2004, evolusi PHP, PHP telah mengalami banyak sekali perbaikan disegala sisi, dan wajar jika netcraft mengumumkan PHP sebagai bahasa web populer didunia, karena tercatat 19 juta domain telah menggunakan PHP sebagai server side scriptingnya. PHP saat ini telah Mendukung XML dan Web Services, Mendukung SQLite. Tercatat lebih dari 19 juta domain telah menggunakan PHP sebagai server scriptingnya. Benarbenar PHP sangat mengejutkan. Yang menjadikan PHP berbeda dengan HTML adalah proses dari PHP itu sendiri. HTML merupakan bahasa statis yang apabila kita ingin merubah konten/isinya maka yang harus dilakukan pertama kali nya adalah, membuka file-nya terlebih dahulu, kemudian menambahkan isi kedalam file tersebut. Beda hal nya dengan PHP. Bagi anda yang pernah menggunakan CMS seperti wordpress atau joomla yang dibangun dengan PHP tentunya, ketika akan menambahkan konten kedalam website, anda tinggal masuk kedalam halaman admin, kemudian pilih new artikel untuk membuat halaman/content baru. Artinya hal ini, seorang user tidak berhubungan langsung dengan scriptnya. Sehingga seorang pemula sekalipun dapat menggunakan aplikasi seperti itu. Tahun 2006 PHP meluncurkan versi 5 dan pada bulan desember telan muncul 5.2.8. dengan berbagai kelebihan dibandingkan versi sebelumnya, PHP 5 hadir membawa lebih banyak fungsi dan perbaikan terhadap bug. Dengan PHP 5,
33
mampu menangani dan membuat session pada objek serta mosel keamanan menggunakan MD5 dan seterusnya. Selain itu, ada juga tambahan library, seperti : GD2 untuk memproses dynamic image dengan lebih efefktf. Fungsi untuk menangani Form dan Simple XML juga dtingkatkan pada versi 5 dan masih banyak kelebihan lainnya dan tambahan fungsi yang dapat mempermudahkan untuk bekerja dengan PHP & MySQL. PHP 5 lebih cepat, stabil dan siap untuk digunakan untuk skala prosuksi. Beberapa peningkatan fungsional dan penambahan beberapa fitur pada PHP 5, adalah: a) Peningkatan kemampuan pemrograman beorientasi objek (OOP) b) Exception handling, sistem standarisasi logika atas pemberitahuan kesalahan pemrograman yang belum didukung oleh PHP 4. c) Peningkatan terhadap penanganan string lebih lanjut. d) Peningkatan dukungan terhadap XML dan Web Servis, yang menggunakan libxml2. e) Dukungan terhadap SQLite database server.
2.4.3.2 Konsep Pemrograman PHP Untuk memahami proses atau prosedur pemrograman PHP, maka terlebih dahulu harus diketahui bagaimana sebuah HTML biasa diperlakukan oleh web server. Yang terjadi disebuah halaman HTML adalah sebagai berkut : ketika sebuah request ke sebuah halaman web datang dari browser, maka web server melakukan 3 langkah :
34
1) Membaca permintaan dari browser 2) Mencari halaman yang diminta di server 3) Mengirim halaman yang diminta melalui internet atau intranet ke browser. Sedangkan hal yang terjadi di sebuah halaman PHP adalah ketika ada request ke sebuah halaman PHP, maka server melakukan hal-hal sebagai berikut : 1) Membaca permintaan dari browser 2) Mencari halaman yang diminta di server 3) Melakukan intruksi yang ada di halaman PHP yang diminta 4) Mengirim balik halaman hasil eksekusi ke browser Kode PHP disimpan sebagai sebuah file plain text dalam format ASCII, jadi kode/program PHP bisa ditulis dihampir semua text editor. Penggunaan editor HTML seperti Dreamwever atau Ultraedit akan sangat membantu dalam penulisan program PHP. Program PHP dapat dimasukkan dihalaman HTML, contoh berikut akan menjelaskannya :
Program PHP
35
2.4.3.3 Fitur PHP Sebagai bahasa pemrograman tingkat tinggi, PHP tentu memiliki lebih, khususnya dalam skrip dan tingkat kesulitan serta fleksibilitas bahasa tersebut ketika dimodofikasi. 2.4.3.3.1 Kelebihan PHP PHP (Hypertext Preprocessor) mempunyai beberapa kemampuan yang merupakan salah satu kelebihan PHP. Kemampuan tersebut antara lain : 1.
Cara koneksi dan query database yang sederhana
2.
Dapat berkerja pasa sistem operasi berbasis Windows, Linux, Mac OS, dan kebanyakan varian UNIX.
3.
Biaya yang dibutuhkan untuk menggunakan PHP tidak mahal atau bahkan gratis.
4.
Mudah digunakan karena memiliki fitur dan fungsi khusus untuk membuat web dinamis. Bahasa pemrograman PHP dirancang untuk dapat dimasukkan dalam HTML (embedded script).
5.
Security system yang cukup tinggi
6.
Waktu eksekusi yan lebih cepet dibandingkan dengan bahasa pemrogramanb web lainnya berorientasi pada serverside scripting.
36
7.
Akses ke sistem database yang lain fleksibel dan mudah, seperti pada MySQL. Seluruh aplikasi berbasis web dapat dibuat menggunakan PHP. Kelebihan
utama PHP terletak pada kemudahan koneksinya dengan berbagai sistem database di dalam web. Sistem database yang dapat didukung oleh PHP adalah : 1.
Adabas D
2.
Direct MS-SQL
3.
Oracle (OCI7 dan OCI8)
4.
dBase
5.
InterBase
6.
Informix
7.
ODBC
8.
Hyperwave
9.
Sybase
10.
IBM DB2
11.
MySQL
12.
FrontBase
13.
PostgreSQL
14.
mSQL Solid
Selain dukungan koneksi sistem database yang cukup beragam, Anda juga dapat menggunakan PHP untuk berhubungan dengan berbagai macam protokol,
37
seperti : IMAP, NNTP, LDAP. HTTP, SNMP, COM, dan lainnya. Fasilitas lainnya adalah soket programming yang dapat digunakan untuk membuat script PHP yang dapat menghubungkan komputer pada sebuah jaringan, sehingga dapat bertukar data (data sharing).
2.4.3.3.2 Kelemahan PHP Selain berbagai kemudahan, PHP memiliki beberapa masalah atau kekurangan. Pertama, dari segi bahasa ia bukanlah bahasa yang ideal untuk pengembangan berskala besar. Kekurangan utama adalah tidak adanya namespace. Namespace merupakan sebuah cara untuk mengelompokan nama variabel atau fungsi dalam susunan hirarkis. Misalnya, $ModuleA:: ModuleB::c adalah variabel $c di dalam ModuleB, yang terdapat di bawah ModuleA. Modul lain, misalnya ModuleA:: ModuleC atau ModuleD dapat memiliki variabel $c juga, tapi keduanya dua variabel berbeda. Di dalam ModuleB, variabel $c pertama dapat disebutkan hanya $c saja, tapi untuk merujuk pada variabel kedua, diperlukan nama lengkap $ModuleD::c. Di PHP ini tidak ada, jadi kadang programer mengakalinya dengan membuat nama seperti $ModuleA_ModuleB_c. Kekurangannya, nama panjang ini harus disebutkan di setiap waktu. Kita juga tidak dapat membuat fungsi dalam fungsi atau kelas dalam kelas di PHP, semuanya hanya bisa terbatas satu level. Sebagian pengguna lanjut mengeluhkan model objek PHP yang minim. Dibandingkan dengan Python dan Perl, PHP tidak memiliki multiple inheritance, kemampuan untuk mewarisi dari dua atau
38
lebih kelas induk. Multiple inheritance dapat berguna untuk fleksibilitas dalam pengembangan OO. Java memang tidak memiliki multiple inheritance, tapi ada interface di Java. Di PHP ini pun tidak ada. Selain itu, belum ada penanganan eksepsi (raise, catch, throw) di PHP, dan kita tidak bisa memanggil metode/atribut secara berangkai, misalnya : $obj->meth()->meth2(). Hal lainnya, tidak ada destruktor (meskipun ada konstruktor). Dibandingkan dengan aplikasi CGI dalam Perl atau Python, aplikasi serupa dalam PHP sedikit banyak berjalan lebih cepat. Pada umumnya PHP dipasang sebagai sebuah modul Apache, sehingga webserver dapat langsung mengerti dan memproses skrip PHP katera interpreter PHP telah ditanamkan kedalamnya. Hal ini dilakukan untuk menghindari bottle neck yang pada umumnya terjadi di Unix, yaitu proses forking interpreter di setiap request. Selain kemampuan tersebut, PHP jga memiliki kekurangan pada saat instalasi konfigurasi yang cukup rumit dan berbeda dengan sistem operasi yang digunakannya karena dapat bekerja pada multi-platform.
2.4.4
Database Server MySQL MySQL server adalah server databse yang kecil, ringan dan mudah
digunakan. Sangat ideal untuk aplikasi kecil dan menengah. MySQL tersedia untuk berbegai platform seperti UNIX, Windows NT dan Windows 9x. MySQL adalah software yang gratis di bawah lisensi GNU public licence. Keterangan mengenai lisensi ini dapat dilihat di http://www.gnu.org/, sedangkan informasi dan software MySQL dapat diperoleh di situs http://www.mysql.com/.
39
Bahasa standar yang digunakan untuk mengakses database server dikenal dengan SQL. SQL server merupakan sebuah program yang berfungsi untuk melayani permintaan query database. Komunikasi interaktif dalam MySQL dapat terjadi antara pengakses, melalui web browser dengan penyedia web pada server. Pengakses dapat memperoleh data yang disediakan di server dan sebaliknya juga penyedia web dapat menampung data ke MySQL yang diisikan pengakses dari web browser. Berikut ini adalah perintahperintah SQL yang diterapkan dalam MySQL : 1.
CREATE Perintah ini digunakan untuk membuat database, sintaknya adalah: Create database dbname;
2.
INSERT Perintah ini digunakan untuk mengisi data pada suatu tabel, sintaknya adalah: Insert into tbname [field 1, field 2] values [‘nilai 1’,’nilai 2’];
3.
SELECT Perintah select ini digunakan untuk melihat dan menampilkan data dari suatu atau beberapa tabel, sintaknya adalah : Select * from tbname;
40
4.
DELETE Perintah ini digunakan untuk menghapus satu atau lebih record yang memenuhi kondisi yang ditentukan, sintaknya adalah : Delete from tbname;
5.
DROP Perintah ini digunakan untuk menghapus database, sintaknya adalah : Drop database [if exist] nama_database;
2.4.5
Konektivitas PHP Dan MySQL PHP menyediakan sejumlah fungsi yang digunakan untuk mengakses suatu
database ke halaman web, seperti pengaksesan database MySQL, dengan menggunakan perintah-perintah seperti di bawah ini: 1.
Mysql_Connect[ ] Perintah ini digunakan untuk menguji koneksi pada server database MySQL. Sintaknya : $variabel1=mysql_connect(“host”,”user”,”password”)
2.
Mysql_Select_db[ ] Perintah ini digunakan untuk melakukan koneksi pada database yang dalam server
telah
berhasil
dikoneksi
dengan
menggunakan
Mysql_Connect_db[ ] sintaknya: $variabel2=mysql_select_db(“namadb”,$Variabel1)
perintah
41
3.
Mysql_query [ ] Perintah ini digunakan untuk mengeksekusi perintah-perintah SQL, untuk memanipulasi
database
yang
berhasil
dikoneksi
dengan
perintah
Mysql_Select_db[ ] sintaknya : $Variabel3=mysql_query (“sql statement”) 4.
Mysql_fetch_row[ ] Perintah ini digunakan untuk melakukan pemrosesan hasil variabel3 yang dilakukan dengan perintah Mysql_Select_db[ ] Sintaknya: $Variabel4= Mysql_fetch_row ($Variabel3)]
5.
Mysql_error [] Perintah ini untuk mengambil pesan error dari operasi MySQL sebelumnya. Sintaknya: string mysql_error([int link_identiier])
6.
Mysql_close Perintah ini untuk menutup koneksi MySQL server. Sintaknya int mysql_close([int link_identifier]) Contoh script koneksi PHP ke database MySQL : $db = mysql_connect ($host,$user,$password) or die (“Could not connect to server!”); mysql_select_db ($dbnamae) or die (mysql_errror());
2.3 mysql_close ($db);?>