BAB 2.
LANDASAN TEORI
2.1. Pengertian Website Web merupakan media informasi berbasis jaringan komputer yang dapat diakses di mana saja dengan biaya relatif murah. Web merupakan bentuk implementasi 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. 2.1.2
Jenis Jenis Website
Secara umum, situs web digolongkan menjadi 3 jenis yaitu sebagai berikut (Wahan Komputer) :
2-7
http://digilib.mercubuana.ac.id/
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 Pic Client 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 Pic Client 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 Pic Client melalui aplikasi klien (web browser) akan direspon oleh aplikasi web dan hasilnya akan dikembalikan lagi ke hadapan Pic Client (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 Pic Client. Komunikasi antara web browser dan aplikasi web dapat digambarkan seperti berikut.
Gambar 2-1 Komunikasi Aplikasi Web
2-34 http://digilib.mercubuana.ac.id/
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 grafik. 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. 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 Pemograman 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
2-9
http://digilib.mercubuana.ac.id/
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 Hyper Text Markup Language yaitu sebuah bahasa markup yang digunakan untuk membuat sebuah halaman Web, Menampilkan berbagai informasi didalam penjelajah Web dan formating hypertext sederhana yang ditulis dalam berkas format ASCII (American Standart Code For Information Interchange) agar dapat menampilkan wujud yang terintegrasi. HTML Merupakan bahasa pemograman yang memiliki bahasa sintak atau aturan tertentu dalam menjalankan script atau kode kode,sehingga browser dapat menampilkan informasi dengan mebaca kode HTML.HTML Merupakan bahasa standar yang menjadi antar muka dari website dan menjadi dasar ketika akan membangun sebuah Website. 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
2-34 http://digilib.mercubuana.ac.id/
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 script yang ditempatkan dalam server yang diproses di server. Hasilnyalah
yang dikirimkan ke klien tempat
pemakan
menggunakan browser. (Abdul Kadir, 2010: 2) 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 di download 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-fungsi-fungsi baru.
2-11
http://digilib.mercubuana.ac.id/
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 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 . 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 Tabel Tipe Data PHP Tipe Data PHP Integer
Floatin point
String
Keterangan Dipergunakan untuk menyimpan data numerik berupa bilangan bulat. Dipergunakan untuk menyimpan data numerik yang mengandung nilai desimal atau pecahan. Dipergunakan untuk menyimpan tipe data teks dan biasanya tidak dipergunakan untuk operasi artimatika.
Contoh $nomor = 1; $jumlah = 100; $persen=0.05; $bunga=0.1;
$nama = Agus; $msisdn = 0815xxx;
2-34 http://digilib.mercubuana.ac.id/
Aray
Dipergunakan untuk menyimpan data dengan nama variabel yang sama tetapi memiliki ruang yang lebih dari satu dengan diidentifikasi sebagai indeks. Tipe data objek lahir karena PHP mendukung pemrograman
Object
2.3.3
$anak[0]=”sifa”; $anak[1]=”lana”;
$ayah->nama=”amin”;
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 script untuk internet (PHP dan Perl). MySQL dan PHP dianggap sebagai pasangan software pengembangan aplikasi web yang ideal, MySQL lebih sering digunakan untuk membangun aplikasi berbasis
2-13
http://digilib.mercubuana.ac.id/
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-Pic Client: MySQL dapat digunakan oleh beberapa Pic Client 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 lain-lain. 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 Pic Client 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
2-34 http://digilib.mercubuana.ac.id/
60 ribu 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. Tabel 2-2 Tabel Struktur Data
2-15
http://digilib.mercubuana.ac.id/
2.4. Macromedia Dreamweaver 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-2 Dashboard Marcomedia Dreamweaver 2.5. XAMPP
2-34 http://digilib.mercubuana.ac.id/
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-3 XAMPP Control Panel 2.6. PHP MyAdmin PHPMyAdmin adalah aplikasi berbasis web yang dibuat dari pemrograman PHP dan diramu dengan HTML dan javascript (Bunafit: 2011). phpMyAdmin dapat juga
2-17
http://digilib.mercubuana.ac.id/
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-4 PHP Myadmin Control Panel 2.7. Unifield Modeling Leangue (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 sistempengembangan 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-34 http://digilib.mercubuana.ac.id/
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 Pic Client 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 perilaku suatu sisstem yang dibutuhkan serta diharapkan pengguna (Prabowo, 2011: 10).
2-19
http://digilib.mercubuana.ac.id/
Tabel 2-3 Symbol Use Case Diagram
2-34 http://digilib.mercubuana.ac.id/
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 (behavior) dan kadangkala disertai kondisi. Contoh: siswa, negara, kota. Sedangkan kelas adalah penggambaran satu set objek yang memiliki atribut dan behavior yang sama.
2-21
http://digilib.mercubuana.ac.id/
Tabel 2-4 Symbol Class Diagram
2.7.4
Sequence Diagram
2-34 http://digilib.mercubuana.ac.id/
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 masingmasing aktivitas ini bisa direpresentasikan dalam satu sequence diagram. Tabel 2-5 Symbol Sequence Diagram
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 sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan dengan sistem
2-23
http://digilib.mercubuana.ac.id/
Tabel 2-6 Symbol Activity Diagram
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
2-34 http://digilib.mercubuana.ac.id/
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 Pic Client 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 tes 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.
2-25
http://digilib.mercubuana.ac.id/
10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan ke dalam node. 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 tes 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 dan digunakan oleh penguna, yaitu : Sesuatu (Things) Ada 4 (empat) things dalam UML, yaitu : a. Structural things 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
2-34 http://digilib.mercubuana.ac.id/
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 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). 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 objek 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
2-27
http://digilib.mercubuana.ac.id/
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 objekobjek 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). Simbol-simbol pada ERD adalah sebagai berikut 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”.
2-34 http://digilib.mercubuana.ac.id/
Konsep dasar dari model ER adalah entity type, yaitu kumpulan dari objekobjek 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 :
Gambar 2-5 Simbol 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
2-29
http://digilib.mercubuana.ac.id/
perekat yang menghubungkan suatu entitas dengan entitas lainnya. Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu database yaitu: 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 :
Gambar 2-6 Relasi One To One 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 :
Gambar 2-7 Relasi One To Many C. Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.
Gambar 2-8 Relasi Many To Many
2-34 http://digilib.mercubuana.ac.id/
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). Hasilnya dari proses ini memberikan pandangan yang obyektif dan independen mengenai sebuah perangkat lunak dalam gambaran mengenai tingkat resiko yang terjadi setelah perangkat diimplementasikan
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 yang lebih banyak diuji fungsional perangkat lunak. Artinya, pengujian black-box memungkinkan perekayasa perangkat lunak untuk mendapatkan set kondisi input (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.
2-31
http://digilib.mercubuana.ac.id/
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.9.2
Metode Waterfall
Metode Waterfall sering disebut dengan life cycle (Pressman, 2010). Metode ini merupakan Model 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 dibawah :
2-34 http://digilib.mercubuana.ac.id/
Gambar 2-9 Waterfall Pressman
Gambar 2-10 Waterfall Royce
Gambar 2-11 Waterfall Royce Pada
waktu
perancangan
(design),masalah
dengan
persyaratan
diidentifikasi. Pada waktu melakukan conding kadang juga masalah lainnya harus diselesaikan tepat waktu . Proses pengembangan perangkat lunak
2-33
http://digilib.mercubuana.ac.id/
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
dari
sisi proses waterfall juga mewakili semua proses mulai dari design develop testing sampai implementasi agar bisa dikur dan bisa dilakukan uji coba oleh pihak programer dan client dan proses tersebut secara garis besar sudah menjadi bagian dari project management 2.10.
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 3. Kemudahan Kemudahan dalam mempelajari, membuat library dan helper, memodifikasi serta meng-integrasikan Library dan helper. 4.Ringan dan Cepat Codeligniter hanya membutuhkan sedikit loud memori karena hanya menjalankan pustaka sesuai yang dibutuhkan oleh program
2-34 http://digilib.mercubuana.ac.id/
Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC.[1] MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi (Wikipedia:2010) 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 query SQL. 2. View View berhubungan dengan segala sesuatu yang akan ditampilkan ke Pic Client. Bisa berupa halaman web, rss, javascript dan lain-lain. 3. Controller Controller bertindak sebagai penghubung data view dan komponen lain . Didalam controller inilah terdapat class-class dan fungsi-fungsi yang memproses permintaan dari view ke dalam struktur data di dalam model.
2.11.
Document Softcopy
File atau dokumen yang sebelumnya dibuat menggunakan komputer kemudian disimpan di media penyimpanan misal flashdisk,hardisk,ftp Dan file sharing Jenis Document Softcopy yang umum dan banyak beredar di kalangan umum adalah DOCX,PPTX,XlSX,PDF,JPG Dan berbagai Penyimpanan yang lainnya. Dalam Hal ini Penulis Menggunakan PDF sebagai document yang digunakan sebagai basic BAST.
2-35
http://digilib.mercubuana.ac.id/