BAB II LANDASAN TEORI
2.1
Pengertian Website Web merupakan media informasi berbasis jaringan komputer yang dapat
diakses di mana saja dengan biaya relative murah. Web merupakan bentuk implementeasi dari bahasa pemrograman web (web programming). Sejarah perkembangan bahasa pemrograman web diawali dengan munculnya HTML (Hypertext
Markup
Language),
yang
kemudian
dikembangkan
dengan
munculnya CSS (Cascading Style Sheet) yang bertujuan untuk memperindah tampilan website (Wahana Komputer). 2.1.1 Menurut Ahli 1.
Menurut Wahana Komputer, Web adalah formulir komunikasi interaktif yang digunakan pada suatu jaringan komputer.
2.
Menurut A. Taufiq Hidayatullah, Web adalah bagian paling terlihat sebagai jaringan terbesar dunia, yakni internet.
3.
Menurut Haer Talib, Web adalah sebuah tempat di internet yang mempunyai nama dan alamat.
4.
Menurut Boone (Thomson), Web adalah koleksi sumber informasi kaya grafis yang saling berhubungan satu sama lain dalam internet yang lebih besar.
5.
Menurut Feri Indayudha, Web adalah suatu program yang dapat memuat film, gambar, suara, serta musik yang ditampilkan dalam internet.
6.
Menurut Yuhefizar, Web adalah suatu metode untuk menampilkan informasi di internet, baik berupa teks, gambar, suara maupun video yang interaktif dan mempunyai kelebihan untuk menghubungkan (link) satu dokumen dengan dokumen lainnya (hypertext) yang diakses melalui sebuah browser.
7 http://digilib.mercubuana.ac.id/
2.1.2 Jenis-jenis Website Secara umum, situs web digolongkan menjadi 3 jenis yaitu sebagai berikut (Wahan Komputer) : 1. Website Statis Website Statis adalah web yang mempunyai halaman tidak berubah. Artinya adalah untuk melakukan perubahan pada suatu halaman dilakukan secara manual dengan mengedit code yang menjadi struktur dari situs tersebut. 2. Website Dinamis Website
Dinamis
merupakan
website
yang
secara
struktur
diperuntukan untuk update sesering mungkin. Biasanya selain utama yang bisa diakses oleh user pada umumnya, juga disediakan halaman admin untuk mengedit konten. 3. Website Interaktif Website Interaktif adalah web yang saat ini memang sedang booming. Salah satu contoh website interaktif adalah blog dan forum. Di website ini user bisa berinteraksi dan beradu argument mengenai apa yang menjadi pemikiran mereka. 2.1.3 Aplikasi Web Aplikasi web adalah aplikasi yang disimpan dan dieksekusi di lingkungan web server. Setiap permintaan yang dilakukan oleh user melalui aplikasi klien (web browser) akan direspon oleh aplikasi web dan hasilnya akan dikembalikan lagi ke hadapan user (Budi Raharjo dkk. 2: 46). Dengan aplikasi web, halaman yang tampil di layar web browser dapat bersifat dinamis, tergantung dari nilai data atau parameter yang dimasukkan oleh user. Komunikasi antara web browser dan aplikasi web dapat digambarkan seperti berikut.
8 http://digilib.mercubuana.ac.id/
9
Gambar 2.1 Komunikasi Antara Web Browser dan Aplikasi Web (Budi Raharjo dkk. 2: 46). Seperti yang tampak pada gambar di atas bahwa aplikasi web dapat juga digunakan untuk mengakses file-file yang bersifat statis (misal: dokumen HTML, file gambar maupun teks). 2.2
Konsep Dasar Membangun Aplikasi Berbasis Web Aplikasi berbasis web (web application) adalah satuan aplikasi yang
cukup luas. Wujud yang paling sederhana, web application dapat berupa serangkaian hypertext files yang terhubung dan memberkan informasi berupa teks dengan sedikit gambar atau gragik. Seiring dengan perkembangannya, kini web memiliki banyak fungsi, fitur, dan konten, juga terhubung dengan database korporasi dan aplikasi bisnis yang rumit. Keuntungan merancang sistem informasi berbasis web, diantaranya yaitu: 1 Meningkatkan kesadaran akan tersedianya suatu layanan, produksi industri atau kelompok. 2 Bisa diakses selama 24 jam oleh pengguna. 3 Menstandarkan desain antarmuka. 4 Menciptakan suatu sistem yang dapat diperluas secara global bukan hanya lokal, sehingga mampu menjangkau orang-orang di tempat yang berjauhan tanpa mengkhawatirkan zona waktu lokasi mereka.
http://digilib.mercubuana.ac.id/
10
2.2.1 Web Browser Web Browser merupakan perangkat lunak yang berguna untuk mengakses informasi web ataupun untuk melakukan transaksi via web. Beberapa contoh browser yang ada saat ini seperti: Internet Explorer (IE), Mozilla Firefox, Operaa, Netscape, dan Safari. (Kadir, 2010) 2.3
Bahasa Pemrograman Berbasis Web Pemrograman berbasis web adalah hal yang sudah sering kita temui dan
kita gunakan pada saat ini karena mudah ditemukannya koneksi internet yang mendukung penggunaaan sebuah pemrograman berbasis web. Tidak banyak orang yang tahu apa itu sebenarnya pemrograman berbasis web walaupun mereka sering menggunakannya dalam kehidupan sehari-hari. Pemrograman berbasis web terdiri dari tiga kata yang masing-masing artinya adalah sebagai berikut : 1.
Pemrograman adalah proses membuat sebuah program komputer.
2.
Berbasis berdasarkan pada web adalah halaman stus yang menampilkan berbagai informasi berbentuk teks, grafik, suara dan sumber daya animasi melaluli protokol transfer hypertext. Dari pengertian-pengertian masing-masing kata dapat disimpulkan bahwa
pemrograman berbasis web adalah proses membuat sebuah program komputer yang berdasarkan pada halaman situs yang menampilkan berbagai informasi berbentuk teks, grafik, suara dan sumber daya animasi melalui protokol transfer hypertext. Untuk membuat sebuah pemrogaraman berbasis web dibutuhkan sebuah bahasa pemrograman tertentu yang dapat mendukung program tersebut. Bahasa pemrograman adalah bahasa yang digunakan oleh programmer untuk membuat sebuah program yang dapat memberikan instruksi pada mesin atau komputer. 2.3.1
HTML HTML singkatan dari HyperText Markup Language yaitu sebuah bahasa
markup yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web internet dan formatting
http://digilib.mercubuana.ac.id/
11
hypertext sederhana yang ditulis kedalam berkas format ASCII (American Standard Code For Information Interchange) agar dapat menghasilkan tampilan wujud yang terintegerasi. HTML (HyperText Markup Language) merupakan bahasa pemrograman web yang memiliki sintak atau aturan tertentu dalam menuliskan script atau kodekode, sehingga browser dapat menampilkan informasi dengan membaca kodekode HTML. HTML merupakan bahasa standar yang menjadi antar muka dari website dan menjadi dasar ketika anda akan membangun sebuah website. (Akbar Ali, 2012: 1). HTML adalah suatu bahasa yang dikenali oleh web browser untuk meampilkan informasi dengan lebih menarik dibandingkan dengan tulisan teks biasa (plain text). (Diar Puji Oktavian, 2013: 17) HTML (Hypertext Markup Language) adalah bahasa standar untuk membuat halaman-halaman web. (Abdul Kadir, 2010: 3) 2.3.2 PHP PHP singkatan dari PHP : Hypertext Prepocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan script yang terintegrasi dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah script yang digunakan untuk membuat halaman website yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru/up to date. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. (Anhar, 2010: 3). PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa pemrograman berbasiskan kode-kode(script) yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML. (Diar Puji Oktavian, 2013: 69) Merupakan singakatan dari PHP Hypertext Prepocessor. Merupakan bahasa berbentuk skrip yang ditempatkan dalam server yang diproses di server. Hasilnyalah yang dikirimkan ke klien tempat pemakan menggunakan browser. (Abdul Kadir, 2010: 2)
http://digilib.mercubuana.ac.id/
12
Menurut Madcoms (2010), PHP adalah salah satu bahasa pemrograman yang berjalan dalam sebuah web server dan berfungsi sebagai pengolah data pada sebuah server. Pada prinsipnya, server akan bekerja apabila ada permintaan dari client. Dalam hal ini, client menggunakan kode-kode PHP akan mengirim permintaan ke server (perhatikan Gambar 2.2). Ketika menggunakan PHP sebaga server-side embedded script language, maka server akan melakukan beberapa hal sebagai berikut:
Membaca permintaan dengan skrip PHP yang berasal dari browser.
Mencari halaman/page di server (server pages).
Melakukan processing melalui instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page.
Mengirim kembali halaman tersebut kepada klien melalui internet atau intranet yang merupakan proses echo/print.
Gambar 2.2 Siklus PHP dalam Web Server (Madcomms, 2010)
http://digilib.mercubuana.ac.id/
13
2.3.2.1 Kelebihan-kelebihan PHP PHP secara mendasar dapat mengerjakan semua yang dapat dikerjakan oleh program CGI, seperti mendapatkan data dari form, menghasilkan isi halaman web yang dinamik, dan menerima cookies. Kemampuan (featurei) PHP yang paling diandalkan dan signifikan adalah dukungan kepada banyak database. Membuat halaman web yang menggunakan data dari database dengan sangat mudah dapat dilakukan. PHP juga mendukung untuk berkomunikasi dengan layanan lain menggunakan protokol IMAP, SNMP, NNTP, POP3, HTTP, dan lainnya yang tidak terhitung. (Kadir, 2010) PHP dapat berjalan di berbagai sistem operasi seperti windows, UNIX/LINUX, solaris maupun macintosh. PHP merupakan software open source yang dapat didownload secara gratis dari situs resminya yaitu http://www.php.net ataupun dari situs-situs yang menyediakan software tersebut. Software ini juga dapat berjalan pada web seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemrograman yang dapat kita kembangkan sendiri seperti menambah-fungsifungsi baru. PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script mandiri. Banyak keuntungan yang diperoleh jika menggunakan PHP sebagai modul dari apache diantaranya adalah : 1. Tingkat keamanan yang cukup tinggi. 2. Waktu eksekusi yang lebih cepat jika dibandingkan dengan bahasa pemrograman web lainnya yang berorientasi pada server-side scripting. 3. Akses ke sistem database yang lebih fleksibel, seperti MySQL. 2.3.2.2 Sintaks PHP PHP adalah bahasa yang dirancang untuk mudah diletakkan di dalam kode HTML. Banyak dijumpai kode PHP yang menyatu dengan kode HTML (Budi Raharjo dkk. 2: 48). Kode PHP diawali dengan tag . Dengan mengubah konfigurasi nilai short_open_tag menjadi On
http://digilib.mercubuana.ac.id/
14
pada file php.ini, maka akan mengizinkan penggunaan tag pendek menjadi . Dalam PHP 5, nilai default dari short_open_tag adalah Off. Berikut contoh kode PHP yang sangat sederhana.
2.3.2.3 Tipe Data PHP PHP mengenal beberapa macam tipe data. Tipe data ini sangat berperan penting pada saat pengolahan data yang tersimpan dalam sebuah variabel. Tabel 2.1 menjelaskan tipe data-tipe data yang terdaftar pada PHP (Anhar, 2010). Tabel 2.1 Tipe Data PHP Tipe Data
Keterangan
Contoh
Integer
Dipergunakan untuk menyimpan $nomor = 1; data numerik berupa bilangan $jumlah = 100; bulat.
Floatin point
Dipergunakan untuk menyimpan $persen=0.05; data numerik yang mengandung $bunga=0.1; nilai desimal atau pecahan.
String
Dipergunakan untuk menyimpan $nama = Agus; tipe data teks dan biasanya tidak $msisdn = 0815xxx; dipergunakan
untuk
operasi
artimatika. Aray
Dipergunakan untuk menyimpan $anak[0]=”sifa”; data dengan nama variabel yang $anak[1]=”lana”; sama tetapi memiliki ruang yang lebih
dari
satu
dengan
diidentifikasi sebagai indeks. Object
Tipe data objek lahir karena PHP $ayah->nama=”amin”; mendukung
pemrograman
http://digilib.mercubuana.ac.id/
15
berorientasi objek. Juggling/variant Tipe data ini dibentuk ketika $bilangan=0; membuat sebuah variabel tanpa didefinisikan tipe datanya.
2.3.2.4 Statistik Penggunaan PHP Grafik pada Gambar 2.3 menunjukan kepopuleran PHP sejak awal tahun 2002 sampai awal tahun 2012 (http://php.net/usage.php)
Gambar 2.3 Grafik Penggunaan PHP Grafik
diambil
dari
(http://www.netcraft.com)
survey
yang
dilakukan
oleh
Netcrafrt
yang selalu melakukan studi dan survei tentang
teknologi dan penggunaanya di Internet. Berdasarkan laporan Netcraft, pada Januari 2013 bahasa pemrograman PHP digunakan kurang lebih 244 juta oleh situs web dari jumlah sekitar 629 juta hasil survey Netcraft. Sedangkan diagram
pada
Gambar 2.4,
diambil
dari W3Techs
(http://w3techs.com). Diagram ini menunjukan persentase website yang menggunakan berbagai bahasa pemrograman server-side. PHP digunakan oleh 82.0% dari semua situs yang menggunakan bahasa pemrograman server-side yang kita kenal.
http://digilib.mercubuana.ac.id/
16
Gambar 2.4 Diagram penggunaan PHP Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah. Proses update data dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. 2.3.3 MySQL Kutipan dari buku (Dreamweaver CS 5 PHP MySQL Untuk Pemula, 2011, hal. 288) Salah satu database untuk server adalah MySQL, jenis database ini sangat populer dan digunakan banyak website sebagai bank data. Selain itu, MySQL dapat berjalan di berbagai platform, antara lain Linux dan Windows. Menurut (Kadir, 2010, hal. 14) MySQL adalah turunan dari salah satu konsep database yaitu SQL (Structure Query Language). SQL adalah konsep sebuah pengoperasian database, terutama untuk pemilihan dan pemasukan data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. MySQL dapat dikatakan lebih unggul dibanding database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh pengguna single, kecepatan query MySQL lebih cepat sepuluh kali dibanding PostgreSQL dan lima kali lebih cepat dibanding Interbase. Menurut Rudyanto, M Arief (2011: 37) MySQL adalah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengelolaan datanya. MySQL merupakan database yang didukung oleh bahasa pemrograman scrpit untuk internet (PHP dan Perl). MySQL dan PHP dianggap sebagai pasangan software pengembangan aplikasi web yang ideal, MySQL lebih sering digunakan
http://digilib.mercubuana.ac.id/
17
untuk
membangun
aplikasi
berbasis
web
dan
untuk
pengembanganya
menggunakan bahasa pemrograman script PHP. Menurut Kadir
(2010: 348), MySQL adalah turunan dari salah satu
konsep database yaitu SQl (Structure Query Language). SQL adalah konsep sebuah pengoperasian database, terutama untuk pemilihan dan pemasukan data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. MySQL dapat dikatakan lebih unggul dibading database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh pengguna single, kecepatan query MySQL lebih cepat sepuluh kali dibanding PostgreSQL dan lima kali lebih cepat dibanding Interbase. Menurut Kadir (2010) MySQL memiliki beberapa keunggulan, 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.
Open Source software: MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
3.
Multi-user: MySQL dapat digunakan oleh beberapa user 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 atau signed integer, float, double, char, text, date, timestamp, dan lainlain.
6.
Perintah dan fungsi: MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah select dan where dalam perintah (query).
7.
Keamanan: MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
8.
Skalabilitas dan pembatasan: MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu
http://digilib.mercubuana.ac.id/
18
tabel serta lima milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada setiap tabelnya. 9.
Konektivitas: MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atauj Named Pipes (NT).
10. Lokalisasi: MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar muka: MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Klien dan peralatan: MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel: MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. Menurut Kadir (2010) MySQL memiliki beberapa tipe data, yaitu: Tabel 2.2 Tipe data dalam MySQL Tipe Data
Keterangan
INT (M) [UNSIGNED]
Angka -2147483648 s/d 2147483647
FLOAT (M,D)
Angka Pecahan
DATE DATETIME CHAR (M)
Tanggal Format : yyyy-mm-dd Tanggal dan Waktu Format : yyyy-mm-dd hh:mm:ss String dengan panjang tetap sesuai dengan yang ditentukan. Panjangnya 1-255 karakter. String dengan panjang yang berubah-ubah sesuai
VARCHAR(M)
dengan yang disimpan pada saat itu. Panjangnya 1-255 karakter.
BLOB
Teks dengan panjang maksimum 65536 karakter
http://digilib.mercubuana.ac.id/
19
LONGBLOB
2.4
Teks dengan panjang maksimum 4294967295 karakter
Macromedia Dreamweafer Menurut Wahyu Gunawan (2010: 10) Macromedia Dreamweaver adalah
sebuah program aplikasi HTML authoring, yaitu sebuah aplikasi yang digunakan untuk membuat situs web atau mendesain halaman web, baik untuk desain, coding, pembuatan situs web yang kompleks dan aplikasi web lainnya secara visual. Versi terbaru dari aplikasi ini adalah Macromedia Dreamweaver versi 8 ini style CSS dapat dibuat menggunakan panel CSS baru yang menyediakan kemudahan bagi pengguna dalam membuat dan mengedit style CSS secara visual dan lebih mudah untuk dipahami. Aplikasi pada Dreamweaver juga dapat memungkinkan untuk dapat membuat sebuah aplikasi dinamis dengan database menggunakan bahasa server seperti CFML, ASP.NET, ASP, JSP dan PHP. CSS atau Cassading Style adalah sebuah dokumen yang berisi aturan yang digunakan untuk memisahkan isi dengan layout dalam halaman-halaman web yang dibuat. Tampilan dari ruang kerja Adobe Dreamweafer dapat dilihat sebagai berikut :
Gambar 2.5 Ruang Kerja Adobe Dreamweafer
http://digilib.mercubuana.ac.id/
20
2.5
Xampp Menurut Bunafit Nugroho (2011) XAMPP adalah satu bundle web server
yang populer digunakan untuk coba-coba di windows karena kemudahan insatalasinya. Bundel program open source tersebut berisi antara lain server web Apache, Interpreter PHP dan basis data MySQL. Setelah menginstall XAMPP, kita bisa memulai pemrograman PHP di komputer sendiri maupun mencoba menginstall aplikasi-aplikasi web. XAMPP sendiri mendukung dua system operasi yaitu windows dan Linux. Menurut Miftahul Huda (2010, hal. 1) XAMPP merupakan paket PHP dan MySQL berbasis open source, yang dapat digunakan sebagai tool pembantu pengembangan aplikasi berbasis PHP. XAMPP mengkombinasikan beberapa paket perangkat lunak beberapa ke dalam satu paket. XAMPP merupakan suatu paket yang terdiri dari Apache, MySQL dan PHP yang dapat digunakan untuk membantu proses instalasi produk tersebut. Tampilan konfigurasi dari XAMPP dapat dilihat sebagai berikut:
Gambar 2.6 Konfigurasi XAMPP
http://digilib.mercubuana.ac.id/
21
2.6
phpMyAdmin phpMyAdmin adalah aplikasi berbasis web yang dibuat dari pemrograman
PHP dan diramu dengan HTML dan javascript (Bunafit: 2011). phpMyAdmin dapat juga disebut sebagai tools yang berguna untuk mengakses database MySQL dalam bentuk tampilan web. Tools ini secara standar telah disertakan pada saat menginstal paket PHP, seperti XAMPP, Apache2 Triad dan WampServer.
Gambar 2.7 Halaman Utama phpMyAdmin 2.7
Unifield Modeling Language (UML) Menurut Widodo (2011: 6), “UML adalah bahasa pemodelan standar yang
memilik sintak dan semantik”. The Unifield Modeling Language (UML) adalah “Bahasa pemodelan untuk system atau perangkat lunak yang berparadigma berorientasi objek”. (Adi Nugroho, 2010: 6). Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa UML adalah sebuah bahasa yang
berdasarkan
grafik
atau
gambar
untuk
menvisualisasikan,
menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem
http://digilib.mercubuana.ac.id/
22
pengembangan perangkat lunak berbasis objek (Object Oriented Programming). UML dapat diaplikasikan untuk maksud tertentu diantaranya: 1. Merancang perangkat lunak 2. Sarana komunikasi antara perangkat lunak dengan proses bisnis 3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem. 4. Mendokumentasi sistem yang ada, proses-proses dan organisasinya. 2.7.1
Jenis-Jenis UML UML menyediakan 4 jenis diagram yang dapat dikelompokkan
berdasarkan sifatnya, yaitu (Adi Nugroho, 2010: 6) : 1. Use-Case Diagram adalah suatu kumpulan urusan interaksi diantara user dengan sistem untuk mencapai suatu tujuan dimana use case ini menggambarkan kebutuhan fungional suatu sistem tanpa menampilkan struktur internal sistem. 2. Class Diagram menggambarkan struktur object sistem. Diagram ini menunjukkan class object yang menyusun sistem dan juga hubungan antara class object tersebut. 3. Sequence Diagram adalah sequence diagram digunakan untuk menggambarkan event yang dilakukan aktor external pada sistem atau intersystem event dilihat dalam suatu use case. 4. Activity Diagram adalah representasi secara grafis dari proses dan control flow dan berfungsi untuk memperlihatkan alur dari satu aktivitas ke aktivitas yang lain serta menggambarkan perilaku yang kompleks. 2.7.2 Use Case Diagram Use Case Diagram merupakan gambaran lengkap tentang interaksi yang terjadi antara actor dengan sistem/perangkat lunak yang sedang kita kembangkan secara tidak terperince. Diagram ini memperlihatkan himpunan use case dan aktor-aktor. Diagram ini sangat penting untuk mengorganisasi dan memodelkan
http://digilib.mercubuana.ac.id/
23
perilaku suatu sisstem yang dibutuhkan serta diharapkan pengguna (Prabowo, 2011: 10). Tabel 2.3 Simbol Use Case Diagram (Adi Nugroho, 2010) No
Gambar
Nama
Keterangan Menspesifikasikan
1
himpuan
peran yang pengguna mainkan Actor
ketika berinteraksi dengan use case. Hubungan dimana perubahan yang terjadi pada suatu elemen
2
mandiri (independent) akan Dependency
mempengaruhi elemen yang bergantun
padanya
elemen
yang tidak mandiri. Hubungan dimana objek anak (descendent) berbagi perilaku 3
Generalization
dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
4
Menspesifikasikan bahwa use Include
case sumber secara eksplisit Menspesifikasikan bahwa use target
case 5
Extend
memperluas
perilaku dari use case sumber pada
suatu
titik
yang
diberikan. Apa 6
Association
yang
menghubungkan
antara objek satu dengan objek lainnya.
http://digilib.mercubuana.ac.id/
24
Menspesifikasikan paket yang 7
System
menampilkan
sistem
secara
terbatas. Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang
8
Use Case
menghasilkan suatu hasil yang terstruktur bagi suatu aktor. Interaksi
aturan-aturan
dan
elemen lain yang bekerja sama untuk menyediakan perilaku
9
Collaboration
yang lebiih besar dari jumlah dan
elemen-elemennya
(sinergi). Elemen fisik yang eksis saat aplikasi
10
Note
dijalankan
dan
mencerminkan suatu sumber daya komputasi
2.7.3 Class Diagram Diagram Kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi (Rosa, 2011: 122). Diagram ini memperlihatkan himpunan kelas-kelas dan objek. Objek adalah entitas yang memiliki atribut (anggota komponen objek), karakter /sifat (behaviour) dan kadangkala disertai kondisi. Contoh: siswa, negara, kota. Sedangkan kelas adalah penggambaran satu set objek yang memiliki atribut dan behaviour yang sama.
http://digilib.mercubuana.ac.id/
25
Tabel 2.4 Simbol Class Diagram (Adi Nugroho, 2010) No
Gambar
Nama
Keterangan Hubungan dimana objek anak (descendent) berbagi perilaku
1
Generalization
dan struktur dari objek yang ada diatasnya objek induk (ancestor). Upaya
2
Nary Association
untuk
menghindari
asosiasi dengan lebih dari 2 objek. Himpunan dari objek-objek
3
Class
yang
berbagi
atribut
serta
operasi yang sama. Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang 4
Collaboration
5
Realization
menghasilkan suatu hasil yang terukur bagi suatu aktor. Operasi
yang
benar-benar
dilakukan oleh suatu objek. Hubungan dimana perubahan yang terjadi pada suatu elemen
6
Dependency
mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen tidak mandiri. Apa
7
Asociation
yang
menghubungkan
antara objek satu dengan objek lainnya.
http://digilib.mercubuana.ac.id/
26
2.7.4 Sequence Diagram Diagram ini memperlihatkan interaksi yang menekankan pada urutan pertukaran pesan/data dalam suatu waktu tertentu yang dilakukan oleh sekupulan objek atau aktor yang mengerjakan pekerjaan (Hendri, 2011). Sequence diagram biasanya tersusun dari elemen objek, interaction and message. Interaction menghubungan 2 objek dengan pesannya. Diagram ini menjelaskan aspek dinamis dari sistem yang sedang dibangun. Untuk satu use case bisa dibuat beberapa sequence diagram, karena satu use case biasanya terdiri dari beberapa aktivitas yang harus dilakukan dan masing-masing aktivitas ini bisa direpresentasikan dalam satu sequence diagram. Tabel 2.5 Simbol Sequence Diagram (Adi Nugroho, 2010) No
Gambar
1
Nama
Keterangan
LifeLine
Objek entity, antarmuka yang saling berinteraksi. Spesifikasi dari komunikasi
2
Message
antar
objek
informasi
yang
memuat
tentang
aktifitas
yang terjadi. Spesifikasi dari komunikasi 3
Message
antar
ibjek
yang
memuat
informasi-informasi
tentang
aktifitas yang terjadi.
2.7.5 Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas yang melalui program dari titik mulai yang sudah didefinisikan sebelumnya, sampai ke titik akhir (Hendri, 2011). Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas
http://digilib.mercubuana.ac.id/
27
sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan dengan sistem. Tabel 2.6 Simbol Activity Diagram (Adi Nugroho, 2010) No
Gambar
1
Nama
Activity
Keterangan Memperlihatkan
bagaimana
masing-masinng
kelas
antarmuka saling berinteraksi satu sama lain. State
2
Action
dari
sistem
yang
mencerminkan eksekusi dari suatu aksi.
3
Initial Node Activity Final
4
Node
Bagaimana
objek
dibentuk
atau diawali. Bagaimana objek dibentuk dan dihancurkan. Satu aliran yang pada tahap
5
Fork Node
tertentu
berubah
menjadi
beberapa aliran.
2.7.6
Tujuan UML Menurut Anhar (2010), “Dengan adanya UML, diharapkan dapat
mengurangi kekacauan dalam bahasa pemodelan yang selama ini terjadi dalam lingkungan industri. UML diharapkan juga dapat menjawab masalah penotasian dan mekanisme tukar menukar model yang terjadi selama ini”. Tujuan UML diantaranya adalah : 1. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. 2. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa. 3. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
http://digilib.mercubuana.ac.id/
28
2.7.7
Langkah-langkah penggunaan UML Menurut Hendri (2011: 6), langkah-langkah penggunaan Unifield
Modeling Language (UML) adalah sebagai berikut : 1.
Buatlah
daftar
business
process
dari
level
tertinggi
untuk
mendefinisikan aktivitas dan proses yang mungkin muncul. 2.
Petakan use case untuk setiap business process untuk mendefinisikan dengan tepat fungsional yang harus disediakan oleh sistem, kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
3.
Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4.
Definisikan requirement lain non fungsional, security dan sebagainya yang juga harus disediakan oleh sistem.
5.
Berdasarkan use case diagram, mulailah membuat activity diagram.
6.
Definisikan obyek-obyek level atas package atau domain dan buatlah sequence dan/atau collaboration untuk tiap alur pekerjaan, jika sebuah use case memiliki kemungkinan alur normal dan error, buat lagi satu diagram untuk masing-masing alur.
7.
Buatlah rancangan user interface model yang menyediakan antar muka bagi pengguna untuk menjalankan skenario use case.
8.
Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domian dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
9.
Setiap class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen karena itu buatllah component diagram pada tahap ini. Juga, definisikan test integrasi untuk setiap komponen meyakinkan ia bereaksi dengan baik.
10. Perhalus
deployment
diagram
yang
sudah
dibuat.
Detilkan
kemampuan dan requirement piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan ke dalam node.
http://digilib.mercubuana.ac.id/
29
11. Mulailah membangun sistem. Ada dua pendekatan yang tepat digunakan: Pendekatan use case dengan mengassign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit kode yang lengkap dengan test dan pendekatan komponen yaitu mengassign setiap komponen kepada tim pengembang tertentu. 2.7.8
Konsep Pemodelan Menggunakan UML Menurut Nugroho (2010: 10), “Sesungguhnya tidak ada batasan yang
tegas diantara berbagai konsep dan konstruksi dalam UML, tetapi untuk menyederhanakannya, kita membagi sejumlah besar konsep dan dalam UML menjadi beberapa view. Suatu view sendiri pada dasarnya merupakan sejumlah konstruksi pemodelan UML yang merepresentasikan suatu aspek tertentu dari sistem atau perangkat lunak yang sedang kita kembangkan. Pada peringkat paling atas, view-view sesungguhnya dapat dibagi menjadi tiga area utama, yaitu : klasifikasikasi sruktural (structural classification), perilaku dinamis (dinamic behaviour), serta pengolahan atau manajemen model (model managemenet). 2.7.9
Bangunan dasar Metodologi UML Menurut
Nugroho (2010: 117), “Bangunan dasar metodologi UML
menggunakan tiga bangunan dasar untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan, yaitu : 1.
Sesuatu (things) Ada 4 (empat) things dalam UML, yaitu : a. Structural tihings merupakan
bagian yang relatif statis dalam model
Unifield Modeling Language (UML). Bagian yang relatif statis dapat berupa elemen-elemen yang bersifat fisik maupun konseptual. b. Behavioral things merupakan bagian yang dinamis pada model Unifield Modeling Language (UML), biasanya merupakan kata kerja dari model Unifield Modeling Language (UML), yang mencerminkan perilaku sepanjang ruang dan waktu. c. Grouping things merupakan bagian pengorganisasi dalam Unifield Modeling Language (UML). Dalam penggambaran model yang rumit
http://digilib.mercubuana.ac.id/
30
kadang diperlukan penggambaran paket yang menyederhanakan model. Paket-paket ini kemudian dapat didekomposisi lebih lanjut. Paket berguna bagi pengelompokkan sesuatu, misalnya model-model dan subsistemsubsistem. d. Annotational things merupakan bagian yang memperjelas model Unifield Modelin Language (UML) dan dapat berupa komentar-komentar yang menjelaskan fungsi serta ciri-ciri setiap elemen dalam model Unifield Modeling Language (UML). 2.
Relasi (Relationship) Ada 4 (empat) macam relationship dalam Unifield Modeling Language (UML) , yaitu : a. Ketergantungan merupakan hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independen) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (dependent). b. Asosiasi merupakan apa yang menghubungkan antara objek satu dengan objek lainya, bagaimana hubungan suatu objek denga objek lainnya. Suatu bentuk asosiasi adalah agreagsi yang menampilkan hubungan suatu objek dengan bagian-bagiannya. c. Generalisasi merupakan hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari obje yang ada diatasnya objek induk (invertor). Arah dari atas ke bawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah ke atas dinamakan generalisasi. d. Realisasi merupakan operasi yang benar-benar dilakukan oleh suatu objek.
http://digilib.mercubuana.ac.id/
31
2.8
Database Menurut Adi Nugroho (2011: 5), “Database adalah sebuah kumpulan data
yang saling berelasi secara logika dan dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi”. Sistem basis data merupakan sistem terkomputerasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan, dengan kata lain basis data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan cepat (Rosa AS dan M. Salahudin, 2011). Untuk menggunakan database dibutuhkan sebuah DBMS (Database Management System) yaitu sebuah aplikasi yang mampu untuk melakukan sistem database. Data Description Language (DDL), dan Data Manipulation Language (DML) yaitu bahasa untuk mendeskripsikan data ke DBMS serta memberi fasilitas untuk perubahan dan pemeliharaan (Miftakhul Huda, 2010). 2.8.1 Entity Relationship Diagram (ERD) Menurut Ema Utami (2014), “ERD adalah suatu komponen-komponen himpunan entitas dan himpunan relasi yang masing masing dilengkapi dengan atribut yang mempresentasikan seluruh fakta dari dunia nyata yang ditinjau. ERD menggambarkan data dan hubungan antar data secara global dengan menggunakan Entity Relation Diagram”. Konsep dasar dari model ER adalah entity type, yaitu kumpulan dari objek-objek yang bersifat (property) yang sama, yang diidentifikasikan oleh perusahaan yang mempunyai eksistensi yang independen. Keberadaannya dapat berupa fisik maupun abstrak. Entity occurence, yaitu pengidentifikasian objek yang unik dari sebuah tipe entitas. Setiap entitas diidentifikasikan dan disertakan propertinya). Simbolsimbol pada ERD adalah sebagai berikut
http://digilib.mercubuana.ac.id/
32
Gambar 2.8 Simbol Pada ERD Kegunaan ERD adalah untuk memodelkan struktur data dan hubungan antar data untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu: (Sommervile, 2011) 1
Entitas Entitas merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entitas ini biasanya digambarkan dengan persegi panjang. Keberadaan entitas biasanya sendiri dan digambarkan (direpresentasikan) dengan sekumpulan atribut.
2
Atribut Setiap entitas mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut memiliki sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain.
3
Hubungan Relasi Relasi adalah hubungan antara suatu himpunan dengan himpunan entitas yang lainnya. Pada penggambaran diagram hubungan entitas, relasi adalah perekat yang menghubungkan suatu entitas dengan entitas lainnya. Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu database yaitu:
http://digilib.mercubuana.ac.id/
33
a.
Satu ke satu (One to one) Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
Gambar 2.9 One to one relationship b.
Satu ke banyak (One to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
Gambar 2.10 One to many relationship c.
Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.
Gambar 2.11 Many to many relationship
http://digilib.mercubuana.ac.id/
34
2.9
Metode Pengujian Perangkat Lunak Pengujian perangkat lunak adalah kegiatan yang ditujukan untuk
mengevaluasi atribut atau kemampuan program dan memastikan bahwa itu memenuhi hasil yang dicari, atau suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari perangkat lunak yang sedang diuji (under test). Hsail dari proses ini memberikan pandangan yang obyektif dan independen mengenai sebuah perangkat lunak dalam gambaran mengenai tingkat resiko bilamana perangkat lunak tersebut diimplementasikan nantinya. 2.9.1 Black Box Testing Metode Pengujian Black-box merupakan metode yang menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan (Rosa dan Shalahuddin, 2011, p.213). Pengujian Black-box dapat menjelaskan kegunaan dari sebuah perangkat lunak dan menentukan apakah sebuah perangkat lunak melakukan
apa
yang
seharusnya
dikerjakan
berdasarkan
persyaratan
fungsionalitasnya, tanpa melihat mekanisme internal atau komponen dari keseluruhan sistem. Black Box Testing disebut juga dengan behavioral testing, pengujian ini berfokus pada persyaratan fungsional perangkat lunak. Artinya, pengujian blackbox memungkinkan perekayasa perangkat lunak untuk mendapatkan set kondisi nput (masukan) yang akan melaksanakan semua persyaratan fungsional untuk suatu program, kemudian berfokus pada output yang dihasilkan sebagai respon terhadap input atau masukan yang diberikan kepada sistem. Menurut Kadir (2010), Black box testing berfokus pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada Black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses yang diinginkan.
http://digilib.mercubuana.ac.id/
35
Menurut Nugroho (2011), metode pengujian black-box bertujuan untuk menemukan kesalahan dalam hal sebagai berikut: 1.
Fungsi yang tidak benar atau hilang.
2.
Kesalahan pada antarmuka (Interface).
3.
Kesalahan pada struktur data atau akses terhadap basis data.
4.
Kesalahan pada perilaku dan performa.
5.
Inisialisasi dan penghentian kesalahan.
Pengujian black-box cenderung diterapkan pada akhir suatu proses uji coba perangkat lunak. Melalui pengujian ini, kita dapat menentukan apakah suatu fungsi bekerja sesuai dengan spesifikasinya atau tidak. 2.10
Metode Waterfall Metode Waterfall sering disebut dengan life cycle (Pressman, 2010).
Metode ini merupakan metode pengembangan perangkat lunak terstruktur yang paling dikenal dan banyak digunakan secara luas, tidak hanya dilingkup akademisi tetapi juga di industri. Hal ini disebabkan Waterfall merupakan metode yang tua dan matang. Oleh sebab itu, metode ini hampir selalu digunakan untuk pengembangan perangkat lunak terutama dilingkup akademisi. Metode Waterfall pertama kali diperkenalkan oleh Royce pada tahun 1970 dengan tujuh tahapan yang berurut walaupun mempunyai feed back loop antar tahapan jika diperlukan, seperti terlihat pada gambar 2.11. Metode ini mengalami banyak perbaikan dan perubahan diantaranya adalah perubahan langkah dari 7 (tujuh) menjadi 5 (lima) tahapan ini bisa dilihat pada gambar 2.12 dan 2.13.
http://digilib.mercubuana.ac.id/
36
Gambar 2.12 Metode Waterfall versi Royce (2010)
Gambar 2.13 Metode Waterfall versi Pressman (2010)
Gambar 2.14 Metode Waterfall versi Sommervile (2011)
http://digilib.mercubuana.ac.id/
37
Pada waktu perancangan (design), masalah-masalah dengan persyaratan diidentifikasi. Pada waktu pengkodean (coding), dapat ditentukan masalah perancangan, walaupun juga masalah lainnya. Proses pengembangan perangkat lunak bukan merupakan model linier yang sederhana karena juga melibatkan umpan balik (feedback) dari suatu tahapan ke tahapan lainnya. Dokumen yang dihasilkan pada setiap tahapan ada kemungkinan harus diubah supaya sesuai dengan perubahan yang sudah dibuat (Sommervile, 2011). Metode Waterfall merupakan contoh dari tahapan yang plan-driven. Yaitu secara prinsip pengembang harus merencanakan dan menjadwalkan semua kegiatan tahapan sebelum mulai mengembangkan perangkat lunak. Komitmen dibuar di awal tahapan sehingga membuat sulit untuk merespon ketika ada perubahan pada kebutuhan customer. 2.11
Grocery CRUD Grocery CRUD adalah sebuah fungsi bantu yang digunakan di dalam
framework CI yang membuat kita lebih mudah melakukan pengolahan data dalam database. 2.12
Framework CodeIgniter Framework adalah sebuah struktur konseptual dasar yang digunakan untuk
memecahkan sebuah permasalahan atau isu-isu kompleks. (Awan Pribadi, 2014:1) CodeIgniter adalah sebuah web aplication framework yang bersifat open source digunakan untuk membangun aplikasi php dinamis. CodeIgniter juga memiliki fitur-fitur lainnya yang sangat bermanfaat, antara lain: 1. Menggunakan Pattern MVC Dengan menggunakan pattern MVC ini, struktur kode yang dihasilkan menjadi lebih terstruktur dan memiliki standar yang jelas. 2. URL Friendly URL yang dihasilkan sangat url friendly. Pada CodeIgniter diminimalisi menggunakan $_GET dan digantikan dengan URL.
http://digilib.mercubuana.ac.id/
38
3. Kemudahan Kemudahan
dalam
mempelajari,
membuat
library
dan
helper,
memodifikasi serta meng-integrasikan Library dan helper. MVC adalah singkatan dari Model View Controller. MVC adalah sebuah pattern/teknik pemrograman yang memisahkan bisnis logic (alur pikir), data logic (penyimpanan data) dan presentation logic (antarmuka aplikasi) atau secara sederhana adalah memisahkan antara desain, data, dan proses. Adapun komponenkomponen MVC antara lain: (Awan Pribadi, 2014:1) 1. Model Model berhubungan dengan data dan interaksi ke database atau webservice. Model juga merepresentasikan struktur data dari aplikasi yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks, file XML maupun webservice. Seebuah bagian model biasanya akan berhubungan dengan perintah-perintah quey SQL. 2. View View berhubungan dengan segala sesuatu yang akan ditampilkan ke enduser. Bisa berupa halaman web, rss, javascript dan lain-lain. 3. Controller Controller bertindak sebagai penghubung data dan view. Didalam controller inilah terdapat class-class dan fungsi-fungsi yang memproses permintaan dari view ke dalam struktur data di dalam model.
http://digilib.mercubuana.ac.id/