BAB II LANDASAN TEORI 2.1. Konsep Dasar Membangun Aplikasi Berbasis Web Aplikasi berbasis web adalah aplikasi yang dijalankan melalui browser dan diakses melalui jaringan komputer. Aplikasi berbasis web juga merupakan suatu perangkat lunak komputer yang dikodekan dalam bahasa pemograman yang mendukung perangkat lunak berbasis web, seperti HTML, JavaScript, CSS, dan PHP. Ada 2 bagian pokok dalam aplikasi web, yang pertama adalah sisi client dan yang kedua adalah sisi server. Sisi client dalam hal ini adalah perangkat yang dapat mengakses aplikasi web melalui web browser, sedangkan sisi server adalah perangkat komputer yang digunakan untuk menyimpan aplikasi web beserta database yang siap untuk diakses oleh client. Client bertugas meminta halaman web server melalui browser, lalu browser meneruskannya ke server dimana aplikasi web berada. Kemudian server mengolah permintaan dari client dan mengirimkan halaman web yang diminta dan ditampilkan pada browser. 2.1.1. PHP (Hypertext Preprocessor) PHP yang merupakan singkatan dari Hypertext Preprocessor, adalah bahasa server side scripting, dimana seluruh prosesnya dikerjakan di server, kemudian hasilnya dikirimkan ke klien yang melakukan permintaan melalui browser (Sidik, 2001). Skrip ini akan membuat suatu aplikasi yang dapat diintegrasikan kedalam HTML sehingga suatu halaman HTML tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server side membuat pengerjaan skrip tersebut dikerjakan di 4 server sedangkan yang dikirimkan kepada browser adalah hasil proses dari skrip tersebut yang sudah berbentuk HTML. PHP dibuat pada tahun 1994 oleh Rasmus Lerdfort. Tetapi dikembangkan oleh orang lain dan setelah melalui tiga kali karya penulisan, akhirnya PHP menjadi bahasa pemograman web. PHP adalah sebuah produk yang berbentuk open source, sehingga source code dari PHP dapat digunakan, diganti, diedit tanpa harus membayar atau dikenakan biaya. 2.1.2. HTML (Hypertext Markup Language) Hypertext Markup Language adalah bahasa pemograman yang digunakan untuk membuat sebuah tampilan web. Kode – kode ini menerjemahkan bagaimana tampilan sebuah web (pengaturan huruf, animasi, letak gambar, dan sebagainya) (Sidik, 2001). HTML merupakan bentuk standar untuk isi dan tampilan yang ada di halaman web. Model kerja HTML diawali dengan permintaan suatu tampilan web oleh browser. Berdasarkan URL (Uniform Resource Locator) atau dikenal dengan sebutan alamat internet, browser mendapatkan alamat dari web server, mengidentifikasi tampilan yang dikehendaki dan menyampaikan segala informasi yang dibutuhkan oleh web server. Selanjutnya, web server akan mencari berkas yang diminta dan memberikan isinya ke browser. Browser yang mendapatkan isinya segera melakukan proses penerjemahan kode HTML dan menampilkan ke layer pemakai. 5 2.1.3. CSS (Cascading Style Sheet) CSS merupakan singkatan dari Cascading Style Sheet yang berfungsi untuk mengatur tampilan dengan kemampuan jauh lebih baik dari tag maupun atribut standar HTML (Hypertext Markup Language). CSS sebenarnya adalah suatu kumpulan atribut untuk fungsi format tampilan dan dapat digunakan untuk mengontrol tampilan banyak dokumen secara bersama. Keuntungan menggunakan CSS yaitu jika ingin mengubah format dokumen, maka tidak perlu mengedit satu persatu. Penggunaan CSS ada dua cara yaitu dengan menyisipkan kode CSS langsung dalam kode HTML atau simpan file tersendiri berekstensi *.css. dengan menyimpan sebagai file tersendiri akan lebih memudahkan untuk mengontrol tampilan dalam banyak dokumen secara langsung. CSS mendefinisikan karakteristik tampilan (warna, style, dan posisi) suatu elemen pada dokumen HTML dalam bentuk properti elemen tersebut. Pemisahan isi dengan tampilan yang dilakukan dengan penerapan CSS ini, memberikan kemungkinan penyusunan struktur suatu halaman HTML dengan lebih fleksibel. CSS merupakan bagian/subset dari yang sangat berperan dalam DHTML (Supriansyah dan Kartoyo, 2006). 2.1.4. JavaScript JavaScript adalah bahasa pemograman yang diinterprestasikan bukan dikompilasi, diadopsi dari bahasa C/C++ yang dikembangkan menjadi bahasa pemograman web client-side (Brooks, 2007). Javascript didesain utuk bekerja sama dengan HTML membuat web page yang interaktif. 6 Javascript merupakan bahasa pemograman yang cukup mudah dikuasai dan memiliki banyak fungsi yang dapat digunakan untuk meningkatkan efek visual dari halaman web. Kode dari javascript harus diapit oleh tag, diawali dengan tag <script language= “javascript”> dan diakhiri dengan tag </script>. 2.1.5. MySQL MySQL adalah Relational Database Management System ( RDBMS ) yang didistribusikan secara gratis di bawah lisensi General Public License ( GPL ). Dimana setiap orang bebas untuk menggunakan, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersil. MySQL menyediakan lingkungan yang mudah dan efisien untuk menyimpan data dan mengakses basis data berkasitas besar lebih cepat dari pada server basis data lainnya. MySQL menggunakan bahasa standar SQL (Structure Query Language) sebagai bahasa interaktif dalam mengelola data (DuBois, 2013). Pada MySQL, sebuah database mengandung satu atau sejumlah tabel. Table terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom. MySQL mengenal beberapa kelompok tipe data, yaitu tipe data numerik atau angka, tipe data tanggal dan waktu, tipe data logical, serta tipe data string. 2.2. Rancangan Aplikasi Program Rancangan aplikasi program menggunakan gambaran pengolahan data dengan komputer. Penulis menggunakan alat bantu untuk perancangan aplikasi yaitu UML (Unified Modeling Language) dan ERD (Entity Relational Diagram). 7 2.2.1. Unified Modeling Language (UML) Unified Modeling Language (UML) adalah bahasa pemodelan secara grafis untuk menspesifikasikan, menvisualisasikan, membangun, dan mendokumentasikan seluruh rancangan sistem perangkat lunak (Herlawati,2011). Penggunaan model ini bertujuan untuk mengidentifikasikan bagian-bagian yang termasuk dalam lingkup sistem yang dibahas dan bagaimana hubungan antara sistem dengan subsistem maupun sistem lain di luarnya. Untuk membuat suatu model, UML memiliki diagram grafis yang diberi nama berdasarkan sudut pandang yang berbeda-beda terhadap sistem dalam proses analisa atau rekayasa. Diagram grafis tersebut antara lain. 2.2.1.1 Use Case Diagram Use case diagram menjelaskan manfaat system jika dilihat menurut pandangan orang yang berbeda (aktor). Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinterkasi dengan dunia luar. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat aplikasi, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan system (Kristanto, 2003). Use case merupakan sebuah pekerjaan tertentu, misalnya login ke halaman sistem, melakukan transaksi pembelian, membuat report, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. 8 2.2.1.2 Sequence Diagram Sequence Diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use case. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case. 2.2.1.3 Activity Diagram Activity diagram digunakan untuk memodelkan alur kerja (workflow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses (Kyung, 2006). Diagram ini sangat mirip dengan sebuah flowchart karena kita dapat memodelkan sebuah alur kerja dari satu aktivitas ke aktivitas lainnya atau dari suatu aktivitas ke keadaan sesaat (state). 2.2.1.4 Class Diagram Class diagram membantu kita dalam visualisasi struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Class diagram memperlihatkan hubungan antarkelas dan penjelasan detail tiap-tiap kelas didalam model desain (dalam logical view) dari suatu sistem. 2.2.2. Entity Relation Diagram ERD merupakan salah satu bentuk analisis dan perancangan yang menjabarkan hubungan antara objek (entitas) dalam sistem sehingga terlihat jelas relasi apa yang akan terjadi antara entitas tersebut (Bagui, 2004). Tujuan utama dari ERD adalah untuk mewakili objek data. Simbol yang digunakan dalam ERD dapat dilihat pada tabel berikut. 9 No. Simbol 1. Keterangan Entitas adalah suatu objek yang dapat didefinisikan dalam lingkungan pemakai. 2. Atribut adalah elemen dari entitas yang berfungsi mendeskripsikan karakter dari entitas. 3. Relationship, menggambarkan hubungan diantara sejumlah entitas yang berbeda. 4. Garis, sebagai penghubung antara relasi dengan entitas, relasi, dan entitas dengan atribut. Tabel 1.1 Simbol Dalam ERD 2.3. Paket Wisata Paket wisata dapat diartikan sebagai suatu perjalanan wisata dengan satu atau lebih tujuan kunjungan yang disusun dari berbagai fasilitas perjalanan tertentu dalam suatu acara perjalanan yang tetap, serta dijual dengan harga tunggal yang menyangkut seluruh komponen dari perjalanan wisata. Sebelum memahami paket wisata, harus dipastikan apakah dalam rangkaian komponen – komponen wisata tersebut terdapat acara mengunjungi objek /atraksi wisata. Bila hanya paket perjalanan (transportasi) dan akomodasi saja, tidak dapat dikatakan paket tour. Paket tersebut hanyalah paket perjalanan Free and Eazy, sementara program tour bisa dipilih sendiri (biasanya memilih seat-in-coach (SIC) yang biasanya tersedia di hotel – hotel. 10