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.