BAB II LANDASAN TEORI
2.1 Pengertian Aplikasi Berbasis Web Aplikasi berbasis web adalah aplikasi yang di jalankan melalui browser ataupun media lainnya. Pada awalnya aplikasi web dibangun hanya dengan menggunakan bahasa yang disebut HTML (HyperText Markup Language) dan protokol yang digunakan dinamakan HTTP (HyperText Transfer Protokol). Pada perkembangan setiap masa nya, sejumlah skrip dan objek yang dikembangkan untuk memperluas HTML, seperti salah satu contoh skrip nya yaitu PHP, ASP, ASP.NET sedangkan contoh yang berupa objek nya yaitu Applet. Dengan mengembangkan HTML, yakni dengan menggunakan perangkat lunak tambahan, perubahan informasi dalam halaman-halaman web dapat ditangani melalui perubahan data bukan melalui program. Sebagai implementasinya, aplikasi web dapat dikoneksikan ke database. Dengan demikian, perubahan informasi dapat dilakukan oleh operator atau yang bertanggung jawab terhadap kemutakhiran data dan tidak menjadi tanggung jawab pemrogram atau web master. Konsep yang mendasari aplikasi web sebenarnya sederhana. Operasi yang melatarbelakanginya melibatkan pertukaran informasi antara komputer yang meminta informasi yang disebut client, dan komputer yang memasok informasi (atau disebut server). Secara lebih detail, server yang melayani permintaan dari client sesungguhnya berupa suatu perangkat lunak yang dinamakan webserver. Secara internal, webserver inilah yang berkomunikasi dengan perangkat lunak lain yang disebut middleware dan middleware inilah yang berhubungan dengan database. Model seperti inilah yang mendukung web dinamis. Dengan menggunakan web dinamis, dimungkinkan untuk membentuk aplikasi berbasis web yang berinteraksi dengan database. (Kadir, 2009:2)
6
http://digilib.mercubuana.ac.id/
7
2.2 Pengertian PHP PHP adalah skrip yang bersifat server site dimana proses pengerjaan skripnya berlangsung di server. Dengan menggunakan PHP maka perawatan suatu situs web akan
menjadi lebih
mudah.
PHP
pertama kali ditemukan oleh
rasmus
Lerdoff.penulisan skripsi PHP tersebut dengan cara disisipkan pada HTML (Abdul kadir: 2013). Skrip PHP diawali dengan tanda lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Ada beberapa cara untuk menuliskan skrip PHP, yaitu: Cara pertama: ….skrip PHP ?> Cara kedua: Cara ketiga: <SCRIPT LANGUAGE = “php”> …..skrip PHP Jika ingin menambahkan komentar, namun komentar tersebut tidak ikut dieksekusi maka dapat menulis sebagai berikut:
http://digilib.mercubuana.ac.id/
8
/*tulis komentar disini*/ atau // tulis komentar disini.
2.2 Bootstrap Bootstrap merupakan sebuah framework CSS dari twitter, yang menyediakan kumpulan komponen-komponen antarmuka dasar pada web yang telah dirancang sedemikian rupa untuk digunakan bersama-sama. Selain komponen antarmuka, Bootstrap juga menyediakan sarana untuk membangun layout halaman dengan mudah dan rapi, serta modifikasi pada tampilan dasar HTML untuk membuat seluruh halaman web yang dikembangkan senada dengan komponen-komponen lainnya. Mengutip pencipta Bootstrap, Bootstrap dibuat untuk memberikan sekumpulan perangkat yang dapat digunakan untuk membangun website sederhana dengan mudah. Lisensi yang digunakan oleh Bootstrap yaitu lisensi Apache 2.0, sebuah lisensi yang sangat terbuka sehingga kita dapat dengan bebas dan mudah menggunakan Bootstrap, tanpa perlu khawatir akan ancaman legal dari Twitter atau pihak lainnya. 2.3 Google Maps Google Maps adalah layanan gratis Google yang cukup popular. Kita dapat menambahkan fitur Google Maps dalam web kita sendiri dengan Google Maps API. Google Maps API merupakan library JavaScript. Untuk melakukan pemrograman Google Maps API dapat dibilang mudah. Yang kita butuhkan adalah pengetahuan tentang HTML dan JavaScript, serta koneksi Internet. Dengan menggunakan Google Maps API, kita dapat menghemat waktu dan biaya untuk membangun aplikasi peta digital yang handal, sehingga kita dapat fokus hanya pada data-data yang diperlukan. Data peta-peta dunia menjadi urusan Google. Kita bisa mulai menulis program Google Map API dengan urutan sebagai berikut:
Memasukkan Maps API JavaScript ke dalam HTML kita.
Membuat element div dengan nama map_canvas untuk menampilkan peta.
Membuat beberapa objek literal untuk menyimpan properti-properti pada peta.
http://digilib.mercubuana.ac.id/
9
Menuliskan fungsi JavaScript untuk membuat objek peta.
Meng-inisiasi peta dalam tag body HTML dengan event onload (Shodiq: 2008).
2.4 Pengertian XAMPP
XAMPP merupakan merupakan paket php berbasis open source yang dikembangkan oleh sebuah komunitas Open Source. Dengan menggunakan XAMPP kita tidak perlu lagi melakukan penginstalan program yang lain karena semua kebutuhan telah disediakan oleh XAMPP. Beberapa pakat yang telah disediakan adalah Apache, MySql, Php, Filezila, dan Phpmyadmin (Bunafit Nugroho: 2011) 2.5 PHP
PHP (Hypertext Preprocessor) yaitu bahasa pemrograman web serverside 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 atau up to date. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. Sistem iDuHelp! ini dikembangkan dengan bahasa pemrograman PHP (Anhar:2010). 2.6 MySQL
MySQL adalah suatu database yang cepat, mudah untuk diggunakan (easy-to-use) dan sebagai sistem manajemen database relasional (RDBMS) yang digunakanuntuk database dalam beberapa website (janner simarmata: 2006).
http://digilib.mercubuana.ac.id/
10
2.6.1 Keunggulan MySQL
MySQL adalah suatu database populer dengan pengembang web (web developers). Kecepatan dan ukurannya yang kecil membuatnya ideal dalam membuat website. Ditambah lagi ditambah fakta bahwa MySQL adalah open source yang berarti gratis. Dibawah ini adalah beberapa keuntungannya:
Cepat. Tujuan utama dari pengembangan MySQL adalah kecepatan, sebagai konsekuensi software yang dirancang dari awal untuk kecepatan.
Tidak mahal. MySQL adalah Cuma-Cuma dibawah lisensi GPL open source, sementara pembiayaan untuk lisensi komersialnya adalah pantas.
Mudah digunakan. Anda dapat membangun dan berinteraksi dengan database MySQL hanya dengan menggunakan sedikit pernyataan (statement) sederhana dalam bahasa SQL, yang menjadi bahasa standar untuk berkomunikasi dengan RDBMS.
Dapat berjalan pada beberapa sistem operasi. MySQL berjalan pada sistem operasi yang beragam, seperti windows, linux, mac OS, kebanyakan variasi unix (termasuk solaris, AIX, dan DEC Unix, FreeBSD, OS/2, Irix, dan lainnya.
Dukungan teknis secara luas tersedia. MySQL menyediakan dukungan Cuma-Cuma untuk pengguna via mailing list. Anda juga dapat membeli dukung teknis dari MYSQL AB.
Aman. MySQL adalah sistem operasi fleksibel yang mengijinkan beberapa atau semua priviliege database (sebagai contoh, privilege untuk menciptakan suatu database atau menghapus data) untuk pengguna khusus atau kelompok pengguna.
Mendukung database yang besar. MySQL menangani database sampai 50 juta baris atau lebih. Batasan ukuran file secara default untuk table adala 4GB,
http://digilib.mercubuana.ac.id/
11
tetapi anda dapat menaikannya (jika sistem operasi dapat menanganinya) hingga 8 juta terabytes (TB).
Customizable. Lisensi GPL open source mengijinkan pemrogram untuk memodifikasi software MySQL untuk mencocokannya dengan lingkungan terentu (janner simarmata: 2006).
2.7 DBMS
DBMS (database management system) adalah sistem yang secara khusus dibuat untuk memudahkan pemakai dalam mengelola basis data. Sistem ini dibuat untuk mengatasi kelemahan sistem pemrosesan yang berbasis berkas (Abdul kadir: 2013) 2.7.1 Komponen DBMS
DBMS umumnya mengandung komponen-komponen berikut: kamus data, utilitas, pembangkit laporan, pembangkit aplikasi, pengatur keamanan akses dan pemulihan sistem. Fungsi setiap komponen dapat dilihat pada table berikut: Tabel 2.1 komponen-komponen dalam DBMS
Komponen
Keterangan
Kamus data
Menjabarkan berkas ( table) dan field
Utilitas
Digunakan menciptakan
untuk basis
memudahkan data
dan
pemakai
table
serta
dalam dalam
memanipulasi data Pembangkit laporan
Memudahkan dalam membuat laoran
Pembangkit aplikasi
Memudahkan dalam membuat aplikasi
Keamanan akses
Mengatur hak akses pemakai
Pemulihan sistem
Untuk mengembalikan data ke basis data sekiranya terjadi kegagalan sistem
http://digilib.mercubuana.ac.id/
12
2.8 Pengertian UML (Unified Modelling Language)
Dalam bidang analisis sistem dan desain sekarang menggabungkan teknik dan konsep berorientasi objek, dimana suatu sistem dipandang sebagai kumpulan mandiri suatu objek yang meliputi data dan proses. Objek dapat dibangun sebagai potongan individu dan kemudian disatukan untuk membentuk sebuah sistem, yang mengarah ke modular, komponen proyek yang dapat digunakan kembali. Pada tahun 1997, Unified Modeling Language (UML) diterima sebagai bahasa standar untuk pengembangan objek. Adapun 4 Teknik Diagram UML yang telah mendominasi proyek berorientasi objek: Use case Diagram, Class Diagram, Sequence Diagram, dan Behavioral State Machine Diagram (Activity Diagram). Teknik diagram yang lain berguna untuk tujuan khusus mereka, tapi keempat teknik ini membentuk inti dari UML. Keempat teknik diagram inilah yang terintegrasi dan dapat digunakan bersama-sama untuk menggantikan DFD dan ERD dalam SDLC tradisional. Stucture Diagram digunakan untuk mewakili data dan hubungan statis yang berada dalam sistem
informasi.
Behavioral
Diagram
menyediakan
analisa dengan
cara
menggambarkan hubungan dinamis di antara contoh atau benda yang mewakili sistem informasi bisnis . Klasifikasi Diagram UML dapat dilihat pada gambar 2.1
http://digilib.mercubuana.ac.id/
13
. Gambar 2.1 Klasifikasi Diagram UML (Alan Dennis: 2012)
2.6.1 Use Case Diagram Use case digunakan untuk menjelaskan dan mendokumentasikan interaksi yang diperlukan antara pengguna dan sistem untuk menyelesaikan tugas pengguna. Use case diciptakan untuk membantu tim pengembangan lebih memahami penuh langkah-langkah yang terlibat dalam mencapai tujuan pengguna. Setelah dibuat, Use case biasanya sering digunakan untuk memperoleh lebih rinci persyaratan fungsional untuk sistem yang baru. Use case adalah driver utama untuk semua teknik diagram UML. Use case berkomunikasi pada tingkat tinggi dimana apa yang perlu sistem untuk lakukan, dan masing-masing teknik diagram UML membangun ini dengan
http://digilib.mercubuana.ac.id/
14
menghadirkan fungsi dalam cara yang berbeda, dan juga masing-masing pandangan memiliki tujuan yang berbeda (Alan Dennis: 2012).
Tabel 2.2 Notasi Use Case Diagram (Alan Dennis: 2012) Nama dan Fungsi
•
Simbol
Actor Actor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksi dengan sistem. Untuk
mengidentifikasikan
actor
harus
ditentukan pembagian kerja dan tugas-tugas yang berkaitan dengan peran pada konteks target sistem. Actor dilukiskan dengan peran yang mereka mainkan dalam use case,
seperti
bendahara koperasi, anggota, dan lain-lain. •
Use Case Use Case menggambarkan perilaku, termasuk didalamnya interaksi antar actor dengan sistem. Use case dibuat berdasarkan keperluan actor, merupakan “apa” yang dikerjakan sistem bukan “bagaimana” sistem mengerjakan. Setiap use case harus diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksi dengan actor. Nama use case boleh terdiri dari beberapa kata yang tidak boleh ada dua use case yang memiliki nama yang sama.
•
Boundary System Boundary System merupakan nama dari sebuah system yangakan dirancang dalam use
http://digilib.mercubuana.ac.id/
15
case. •
Relasi / Asosiasi Asosiasi menggambarkan aliran data / informasi. Asosiasi
/
relasi
juga
digunakan
untuk
menggambarkan bagaimana actor terlibat dalam use case. Relasi (relationsip) digambarakan sebagai bentuk garis antara dua symbol dalam use case diagram. •
Asosiasi
antara
actor
dan
use
case
mengindikasikan siapa / apa yang meminta
interaksi
dan
bukannya
mengindikasikan aliran data. •
Asosiasi antar actor dan e case yang menggunakan
panah
terbuka
untuk
mengindikasikan bila actor berinteraksi secara pasif dengan sistem.
•
Asosiasi antar use case •
Include Include, menggambarkan termasuk
suatu
kedalam
(diharuskan).
use
use
case
case
lain
Contohnya
adalah
pemanggilan sebuah fungsi program. Digambarkan
dengan
garis
lurus
http://digilib.mercubuana.ac.id/
16
berpanah dengan tulisan. •
Extend Extend, digunakan ketika hendak menggambarkan variasi pada kondisi perilaku normal dan menggunaka lebih banyak control form dan mendeklarasikan ekstension pada use case utama atau dengan kata lain adalah perluasan dari use case lain untuk syarat atau kondisi terpenuhi. Digambarkan
dengan
garis
lurus
berpanah dengan tulisan
http://digilib.mercubuana.ac.id/
17
Gambar 2.2 Contoh Use case Diagram (Alan Dennis: 2012)
2.6.2 Sequence Diagram Teknik utama diagram UML berikutnya adalah Sequence diagram. Sequence diagram
menggambarkan objek yang berpartisipasi dalam use
case dan
menyampaikan pesan yang melewati antara mereka dari waktu ke waktu untuk satu usecase. Sequence diagram adalah model dinamis, yang mendukung tampilan yang dinamis dari sistem berkembang. Secara eksplisit, ini menunjukkan sequence menyampaikan pesan yang lewat di antara objek dalam interaksi yang telah didefinisikan (Alan Dennis: 2012). Sejak sequence diagram menekankan pemesanan berbasis waktu dari aktivitas yang terjadi di antara satu set objek, mereka sangat membantu untuk memahami spesifikasi real-time dan usecase yang kompleks. Jika Anda tertarik dalam memahami
http://digilib.mercubuana.ac.id/
18
aliran kontrol dari skenario oleh waktu, Anda harus menggunakan sequence diagram untuk menggambarkan informasi ini. Tabel 2.3 Notasi Sequence Diagram (Alan Dennis: 2012) Nama dan Fungsi
•
Simbol
Actor Actor adalah orang atau sistem yang bermanfaat dan berasal dari eksternal ke sistem. Bertugas untuk mengirim dan menerima pesan dari system. Actor itu sendiri, ditempatkan di bagian atas diagram.
•
Object Sama seperti actor, Object berfungsi sebagai penerima dan pengirim pesan dari sistem. Object itu sendiri, ditempatkan di bagian atas diagram.
•
Lifeline Lifeline
mengindikasikan
keberadaan
sebuah
object dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikalyang ditarik dari sebuah object.
•
Focus of control Focus of control dinotasikan
sebagai
sebuah
kotak segi empat yang digambar pada sebuah lifeline.
mengindikasikan
sebuah obyek yang
akan melakukan sebuah aksi.
•
Message Message,
digambarkan
dengan
anak
panah
http://digilib.mercubuana.ac.id/
19
horizontal antara Focus of control Message mengindikasikan komunikasi antara object -object .
•
Object Destruction Ditempatkan pada akhir obyek Lifeline untuk menunjukkan bahwa itu akan keluar dari objek tersebut
Gambar 2.3 Contoh Sequence Diagram (Alan Dennis: 2012)
2.6.3 Activity Diagram Activity diagram menunjukkan keadaan yang berbeda dalam satu contoh dari Class yang melalui proses untuk menanggapi peristiwa, bersama dengan tanggapan dan tindakan. Sebuah keadaan adalah seperangkat nilai-nilai yang menggambarkan suatu objek di titik tertentu waktu, dan itu merupakan titik dalam kehidupan obyek
http://digilib.mercubuana.ac.id/
20
dimana ia memenuhi beberapa kondisi, melakukan beberapa tindakan, atau menunggu sesuatu terjadi. Suatu peristiwa adalah sesuatu yang terjadi pada titik tertentu dalam waktu dan perubahan nilai yang menggambarkan suatu objek, yang pada gilirannya mengubah keadaan objek. Sebagai suatu objek bergerak dari keadaan ke keadaan tertentu, mereka akan menjalani transisi.
Tabel 2.4 Notasi Activity Diagram (Alan Dennis: 2012) Nama dan Fungsi
•
Start Point Menggambarkan awal sebuah aktifitas system
•
End Point Menggambarkan akhir dari sebuah aktifitas system
•
Activities State Menggambarkan kegiatan dalam aliran kerja
•
Decision Point Menunjukkan dimana sebuah keputusan perlu dibuat dalam aliran kerja
http://digilib.mercubuana.ac.id/
Simbol
21
Gambar 2.4 Contoh Activity Diagram (Alan Dennis: 2012)
2.6.4 Class Diagram Teknik utama diagram UML berikutnya adalah Class diagram. Class diagram adalah model statis yang mendukung pandangan statis dari sistem berkembang. Ini menunjukkan Class dan hubungan di antara Class yang tetap konstan dalam sistem dari waktu ke waktu. Class Diagram ini sangat mirip dengan diagram hubungan entitas (ERD). Namun, Class diagram menggambarkan Class, yang meliputi atribut, perilaku, dan keadaan, sementara entitas dalam ERD hanya mencakup atribut.
Tabel 2.5 Notasi Class Diagram (Alan Dennis: 2012) Nama dan Fungsi
•
Simbol
Class Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek danmerupakan inti dari pengembangan dan desain
berorientasi
objek.
Class
menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut(metoda/fungsi). Class memiliki tiga area pokok : •
Nama (dan stereotype)
•
Atribut
http://digilib.mercubuana.ac.id/
22
•Metoda •
Association Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 classdan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(Contoh: One-to-one, one-to-many, many-to-many)
http://digilib.mercubuana.ac.id/
23
Gambar 2.5 Notasi Class Diagram (Alan Dennis: 2012)
2.9 Metode Pengujian Sistem
Pengujian Black Box berfokus pada persyaratan fungsional perangkat lunak. Pengujian Black Box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program.
http://digilib.mercubuana.ac.id/
24
Pengujian Black Box bukan merupakan alternative dari teknik White Box, tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kesalahan-kesalahan daripada metode White Box. Pengujian Black Box berusaha menemukan kesalahan dalam kategori sebagai berikut: • Fungsi-fungsi yang tidak benar atau hilang. • Kesalahan Interface. • Kesalahan dalam struktur data atau akses database eksternal. • Kesalahan Kinerja. • Inisialisasi dan kesalahan terminasi. Pengujian Black box cenderung diaplikasikan selama tahap akhir pengujian, karena pengujian black box memperhatikan struktur kontrol maka perhatian berfokus pada domain informasi (pressman: 2010) 2.10 Pelayanan
Pelayanan adalah setiap kegiatan yang menguntungkan dalam suatu kumpulan atau kesatuan, dan menawarkan kepuasan meskipun hasilnya tidak terkait pada suatu produk secara fisik (sinambela :2006) 2.11 Logistik
Logistik berasal dari bahasa Yunani "Logos" yang berarti ransum, kata, kalkulasi, alasan, cara berbicara, dan orasi. Dalam sejarah Yunani dan Romawi kuno, istilah logistic digunakan sebagai pasokan senjata dan ransum bagi para prajurit yang bertempur, yang berpindah dari satu tempat ke tempat lainnya. Pasukan Romawi kuno dalam berperang selalu berpindah dari satu daerah ke daerah lain untuk menuntaskan ambisi Julius Caesar dalam menguasai dunia. Untuk itulah diperlukan tenaga logistik yang handal, atau yang dahulu disebut sebagai "Logistikas". Tim logistikas bertugas untuk memberikan pasokan atau supply kepada prajurit yang bertempur. Istilah ini kemudian digunakan oleh militer modern dalam melakukan supply untuk keadaan perang, mulai dari informasi,
http://digilib.mercubuana.ac.id/
25
transportasi, senjata, bahan makan, dan masih banyak lagi. Secara harfiah, logistik diartikan sebagai manajemen aliran atau flow management dari suatu tempat ke tempat lain. Garis besar flow management meliputi aliran sumber daya dan informasi. Keduanya memiliki sub bagian yang terpisah. Sebagai contoh, aliran sumber daya meliputi energi dan manusia. Beberapa sub bidang logistik antara lain adalah: 1. Informasi 2. Transportasi 3. Inventory 4. Warehousing 5. Material-handling 6. Packaging Logistik merupakan suatu bagian dari supply chain management yang berfokus pada perpindahan barang dari tempat asal ke tempat tujuan, untuk mencapai kepuasan pelanggan. Tujuan utama dari logistik adalah mengatur siklus sehingga memberikan hasil yang bermanfaat bagi perusahaan, terutama pada efisiensi. Dua hal yang menjadi focus utama dalam dunia logistik adalah internal logistik dan external logistik. Keduanya mengatur aliran dan penyimpanan material dari satu titik ke titik lain dengan fungsi utama meliputi inventory management, purchasing, transportasi dan distribusi, serta warehousing (Bowersox J: 2006).
http://digilib.mercubuana.ac.id/