BAB II LANDASAN TEORI
2.1 REKAYASA PERANGKAT LUNAK Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering dipopulerkan tahun 1968 pada Software Engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer. Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999). Pengertian RPL sendiri adalah sebagai berikut: Suatu di siplin Ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai memelihara system setelah di gunakan. Jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan “semua aspek produksi” pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL (Pressman, 1997). Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar 2.1.
7
8
Gambar 2.1 Sistem Development Life Cycle (Pressman, 1997) Setiap model yang dikembangkan
mempunyai karakteristik
sendiri-
sendiri. Namun secara umum ada persamaan dari model-model ini, yaitu: • Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu pemahaman masalah seperti dijelaskan
pada
Bab
1,
merupakan
bagian
penting
dari
model pengembangan perangkat lunak. • Tahapan-tahapan
pengembangan
yang
teratur.
Meskipun
model-model pengembangan perangkat lunak memiliki pola yang berbedabeda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing - maintenance. • Stakeholder
berperan
tahapan pengembangan.
sangat
penting
dalam
keseluruhan
Stakeholder dalam rekayasa perangkat lunak
dapat berupa pengguna pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut. • Dokumentasi merupakan bagian penting dari pengembangan perangka lunak.
Masing-masing tahapan dalam model biasanya
menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
9
Keluaran dari proses pengembangan perangkat lunak harus bernilah ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah di- rupiahkan Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi,
efisiensi penggunaan
sumberdaya, peningkatan keuntungan
organisasi, peningkatan “image” organisasi dan lain-lain Ada banyak
model pengembangan
perangkat lunak. Pengembangan
perangkat lunak dalam skripsi ini menggunakan model waterfall atau bisa disebut sekuensial linier untuk rekayasa perangkat lunak ditunjukkan seperti gambar 2.2.
Rekayasa dan Pemodelan Sistem
Analisa Kebutuhan
Desain
Pengkodean
Pengujian
Pemeliharaan
Gambar 2.2 Model Waterfall (Pressman, 1997) Karena Waterfall menggunakan pendekatan perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Dengan model ini dilakukan aktivitas-aktivitas sebagai berikut : Rekayasa dan pemodelan sistem/informasi: Karena perangkat lunak selalu merupakan bagian dari sebuah sistem yang lebih besar, pengerjaan dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke perangkat lunak
10
tersebut. Pandangan sistem ini penting ketika perangkat lunak harus berhubungan dengan elemen-elemen lain seperti perangkat lunak, manusia, dan basis data. Rekayasa dan analisis sistem menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak. Rekayasa informasi mencangkup juga pengumpulan kebutuhan pada tingkat bisnis stategis dan tingkat area bisnis (Pressman, 1997). Analisis kebutuhan perangkat lunak : Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan antar muka yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan. Desain: Desain perangkat lunak ini merupakan proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda: stuktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Proses desain ini menterjemahkan syarat/ kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak. Generasi Kode: Desain harus bisa diterjemahkan ke dalam mesin yang bisa dibaca, maka dilakukan langkah pembuatan kode. Jika desain dilakukan dengan cara lengkap, pembuatan kode dapat diselesaikan secara mekanis. Dalam tugas akhir ini kode dibuat menggunakan editor Visual Studio 2005. Pengujian: Setelah pembuatan kode, maka dilakukan pengujian. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua
11
pernyataan sudah diuji, dan pada eksternal fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. Pemeliharaan: Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pengguna. Perubahan akan terjadi karena kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan- perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat periperal atau sistem operasi yang baru), atau karena pelanggan
membutuhkan
perkembangan
fungsional
atau
unjuk
kerja.
Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi
2.2 UML (UNIFIED MODELING LANGUAGE) UML (Unified Modeling Language) adalah alat bantu dalam pengembangan sistem yang berorientasi objek. Hal ini karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi
dengan
mekanisme
yang
efektif
untuk
berbagi
dan
mengkomunikasikan rancangan mereka dengan yang lain (Munawar : 2005). UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, OMT (Object Modeling Technique) dan OOSE (Object Oriented Software Engineering). Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented. Metode ini menjadikan proses analisis dan design ke dalam empat tahapan iteratif, yaitu: identifikasi kelas-kelas dan obyek-obyek, identifikasi semantik dari hubungan obyek dan kelas tersebut, perincian interface dan implementasi. Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan elemen. Pemodelan OMT yang dikembangkan oleh Rumbaugh didasarkan pada analisis terstruktur dan pemodelan entity-relationship. Tahapan
12
utama dalam metodologi ini adalah analisis, design sistem, design obyek dan implementasi. Keunggulan metode ini adalah dalam penotasian yang mendukung semua konsep OO. Metode OOSE dari Jacobson lebih memberi penekanan pada use case. OOSE memiliki tiga tahapan yaitu membuat model requirement dan analisis, design dan implementasi, dan model pengujian (test model). Keunggulan metode ini adalah mudah dipelajari karena memiliki notasi yang sederhana namun mencangkup seluruh tahapan dalam rekayasa perangkat lunak (Munawar : 2005). Dengan UML, metode Booch, OMT dan OOSE digabungkan dengan membuang elemen-elemen yang tidak praktis ditambah dengan elemen-elemen dari metode lain yang lebih efektif dan elemen-elemen baru yang belum ada pada metode terdahulu sehingga UML lebih ekspresif dan seragam daripada metode lainnya (Munawar : 2005). UML menyediakan cukup banyak diagram yang membantu mendefinisikan sebuah aplikasi, namun tidak berarti bahwa semua diagram tersebut akan bisa menjawab semua persoalan yang ada. Dalam banyak kasus, diagram selain UML sangat banyak membantu (Munawar : 2005). Tabel 2.1 Tipe Diagram UML (Munawar : 2005) Diagram
Tujuan
Keterangan
Acivity
Perilaku prosedural dan paralel
Sudah ada di UML 1
Class
Class, Fitur dan relasinya
Sudah ada di UML 1
Communication
Interaksi diantara obyek, lebih Di UML 1 menekankan ke link Collaboration
Component
Struktur dan komponen
Composite Structure
Dekomposisi sebuah class saat Baru untuk UML 2 runtime
Deployment
Penyebaran / Installasi ke klien
Interaction Overview
Gabungan antara activity dan Baru untuk UML 2 sequance diagram
Object
Contoh konfigurasi instance
koneksi
disebut
dari Sudah ada di UML 1
Sudah ada di UML 1
Tidak
resmi
ada
di
13
Diagram
Tujuan
Keterangan UML11
Package
Struktur hierarki saat kompilasi
Tidak resmi ada di UML 1
Sequence
Interaksi antar obyek. Lebih Sudah ada di UML 1 menekankan pada urutan
State Machine
Bagaimana event sebuah obyek
Timing
Interaksi antar obyek. Lebih Sudah ada di UML 2 menekankan pada waktu
Use Case
Bagaimana user berinteraksi Sudah ada di UML 1 dengan sebuah sistem
mengubah Sudah ada di UML 1
Pada skripsi ini hanya menggunakan use case, activity diagram, class digram, dan sequence diagram 2.2.1 USE CASE Use case adalah deskripsi fungsi dari sebuah sistem dari prespektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut skenario. Setiap skenario mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan use case adalah serangkaian skenario yang digabungkan bersama-sama oleh tujuan umum pengguna (Munawar : 2005). Dalam perbincangan tentang use case, penngguna biasanya disebut dengan aktor. Aktor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem. Model use case adalah bagian dari requirement model (Jacobson et all, 1992). Termasuk disini adalah problem domain object model dan penjelasan
14
tentang user interface. Use case memberikan spesifikasi fungsi-fungsi yang ditawarkan oleh sistem dari prespektif user. Diagram use case menunjukkan 3 aspek dari sistem yaitu: actor, use case dan sistem/ subsistem boundary. Actor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan use case. Gambar 2.1 mengilustrasikan actor, use case dan boundary. Sistem
Actor
Use Case
Actor
Gambar 2.3 Use case Model (Munawar : 2005)
2.2.2 ACTIVITY DIAGRAM Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah Activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Berikut adalah simbol-simbol yang sering digunakan pada saat pembuatan Activity diagram. Tabel 2.2 Simbol simbol yang sering dipakai pada Activity diagram (Munawar : 2005) Simbol
Keterangan Titik awal Titik akhir
15
Simbol
Keterangan
Activity
Pilihan
untuk
pengambilan
keputusan Fork;
digunakan
untuk
menunjukkan kegiatan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu. Rake;
menunjukkan
dekomposisi
Tanda waktu
Tanda pengiriman
Tanda penerimaan
Aliran akhir (Flow Final)
adanya
16
Contoh sederhana Activity diagram bisa dilihat pada gambar 2.4. Gambar tersebut menjelaskan tentang aliran saat proses penerimaan order. Dari gambar 2.4 terlihat bahwa pengisian order dan pengiriman invoice terjadi secara paralel. Intinya tidak jadi masalah mengenai mana yang terlebih dahulu harus diselesaikan. Kondisi paralel jelas membutuhkan sinkronisasi. Pada kasus diatas, order tidak akan ditutup sampai barang dikirim atau dibayar. Untuk menunjukkan hal tersebut bisa digunakan join sebelumnya action close order. Dengan join, aliran keluar hanya akan dilakukan jika aliran kedatangan sampai ke join. Dengan demikikan order hanya bisa ditutup jika pembayaran sudah dilakukan dan pengiriman sudah dilakukan (Munawar : 2005). Node pada Activity diagram disebut dengan action bukan activity. Activity menunjuk ke urutan action, sehingga diagram tersebut menunjukkan activity yang membangun action. Perilaku bersyarat ditunjukkan dengan decision dan merge decision hanya mempunyai satu aliran masuk dan beberapa quard untuk aliran keluar. Setiap aliran keluar mempunyai sebuah quard yaitu boolean yang ditempatkan pada kurung kotak. Setiap kali mencapai decision hanya bisa mengambil satu keputusan, sehingga quard harus mutually exclusive. Penggunaan [else] sebagai quard menunjukkan bahwa quard yang lain adalah salah (Munawar : 2005). Dari gambar 2.4 terlihat bahwa setelah order diisi, ada sebuah decision .Pada saat pesanan lagi sibuk maka perlu pengiriman hingga larut malam jika tidak pengiriman secara regular tidak mencukupi. Sebuah merge mempunyai banyak input dan satu output. Merge mendaki akhir perilaku bersyarat yang dimulai dengan decision.
17
Terima Order
Kirim Invoice
Isi Order
Overnight Delivery
Regular Deliery
Terima Pembayaran
Close Order
Gambar 2.4 Contoh Activity diagram Sederhana (Munawar : 2005)
2.2.3 SEQUENCE DIAGRAM Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah sekenario. Diagram ini menunjukkan sejumlah contoh objek dan message (pesan) yang diletakkan diantara objek-objek ini di dalam use case. Komponen utama sequence diagram terdiri atas objek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertical.
18
Objek diletakkan di dekat bagian atas diagram dengan urutan dari kiri ke kanan. Pengertian object hanya ada di UML 1, sedangkan di UML 2 istilah objek diganti dengan participant. Setiap participant terhubung dengan garis titik-titik yang disebut lifeline. Sepanjang lifeline ada kotak yang disebut activation. Activation mewakili sebuah eksekusi operasi dari participant. Panjang kotak ini berbanding lurus dengan durasi activation. Sebuah message bergerak dari satu participant ke participant yang lain dan dari satu lifeline ke lifeline yang lain. Sebuah participant pun bisa mengirim pesan kepada dirinya sendiri. Diagram yang mewakili waktu pada arah vertikal disebut time. Waktu dimulai dari atas ke bawah. Message yang lebih dekat dari atas akan dijalankan terlebih dahulu dibanding message yang lebih dekat ke bawah.
Object2
Object1
Actor
Message
Message
Lifeline Activation
Gambar 2.5 Simbol-Simbol Yang Ada Pada sequence diagram (Munawar : 2005) Gambar 2.7 menunjukkan esensi simbol dari sequence diagram dan simbol kerjanya secara bersama sama. Participant terletak di sebelah atas. Setiap lifeline menggunakan garis putus putus yang menurun dari participant. Garis yang solid dengan tanda panah menghubungkan antara satu lifeline dengan lifeline yang lain dan mewakili sebuah message dari satu participant ke participant yang lain. Dari
19
gambar tersebut terlihat seorang aktor menginisialisasi sequence diagram meskipun aktor bukan bagian dari sequence diagram. 2.2.4 ENTITY RELATIONSHIP DIAGRAM (ERD) Dalam
rekayasa
perangkat
lunak,
sebuah Entity-Relationship
Model (ERM) merupakan abstrak dan konseptual representasi data. EntityRelationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entitiy-Relationship ini disebut Entitiy-Relationship diagram, ER diagram, atau ERD.
Notasi-notasi simbolik yang digunakan dalam Entity Relationship Diagram adalah sebagai berikut : •
Entitas, Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.
•
Atribut, Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.
•
Relasi atau Hubungan, Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
•
Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan dalam bentuk garis.
20
Gambar 2.6 Model Entity Relationsgip Diagram (Fathansyah : 2002) 2.3 BASIS DATA Basis data terdiri atas 2 kata, yaitu Basis dan Data. Basis kurang lenih dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul. Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia(pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, symbol, teks, gambar, bunyi, atau kombinasinya (Fathansyah : 2002). Sedangkan menurut George Tsu-der Chou basis data merupakan kumpulan informasi bermanfaat yang diorganisasikan ke dalam aturan yang khusus. Definisi lain dari basis data menurut Fabbri dan Schwab adalah sistem berkas terpadu yang dirancang terutama untuk meminimalkan duplikasi data. Menurut Ramez Elmasri mendefinisikan basis data lebih dibatasi pada arti implisit yang khusus, yaitu: a.
Basis data merupakan penyajian suatu aspek dari dunia nyata (real world).
b.
Basis data merupakan kumpulan data dari berbagai sumber yang secara logika mempunyai arti implisit. Sehingga data yang terkumpul secara acak dan tanpa mempunyai arti, tidak dapat disebut basis data.
c.
Basis data perlu dirancang, dibangun dan data dikumpulkan untuk suatu tujuan. Basis data dapat digunakan oleh beberapa user dan beberapa aplikasi yang sesuai dengan kepentingan user (Ramez : 2000).
21
Dari beberapa definisi-definisi tersebut, dapat dikatakan bahwa basis data mempunyai berbagai sumber data dalam pengumpulan data, bervariasi derajat interaksi kejadian dari dunia nyata, dirancang dan dibangun agar dapat digunakan oleh beberapa user untuk berbagai kepentingan. Data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut: Elemen data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin. Rekaman merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari rekaman adalah baris atau tupel. Berkas adalah himpunan seluruh rekaman yang bertipe sama.
Gambar 2.7 Hirarki Data (Munawar : 2005) Sistem Basis Data Gabungan antara basis data dan perangkat lunak SMBD (Sistem Manajemen Basis Data) termasuk di dalamnya program aplikasi yang dibuat dan bekerja dalam satu sistem disebut dengan Sistem Basis Data.
22
Gambar 2.8 Konsep Sistem Basis DataData Base Management System (DBMS)/Sistem Manajemen Basis Data (SMB) (Munawar : 2005) DBMS dapat diartikan sebagai program komputer yang digunakan untuk memasukan,
mengubah,
menghapus,
memodifikasi
dan
memperoleh
data/informasi dengan praktis dan efisien. Kelebihan dari DBMS antara lain adalah: •
Kepraktisan. DBMS menyediakan media penyimpan permanen yang berukuran kecil namun banyak menyimpan data jika dibandingkan dengan menggunakan kertas.
•
Kecepatan. Komputer dapat mencari dan menampilkan informasi yang dibutuhkan dengan cepat.
•
Mengurangi kejemuan. Pekerjaan yang berulang-ulang dapat menimbulkan kebosanan bagi manusia, sedangkan mesin tidak merasakannya.
•
Update to date. Informasi yang tersedia selalu berubah dan akurat setiap.
23
Kelemahan-kelemahan DBMS antara lain: •
Biaya. Kebutuhan untuk medapatkan perangkat lunak dan perangkat keras yang tepat cukup mahal, termasuk biaya pemeliharaan dan sumber daya manusia yang mengelola basis data tersebut.
•
Sangat kompleks. Sistem basis data lebih kompleks dibandingkan dengan proses berkas, sehingga dapat mudah terjadinya kesalahan dan semakin sulit dalam pemeliharaan data.
•
Resiko data yang terpusat. Data yang terpusat dalam satu lokasi dapat beresiko kehilangan data selama proses aplikasi (Ramez : 2000).
2.4 PHP PHP dikenal sebagai sebuah bahasa scripting yang menyatu dengan tag – tag HTML yang dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis seperti guestbook, statistic pengunjung, polling, email, upload foto, blog, dan masih banyak lagi. Versi pertama PHP dibuat oleh Rasmus Lerdorf pada tahun 1994 dan sampai saat ini pengembangan versinya telah mencapai PHP versi 5.0. Berdasarkan hasil survey di website resmi PHP (www.php.net/usage.php), pada mei 2002, diseluruh dunia PHP telah dipakai oleh lebih dari 9 juta domain dan pada Juli 2007 terjadi peningkatan signifikan menjadi lebih dari 21 juta domain. Jumlah akan selalu meningkat dengan cepat yang menunjukan PHP telah semakin popular digunakan di dunia (Faisal : 2011).
PHP banyak digunakan karena : •
PHP bersifat open ource dan gratis. Efek dari program open source ini sangat terasa sekarang yakni teknologi internet semakin canggih, terjangkau alias murah, mudah dipelajari dan aman sehingga dapat menggerakan perekonomian dunia.
•
Life Cycle yang sangat singkat, sehingga PHP selalu up to date mengikuti perkembangan teknologi internet.
24
•
PHP mendukung koneksi ke banyak database baik yang gratis maupuu komersil, seperti MySQL, postgreSQL, oracle, Microsoft SQL Server, Interbase dan banyak lagi (Faisal : 2011).
2.5 XAMPP XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi. Versi XAMPP yang ada saat ini adalah Versi 1.4.14 atau
yang
terbarunya
anda
bisa
download
pada
http://www.apachefriends.org/en/xampp-window.html,
2.6 ALGORITMA FIRST COME FIRST SERVED Algoritma First Come First Served (FCFS) disebut juga sebagai teknik Pertama Tiba Pertama Dilayani (PTPD). FCFS merupakan penjadwalan tanpa prioritas dan tanpa preempsi (lihat posting penjadwalan cpu). Karena itu, proses ini serentak tersusun dalam antrian murni. Pada FCFS, proses yang tiba lebih dahulu akan dilayani lebih dahulu. Kalau proses itu tiba pada waktu yang sama, maka pelayanan dilakukan berdasarkan urutan mereka pada antrian. Tidak menjadi soal apakah waktu proses mereka singkat atau lama. Untuk dapat dilayani oleh prosesor, proses di antrian belakang harus menunggu sampai semua proses di depannya rampung dilaksanakan.
Nama Proses A B C D E
Saat Tiba 0 0 0 0 0
Lama Proses 7 10 2 4 8
Gambar 2.9 Antrian Lima Proses dengan saat tiba = 0