Kasiman Peranginangin

advertisement
BAB II
LANDASAN TEORI
2.1
Pengenalan PHP (Personal Home Page)
Kasiman Peranginangin (2) menyatakan, bahwa PHP adalah singkatan dari
PHP Hypertext Preprocessor yang digunakan sebagai bahasa script server-side
dalam pengembangan Web yang disisipkan dalam document HTML (Hyper Text
Markup Language).
Penggunaan PHP memungkinkan Web dapat dibuat dinamis sehingga
maintenance situs Web tersebut menjadi lebih mudah dan efisien. PHP merupakan
software Open-Source yang disebarkan dan dilisensikan secara gratis serta dapat
di-download secara bebas dari situs resminya http://www.php.net. PHP ditulis
menggunakan bahasa C.
2.1.1 Sejarah Singkat PHP
Kasiman Peranginangin (2) menyatakan, bahwa PHP diciptakan pertama kali
oleh Rasmus Lerdorf pada tahun 1994. Awalnya, PHP digunakan untuk mencatat
jumlah serta untuk mengetahui siapa saja pengunjung pada homepage-nya.
Rasmus Lerdorf adalah salah seorang pendukung open source. Oleh karena itu, ia
mengeluarkan Personal Home Page Tools versi 1.0 secara gratis, kemudian
menambah kemampuan PHP 1.0 dan meluncurkan PHP 2.0.
Pada tahun 1996, PHP telah banyak digunakan dalam website di dunia.
Sebuah kelompok pengembang software yang terdiri dari Rasmus, Zeew Suraski,
Andi Gutman, Stig Bakken, Shane Caraveo, dan Jim Winstead bekerja sama
untuk menyempurnakan PHP 2.0. akhirnya, pada tahun 1998, PHP 3.0
diluncurkan. Penyempurnaan terus dilakukan sehingga pada tahun 2000
dikeluarkan PHP 4.0. tidak berhenti sampai di situ, kemampuan PHP terus
7
8
ditambah, dan saat buku ini disusun, versi terbaru yang telah dikeluarkan adalah
PHP 5.0.x.
2.1.2 Kelebihan-Kelebihan PHP
Kasiman Peranginangin (3) menyatakan, bahwa PHP memiliki banyak
kelebihan yang tidak dimiliki oleh bahasa script sejenis. PHP difokuskan pada
pembuatan script server-side, yang bisa melakukan apa saja yang dapat dilakukan
oleh CGI, seperti mengumpulkan data dari form, menghasilkan isi halaman web
dinamis, dan kemampuan mengirim serta menerima cookies, bahkan lebih
daripada kemampuan CGI.
PHP dapat digunakan pada semua sistem operasi, antara lain Linux, Unix
(termasuk variannya HP-UX, Solaris, dan OpenBSD), Microsoft Windows, Mac
OS X, RISC OS. PHP juga mendukung banyak Web Server, seperti Apache,
Microsoft Internet Information Server (MIIS), Personal Web Server (PWS),
Netscape and iPlanet servers, Oreilly Website Pro Server, Audium, Xitami,
OmniHTTPd, dan masih banyak lagi lainnya, bahkan PHP dapat bekerja sebagai
suatu SGI processor.
PHP tidak terbatas pada hasil keluaran HTML (HyperText Markup
Languages). PHP juga memiliki kemampuan untuk mengolah keluaran gambar,
file PDF, dan movies Flash. PHP juga dapat menghasilkan teks seperti XHTML
dan file XML lainnya.
Salah satu fitur yang dapat diandalkan oleh PHP adalah dukungannya terhadap
banyak database. Berikut database yang dapat didukung oleh PHP:
•
Adabas D
•
dBase
•
Direct MS-SQL
•
Empress
•
FilePro (read only)
•
FrontBase
•
Hyperwave
9
•
IBM DB2
•
Informix
•
Ingres
•
Interbase
•
MSQL
•
MySQL
•
ODBC
•
Oracle (OCI7 dan OCI8)
•
Ovrimos
•
PostgrSQL
•
Solid
•
Sybase
•
Unix DBM
•
Velocis
2.2
Mengenal MySQL
Wahana Komputer (5) menyatakan, bahwa MySQL database server adalah
RDBMS (Relasional Database Management System) yang dapat menangani data
yang bervolume besar. Meskipun begitu, tidak menuntut resources yang besar.
MySQL adalah database yang paling populer diantara database-database yang
lain.
MySQL adalah program database yang mampu mengirim dan menerima data
dengan sangat cepat dan multi user. MySQL memiliki dua bentuk lisensi, yaitu
free software dan shareware. Penulis sendiri dalam menjelaskan buku ini
menggunakan MySQL yang free software karena bebas menggunakan database
ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar
lisensi, yang berada dibawah lisensi GNU/GPL (general public license), yang
dapat Anda download pada alamat resminya http://www.mysql.com.
10
2.3
Konsep Kerja PHP dan MySQL
Dodit Suprianto (290) menyatakan, bahwa untuk memahami bagaimana PHP
dapat berinterkasi dengan database, perlu dipahami bagaimana konsep kerja
antara database MySQL, Web Server (Apache), PHP, dan Browser Client.
Web Server
Obtain
Data
PHP
Dynamic
Page
Web Browser
MySQL
Run
Scrip
PHP File
Page
Request
Gambar 2.1 Konsep kerja PHP dan MySQL
Penjelasan gambar:
1. Pengunjung web browser melakukan permintaan pengiriman halawan web
(web request) dengan menggunakan URL standar.
2. Web server, dalam hal ini adalah Apache, mengenali permintaan halamn
web tersebut, kemudian menerjemahkan file yang mengandung script
PHP.
3. Halaman web yang terkirim harus mengandung script PHP berisi perintah
untuk menciptakan koneksi ke database MySQL berupa SQL query.
4. Database MySQL memberikan tanggapan atas permintaan sambungan ke
MySQL dan SQL query sesuai dengan isi script PHP yang dikirim.
5. Script PHP menyimpan hasil query database MySQL menjadi satu atau
lebih variable PHP, dengan peryataan echo, maka hasil request
dikeluarkan.
6. Selanjutnya, PHP mengkopi hasilnya dalam bentuk HTML yang telah
diciptakan oleh web server.
11
7. Web server mengirim HTML yang sudah jadi ke web browser client.
Unified Modelling language (UML)
2.4
Rosa A. S. and M. Shalahuddin (117) menyatakan, bahwa pada perkembangan
teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk
memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar
orang di berbagai Negara dapat mengerti pemodelan perangkat lunak.
Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah
standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang
dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu
Unified Modeling Language (UML). UML muncul karena adanya kebutuhan
pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan
dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk
pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan
diagram dan teks-teks pendukung.
UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML
tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML
paling banyak digunakan pada metodologi berorientasi objek.
2.4.1 Class Diagram
Rosa A. S. and M. Shalahuddin (122) menyatakan, bahwa diagram kelas atau
class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas
yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut
atribute dan metode atau operasi.
•
Atribut merupakan variable-variable yang dimiliki oleh suatu kelas.
•
Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
12
Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsifungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada
diagram kelas sebaiknya memliki jenis-jenis kelas berikut:
1. Kelas main
2. Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan
3. Kelas yang menangani tampilan sistem
4. Kelas yang mendefinisikan dan mengatur tampilan ke pemakai
5. Kelas yang diambil dari pendefinisian use case
6. Kelas yang menangani fungsi-fungsi yang harus ada diambil dari
pendefinisian use case
7. Kelas yang diambil dari pendefinisian data
8. Kelas yang digunakan untuk memegang atau membungkus data menjadi
sebuah kesatuan yang diambil maupun akan disimpan ke basis data.
Jenis-jenis kelas diatas juga dapat digabungkan satu sama lain sesuai dengan
pertimbangan yang dianggap baik asalkan fungsi-fungsi yang sebaiknya ada pada
struktur kelas tetap ada. Susunan kelas juga dapat ditambahkan kelas utilitas
seperti koneksi ke basis data, membaca file teks, dan lain sebagainya sesuai
kebutuhan.
Tabel 2.1 Simbol-simbol yang ada pada class diagram
Simbol
Nama
Kelas pada sturktur sistem
nama_kelas
+atribut
keterangan
Kelas
+operasi()
Antarmuka /
nama_interface
Interface
Asosiasi /
association
Sama dengan konsep interface dalam
pemrograman berorientasi objek
Relasi antar kelas dengan makna umum,
asosiasi biasanya juga disertai dengan
multiplicity
13
Tabel 2.1 Simbol-simbol yang ada pada class diagram (lanjutan)
Asosiasi berarah
/ directed
association
Generalisasi
Keberuntungan /
Relasi antar kelas dengan makna kelas
yang satu digunakan oleh kelas yang lain,
asosiasi biasanya juga disertai dengan
multiplicity
Relasi antar kelas dengan makna
generalisasi-spesialisasi (umum khusus)
Relasi antar kelas dengan makna
dependency
keberuntungan antar kelas
Agregasi
Semua-bagian (whole-part)
2.4.2 Use Case Diagram
Rosa A. S. and M. Shalahuddin (130) menyatakan, bahwa use case atau
diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem
informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara
satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use
case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah
sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
Syarat penamaan pada use case adalah nama didefiniskan sesimpel mungkin
dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa
yang disebut aktor dan use case.
1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan
sistem informasi yang akan dibuat di luar sistem informasi yang akan
dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang,
tapi aktor belum tentu merupakan orang.
2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar pesan antarunit atau aktor.
14
Tabel 2.2 Simbol-simbol yang ada pada diagram use case
Simbol
Nama
Keterangan
Fungsionalitas yang disediakan sistem
sebagai unit-unit yang saling bertukar pesan
Use case
antar unit atau aktor; biasanya dinyatakan
dengan menggunakan kata kerja di awal di
awal frase nama use case
Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi yang
akan dibuat di luar sistem informasi yang
Aktor / aktor
akan dibuat itu sendiri, jadi walaupun simbol
dari aktor adalah gambar orang, tapi aktor
belum tentu merupakan orang; biasanya
dinyatakan menggunakan kata benda di awal
fase nama aktor.
Komunikasi antara aktor dan use case yang
Asosiasi /
association
berpartisipasi pada use case atau use case
yang memiliki interaksi dengan aktor.
System boundary menggambarkan batasan
sistem
System
antara use case dengan aktor
Boundary
2.4.3 Activity Diagram
Rosa A. S. and M. Shalahuddin (134) menyatakan, bahwa diagram aktivitas
atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari
sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa
diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan
aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
15
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal
berikut:
1. Rancangan proses bisnis di mana setiap urutan aktivitas yang digambarkan
merupakan proses bisnis sistem yang didefinisikan.
2. Urutan atau pengelompokan tampilan dari sistem/user interface di mana
setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
3. Rancangan pengujian di mana setiap aktivitas dianggap memerlukan
sebuah pengujian yang perlu didefinisikan kasus ujinya.
Tabel 2.3 Simbol-simbol yang ada pada activity diagram
Simbol
Nama
keterangan
Setatus awal aktivitas sistem, sebuah diagram
Status awal
aktivitas memiliki sebuah status awal
Aktivitas yang dilakukan sistem, aktivitas
Aktivitas
Percabangan /
decision
biasanya diawali dengan kata kerja
Asosiasi percabangan dimana jika ada pilihan
aktivitas lebih dari satu
Penggabungan Asosiasi penggabungan dimana lebih dari
/ join
satu aktivitas digabungkan menjadi satu
Status akhir yang dilakukan sistem, sebuah
Status akhir
diagram aktivitas memiliki sebuah status
akhir
Memisahkan organisasi bisnis yang
Nama swimlane
Swimlane
bertanggung jawab terhadap aktivitas yang
terjadi
16
2.4.4 Sequence Diagram
Rosa A. S. and M. Shalahuddin (137) menyatakan, bahwa diagram sekuen
menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu
hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena
itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang
terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang
diinstansiasi menjadi objek itu.
Banyaknya diagram sekuen yang harus digambar adalah sebanyak
pendefinisian use case yang memiliki proses sendiri atau yang penting semua use
case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada
diagram sekuen sehingga semakin bayak use case yang didefinisikan maka
diagram sekuen yang harus dibuat juga semakin banyak.
Tabel 2.4 Simbol-simbol yang ada pada sequence diagram
Simbol
Nama
keterangan
Orang, proses, atau system lain yang
berinteraksi dengan system informasi yang
akan dibuat di luar system informasi yang
nama aktor
atau
Aktor
akan dibuat itu sendiri, jadi walaupun symbol
dari aktor adalah gambar orang, tapi aktor
belum tentu merupakan orang; biasanya
nama aktor
dinyatakan menggunakan kata benda di awal
tanpa waktu aktif
frase nama aktor
Menyatakan kehidupan suatu objek
Garis hidup /
lifeline
17
Tabel 2.4 Simbol-simbol yang ada pada sequence diagram (lanjutan)
Menyatakan objek yang berinteraksi pesan
nama objek: nama
kelas
Objek
Menyatakan objek dalam keadaan aktif dan
Waktu aktif
Pesan /
message
berinteraksi pesan
Menyatakan suatu objek membuat objek yang
lain, arah panah mengarah pada objek yang
dibuat.
2.5 Rekayasa Perangkat Lunak
2.5.1 Pandangan Umum Tentang Rekayasa Perangkat Lunak
Menurut Pressman (2002) IEEE telah mengembangkan definisi rekayasa
perangkat lunak yang lebih komprehensif, yaitu sebagai berikut :
Rekayasa perangkat lunak : (1). Aplikasi dari sebuah pendekatan kuantifiabel,
disiplin dan sistematis kepada pengembangan, operasi dan pemeliharaan
perangkat lunak; yaitu aplikasi dari Rekayasa perangkat lunak. (2). Studi tentang
pendekatan-pendekatan seperti pada (1).
2.5.2 Model-Model Proses Perangkat Lunak
Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi
dan proyeknya, metode dan alat-alat bantu yang akan dipakai, dan kontrol serta
penyampaian yang dibutuhkan.
Menurut Roger S. Pressman, Ph.D dalam bukunya yang berjudul Rekayasa
Perangkat
Lunak,
2002,
dalam
rekayasa
perangkat
lunak,
metodologi
pengembangan perangkat lunak atau metodologi pengembangan sistem adalah
suatu kerangka kerja yang digunakan untuk menstrukturkan, merencanakan, dan
18
mengendalikan proses pengembangan suatu sistem informasi. Banyak ragam
kerangka kerja yang telah dikembangkan selama ini, yang masing-masing
memiliki kekuatan dan kelemahan sendiri-sendiri.
Suatu metodologi pengembangan sistem tidak harus cocok untuk digunakan
untuk semua proyek. Masing-masing metodologi mungkin cocok diterapkan
untuk suatu proyek tertentu, berdasarkan berbagai pertimbangan teknis,
organisasi, proyek, serta tim.
Beberapa contoh metodologi pengembangan perangkat lunak yang tersedia di
antaranya :
1. Waterfall Model
2. Sekuensial Linier Model
3. Prototype Model
4. Rapid Application Development (RAD) Model
5. Incremental Model
6. Spiral Model
Download