1 BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka Tinjauan pustaka dalam perancangan dan pembuatan aplikasi Cari Kost, penulis mengambil dua penelitian. Penelitian tersebut ditulis oleh Uliana Permata S dengan judul “Pemanfaatan Metode Simple Additive Wighting (SAW) untuk Pemilihan Hotel” dan artikel kedua ditulis oleh Arya Maulana Nugroho, Asep Mulyana dan Tody Ariefianto Wibowo dengan judul “Sistem Informasi Dan Pemesanan Kos Berbasis Sistem Operasi Android”. Penelitian telah dilakukan oleh Uliana Permata S, Universitas Pendidikan Indonesia pada tahun 2012 dengan studi “Pemanfaatan Metode Simple Additive Wighting (SAW) untuk Pemilihan Hotel ”. Dalam penelitian ini sistem yang dibuat mampu menentukan pemilihan hotel yang paling terbaik di sekitar Kota Bandung berdasarkan kriteria-kriteria tertentu seperti harga, fasilitas, lokasi, pelayanan staf, keamanan dan kebersihan dengan menggunakan metode Simple Additive Wighting. Penelitian telah dilakukan oleh Arya Maulana Nugroho, Asep Mulyana, Tody Ariefianto Wibowo, Univeristas Telkom pada tahun 2012 dengan studi “Sistem Informasi Dan Pemesanan Kos Berbasis Sistem Operasi Android”. Dalam penelitian ini sistem yang dibuat mampu memberikan informasi berita, public spot serta kos-kosan, mampu melakukan pemesanan kost dan dapat men-Tracking keberadaan kos-an di sekitar IT Telkom. Berdasarkan paparan kedua artikel diatas maka penulis melakukan penelitian dengan judul “Perancangan Dan Pembuatan Aplikasi Carikost Dengan Metode Simple Additive Weighting Berbasis Web Dan Android” merupakan sebuah aplikasi yang menyediakan informasi bagi calon penghuni mengenai rumah kost, pencarian kost berdasarkan hasil DSS, pemesanan dan pembayaran kost secara online, dan melakukan chatting antara calon penghuni dengan pemilik kost. Bagi Pemilik kost dapat mengelola rumah kost dan memverifikasi hasil pemesanan dan pembayaran kost. 2 2.2 Landasan Teori 2.2.1 Sistem Informasi Suatu sistem informasi dapat didefinisikan secara teknis sebagai satuan komponen yang saling berhubungan yang mengumpulkan (atau mendapatkan-kembali), memproses, menyimpan, dan mendistribusikan informasi untuk mendukung pengambilan keputusan, koordinasi, dan kendali, sistem informasi dapat juga membantu para manajer dan karyawan untuk meneliti permasalahan, memvisualisasikan pokok-pokok yang kompleks, dan menciptakan produk-produk baru (Laudon dan Kenneth, 2005). Sistem informasi berisi informasi tentang orang-orang tertentu, tempat-tempat, dan hal-hal di dalam organisasi atau di lingkungan sekitarnya. Informasi berarti data yang telah dibentuk ke dalam suatu format yang mempunyai arti dan berguna bagi manusia. Sebaliknya, data merupakan sekumpulan baris fakta yang mewakili peristiwa yang terjadi pada organisasi atau pada lingkungan fisik sebelum diolah ke dalam suatu format yang dapat dipahami dan digunakan orang (Laudon dan Kenneth, 2005). 2.2.2 Sistem Pendukung Keputusan Sistem Pendukung Keputusan merupakan Sistem berbasis komputer yang interaktif, yang membantu pengambil keputusan dengan memanfaatkan data dan model untuk menyelesaikan masalah-masalah yang tak terstruktur (Surbakti, 2002). Ada yang mendefinisikan bahwa sistem pendukung keputusan merupakan suatu pendekatan untuk mendukung pengambilan keputusan. Sistem pendukung keputusan menggunakan data, memberikan antarmuka pengguna yang mudah, dan dapat menggabungkan pemikiran pengambil keputusan (Turban, 2005). 2.2.3 MADM Multiple Attribute Decision Making (MADM) adalah suatu metode yang digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu. Inti dari FMADM adalah menentukan nilai bobot untuk setiap atribut, kemudian dilanjutkan dengan proses perankingan yang akan menyeleksi 3 alternatif yang sudah diberikan. Ada beberapa metode yang dapat digunakan untuk menyelesaikan masalah MADM, antara lain : (Kusumadewi, 2006) 1. Simple Additive Weighting (SAW) 2. Weighted Product (WP) 3. ELECTRE 4. Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) 5. Analytic Hierarchy Process (AHP) 2.2.4 Simple Additive Weighting (SAW) Metode Simple Additive Weighting (SAW) merupakan metode penjumlahan terbobot dari rating kinerja pada setiap alternatif pada semua atribut. Metode SAW membutuhkan proses normalisasi matriks keputusan (X) ke suatu skala yang dapat diperbandingkan dengan semua alternatif yang ada. (Kusumadewi, 2006) Keterangan : rij = nilai rating kinerja ternormalisasi xij = nilai atribut yang dimiliki dari setiap kriteria Maxi(xij) = nilai terbesar dari setiap kriteria Mini(xij) = nilai terkecil dari setiap kriteria Benefit = jika nilai terbesar adalah terbaik Cost = jika nilai terkecil adalah terbaik Nilai preferensi untuk setiap alternatif (Vi) diberikan sebagai: 4 Keterangan : Vi = rangking untuk setiap alternatif wj = nilai bobot dari setiap kriteria rij = nilai rating kinerja ternormalisasi Nilai Vi yang lebih besar mengindikasikan bahwa alternatif Ai lebih terpilih. 2.2.5 Basis Data Menurut Fathansyah (2001) Basis Data terdiri dari dua kata, yaitu Basis dan Data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek. Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang, seperti : a. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedimikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. c. Kumpulan file/arsip/table yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. 2.2.6 PHP (Hypertext Preprocessor) PHP adalah bahasa pemrograman berbasis web yang akan memberikan penampilan canggih jika dipadukan dengan webserver yang memberikan keamanan cukup tinggi. Jika terjadi error pada suatu fungsi atau kegagalan akses, PHP mempunyai fungsi khusus yang memungkinkan pengiriman email langsung ke programmer tersebut. Penangan variabel yang memberikan „pelemparan‟ variabel antarhalaman juga menjadi lebih aman (M.Syafii, 2005). 5 Bagi programmer web yang ingin menggunakan aplikasi autentikasi user, PHP telah menyediakan penggunaan cookies, 3 jenis penggunaan autentikasi session. yaitu Selain itu, http autentikasi, Anda dapate mengenkripsi data yang dikirim dengan menggunakan fungsi-fungsi yang disediakan PHP, diantaranya adalah cr32, crypt, md5, base64-decode, base64encode, dan lain-lain (M.Syafii, 2005). PHP adalah bahasa server –side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Maksud dari server –side scripting adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML. Pembuatan web ini merupakan kombinasi antara PHP sendiri sebagai bahahasa pemrograman dan HTML sebagai pembangun halaman web.PHP dapat mengirim HTTP header, dapat mengeset cookies, mengatur authentication dan redirect users (Bimo, 2002). 2.2.7 Model View Control Pola MVC dikenal sebagai model arsitektur aplikasi dengan pemisahan komponen-komponen dari aplikasi, yaitu pola Model, View dan Controller (Janner, 2010). David (2007) menjelaskan bahwa “Model-View-Controller(MVC) adalah arsitektur perangkat lunak yang memisahkan model model data, antar muka pengguna, dan logika control ke dalam tiga komponen yang berbeda sehingga pemodifikasian komponen view dapat dibuat dengan minimalkan komponen data” (Janner, 2010). 2.2.7.1 Model View Control (MVC) pada CodeIgniter Penerapan arsitektur MVC dalam CodeIgniter (Antonius, 2010) : a. Model Model bertanggung jawab untuk melakukan pengelolaan data dalam basis data. Di dalamnya biasa dituliskan perintah mengambil, mengubah, menghapus dan menambahkan data. untuk 6 b. View Merupakan “tempat” untuk meletakkan apa yang akan ditampilkan dihalaman perambah (browser). Sebuah berkas view umumnya berisi kode bahasa pemrograman sisi klien (client-side scripting). c. Controller Pengatur utama hubungan antara mode, view, dan juga sumber daya lain yang tersedia. Sumber daya ini diperoleh dari kelompok/tipe kelas yang dapat disebut dengan elemen framework CI. 2.2.8 Framework Framework adalah sistem perangkat lunak yang dapat digunakan kembali dengan fungsi umum yang telah diterapkan. Framework dapat dikhususkan ke dalam aplikasi yang siap pakai (ready-to-use). Framework juga berfungsi seperti sebuah cetak biru untuk arsitektur dasar dan arsitektur fungsional untuk field aplikasi yang spesifik. Artinya, pengetahuan arsitektur yang terdapat didalam framework seluruhnya dapat diadopsi di dalam aplikasi (Janner, 2010). Meskipun demikian, manfaat dari framework yaitu penggunaan kembali arsitektur dan fungsionalitas yang sederhana masih belum mampu mengatasi kelemahannya, yaitu tingkat dari usaha pelatihan, tidak adanya standar untuk mengintegrasikan framework yang berbeda dan menghasilkan ketergantungan pada manufaktur (Janner, 2010). Framework adalah kumpulan kelas (class) dan fungsi (function. Method) yang disusun secara sistematis berdasarkan kegunaan atau fungsionalitas tertentu untuk mempermudah pembuatan atau pengembangan suatu aplikasi (Antonius, 2010). 2.2.9 JavaScript dan jQuery JavaScript adalah bahasa script yang dikembangkan oleh Netscape untuk membuat dokumen yang dinamis. JavaScript adalah bahasa script sederhana yang mempunyai kemiripan dengan bahasa pemrograman C. JavaScript juga 7 dikenal sebagai sebuah kode pemrograman berorientasi objek (Object Oriented Programming) disingkat OOP. JavaScript memiliki keistimewaan untuk ditambahkan pada kode HTML dan membuat dokumen menjadi lebih interaktif (Wahana Komputer, 2001). JQuery adalah library atau kumpulan kode javaScript siap pakai. Keunggulan menggunakan jquery dibandingkan dengan javaScript standar, yaitu menyederhanakan kode javaScript dengan cara memanggil fungsi yang disediakan oleh jquery. Beberapa keunggulan lain jquery, (Aloysius, 2011) : a. Jquery compatible dengan banyak browser. b. Jquery mendukung semua versi CSS. c. Ukuran jquery sangat kecil, sekitar 20kB. d. Dokumentasi jquery yang lengkap. e. Dukungan komunitas terhadap jquery. f. Tersedianya plugin jquery yang sangat beragam. 2.2.10 Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. (H, 2015) 2.2.11 Android Market (Playstore) Android Market atay playstore adalah sebuah aplikasi yang menghubungkan para pengguna Android dengan sumber daftar aplikasi yang berjalan pada Android OS. Aplikasi yang tersedia terbagi menjadi dua bagian yaitu gratis (free) atau berbayar (priced). (Triadi, 2013) 2.2.12 PhoneGap PhoneGap adalah sebuah kerangka kerja / framework open source yang dipakai untuk membuat cross-platform mobile dengan HTML, CSS, dan JavaScript. PhoneGap menjadi suatu solusi yang ideal untuk seorang web developer yang tertarik dalam pembuatan aplikasi di smartphone. (H, 2015) 8 2.2.13 Unified Modelling Language (UML) Unified Modelling Language adalah bahasa standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari proses analisis dan desain berorientasi obyek. (Hermawan, 2004). Diagram use case atau use case diagram menyajikan interaksi antara use case dan aktor. Dimana, aktor dapat berupa orang, peralatan, atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case menggambarkan fungsional sistem atau persyaratan-persyaratan yang harus dipenuhi sistem dari pandangan pemakai. Diagram aktivitas atau activity diagram yang menggambarkan aliran fungsional sistem. Pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukan aliran kerja bisnis (business work-flow). Diagram sekuensial atau sequence diagram digunakan untuk menunjukkan aliran fungsionalitas dalam use case. (Sholiq, 2006) 2.2.13.1 Use Case Diagram use case atau use case diagram menyajikan interaksi antara use case dan aktor. Dimana, aktor dapat berupa orang, peralatan, atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case menggambarkan fungsionalitas sistem atau persyaratan-persyaratan yang harus dipenuhi sistem dari pandangan pemakai. ( Sholiq, 2006 ). Tabel 2. 1Simbol-Simbol pada UseCase Bentuk komponen Keterangan Aktor Merupakan menggambarkan simbol User berhubungan dengan Sistem untuk yang 9 Use case Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor 2.2.13.2 Class Diagram Diagram kelas atau Class diagram digunkan unutk menampilkan kelaskelas atau paket-paket di dalam sistem dan relasi antar mereka. Ia memebrikan gambaran sistem secara statis. Biasanya, dibuat beberapa diagram kelas untuk sistem. Satu diagram kelas menampilkan subset dari kelas-kelas dan relasinya. Yang lainnya, mungkin menampilkan kelas-kelas termasuk atribut dan operasi dalam kelas-kelas. Data yang lainnya lagi, mungkin menampilkan paket-paket kelas dan relasi antar paket-paket ( Sholiq, 2006 ). Tabel 2. 2Simbol Komponen Class Diagram Bentuk komponen Keterangan Kelas Deskripsi dari sekumpulan objek yang terdiri dari daftar atribut dan daftar operasi Generalisasi Hubungan antara yang lebih umum dan elemen yang lebih spesifik Depedensi Hubungan antara dua elemen pemodelan, di mana perubahan ke satu elemen independen) pemodelan akan (elemen mempengaruhi simulasi elemen lainnya 10 2.2.13.3 Activity Diagram Menurut John Satzinger, 2010, dalam buku System Analysis and Design in a Changing World menyatakan bahwa "Activity Diagram adalah sebuah Diagram alur kerja yang menjelaskan berbagai kegiatan pengguna atau sistem, orang yang melakukan masing - masing aktivitas, dan aliran sekuensial dari aktivitas - aktivitas tersebut" Gambar 2. 1Notasi Activity Diagram (Triandini & Suardika, 2012) Penjelasan untuk masing – masing notasi : 1. Swimlane : Mewakili agen yang melakukan aktivitas. Karena dalam alur kerja umumnya mempunyai agen yang berbeda yang melakukan langkah yang berbeda dari proses alur kerja ke dalam kelompok yang menunjukkan agen mana yang menjalankan aktivitas yang mana. Ada dua jenis swimlane yang dapat digunakan sesuai dengan kebutuhan, yaitu swimlane vertical dan swimlane horizontal 2. Initial state : Awal dari alur kerja 3. Action state : Melambangkan aktivitas tersendiri dalam alur kerja 4. Transition : Melambangkan urutan diantara aktivitas 5. Final state : Akhir dari alur kerja 6. Synchronization : Membagi alur kerja menjadi beberapa alur yang berbarengan ataupun menggabungkan lagi alur yang berbarengan Decision : Titik pengambilan keputusan dimana aliran proses tersebut akan mengikuti satu jalur atau jalur lainnya (Triandini & Suardika, 2012) 11 2.2.13.4 Sequence Diagram Menurut Hermawan (2004), Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi. Pembuatan sequence diagram merupakan aktivitas yang paling kritikal dari proses desain karena artifak inilah yang menjadi pedoman dalam proses pemrograman nantinya dan berisi aliran control dari program. Sequence diagram biasanya tersusun dari elemen Obyek, Interaction dan Message. Interaction menghubungkan 2 obyek dengan pesannya. Diagram ini menjelaskan aspek dinamis dari sistem yang sedang dibangun. Simbol-simbol yang ada pada diagram sekuen (Hermawan, 2004) dapat dilihat pada tabel 2.3 : Tabel 2. 3Simbol Simbol pada Sequence Diagram Bentuk komponen Nama Keterangan Aktor/Actor Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi lain diluar sistem itu sendiri; informasi biasanya Dinyatakan menggunakan kata benda di awal frase nama actor Garis hidup / Menyatakan lifeline suatu objek kehidupan 12 Objek Menyatakan objek yang berinteraksi pesan Waktu aktif Menyatakan objek dalam keadaan aktif dan berinteraksi pesan Pesan tipe create Pesan tipe call Menyatakan suatu objek membuat objek lain, arah Menyatakan suatu objek memanggil operasi metode / yang ada pada objek yang dibuat Pesan tipe send Menyatakan bahwa suatu objek mengirimkan data masukkan/informasi ke objek lainnya, arah panah mengarah ke objek yang dikirim Pesan tipe return Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan kembalian tertentu, yang suatu ke objek arah panah mengarah pada objek yang menerima kembalian X Pesan tipe Menyatakan destroy suatu objek akhir hidup 13 2.2.14 Black Box Testing Menurut (Simarta,2010) Klasifikasi black box testing mencakup beberapa pengujian, yaitu : 1. Pengujian fungsional (Functional Testing) Pengujian dilakukan dalam bentuk tertulis untuk memeriksa apakah aplikasi berjalan seperti yang diharapkan. Pengjujian dilakukan dengan cara menguji masing masing fungsionalitas sistem serta operasi back-end( keamanan dan meningkatkan kualitas sistem). 2. Pengujian tegangan (Stress Testing) Pengujian tegangan berkaitan dengan kualitas aplikasi dalam lingkungan. 3. Pengujian beban (Load Testing) Aplikasi diberikan beban input data dengan jumlah data yang besar sehingga pengujian akan tau kinerja dari aplikasi apakah akan menurun.