SKRIPSI
Disusun Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer
dari Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang
RIDWAN FADILAH
1441177004079
SKRIPSI
Telah dipertahankan di hapadan Dewan Penguji
dan dinyatakan memenuhi syarat untuk memperoleh gelar Sarjana Komputer
dari Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang
oleh:
RIDWAN FADILAH
1441177004079
disetujui oleh:
Pembimbing I Pembimbing II
SKRIPSI
Telah dipertahankan di hapadan Dewan Penguji
dan dinyatakan memenuhi syarat untuk memperoleh gelar Sarjana Komputer
dari Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang
oleh:
RIDWAN FADILAH
1441177004079
disetujui oleh:
Penguji I Penguji II
iii
HALAMAN PERNYATAAN ORISINALITAS
Materai
Ridwan Fadilah
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
( Ridwan Fadilah )
ABSTRAK
Ridwan Fadilah, 2Riza Ibnu Adam, M.Si. 3Azhari Ali Ridha, S.Kom., MMSI.
1
1
1441177004079@student.unsika.ac.id, 2riza.adam@staff.unsika.ac.id, 3azhari.ali@unsika.ac.id
Program Studi Teknik Informatika
Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang
Kemajuan teknologi semakin berkembang sangat pesat, sehingga teknologi sudah banyak
mempermudah pekerjaan dalam berbagai hal. Orang pada masa modernisasi ini amat tergantung
pada teknologi, alhasil teknologi jadi keperluan dasar seluruh orang. Namun masih ada indekos
yang masih melakukan pembayaran dan pemesanan manual yang mewajibkan pemilik dan
penghuni bertemu. Pada Indekos Rishaqqy, segala sesuatu masih serba manual bahkan penulisan
laporan pembayaran masih ditulis manual. inputan yang ditulis sangat banyak dan bisa hilang serta
sulit untuk dicari bila dibutuhkan suatu saat. Penelitian ini merancang sebuah web untuk
melakukan pembayaran dan pemesanan, nantinya akan ditampilkan informasi status kamar
pembayaran dan pemesanan. Website akan dikembangkan menggunakan metode pengembangan
perangkat lunak model Waterfall merupakan suatu metode pengembangan web yang berfokus pada
keperluan pengguna. Sehingga pengguna akan sangat terbantu dengan perancangan website yang
sesuai dengan kebutuhan. Website yang berhasil dibuat adalah Website Rishaqqy Indekost yang
berfungsi untuk melakukan pembayaran dan pemesanan melalui website.dan pengujian perangkat
lunak menggunakan Black-Box Testing dan Usability Testing. Dari hasil pengujian usability nilai
rata-rata yang didapat adalah 82,4% dari iterasi kedua. Berdasarkan System Usability Scale (SUS),
range nilai usability atau kegunaan website pemesanan indekost berada di range good dengan nilai
rata-rata 82,4%.
Ridwan Fadilah, 2Riza Ibnu Adam, M.Si. 3Azhari Ali Ridha, S.Kom., MMSI.
1
1
1441177004079@student.unsika.ac.id, 2riza.adam@staff.unsika.ac.id, 3azhari.ali@unsika.ac.id
Informatics Engineering Study Program
Computer Science Faculty University Singaperbangsa Karawang
Technological progress is growing very rapidly, so technology has made it easier to work in
various ways.People at this time of modernization are very dependent on technology, as a result of
technology becomes the basic needs of all people.But there are still indexos that still make
payments and manual bookings that require owners and residents to meet.InDekos Rishaqqy,
everything is still manual even the writing of payment reports is still written manually.Input
written is very much and can be lost and difficult to find when needed at some time.This research
designed a web to make payments and bookings, later displayed information on the status of
payment rooms and bookings.The website will be developed using waterfall model software
development method is a web development method that focuses on user needs.So that users will be
greatly helped by the design of a website that suits your needs.The website that was successfully
created is Rishaqqy Indekost Website which serves to make payments and bookings through the
website.and testing software using Black-Box Testing and Usability Testing.From the results of the
usability test the average value obtained is 82.4% of the second iteration.Based on the System
Usability Scale (SUS), the range value of usability or usability of the indekost booking website is
in the good range with an average value of 82.4%.
Assalamu’alaikum Wr.Wb
Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan
hidayah-Nya sehingga dapat menyelesaikan skripsi ini. Shalawat serta salam
semoga dapat tercurahkan kepada Nabi Besar Muhammad SAW, serta keluarga
dan para sahabatnya yang selalu membantu perjuangan beliau untuk menegakkan
ajaran Allah SWT kepada umat manusia di muka bumi ini.
Penyusunan skripsi ini bertujuan untuk memenuhi salah satu syarat dalam
menempuh ujian Sarjana Komputer pada Program Studi Teknik Informatika
Universitas Singaperbangsa Karawang yang berjudul “Perancangan Sistem
Informasi Pemesanan Indekost Putri Berbasis Web menggunakan Model
Waterfall”.
Dalam penulisan skripsi ini, banyak pihak yang memberikan bantuan baik
itu bantuan dalam segi moril maupun materil dan menyampaikan ucapan terima
kasih kepada :
1. Ibu Prof. Dr. Sri Mulyani, AK., CA., selaku Rektor Universitas
Singaperbangsa Karawang..
2. Ibu Dr. Mayasari, M.Hum selaku Dekan Fakultas Ilmu Komputer.
3. Bapak M. Jajuli, M.Si. selaku Wakil Dekan Fakultas Ilmu Komputer
4. Ibu Betha Nurina Sari, M.Kom. selaku Kaprodi TI Fakultas Ilmu Komputer.
i
5. Bapak Riza Ibnu Adam, M.Si. selaku dosen pembimbing pertama, yang telah
memberi arahan pada saat skripsi ini.
6. Bapak Azhari Ali Ridha, S.kom., MMSI. selaku dosen pembimbing kedua,
yang telah memberi arahan pada saat skripsi ini.
7. Bapak Aji Primajaya, S.Si., M.Kom. selaku wali dosen saya yang selalu
memberi saran dan arahan yang membangun agar memotivasi semangat
untuk membuat skripsi ini.
8. Dosen-dosen Fakultas Ilmu Komputer yang senantiasa memberikan ilmu,
dukungan, dan motivasi
9. Ayahanda tercinta Bapak Nandang Hendrawan dan Ibunda tercinta Ibu Sri
Mulyati, yang senantiasa melimpahkan doa agar sehat selalu dan lancar
selama proses perkuliahan, pembelajaran, memberi dukungan dan perhatian
yang penuh.
10. Sahabat terbaik Danang Suryo, Rizki Ilham Muhammad, Indryan Tri Saputra,
Dheanira Luthfiani, Ida Bagus Ari Artha Santosa, Edi Sunarso dan Dedeh
Nurhayati yang membantu dan memotivasi dalam pembuatan skripsi ini.
11. Teman-teman mahasiswa Fakultas Ilmu Komputer angkatan 2014, khususnya
teman-teman Fasilkom 2014-H yang selalu memberikan kebahagiaan,
keceriaan, di saat masa-masa perkuliahan berlangsung dan telah memberikan
motivasi kepada penulis sehingga terwujudnya skripsi ini.
Demikian skripsi ini, semoga apa yang tertulis dalam skripsi ini
dapat bermanfaat bagi semua pihak. Dalam hal ini, penulis mengharapkan
saran dan kritik yang membangun demi kesempurnaan skripsi ini.
Wassalamu’alaikum Wr.Wb.
Ridwan Fadilah
ii
DAFTAR ISI
KATA PENGANTAR.............................................................................................i
DAFTAR ISI.........................................................................................................iii
DAFTAR GAMBAR.............................................................................................vi
DAFTAR TABEL...............................................................................................viii
DAFTAR LAMPIRAN..........................................................................................x
BAB 1 PENDAHULUAN......................................................................................1
1.1 Latar Belakang....................................................................................1
2.2 Website...............................................................................................6
2.6 PHP.....................................................................................................9
2.7 MySQL.............................................................................................10
iii
2.9.2 Activity Diagram..................................................................14
3.3.1 Requirement..........................................................................27
4.1.1 Requirment..............................................................................30
4.2 Pembahasan..........................................................................................75
iv
BAB 5 PENUTUP.................................................................................................76
5.1 Kesimpulan.......................................................................................76
5.2 Saran.................................................................................................76
DAFTAR PUSTAKA...........................................................................................77
LAMPIRAN..........................................................................................................79
v
DAFTAR GAMBAR
vi
Gambar 4.30 Pemesanan kamar.............................................................................65
Gambar 4.31 Pembayaran sewa.............................................................................66
Gambar 4.32 Komplain..........................................................................................66
Gambar 4.33 System Usability Scale (SUS)...........................................................75
vii
DAFTAR TABEL
viii
Tabel 4.27 Tabel perhitungan likert iterasi pertama..............................................72
Tabel 4.28 Tabel perhitungan likert iterasi kedua..................................................73
Tabel 4.29 Tabel iterasi usability testing...............................................................75
ix
DAFTAR LAMPIRAN
Lampiran 1. Biodata...............................................................................................80
Lampiran 2. Surat Izin Penelitian..........................................................................81
Lampiran 3. Kuisioner Usability Testing...............................................................82
Lampiran 4. Uji validasi dan Realibilitas...............................................................83
Lampiran 5. Perhitungan Skala Likert...................................................................85
Lampiran 6. Source Code.......................................................................................99
x
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Kontrakan Indekos merupakan tempat tinggal sementara. untuk menyewa
tempat tinggal sementara ini perlu datang atau mengunjungi ke tempat indekos
dan menemui pemilik dari indekos tersebut. Terlebih lagi indekos putri Rishaqqy
sangat dekat dengan area kampus Unsika. Kontrakan Indekos putri rishaqqy
merupakan suatu kebutuhan bagi mahasiswa atau mahasiswi baru yang akan
menempuh ilmu perguruan tinggi di Unsika, oleh karna itu mahasiswa atau
mahasiswi baru yang tempat tinggal nya jauh dari karawang maka akan mencari
indekos yang dekat dengan area kampus Unsika. Dari banyak mahasiswa atau
mahasiswi baru yang mempunyai waktu yang terbatas alhasil mereka cenderung
tidak mempunyai waktu untuk pergi ke tempat indekos untuk menempati tempat
tinggal sementara mereka. Terlebih yang ingin menempati tempat indekos rata–
rata dari luar karawang, sangatlah tidak mungkin bagi mereka di luar jawa pulang
pergi mencari indekos terdekat di wilayah universitas singaperbangsa dengan
terdapatnya web ini Mahasiswa atau mahasiswi bisa melihat kondisi kamar
indekos berikut sarana serta biayanya tanpa harus datang ke indekos itu,
mahasiswi itu bisa memesan suatu kamar indekos lewat web Rishaqqy itu, serta
setelah itu pihak owner tidak mesti repot–repot datang untuk melakukan
pemberitahuan pemesan kamar cocok tidak dengan pilihan kamar tersebut,
Dengan adanya Web ini akan memberikan kemudahan kepada pencari
indekos, dimana mahasiswa bisa menyewa suatu kamar indekos tanpa harus
datang ke tempat indekos itu berada. Selain itu juga akan terdapat sarana pendapat
dimana ada sebagian pendapat dari para penyewa terdahulunya alhasil jadi materi
estimasi buat menyewa kamar tersebut. Pada kesimpulannya tidak cuma penyewa
yang diuntungkan, namun juga owner indekos karena omzet penyewaan pasti
akan meningkat.
Dari latar belakang tersebut maka dilakukan perancangan website Rishaqqy
menggunakan Visual Studio dan Database MySQL, dengan menerapkan metode
Waterfall .
2
2
3
3
4
4
5
BAB 2
LANDASAN TEORI
1
2.2 Website
Keadaan dunia teknologi yang melambung pesat ini di butuhkan suatu
jaringan atau alat yang bisa mempermudahkan serta mempercepat penyampaian
informasi secara luas, dan dapat dengan mudah dan cepat oleh siapapun yang
mendapatkan akses internet.
Jenis Website terdiri dari 3 jenis yaitu :
1. Website Statis Sebuah website yang mempunyai halaman yang tidak
berubah atau bergerak.
6
1. Requirment
Mengidentifikasi orang yang akan menggunakan website yang
dihasilkan. Ini akan menjelaskan untuk apa dan dalam kondisi seperti
apa mereka akan menggunakan website.
2. System and software design
7
Pada biasanya HTML sesuatu bahasa yang dipakai untuk membuat halaman
website. HTML juga diketahui sebagai aplikasi yang mempunyai kemampuan
browser.
Menurut Sutarman( 2007: 27)” HTML Hypertext Markup Language)
merupakan sesuatu bahasa yang dipakai buat menulis laman website”. Sebaliknya
bagi Larry( 2012: 3)” Hypertext Markup Language ialah sesuatu tata cara buat
menerapkan rancangan hypertext dalam sesuatu dokumen ataupun arsip.
Jadi, bisa disimpulkan kalau HTML merupakan bahasa pemograman yang
dipakai buat menulis laman website denganmetode buat menerapkan rancangan
hypertekt dalam sesuatu dokumen ataupun akta.
2.10.2. PHP( PHP Hypertext Preprocessor)
Pada saat saat ini PHP lebih lebih diketahui dengan singkatan PHP
Hypertekt Preprocessor. Sesuai dengan namanya, PHP dipakai untuk membuat
web pribadi. PHP ialah sesuatu bahasa pemograman yang dipakai user untuk
membuat suatu website saat ini serta bisa dipakai dengan cara gratis.
Menurut Sidik( 2014: 4) merumuskan kalau: PHP diketahui selaku bahasa
pemograman script- script yang membuat akta HTML dengan cara on the fly yang
dieksekusi di server website, akta HTML, yang diperoleh dari sesuatu aplikasi
bukan akta HTML, yang terbuat dengan memakai pengedit bacaan ataupun
pengedit HTML. Diketahui selaku bahasa pemograman server side.
Bagi Kadir( 2008: 358)” PHP ialah bahasa pemograman scriptyang
diletakan dalam server yang lazim dipakai buat membuat aplikasi website yang
bersifat dinamis”. Bersumber pada dari opini diatas merumuskan PHP merupakan
bahasa pemograman yang memakai script- script dengan cara on the fly untuk
membuat arsip HTML yang dieksekusi di server web untuk menciptakan aplikasi
website yang bersifat dinamis.
9
2.6 PHP
Menurut Sunarfrihantoro dalam Hendrianto dalam Indonesian Journal On
Networking and Security Vol.3 No.4 (2014:59), Menyatakan bahwa PHP adalah
bahasa server-side scripting yang menyatu dengan HTML untuk membuat
halaman web yang dinamis. Arti dari server- side scripting merupakan sintaks
serta perintah- perintah yang diberikan akan sepenuhnya akan dijalani di server
namun disertakan pada dokumen HTML. Pembuatan website ini ialah campuran
antara PHP sendiri selaku bahasa pemrograman serta HTML sebagai pembangun
laman website.
Menurut Tommy( 2016: 95),“ PHP merupakan bahasa scripting yang
berpadu dengan HTML serta terletak di server( server side HTML embedded
scripting). Perintah- perintah yang kita masukkan hendak seluruhnya dijalani serta
dikerjkan di server”.
PHP ialah bahasa pemrograman skrip yang diletakkan dalam server yang
umum dipakai untuk membuat aplikasi website yang bersifat dinamis. Arti
website dinamis merupakan dapat membuat sesuatu bentuk website bersumber
pada permintaan terbaru, dapat dilakukan dengan menunjukkan isi database ke
laman website. PHP juga digunakan dengan cara command line, ialah skrip PHP
bisa dijalani tanpa mengaitkan website server ataupun browser. Dengan memakai
lisensi GPL( GNU Public License), PHP bebas didistribusikan oleh siapa saja
serta kemana saja. PHP tersedia dalam wujud kode biner ataupun kode sumber
yang komplit.”( Loka Dwiartara dalam Nur dkk, 2017: 57).
PHP ini adalah sebuah bahasa pemrograman yang berguna untuk membuat
sebuah website yang dinamis. PHP ini merupakan open source yang dapat dipakai
dihampir semua web server yang ada.
2.7 MySQL
MySQL ialah Relational Database Management System( RDBMS) yang
didistribusikan secara free dibawah lisensi GPL( General Public License). Dimana
tiap orang leluasa untuk memakai MySQL, tetapi tidak bisa dijadikan produk
turunan yang bersifat closed source ataupun menguntungkan. MySQL sebenarnya
merupakan turunan salah satu rancangan penting dalam database sejak lama, yaitu
10
Selanjutnya merupakan simbol- simbol yang terdapat pada use case diagram:
Tabel 2.1 Simbol-simbol Diagram Use Case
pertama.
diinstansiasi jadi objek itu. Membuat diagram sekuen pula diperlukan untuk
melihat skenario yang terdapat pada use case. Banyaknya bagan sekuen yang
harus digambar merupakan minimun sebesar pendefinisian use case yang
mempunyai cara sendiri ataupun yang berarti seluruh use case yang sudah
didefinisikan interaksi jalannya pesan telah dicakup dalam diagram sekuen alhasil
semakin banyak use case yang didefinisikan hingga diagram sekuen yang harus
terbuat juga semakin banyak.
Berikut adalah simbol-simbol yang ada pada sequence diagram:
Tabel 2.3 Simbol-simbol Sequence Diagram
Atau
8. Pesan tipe return Return berfungsi sebagai arah panah mengarah pada
objek yang menerima kembalian.
4. Asosiasi berarah/direction Relasi antar kelas dengan makna kelas yang satu
association digunakan oleh kelas yang lain, asosiasi biasanya
juga disertai dengan multiplicity.
Ukuran tingkat usability yang digunakan untuk menjadi dasar desain bagi
suatu evaluasi produk akan berbeda pada masing-masing produk. Berdasarkan
International Organization for Standardization (1998), yang tertuang pada ISO
9241-11 Guidance on Usability, atribut atau ukuran tingkat usability ada 3 yaitu:
a. Efektivitas (effectiveness) merupakan seberapa baik pengguna mencapai
tujuan mereka dengan menggunakan sistem serta kelengkapan yang dapat
diperoleh dalam menyelesaikan tugas.
b. Efisiensi (efficiency) didefinisikan sebagai sumberdaya yang dikeluarkan
guna mencapai ketepatan dan kelengkapan tujuan.
c. Kepuasan (satisfaction) didefinisikan kebebasan dari ketidaknyamanan, dan
sikap positif terhadap penggunaan produk atau ukuran subjektif bagaimana
pengguna merasa tentang penggunaan sistem (ISO 9241-11, 1998).
Dimensi tingkatan usability yang dipakai untuk jadi dasar konsep untuk
suatu penilaian produk hendak berlainan pada tiap- tiap produk. Bersumber pada
International Organization for Standardization( 1998), yang tertuang pada ISO
20
Tingkatan persetujuan yang diartikan dalam rasio Likert ini terdiri dari 5
opsi rasio yang memiliki tingkatan dari Sangat Setuju( SS) sampai Sangat Tidak
Setuju( STS) . 5 pilihan tersebut diantaranya adalah:
1. Sangat Setuju (SS)
2. Setuju (S)
3. Ragu-ragu (RG)
4. Tidak Setuju (TS)
5. Sangat Tidak Setuju (STS)
Tidak hanya tingkatan Persetujuan, bisa serta dipakai pada sebagian tipe
tingkatan mengenai tindakan serta opini. Semacam:
1. Sangat Suka
2. Suka
3. Netral
22
4. Tidak Suka
5. Sangat Tidak Suka
Tidak hanya tingkatan Persetujuan, bisa serta dipakai pada sebagian tipe
tingkatan mengenai tindakan serta opini. Semacam:
1. 30 responsi menjawab SS (Sangat Setuju)
2. 30 responsi menjawab S (Setuju)
3. 5 responsi menjawab RG (Ragu-ragu)
4. 20 responsi menjawab TS (Tidak Setuju)
5. 15 responsi menjawab STS (Sangat Tidak Setuju)
Bersumber pada informasi itu, ada 60 responden ataupun 60% yang
menanggapi sepakat( 30 responden) serta amat sepakat( 30 responden). Dengan
hasil itu, bisa didapat keseimpulan kalau kebanyakan pegawai di industri itu
sepakat dengan peraturan industri.
Metode kedua buat menterjemahkan hasil rasio likert ini merupakan dengan
analisa istirahat.iar dapat dihitung dalam bentuk kuantitatif, jawaban- balasan dari
Responden itu dapat diberi berat nilai atau nilai likert sejenis dibawah ini:
1. SS = Sangat Setuju, dikasih nilai 5
2. S = Setuju, dikasih nilai 4
3. RG = Ragu-ragu, dikasih nilai 3
4. TS = Tidak Setuju, dikasih nilai 2
5. STS = Sangat Tidak Setuju, dikasih nilai 1
Keseluruhan Angka Likert bisa diamati dari kalkulasi dibawah ini:
1. Jawaban Sangat Setuju (SS) = 30 responsi x 5 = 150
2. Jawaban Setuju (S) = 30 responsi x 4 = 120
3. Ragu-ragu (RG) = 5 responsi x 3 = 15
4. Tidak Setuju (TS) = 20 responsi x 2 = 60
5. Sangat Tidak Setuju = 15 responsi x 1 = 15
Alhasil keseluruhan angka = 360
Angka Maksimal = 100 x 5 = 500 (jumlah responden x skor tertinggi likert)
Angka Minimal = 100 x 1 = 500 (jumlah responden x skor terendah likert)
Indikator (%) = (Total Skor / Skor Maksimum) x 100
Indikator (%) = (360 / 500) x 100
Indikator (%) = 72%
Interval Penilaian:
Indikator 0% – 19,99% : Sangat Tidak Setuju
Indikator 20% – 39,99% : Tidak Setuju
23
1.1
1.2
1.3
1.4
1.5
2.14 Penelitian Sebelumnya
Tabel 2.5 Penelitian sebelumnya
Arfhan, S. D. Sistem Informasi Dalam junal ini unsur yang diteliti adalah
Akademik Berbasis Web membangun sebuah sistem berbasis web
(2019).
Menggunakan Model sebagai media alternatif siswa SMK untuk
Waterfall mengakses Sistem Informasi terbaru yang
Pada SMK ITENAS diterbitkan oleh pihak sekolah. Metode
Karawang pengembangan sistem yang digunakan
adalah Waterfall Output pada penelitian
ini adalah sebuah Sistem Informasi
Akademik (SIA) berbasis website .
Yuli Siti Zulaikhah, Rancang Bangun Sistem Dalam jurnal ini unsur yang diteliti adalah
A. (2019) Pengelolaan Arsip Surat membangun sebuah system pengelolaan
Berbasis Web arsip surat berbasis web metode
Menggunakan Metode pengembangan system yang di gunakan
Waterfall adalah waterfall output penelitian yaitu
(Studi kasus : Kantor sebuah website untuk mengelola
Desa Karangrau pengelolaan arsip di kantor desa
Banyumas) karangrau banyumas
Astri Rezky RANCANG BANGUN Dalam junal ini unsur yang diteliti adalah
Jumarah, N. R. SISTEM INFORMASI membangun sebuah sistem berbasis web
(2019) PENGGAJIAN sebagai media penggajian. Metode
DENGAN pengembangan sistem yang digunakan
IMPLEMENTASI adalah Waterfall Output pada penelitian
24
3.3.1 Requirement
Langkah perencanaan menyangkut penelitian mengenai kebutuhan
pengguna serta kelayakan system baik dengan cara metode ataupun sebagai
teknologi. Pada langkah ini dilakukan perancangan mengenai sistem yang akan
dibentuk.
Pada tahap pertama dibagi menjadi 2, yaitu:
1. Analisa sistem yang sedang berjalan
Peneliti melakukan penggalian informasi mengenai Indekos putri Rishaqqy
untuk mengumpulkan kebutuhan dari pengguna. Peneliti akan menggambarkan
proses yang sedang berjalan dari Indekos dan selanjutnya peneliti
menggambarkan usulan dari proses baru untuk memudahkan dan mengefektifkan
pemesanan indekos .
27
BAB 4
HASIL DAN PEMBAHASAN
4.
4.1 Hasil Penelitian
Hasil penelitian yang diperoleh adalah sebuah website pemesanan kostan
yang mempermudah bagi para pencari kost yang ingin mencari kost dengan cara
membuka website tanpa harus datang langsung ke tempat kost nya, selain itu
pemesanan pembayaran dan komplain tersedia di website ini jadi semua bisa
transaksi di website . website ini dirancang berdasarkan hasil wawancara dan
diskusi dengan pemilik Indekost Rishaqqy.
4.1.1 Requirment
Pada tahap pertama peneliti melakukan analisa terhadap proses yang sedang
berjalan serta menentukan konteks peguna
Dari cara untuk para pencari indekost terdekat untuk datang ke tempat indekost
nya tersebut masalah yang dikeluhkan oleh mahasiswa atau mahasiswi baru
adalah ya untuk mencari kostan yang terdekat dari kampus harus menempuh
perjalanan jauh dari tempat tinggal nya yang rata – rata jauh dari kota karawang
cara sebelum nya yang memesan harus ketempat kost terdekat kampus.
Berdasarkan pengumpulan informasi dari wawancara dengan pemilik indekost
didapatkan permasalahan yang dimiliki indekost Rishaqqy
1. Pemasaran indekost masih menggunakan cara manual sehingga penghuni kost
baru sulit untuk mencari indekost terdekat dengan kampus dan membuat pemilik
kost harus datang ke kost nya sendiri untuk bertemu langsung dengan penghuni
baru untuk perihal pembayaran danlain sebagai nya..
2. Penulisan pemesanan masih menggunakan kertas untuk mencatat pemesanan
dan pembayaran penghuni kost .
Dari permasalahan tersebut peneliti mengusulkan untuk membuat system
informasi pencarian indekost dengan menggunakan website Indekost Rishaqqy,
dan pada website tersebut akan menyediakan sebuah informasi terkait dengan
kamar indekost dari mulai harga luas kamar dan fasilitas yang ada di indekost itu
sendiri maka dari itu membuat pemilik tidak harus menemui penghuni baru untuk
bernogosiasi harga dan bertanya tentang fasilitas yang ada di dalam indekost
tersebut dan juga membuat penghuni baru tidak perlu mendatangi tempat indekost
yang ingin di tempati untuk penghuni baru kost tersebut.
31
Penghuni Sistem
a. Definisi Aktor
Berikut adalah deskripsi dan definisi aktor pada website Rishaqqy.
Tabel 4.1 Definisi aktor
Admin Sistem
Skenario Normal
1. Membuka website
2. website menampilkan form login
3. Mengisi id dan password
4. Cek validasi id dan password
5. Menampilkan halaman admin/penghuni
Skenario Alternatif
34
1. Membuka website
2. Website menampilkan form login
3. Mengisi id dan password yang salah
4. Cek validasi id dan password
5. Menampilkan pesan id atau password salah
6. Mengisi kembali id dan password dengan
benar
7. Cek validasi id dan password
8. Menampilkan pesan id atau password salah
Admin Sistem
Skenario Normal
1. Membuka Menu data kamar
2. Aplikasi menampilkan form data kamar
3. Mengisi data kamar
4. Menyimpan data kamar
5. Menampilkan data kamar
Skenario Alternatif
1. Membuka form data kamar
2. Aplikasi menampilkan form data kamar
3. Mengisi data kamar yang tidak sesuai
4. Menampilkan pesan data kamar tidak sesuai
5. Mengelola data kamar dengan data yang
benar dan sesuai
6. Menyimpan data kamar
7. Menampilkan data kamar
35
Admin Sistem
Skenario Normal
1. Membuka form data penghuni
2. Aplikasi menampilkan form data penghuni
3. Mengelola data penghuni
4. Menyimpan data penghuni
5. Menampilkan data penghuni
Skenario Alternatif
1. Membuka form data penghuni
2. Aplikasi menampilkan form data penghuni
3. Mengisi data penghuni yang tidak sesuai
4. Menampilkan pesan data penghuni tidak
sesuai
5. Mengelola data penghuni dengan data
yang benar dan sesuai
6. Menyimpan data penghuni
7. Menampilkan data penghuni
Admin Sistem
Skenario Normal
1. Membuka form data pemesanan
2. Aplikasi menampilkan form data
pemesanan
3. Mengelola data pemesanan
4. Menyimpan data pemesanan
5. Menampilkan data pemesanan
Skenario Alternatif
36
Admin Sistem
Skenario Normal
1. Membuka form data penyewaan
2. Aplikasi menampilkan form data
penyewaan
3. Mengelola data penyewaan
4. Menyimpan data penyewaan
5. Menampilkan data penyewaan
Skenario Alternatif
1. Membuka form data penyewaan
2. Aplikasi menampilkan form data
penyewaan
3. Mengelola data penyewaan dengan data
yang tidak sesuai
4. Menampilkan pesan data tidak sesuai
5. Mengelola data penyewaan dengan data
yang benar dan sesuai
6. Menyimpan data penyewaan
7. Menampilkan data penyewaan
37
6) Pemesanan Kamar
Aktor : Admin
Skenario : Pemesanan Kamar
Tabel 4.8 Skenario use case mengelola data pemesanan kamar
Admin Sistem
Skenario Normal
1. Membuka form kamar
2. Aplikasi menampilkan form kamar
3. Mengisi data kamar
4. Menyimpan data kamar
5. Menampilkan data kamar
Skenario Alternatif
1. Membuka form kamar
2. Aplikasi menampilkan form kamar
3. Mengisi dengan data kamar yang salah
dan tidak sesuai
4. Menampilkan pesan data tidak sesuai
5. Mengelola data transaksi dengan data
yang benar dan sesuai
6. Menyimpan data kamar
7. Menampilkan data kamar
7) Pembayaran Kamar
Aktor : Admin
Skenario : Pembayaran Kamar
Tabel 4.9 Skenario use case mengelola data pembayaran kamar
Admin Sistem
Skenario Normal
1. Membuka form pembayaran
2. Aplikasi menampilkan form pembayarn
3. Mengelola data pembayaran
4. Menyimpan data pembayaran
5. Menampilkan data pembayaran
Skenario Alternatif
1. Membuka form pembayaran
38
2. Activity Diagram
Activity diagram akan menggambarkan workflow (aliran kerja) atau aktivitas
dari sebuah sebuah sistem atau proses bisnis atau menu yang ada pada
perangkat lunak. Adapun gambaran activity diagram adalah sebagai berikut:
a. Login Admin
Admin Sistem
Aktor melakukan login dengan mengisi id user dan password lalu klik
tombol login. Sistem akan melakukan validasi untuk mengecek id user
dan password. Apabila tidak sesuai maka akan ada pesan error, jika tidak
maka sistem akan menampilkan menu utama.
39
b. Login Penghuni
Admin Sistem
Aktor melakukan login dengan mengisi id user dan password lalu klik
tombol login. Sistem akan melakukan validasi untuk mengecek id user
dan password. Apabila tidak sesuai maka akan ada pesan error, jika tidak
maka sistem akan menampilkan menu utama.
40
g. Pemesanan Kamar
Penghuni Sistem
h. Pembayaran Kamar
Penghuni Sistem
i. Komplain Kamar
Penghuni Sistem
3. Sequence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dengan massage yang dikirimkan dan
diterima antar objek. Berikut adalah sequence diagram dari website indekost .
a. Login Admin
b. Login Penghuni
Admin login lalu sistem akan mengambil data dari tabel kamar dan
tabel kamar untuk ditampilkan pada form data kamar. Admin
memasukan data kamar secara lengkap, dan apabila data pemesanan
lengkap, maka data akan disimpan di tabel transaksi.
50
g. Pemesanan kamar
h. Pembayaran Kamar
Penghuni login lalu sistem akan mengambil data dari tabel penghuni
dan tabel penghuni untuk ditampilkan pada halaman penghuni. Setelah
itu penghuni memilih informasi kost lalu mengisi data pembayaran
secara lengkap, dan apabila data pemesanan lengkap, maka data akan
disimpan di tabel data pembayaran.
55
i. Komplain Kamar
Penghuni login lalu sistem akan mengambil data dari tabel penghuni
dan tabel penghuni untuk ditampilkan pada halaman penghuni. Setelah
itu penghuni memilih informasi kost lalu mengisi data komplain
secara lengkap, dan apabila data pemesanan lengkap, maka data akan
disimpan di tabel data komplain.
56
4. Class Diagram
Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-
kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang
disebut atribut dan method atau operasi. Berikut ini adalah class diagram
database pada website.
KPL merupakan singkatan dari complain dan 001 adalah urutan dari
pendaftaran complain.
b. hunian
Nama tabel : hunian
Fungsi : Menyimpan data hunian.
Tabel 4.11 Desain tabel hunian
KMR merupakan singkatan dari hunian dan 001 adalah urutan dari
pendaftaran kamar.
58
c. sewa
Nama tabel : sewa
Fungsi : Mengisi informasi dari sewa
Tabel 4.12 Desain tabel sewa
SWA merupakan singkatan dari sewa dan 001 adalah urutan dari
pendaftaran sewa.
d. member
Nama tabel : member
Fungsi : Menyimpan data penghuni
Tabel 4.13 Desain tabel member
PHN merupakan singkatan dari penghuni dan 001 adalah urutan dari
pendaftaran penghuni.
e. pesan
Nama tabel : pesan
Fungsi : Menyimpan data pesan.
Tabel 4.14 Desain tabel pesan
PSN merupakan singkatan dari pesan dan 001 adalah urutan dari
pendaftaran pemesanan.
60
f. Admin
Nama tabel : admin
Fungsi : Menyimpan data admin
Tabel 4.15 Desain tabel admin
ADM merupakan singkatan dari admin dan 001 adalah urutan dari
Pemilik dan penjaga.
61
b. Login Penghuni
Pada form login terdapat dua textbox dan dua tombol yang berfungsi untuk
login sebagai Penghuni dan masuk ke menu halaman Penghuni.
c. Data Hunian
Pada gambar di atas menjelaskan bahwa dalam halaman menu data hunian
terdapat tambah data edit data dan delete berupa button.
d. Data penghuni
e. Data Pesan
f. Data Sewa
g. Data Komplain
h. Pemesanan Kamar
i. Pembayaran Sewa
j. Komplain
Pada gambar 4.28 menjelaskan pada form pengguna terdapat tiga textbox, dan
satu buah combobox
66
2. Usability Testing
Tahap terakhir adalah tahap pengujian usability testing yang dilakukan
dengan menggunakan metode perhitungan skala likert. Diketahui jumlah
pengguna adalah 10 orang yaitu pemilik dan penghuni berjumlah 9 pada tanggal
22 maret 2021 dan batas ketelitian sebesar e = 10%, maka jumlah sampel dapat
dihitung dari persamaan berikut:
100
Persentase interval = = 20
5
Dari perhitungan persentase interval tersebut maka didapat tabel presentase
interval sebagai berikut:
Tabel 4.26 Tabel persentase interval
2. Iterasi pertama
Dari hasil kuisioner iterasi pertama didapatkan hasil sebagai berikut:
Tabel 4.27 Tabel perhitungan likert iterasi pertama
Alternatif Jawaban
Pertanyaan Rata-rata Likert
STS TS C S SS
P1 0 4 5 1 0
61%
P2 0 0 6 4 0
P3 0 4 4 2 0
57%
P4 0 3 5 2 0
P5 0 2 6 2 0
59%
P6 0 3 5 2 0
P7 0 3 4 3 0
62%
P8 0 2 4 4 0
P9 0 2 5 3 0
61%
P10 0 4 2 5 0
Rata-rata 60%
72
Setelah dilakukan uji tahap pertama, didapatkan solusi baru yang sesuai
dengan keinginan pemilik dan penghuni .
a. Menambahkan tambahan login admin
b. Menambahkan informasi pembayaran sewa di halaman penghuni
c. Menambahkan Data Komplain di halaman penghuni
d. Ganti tulisan Menu Button jadi gambar .
2 Iterasi Kedua
Pada iterasi kedua peneliti membuat tambahan login admin sesuai dengan
keinginan pemilik dengan menambahkan login admin agar tidak mudah di retas ,
lalu setelah itu menambahkan informasi pembayaran sewa di semua halaman
penghuni untuk mempermudah pembayaran telah lunas atau belum,
menambahkan button komplain untuk memper mudah penghuni untuk
mengkomplain ada yang tidak sesuai yang ada di dalam kamar. sehingga
didapatkan nilai persentase rata-rata sebesar 82,4%.
Tabel 4.28 Tabel perhitungan likert iterasi kedua
Alternatif Jawaban
Pertanyaan Rata-rata Likert
STS TS C S SS
P1 0 0 2 5 3
83%
P2 0 0 2 4 4
P3 0 0 1 5 4
85%
P4 0 0 3 2 5
P5 0 0 3 3 4
83%
P6 0 0 3 2 5
P7 0 0 3 3 4
82%
P8 0 0 4 1 5
P9 0 0 3 2 5
79%
P10 0 0 5 3 2
Rata-rata 82,4%
73
b. Uji realibilitas
74
4.2 Pembahasan
Website yang berhasil dibuat adalah website Rishaqqy yang berfungsi untuk
pemesanan dan pembayaran melalui website Rishaqqy. Dari hasil pengujian
usability nilai rata-rata yang didapat adalah 85% dari iterasi kedua. Berikut adalah
tabel iterasi usability yang sudah dilakukan:
Tabel 4.29 Tabel iterasi usability testing
Berdasarkan System Usability Scale (SUS), range nilai usability atau kegunaan
dapat dilihat pada gambar 4.33. Website pemesanan indekost berada di range
excellent dengan nilai rata-rata 82,4%. Maka dari itu, Website pemesanan
indekost telah sesuai dengan keinginan dari pemilik dengan range good.
BAB 5
PENUTUP
1.
2.
3.
4.
5.1 Kesimpulan
Dari hasil penelitian yang telah dilakukan dapat diambil kesimpulan sebagai
berikut:
1. Perancangan Website pemesanan indekos dilakukan dengan menggunakan
metode Waterfall yang mempermudah peneliti untuk merancang sebuah
website. Berdasarkan hasil usability testing diperoleh nilai persentase sebesar
83% akurasi mudah dipelajari (learnability), 85% akurasi efisiensi
(efficiency), 83% akurasi mudah diingat (memorability), 82% akurasi
kesalahan (errors) dan 79% akurasi dari kepuasan (statisfaction) sehingga
nilai rata-ratanya adalah 82,4% sehingga website sesuai dengan keinginan
penguna.
2. Website dapat memudahkan indekos untuk melakukan pemesanan dan
pembayaran. Informasi pemesanan dan pembayaran tersedia di website
Rishaqqy. Berdasarkan System Usability Scale (SUS), range nilai usability
atau kegunaan website pemesanan indekost memiliki range good dengan nilai
rata-rata sebesar 82,4%.
5.2 Saran
Dari hasil penelitian yang telah dilakukan beberapa saran untuk penelitian
selanjutnya adalah:
1. Diharapkan pada penelitian selanjutnya bukan hanya satu tempat indekos saja
tapi banyak tempat indekos di daerah sekitar kampus.
DAFTAR PUSTAKA
[15] Yuli Siti Zulaikhah, A. (2019). Rancang Bangun Sistem Pengelolaan Arsip
Surat Berbasis Web. Jurnal Khatulistiwa Informatika, 7, 1-1
LAMPIRAN
79
80
Lampiran 1. Biodata
BIODATA PENULIS
Pendidikan Formal :
Usability Testing
Mohon beri tanda (√ ) pada kolom jawaban alternatif sesuai penilaian anda.
Terdapat lima jawaban alternatif, yaitu:
1 = Sangat Tidak Setuju
2 = Tidak Setuju
3 = Cukup
4 = Setuju
5 = Sangat Setuju
Apabila anda menjawab 1 atau 2, mohon berikan saran untuk membantu
mengembangkan aplikasi sesuai dengan keinginan dari pengguna.
Alternatif
No. Pertanyaan
1 2 3 4 5
A. Mudah Dipelajari (Learnability)
1. Menu yang ada sudah lengkap dan mudah dipahami
Secara visual pengguna dapat mengerti fungsi setiap
2.
tombol
Saran:
B. Efisiensi (Efficiency)
3. Pergantian setiap menu tidak membutuhkan waktu lama
4. Tidak menampilkan form yang tidak diperlukan
Saran:
C. Mudah Diingat (Memorability)
5. Nama dan gambar di tampilkan halaman utama
6. Warna background menarik
Saran:
D. Kesalahan (Errors)
7. Tidak ditemukan tombol yang error saat diklik
8. Tidak ditemukan textbox yang error saat diisi
Saran:
E. Kepuasan (statisfaction)
9. Informasi Indekos mudah di cari
10. tidak perlu registrasi untuk mencari data informasi kost
Saran:
83
Reliablitas nya
85
Iterasi 1
Alternatif Jawaban
No. Pertanyaan
1 2 3 4 5
A. Mudah Dipelajari (Learnability)
1. Menu yang ada sudah lengkap dan mudah dipahami 0 4 5 1 0
Saran : 10
2. Secara visual pengguna dapat mengerti fungsi setiap tombol 0 0 6 4 0
Saran : 61 10
B. Efisiensi (Efficiency)
3. Pergantian setiap menu tidak membutuhkan waktu lama 0 4 4 2 0
Saran : 10
4. Tidak menampilkan form yang tidak diperlukan 0 3 5 2 0
Saran : 57 10
C. Mudah Diingat (Memorability)
5. Nama dan gambar di tampilkan halaman utama 0 2 6 2 0
Saran : 10
6. Warna background menarik 0 3 5 2 0
Saran : 59 10
D. Kesalahan (Errors)
7. Tidak ditemukan tombol yang error saat diklik 0 3 4 3 0
Saran : 10
8. Tidak ditemukan textbox yang error saat diisi 0 2 4 4 0
Saran : 62 10
E. Kepuasan (statisfaction)
9. Informasi Indekos mudah di cari 0 2 5 3 0
Saran : 10
10. tidak perlu registrasi untuk mencari data informasi kost 0 4 2 4 0
Saran : 61 10
Pertanyaan 1 :
Sangat setuju: 0 orang
Setuju: 1 orang
Cukup : 5 orang
Tidak setuju: 4orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 1 x 4 = 4
Cukup: 5 x 3 = 15
86
Tidak setuju: 4 x 2 = 8
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 27
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 27 / 50 x 100
= 54%
Y = Skor maksimum = 4 x 5 =20
X = Skor minimum = 4 x 1 = 4
Pertanyaan 2 :
Sangat setuju: 0 orang
Setuju: 4 orang
Cukup : 6 orang
Tidak setuju: 0 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 4 x 4 = 16
Cukup : 6 x 3 = 18
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 34
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 34/ 50 x 100
= 68%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 0 orang
Setuju: 2 orang
Cukup : 4 orang
Tidak setuju: 4 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 2 x 4 = 8
Cukup : 4 x 3 = 12
Tidak setuju: 4 x 2 = 8
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 28
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 28 / 50 x 100
= 56%
Y = Skor maksimum = 10 x 5 = 50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 2 :
Sangat setuju: 0 orang
Setuju: 3 orang
Cukup : 5 orang
Tidak setuju: 2 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 2 x 4 = 8
Cukup : 5 x 3 = 15
Tidak setuju: 3 x 2 = 6
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 29
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 29 / 50 x 100
= 58%
Y = Skor maksimum = 10 x 5 = 50
88
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 0 orang
Setuju: 2 orang
Cukup : 6 orang
Tidak setuju: 2 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 2 x 4 = 8
Cukup : 6 x 3 = 18
Tidak setuju: 2 x 2 = 4
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 30
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 30 / 50 x 100
= 60%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 2 :
Sangat setuju: 0 orang
Setuju: 2 orang
Cukup : 5 orang
Tidak setuju: 3 orang
Sangat tidak setuju: 0 orang
Perhitungan
89
Sangat setuju: 0 x 5 = 0
Setuju: 2 x 4 = 8
Cukup : 5 x 3 = 15
Tidak setuju: 3 x 2 = 6
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 29
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 29 / 50 x 100
= 58%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 0 orang
Setuju: 3orang
Cukup : 4 orang
Tidak setuju: 3 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 3 x 4 = 12
Cukup : 4 x 3 = 12
Tidak setuju: 3 x 2 = 6
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 30
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 30 / 50 x 100
= 60%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
90
Pertanyaan 2 :
Sangat setuju: 0 orang
Setuju: 4 orang
Cukup : 4 orang
Tidak setuju: 2 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 4 x 4 = 16
Cukup : 4 x 3 = 12
Tidak setuju: 2 x 2 = 4
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 32
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 32 / 50 x 100
= 64%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 0 orang
Setuju: 3 orang
Cukup : 5 orang
Tidak setuju: 2 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 3 x 4 = 12
91
Cukup : 5 x 3 = 15
Tidak setuju: 2 x 2 = 4
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 31
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 31 / 50 x 100
= 62%
Y = Skor maksimum = 10 x 5 = 50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 2 :
Sangat setuju: 0 orang
Setuju: 4 orang
Cukup : 2 orang
Tidak setuju: 4 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 0 x 5 = 0
Setuju: 4 x 4 = 16
Cukup : 2 x 3 = 6
Tidak setuju: 4 x 2 = 8
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 30
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 30 / 50 x 100
= 60%
Y = Skor maksimum = 10 x 5 = 50
X = Skor minimum = 10 x 1 = 10
92
Iterasi 2
Alternatif Jawaban
No. Pertanyaan
1 2 3 4 5
A. Mudah Dipelajari (Learnability)
1. Menu yang ada sudah lengkap dan mudah dipahami 0 0 2 5 3
Saran : 10
2. Secara visual pengguna dapat mengerti fungsi setiap tombol 0 0 2 4 4
Saran : 83 10
B. Efisiensi (Efficiency)
3. Pergantian setiap menu tidak membutuhkan waktu lama 0 0 1 5 4
Saran : 10
4. Tidak menampilkan form yang tidak diperlukan 0 0 3 2 5
Saran : 85 10
C. Mudah Diingat (Memorability)
5. Nama dan gambar di tampilkan halaman utama 0 0 3 3 4
Saran : 10
6. Warna background menarik 0 0 3 2 5
Saran : 83 10
D. Kesalahan (Errors)
7. Tidak ditemukan tombol yang error saat diklik 0 0 3 3 4
Saran : 10
8. Tidak ditemukan textbox yang error saat diisi 0 0 4 1 5
Saran : 82 10
E. Kepuasan (statisfaction)
9. Informasi Indekos mudah di cari 0 0 3 2 5
Saran : 10
10. tidak perlu registrasi untuk mencari data informasi kost 0 0 5 3 2
Saran : 79 10
Pertanyaan 1 :
Sangat setuju: 3 orang
Setuju: 5 orang
Cukup : 2 orang
Tidak setuju: 0 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 3 x 5 = 15
Setuju: 5 x 4 = 20
Cukup: 2 x 3 = 6
Tidak setuju: 0 x 2 = 0
93
Pertanyaan 2 :
Sangat setuju: 4 orang
Setuju: 4 orang
Cukup : 2 orang
Tidak setuju: 0 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 4 x 5 = 20
Setuju: 4 x 4 = 16
Cukup : 2 x 3 = 6
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 42
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 42 / 50 x 100
= 84%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 4 orang
Setuju: 5 orang
Cukup : 1 orang
Tidak setuju: 4 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 4 x 5 = 20
Setuju: 5 x 4 = 20
Cukup : 1 x 3 = 3
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 43
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 43 / 50 x 100
= 86%
Y = Skor maksimum = 10 x 5 = 50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 2 :
Sangat setuju: 5 orang
Setuju: 2 orang
Cukup : 3 orang
Tidak setuju: 0 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 5 x 5 = 25
Setuju: 2 x 4 = 8
Cukup : 3 x 3 = 9
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 42
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 42 / 50 x 100
= 84%
Y = Skor maksimum = 10 x 5 = 50
95
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 4 orang
Setuju: 3 orang
Cukup : 3 orang
Tidak setuju: 0 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 4 x 5 = 20
Setuju: 3 x 4 = 12
Cukup : 3 x 3 = 9
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 41
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 41 / 50 x 100
= 82%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 2 :
Sangat setuju: 5 orang
Setuju: 2 orang
Cukup : 3 orang
Tidak setuju: 0orang
Sangat tidak setuju: 0 orang
Perhitungan
96
Sangat setuju: 5 x 5 = 25
Setuju: 2 x 4 = 8
Cukup : 3 x 3 = 9
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 42
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 42 / 50 x 100
= 84%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 4 orang
Setuju: 3 orang
Cukup : 3 orang
Tidak setuju: 0 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 4 x 5 = 20
Setuju: 3 x 4 = 12
Cukup : 3 x 3 = 9
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 41
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 41 / 50 x 100
= 82%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
97
Pertanyaan 2 :
Sangat setuju: 5 orang
Setuju: 1 orang
Cukup : 4 orang
Tidak setuju: 2 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 5 x 5 = 25
Setuju: 1 x 4 = 4
Cukup : 4 x 3 = 12
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 41
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 41 / 50 x 100
= 81%
Y = Skor maksimum = 10 x 5 =50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 1 :
Sangat setuju: 5 orang
Setuju: 2 orang
Cukup : 3 orang
Tidak setuju: 0orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 5 x 5 = 25
Setuju: 2 x 4 = 8
98
Cukup : 3 x 3 = 9
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 42
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 42 / 50 x 100
= 84%
Y = Skor maksimum = 10 x 5 = 50
X = Skor minimum = 10 x 1 = 10
Pertanyaan 2 :
Sangat setuju: 2 orang
Setuju: 3 orang
Cukup : 5 orang
Tidak setuju: 0 orang
Sangat tidak setuju: 0 orang
Perhitungan
Sangat setuju: 2 x 5 = 10
Setuju: 3 x 4 = 12
Cukup : 5 x 3 = 15
Tidak setuju: 0 x 2 = 0
Sangat tidak setuju: 0 x 1 = 0
Total perhitungan = 37
Penyelesaian akhir %
= Total perhitungan / Y x 100
= 37 / 50 x 100
= 74%
Y = Skor maksimum = 10 x 5 = 50
X = Skor minimum = 10 x 1 = 10
99
1. Welcome.php
<?php
defined('BASEPATH') OR exit('No direct script access
allowed');
class Welcome extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->model('Hunian_model');
$this->load->model('Member_model');
$this->load->model('Sewa_model');
$this->load->helper(array('url'));
}
public function index()
{
$this->load->view('Member/Index');
}
public function info()
{
$data['hunian'] = $this->Hunian_model->ambil_data();
$this->load->view('Member/Info',$data);
}
public function info_member()
{
$data['hunian'] = $this->Hunian_model->ambil_data();
$this->load->view('Member/Info_member',$data);
}
public function login_member()
{
redirect('LoginMember');
100
}
public function regis()
{
$this->load->view('Member/Regis');
}
public function index_member()
{
$this->load->view('Member/Index_member');
}
public function pemesanan()
{
$this->load->view('Member/Pemesanan');
}
public function status_sewa()
{
$data['sewa']= $this->Sewa_model->ambil_data();
$this->load->view('Member/Status_sewa',$data);
}
public function sewa()
{
$this->load->view('Member/Sewa');
}
public function komplain()
{
$this->load->view('Member/Komplain_form');
}
}
2. Pesan.php
<?php
class Pesan extends CI_Controller
{
function __construct()
101
{
parent::__construct();
$this->load->model('Pesan_model');
$this->load->model('Member_model');
$this->load->model('Hunian_model');
}
function pemesanan($id_hunian){
$hunian = $this->Hunian_model-
>ambil_data1($id_hunian);
$email = $this->session->userdata('email_member');
$member = $this->Member_model->ambil_data1($email);
$data = array(
'aksi' =>
site_url('Pesan/pemesanan_aksi'),
'id_pesan' =>
set_value('id_pesan'),
'id_hunian' =>
set_value('id_hunian',$hunian->id_hunian),
'id_member' =>
set_value('id_member',$member->id_member),
'tanggal_mulai' =>
set_value('tanggal_mulai'),
'durasi' =>
set_value('durasi'),
'button' => 'Pesan'
);
$this->load->view('Member/Pemesanan',$data);
}
function pemesanan_aksi(){
$data = array(
'id_pesan' =>
$this->input->post('id_pesan'),
'id_hunian' =>
102
$this->input->post('id_hunian'),
'id_member' =>
$this->input->post('id_member'),
'tanggal_mulai' =>
$this->input->post('tanggal_mulai'),
'durasi' =>
$this->input->post('durasi')
);
$this->Pesan_model->tambah_data($data);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Pemesanan berhasil!!</div></div>");
redirect('Welcome/Info_member');
}
function index()
{
$data['pesan'] = $this->Pesan_model->ambil_data();
$this->load->view('Admin/Pesan_list',$data);
}
function delete($id)
{
$this->Pesan_model->hapus_data($id);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-danger\"
id=\"alert\">Data berhasil dihapus!!</div></div>");
redirect('pesan');
}
function update($id)
{
$pesan = $this->Pesan_model->ambil_data_id($id);
$data = array(
'aksi' =>
site_url('pesan/update_aksi'),
103
3. Sewa.php
<?php
class Sewa extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('Sewa_model');
$this->load->model('Member_model');
$this->load->model('Hunian_model');
}
function tambah($id_hunian){
$hunian = $this->Hunian_model-
>ambil_data1($id_hunian);
$email = $this->session->userdata('email_member');
$member = $this->Member_model->ambil_data1($email);
$data = array(
'aksi' =>
site_url('Sewa/tambah_aksi'),
'id_sewa' =>
set_value('id_sewa'),
'id_hunian' =>
set_value('id_hunian',$hunian->id_hunian),
'id_member' =>
set_value('id_member',$member->id_member),
'tanggal' =>
set_value('tanggal'),
'nominal' => set_value('nominal'),
'button' => 'OK'
);
$this->load->view('Member/Sewa',$data);
}
105
function tambah_aksi(){
$this->load->library('upload');
$nmfile = "".time();
$config['upload_path'] = './assets/admin/uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg|bmp';
$config['max_size'] = '3072';
$config['max_width'] = '5000';
$config['max_height'] = '5000';
$config['file_name'] = $nmfile;
$this->upload->initialize($config);
if($_FILES['filefoto']['name'])
{
if ($this->upload->do_upload('filefoto'))
{
$gbr = $this->upload->data();
$data = array(
'gambar' =>$gbr['file_name'],
'id_sewa' =>
this->input->post('id_sewa'),
'id_hunian' =>
$this->input->post('id_hunian'),
'id_member' =>
$this->input->post('id_member'),
'tanggal' =>
$this->input->post('tanggal'),
'nominal' =>
$this->input->post('nominal')
);
$this->Sewa_model->tambah_data($data);
redirect('Welcome/Info_member');
}else{
redirect('Welcome/sewa');
}
106
}
$data = array(
'id_sewa' =>
$this->input->post('id_sewa'),
'id_hunian' =>
$this->input->post('id_hunian'),
'id_member' =>
$this->input->post('id_member'),
'tanggal' =>
$this->input->post('tanggal'),
'nominal' =>
$this->input->post('nominal')
);
$this->Sewa_model->tambah_data($data);
}
function delete($id)
{
$this->Sewa_model->hapus_data($id);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-danger\"
id=\"alert\">Data berhasil dihapus!!</div></div>");
redirect('sewa');
}
function index()
{
$data['sewa'] = $this->Sewa_model->ambil_data();
$this->load->view('Admin/Sewa_list',$data);
}
public function download($id){
if(!empty($id)){
$this->load->helper('download');
107
$fileInfo = $this->Sewa_model->ambil_data_id($id);
$gambar = $fileInfo->gambar;
$file = 'assets/admin/uploads/'.$gambar;
force_download($file, NULL);
}
}
function update($id)
{
$sewa = $this->Sewa_model->ambil_data_id($id);
$data = array(
'aksi' =>
site_url('sewa/update_aksi'),
'status' =>
set_value('status',$sewa->status),
'bulan' =>
set_value('bulan',$sewa->bulan),
'id_sewa' =>
set_value('id_sewa',$sewa->id_sewa),
'button' =>
'Update'
);
$this->load->view('Admin/Sewa_form',$data);
}
function update_aksi()
{
$data = array(
'bulan' =>
$this->input->post('bulan'),
'status' =>
$this->input->post('status')
);
$id_sewa = $this->input->post('id_sewa');
$this->Sewa_model->edit_data($id_sewa,$data);
108
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Data berhasil diubah!!</div></div>");
redirect('sewa');
}
}
function delete($id)
{
$this->Sewa_model->hapus_data($id);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-danger\"
id=\"alert\">Data berhasil dihapus!!</div></div>");
redirect('sewa');
}
?>
109
4. Member.php
<?php
class Member extends CI_Controller
{
function __construct(){
parent::__construct();
$this->load->model('Member_model');
$this->load->helper('url');
}
function index(){
$data['member'] =
$this->Member_model->ambil_data();
$this->load->view('Member/Login_member',$data);
}
function daftar(){
$data = array(
'aksi' =>
site_url('Member/daftar_aksi'),
'nama' =>
set_value('nama',$member->nama_member),
'password' => set_value('password',
$member->pass_member),
'email' =>
set_value('email',$member->email_member),
'status' =>
set_value('status',$member->status),
'nohp' =>
set_value('status',$member->nohp),
'alamat' =>
set_value('alamat',$member->alamat_member),
'id_member' =>
set_value('id_member',$member->id_member),
'button' => 'Daftar'
110
);
$this->load->view('Member/Regis',$data);
}
function daftar_aksi(){
$data = array(
'nama_member' =>
$this->input->post('nama'),
'pass_member' =>
$this->input->post('password'),
'email_member' =>
$this->input->post('email'),
'status' =>
$this->input->post('status'),
'nohp' =>
$this->input->post('nohp'),
'alamat_member' =>
$this->input->post('alamat')
);
$this->Member_model->tambah_data($data);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Pendaftaran berhasil!!</div></div>");
redirect('LoginMember');
}
function data_member()
{
$data['member'] =
$this->Member_model->ambil_data();
$this->load->view('Admin/Member_list',$data);
}
function delete($id)
{
$this->Member_model->hapus_data($id);
111
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-danger\"
id=\"alert\">Data berhasil dihapus!!</div></div>");
redirect(site_url('Member/data_member'));
}
function update($id)
{
$member = $this->Member_model->ambil_data_id($id);
$data = array(
'aksi' =>
site_url('Member/update_aksi'),
'nama' =>
set_value('nama',$member->nama_member),
'password' => set_value('password',
$member->pass_member),
'email' =>
set_value('email',$member->email_member),
'status' =>
set_value('status',$member->status),
'nohp' =>
set_value('status',$member->nohp),
'alamat' =>
set_value('alamat',$member->alamat_member),
'id_member' =>
set_value('id_member',$member->id_member),
'button' => 'Perbarui'
);
$this->load->view('Admin/Member_form',$data);
}
function update_aksi()
{
$data = array(
'nama_member' => $this->input->post('nama'),
112
'pass_member' =>
$this->input->post('password'),
'email_member' =>
$this->input->post('email'),
'status' =>
$this->input->post('status'),
'nohp' =>
$this->input->post('nohp'),
'alamat_member' =>
$this->input->post('alamat')
);
$id_member = $this->input->post('id_member');
$this->Member_model->edit_data($id_member,$data);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Data berhasil diubah!!</div></div>");
redirect('member/data_member');
}
}
?>
5. LoginMember.php
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class LoginMember extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('Member_model');
}
113
{
$this->session->unset_userdata('logined');
redirect("/LoginMember");
}
}
6. Login.php
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Login extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('Hunian_model');
}
public function index()
{
if($this->session->userdata('logined') && $this-
>session->userdata('logined') == true)
{
redirect('Home');
}
if(!$this->input->post())
{
$this->load->view('Login');
}
else
{
$cek_login = $this->Hunian_model->cek_login(
$this->input->post('username'),
$this->input->post('password')
115
);
if(!empty($cek_login))
{
$this->session->set_userdata('username',$cek_login-
>username);
$this->session->set_userdata('logined',true);
redirect("Home");
}
else
{
redirect("/");
}
} }
public function logout()
{
$this->session->unset_userdata('logined');
redirect("/");
}
}
7. Komplain.php
<?php
class Komplain extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('Komplain_model');
$this->load->model('Member_model');
$this->load->model('Hunian_model');
}
function tambah($id_hunian){
116
$hunian = $this->Hunian_model-
>ambil_data1($id_hunian);
$email = $this->session->userdata('email_member');
$member = $this->Member_model->ambil_data1($email);
$data = array(
'aksi' =>
site_url('Komplain/tambah_aksi'),
'id_komplain' =>
set_value('id_komplain'),
'id_hunian' =>
set_value('id_hunian',$hunian->id_hunian),
'id_member' =>
set_value('id_member',$member->id_member),
'perihal' =>
set_value('perihal'),
'isi' =>
set_value('isi'),
'button' => 'OK'
);
$this->load->view('Member/Komplain_form',$data);
}
function tambah_aksi(){
$data = array(
'id_komplain' =>
$this->input->post('id_komplain'),
'id_hunian' =>
$this->input->post('id_hunian'),
'id_member' =>
$this->input->post('id_member'),
'perihal' =>
$this->input->post('perihal'),
'isi' =>
$this->input->post('isi')
117
);
$this->Komplain_model->tambah_data($data);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Pemesanan berhasil!!</div></div>");
redirect('Welcome/Info_member');
}
function index()
{
$data['komplain'] = $this->Komplain_model-
>ambil_data();
$this->load->view('Admin/Komplain_list',$data);
}
public function download($id){
if(!empty($id)){
$this->load->helper('download');
$fileInfo = $this->Sewa_model->ambil_data_id($id);
$gambar = $fileInfo->gambar;
$file = 'assets/admin/uploads/'.$gambar;
force_download($file, NULL);
}
}
function delete($id)
{
$this->Komplain_model->hapus_data($id);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-danger\"
id=\"alert\">Data berhasil dihapus!!</div></div>");
redirect('komplain');
}
}
?>
118
8. Hunian.php
<?php
class Hunian extends CI_Controller
{
var $limit=10;
var $offset=10;
function __construct()
{
parent::__construct();
$this->load->model('Hunian_model');
$this->load->helper(array('url'));
}
function index($page=NULL,$offset='',$key=NULL)
{
$data['hunian'] = $this->Hunian_model->ambil_data();
$this->load->view('Admin/Hunian_list',$data);
}
function tambah()
{
$data = array(
'aksi' =>
site_url('Hunian/tambah_aksi'),
'nama' =>
set_value('nama'),
'jenis' =>
set_value('jenis'),
'deskripsi' =>
set_value('deskripsi'),
'status' =>
set_value('status'),
'harga' => set_value('harga'),
'id_hunian' => set_value('id_hunian'),
119
);
$this->Hunian_model->tambah_data($data);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Insert data berhasil !!</div></div>");
redirect('hunian');
}else{
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-danger\"
id=\"alert\">Insert data gagal !!</div></div>");
redirect('hunian');
}
}
$data = array(
'nama_hunian' =>
$this->input->post('nama'),
'jenis_hunian' =>
$this->input->post('jenis'),
'deskripsi_hunian' =>
$this->input->post('deskripsi'),
'status_hunian' =>
$this->input->post('status'),
'harga_hunian' =>
$this->input->post('harga')
);
$this->Hunian_model->tambah_data($data);
redirect(site_url('hunian'));
}
function delete($id)
{
$this->Hunian_model->hapus_data($id);
121
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-danger\"
id=\"alert\">Data berhasil dihapus!!</div></div>");
redirect('hunian');
}
function update($id)
{
$hunian = $this->Hunian_model->ambil_data_id($id);
$data = array(
'aksi' =>
site_url('hunian/update_aksi'),
'nama' =>
set_value('nama',$hunian->nama_hunian),
'jenis' =>
set_value('jenis',$hunian->jenis_hunian),
'deskripsi' =>
set_value('deskripsi',$hunian->deskripsi_hunian),
'status' =>
set_value('status',$hunian->status_hunian),
'harga' =>
set_value('harga',$hunian->harga_hunian),
'id_hunian' =>
set_value('id_hunian',$hunian->id_hunian),
'button' => 'Perbarui'
);
$this->load->view('Admin/Hunian_form',$data);
}
function update_aksi()
{
$this->load->library('upload');
$nmfile = "".time();
$config['upload_path'] = './assets/admin/uploads/';
$config['allowed_types'] = 'gif|jpg|png|jpeg|bmp';
122
$config['max_size'] = '3072';
$config['max_width'] = '5000';
$config['max_height'] = '5000';
$config['file_name'] = $nmfile;
$this->upload->initialize($config);
if($_FILES['filefoto']['name'])
{
if ($this->upload->do_upload('filefoto'))
{
$gbr = $this->upload->data();
$data = array(
'gambar' =>
$gbr['file_name'],
'nama_hunian' =>
$this->input->post('nama'),
'jenis_hunian' =>
$this->input->post('jenis'),
'deskripsi_hunian' =>
$this->input->post('deskripsi'),
'status_hunian' =>
$this->input->post('status'),
'harga_hunian' =>
$this->input->post('harga')
);
$id_hunian = $this->input->post('id_hunian');
$this->Hunian_model->edit_data($id_hunian,$data);
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Update Data berhasil
diubah!!</div></div>");
redirect('hunian')}
else{
123
$this->session->set_flashdata("pesan", "<div
class=\"col-md-12\"><div class=\"alert alert-success\"
id=\"alert\">Update Data gagal!!</div></div>");
redirect('hunian_form', 'refresh');}}
$data = array(
'nama_hunian' =>
$this->input->post('nama'),
'jenis_hunian' =>
$this->input->post('jenis'),
'deskripsi_hunian' =>
$this->input->post('deskripsi'),
'status_hunian' =>
$this->input->post('status'),
'harga_hunian' =>
$this->input->post('harga')
);
$id_hunian = $this->input->post('id_hunian');
$this->Hunian_model->edit_data($id_hunian,$data);
redirect('hunian');
}
}
?>
9. Home.php
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Home extends CI_Controller
{
function __construct()
{
parent::__construct();
124
}
public function index()
{
if(!$this->session->userdata('logined') || $this-
>session->userdata('logined') != true)
{
redirect('/');
}
$this->load->view('Admin/Home');
}
}
10. Home_Member.php
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Home_member extends CI_Controller
{function __construct()
{parent::__construct();}public function index(){if(!
$this->session->userdata('logined') || $this->session-
>userdata('logined') != true)
{redirect('/');}
$this->load->view('Member/Index_member');}
}
11. Exportexcel_helper.php
return;
}
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0,
$L);
echo $Value;
return;
}
12. globalhelper.php
13. Hunian_model.php
<?php
class Hunian_model extends CI_Model
{
public $admin = 'admin';
public $hunian = 'hunian';
public $id = 'id_hunian';
public $order = 'ASC';
function __construct()
{
parent::__construct();
}
function cek_login($username,$password)
{
$this->db->where('username',$username);
$this->db->where('password',$password);
return $this->db->get($this->admin)->row();
}
function ambil_data()
{
$this->db->order_by($this->id,$this->order);
return $this->db->get($this->hunian)->result();
function ambil_data1($id)
{
$this->db->where($this->id,$id);
return $this->db->get($this->hunian)->row();
}
function tambah_data($data)
{
return $this->db->insert($this->hunian,$data);
}
128
function hapus_data($id)
{
$this->db->where($this->id,$id);
return $this->db->delete($this->hunian);
}
function edit_data($id,$data)
{
$this->db->where($this->id,$id);
return $this->db->update($this->hunian,$data);
}
function ambil_data_id($id)
{
$this->db->where($this->id,$id);
return $this->db->get($this->hunian)->row();
}
}
?>
14. Komplain_model.php
<?php
class Komplain_model extends CI_Model
{
public $komplain = 'komplain';
public $id = 'id_komplain';
public $order = 'ASC';
function __construct()
{
parent::__construct();
}
function ambil_data()
{
129
$this->db->select('komplain.id_komplain,
member.nama_member, hunian.nama_hunian,
komplain.perihal, komplain.isi');
$this->db->from('komplain');
$this->db->join('member', 'komplain.id_member =
member.id_member');
$this->db->join('hunian', 'komplain.id_hunian =
hunian.id_hunian');
$query = $this->db->get();
return $query->result();
}
function edit_data($id,$data)
{
$this->db->where($this->id,$id);
return $this->db->update($this->komplain,$data);
}
function ambil_data_id($id)
{
$this->db->where($this->id,$id);
return $this->db->get($this->komplain)->row();
}
function tambah_data($data)
{
return $this->db->insert($this->komplain,$data);
}
function hapus_data($id)
{
$this->db->where($this->id,$id);
return $this->db->delete($this->komplain);
}
}
?>
130
15. Member_model.php
<?php
class Member_model extends CI_Model
{
public $member = 'member';
public $id = 'id_member';
public $order = 'ASC';
public $email = 'email_member';
function __construct()
{
parent::__construct();
}
function cek_login($email_member,$pass_member)
{
$this->db->where('email_member',$email_member);
$this->db->where('pass_member',$pass_member);
return $this->db->get($this->member)->row();
}
function ambil_data()
{
$this->db->order_by($this->id,$this->order);
return
$this->db->get($this->member)->result();//banyak data
}
function tambah_data($data)//array
{
return $this->db->insert($this->member,$data);
}
function ambil_data1($email)
{
$this->db->where($this->email,$email);
131
return $this->db->get($this->member)->row();
}
function hapus_data($id)
{
$this->db->where($this->id,$id);
return $this->db->delete($this->member);
}function edit_data($id,$data)
{$this->db->where($this->id,$id);
return $this->db->update($this->member,$data);
}function ambil_data_id($id)
{$this->db->where($this->id,$id);return $this->db-
>get($this->member)->row();}
}
?>
16. Pesan_model.php
<?php
class Pesan_model extends CI_Model
{
public $pesan = 'pesan';
public $id = 'id_pesan';
public $order = 'ASC';
function __construct()
{
parent::__construct();
}
function ambil_data()
{
$this->db->select('pesan.id_pesan, member.nama_member,
member.nohp, hunian.nama_hunian, pesan.tanggal_mulai,
pesan.durasi');
$this->db->from('pesan');
132
$this->db->join('member', 'pesan.id_member =
member.id_member');
$this->db->join('hunian', 'pesan.id_hunian =
hunian.id_hunian');
$query = $this->db->get();
return $query->result();
}
function edit_data($id,$data)
{
$this->db->where($this->id,$id);
return $this->db->update($this->pesan,$data);
}
function ambil_data_id($id)
{
$this->db->where($this->id,$id);
return $this->db->get($this->pesan)->row();//1 data
}
function tambah_data($data)//array
{
return $this->db->insert($this->pesan,$data);
}
function hapus_data($id)
{
$this->db->where($this->id,$id);
return $this->db->delete($this->pesan);
}
}
?>
17. Sewa_model.php
<?php
class Sewa_model extends CI_Model
133
{
public $sewa = 'sewa';
public $id = 'id_sewa';
public $order = 'ASC';
function __construct()
{
parent::__construct();
}
function ambil_data()
{
$this->db->select('sewa.id_sewa, member.nama_member,
hunian.nama_hunian, sewa.tanggal, sewa.nominal,
sewa.gambar, sewa.bulan, sewa.status');
$this->db->from('sewa');
$this->db->join('member', 'sewa.id_member =
member.id_member');
$this->db->join('hunian', 'sewa.id_hunian =
hunian.id_hunian');
$query = $this->db->get();
return $query->result();
}
function edit_data($id,$data)
{
$this->db->where($this->id,$id);
return $this->db->update($this->sewa,$data);
}
function ambil_data_id($id)
{
$this->db->where($this->id,$id);
return $this->db->get($this->sewa)->row();//1 data
}
function tambah_data($data)//array
{
134
return $this->db->insert($this->sewa,$data);
}
function hapus_data($id)
{
$this->db->where($this->id,$id);
return $this->db->delete($this->sewa);
}
}
?>
ADMIN
18. Home.php
<?php $this->load->view('templates/Admin/Header');?>
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
<div class="col-lg-12">
<center><h2>SELAMAT DATANG DI HALAMAN ADMIN
</h2></center>
</div>
</div>
<hr />
<div class="row">
<div class="col-lg-12 ">
<div class="alert alert-info">
<center><strong><H2>Welcome <?php echo $this->session-
>userdata('username'); ?> ! </H2> </strong> </center>
</div>
</div>
</div>
</div>
</div>
135
20. Hunian_list.php
<?php $this->load->view('templates/Admin/Header');?>
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
<div class="col-lg-12">
<h2>DATA KOST</h2>
137
<hr>
</div><?=$this->session->flashdata('pesan')?>
<div class="col-md-12 text-right">
<a href="<?php echo site_url('hunian/tambah'); ?>"
class="btn btn-success"
style="margin-top:20px; margin-bottom:20px">
<i class="fa fa-plus-circle"></i> Tambah Data</a>
</div>
</div>
<div class="row">
<table id="example" class="table table-striped table-
bordered">
<thead>
<tr>
<th style="width: 10px">ID</th>
<th>Nama</th>
<th>Jenis</th>
<th>Fasilitas</th>
<th>Status</th>
<th>Harga</th>
<th style="width:200px">Gambar</th>
<th style="width: 96px">Aksi</th>
</tr>
</thead>
<tbody>
<?php foreach ($hunian as $key => $value) { ?>
<tr>
<td><?php echo $value->id_hunian; ?></td>
<td><?php echo $value->nama_hunian; ?></td>
<td><?php echo $value->jenis_hunian; ?></td>
<td><?php echo $value->deskripsi_hunian; ?></td>
<td><?php echo $value->status_hunian; ?></td>
<td><?php echo $value->harga_hunian; ?></td>
138
21. Komplain_list.php
<?php $this->load->view('templates/Admin/Header');?>
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
<div class="col-lg-12">
<h2>DATA KOMPLAIN PENGHUNI</h2>
139
<hr>
</div><?=$this->session->flashdata('komplain')?>
</div>
<div class="row">
<table id="example" class="table table-striped table-
bordered">
<thead>
<tr>
<th>ID</th>
<th>Nama Penghuni</th>
<th>Nama Hunian</th>
<th>Perihal</th>
<th>Isi Keluhan</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php foreach ($komplain as $key => $value) { ?>
<tr>
<td><?php echo $value->id_komplain; ?></td>
<td><?php echo $value->nama_member; ?> </td>
<td><?php echo $value->nama_hunian; ?></td>
<td><?php echo $value->perihal; ?></td>
<td><?php echo $value->isi; ?></td>
<td>
<a href="<?php echo site_url('Komplain/delete/'.$value-
>id_komplain); ?>"
class="btn btn-danger">
<i class="fa fa-trash-o"></i>
</a>
</td>
</tr>
<?php } ?>
140
</tbody>
</table>
</div>
</div>
</div>
</div>
<?php $this->load->view('templates/Admin/Footer'); ?>
22. Member_form.php
<label>Email </label>
<input type="email" name="email" class="form-control"
placeholder="Masukkan Email"
required value="<?php echo $email; ?>" >
</div>
<div class="form-group">
<label>Status/Pekerjaan</label>
<input type="text" name="status" class="form-control"
placeholder="Masukkan Status/Pekerjaan "
required value="<?php echo $status; ?>">
</div>
<div class="form-group">
<label>No HP</label>
<input type="text" name="nohp" class="form-control"
placeholder="Masukkan No HP "
required value="<?php echo $nohp; ?>">
</div>
<div class="form-group">
<label>Alamat </label>
<input type="text" name="alamat" class="form-control"
placeholder="Masukkan Alamat"
required value="<?php echo $alamat; ?>">
</div>
<input type="hidden" name="id_member" value="<?php
echo $id_member; ?>">
<button class="btn btn-primary" type="submit"><?php
echo $button; ?></button>
<a href="<?php echo site_url('Member/data_member')?>"
class="btn btn-default">Cancel</a>
</form>
</div>
</div>
<?php $this->load->view('templates/Admin/Footer'); ?>
142
23. Member_list.php
<?php $this->load->view('templates/Admin/Header');?>
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
<div class="col-lg-12">
<h2>DATA PENGHUNI </h2>
<hr>
</div><?=$this->session->flashdata('member')?>
</div>
<div class="row">
<table id="example" class="table table-striped table-
bordered"><thead>
<tr>
<th>ID</th>
<th>Nama Penghuni</th>
<th>Password</th>
<th>E-mail</th>
<th>Status</th>
<th>No HP</th>
<th>Alamat</th>
<th style="width: 96px">Aksi</th>
</tr>
</thead>
<tbody>
<?php foreach ($member as $key => $value) { ?>
<tr>
<td><?php echo $value->id_member; ?></td>
<td><?php echo $value->nama_member; ?></td>
<td><?php echo $value->pass_member; ?></td>
<td><?php echo $value->email_member; ?></td>
143
24. Pesan_form.php
</div>
<?php $this->session->flashdata('pesan') ?>
<form action="<?php echo $aksi; ?>" method="POST"
enctype="multipart/form-data">
<div class="form-group">
<label>Nama Pemesan: </label>
<input type="text" name="nama" class="form-control"
readonly>
</div>
<div class="form-group">
<label>Jenis Hunian</label>
<input type="text" name="nama_hunian" class="form-
control" readonly>
</div>
<div class="form-group">
<label>Tanggal Mulai</label>
<input type="date" name="tanggal_mulai" class="form-
control" value="<?php echo $tanggal_mulai; ?>">
</div>
<div class="form-group">
<label>Durasi</label><br>
<input type="radio" name="durasi" value="1 Bulan"> 1
Bulan
<input type="radio" name="durasi" value="3 Bulan"> 3
Bulan
<input type="radio" name="durasi" value="6 Bulan"> 6
Bulan
</div>
<input type="hidden" name="id_pesan" value="<?php echo
$id_pesan; ?>">
<button class="btn btn-primary" type="submit"><?php
echo $button; ?></button>
145
25. Pesan_list.php
<?php $this->load->view('templates/Admin/Header');?>
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
<div class="col-lg-12">
<h2>DATA PEMESANAN</h2>
<hr>
</div><?=$this->session->flashdata('Pesan')?>
</div>
<div class="row">
<table id="example" class="table table-striped table-
bordered">
<thead>
<tr>
<th>ID</th>
th>Nama Pemesan</th>
<th>No HP</th>
<th>Nama Hunian</th>
<th>Tanggal Mulai</th>
<th>Durasi per Bulan</th>
<th style="width: 96px">Aksi</th>
</tr>
</thead>
<tbody>
146
<?php $this->load->view('templates/Admin/Header');?>
<div id="page-wrapper" >
<div id="page-inner">
<div class="row">
148
<div class="col-lg-12">
<h2>DATA PEMBAYARAN SEWA</h2>
<hr>
</div>
<div class="row">
<table id="example" class="table table-striped table-
bordered">
<thead>
<tr>
<th>ID </th>
<th>Nama</th>
<th>Hunian</th>
<th>Tanggal Pembayaran</th>
<th>Nominal</th>
<th>Bukti Transfer Sewa</th>
<th>Bulan-Tahun </th>
<th>Status</th>
<th style="width:200px">Aksi</th>
</tr>
</thead>
<tbody>
<?php foreach ($sewa as $key => $value) { ?>
<tr>
<td><?php echo $value->id_sewa; ?></td>
<td><?php echo $value->nama_member ?></td>
<td><?php echo $value->nama_hunian; ?></td>
<td><?php echo $value->tanggal; ?></td>
<td><?php echo $value->nominal; ?></td><td><?php echo
$value->gambar; ?><img style="width:200px;
height:auto;" width="50%" height="50%" src="<?php echo
site_url()?>assets/admin/uploads/<?php echo $value-
>gambar; ?>"></td>
<td><?php echo $value->bulan; ?></td>
149