APLIKASI PENJUALAN PERUMAHAN DENGAN PEMETAAN …
Transcript of APLIKASI PENJUALAN PERUMAHAN DENGAN PEMETAAN …
APLIKASI PENJUALAN PERUMAHAN DENGAN
PEMETAAN BERBASIS WEB
(STUDI KASUS: PT. PANCA NATA SENTOSA)
SKRIPSI
Oleh:
Faris Muhammad
11140910000073
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA 2020 / 1441 H
ii
LEMBAR PERSETUJUAN
APLIKASI PENJUALAN PERUMAHAN DENGAN PEMETAAN
BERBASIS WEB (STUDI KASUS: PT. PANCA NATA
SENTOSA)
Skripsi
Sebagai Salah Satu Syarat untuk
Memperoleh Gelar Sarjana Komputer (S.Kom)
Oleh:
Faris Muhammad
11140910000073
iii
iv
v
vi
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT, karena atas nikmat dan rahmat-
Nya sehingga penulis dapat menyelesaikan skripsi ini. Penulisan skripsi ini dilakukan
dalam rangka memenuhi salah satu syarat untuk mencapai gelar Sarjana Komputer
Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam
Negeri Syarif Hidayatullah Jakarta. Proses penyelesaian skripsi ini tidak lepas dari
berbagai bantuan, dukungan, saran, dan kritik yang telah penulis dapatkan, oleh
karena itu dalam kesempatan ini peneliti ingin mengucapkan terima kasih kepada :
1. Kedua orang tua penulis, yang telah memberikan segalanya untuk penulis,
kesabaran yang begitu besar, kasih sayang yang tak ternilai, serta do’a yang
tak pernah berhenti mengalir untuk penulis;
2. Ibu Prof. Dr. Liliy Eka Putri, M.Env.Stud selaku Dekan Fakultas Sains dan
Teknologi UIN Syarif Hidayatullah Jakarta;
3. Bapak Dr. Imam Marzuki Shofi, M.T selaku Ketua Program Studi Teknik
Informatika, serta Bapak Andrew Fiade, M.Kom, selaku sekretaris Program
Studi Teknik Informatika;
4. Ibu Siti Ummi Masruroh, M.Sc selaku Dosen Pembimbing I dan Bapak Dr.
Husni Teja Sukmana S.T., M.Sc. selaku Dosen Pembimbing II yang telah
memberikan bimbingan, motivasi, dan arahan kepada penulis sehingga
skripsi ini dapat selesai dengan baik;
5. Bapak Herlino Nanang, M. T. dan Ibu Dewi Khairani, M.Sc. selaku Dosen
Penguji yang telah memberikan banyak masukan dan saran selama pengujian
skripsi berlangsung;
6. Seluruh jajaran dosen, karyawan dan civitas akademika Fakultas Sains dan
Teknologi, khususnya Program Studi Teknik Informatika yang telah
memberikan bantuan dan kerjasama dari awal perkuliahan sampai saat ini;
7. Terima kasih kepada Ilham dan rifan, yang telah mencurahkan banyak waktu
untuk menjadi teman berdiskusi, membantu dan memberikan motivasi yang
tak terhingga sejak awal penulisan skripsi hingga saat ini;
8. Seluruh sahabat-sahabat terbaik dari Teknik Informatika angkatan 2014,
khususnya Fastabiqul Khairot (Tio, Agung, Alfan, Hussein, Lulu, Ginko,
vii
Bowo, Aprido, Fadli) yang telah memberikan warna dan menemani
perjuangan penulis dalam menyelesaikan skripsi ini;
9. Seluruh pihak yang secara langsung maupun tidak langsung yang tidak dapat
disebutkan satu persatu namun telah membantu penulis dalam menyelesaikan
skripsi ini.
Akhir kata, penulis berharap semoga skripsi ini bermanfaat serta menambah
wawasan dan pengetahuan bagi pembaca. Penulis menyadari bahwa skripsi ini masih
jauh dari sempurna, untuk itu kritik dan saran yang bersifat membangun demi
kesempurnaan skripsi ini.
Jakarta, 03 Febuari 2021
Faris Muhammad
viii
Nama : Faris Muhammad
Program Studi : Teknik Informatika
Judul : Aplikasi Penjualan Perumahan Dengan Pemetaan
Berbasis Web (Studi Kasus: PT. Panca Nata Sentosa)
ABSTRAK
Era globalisasi saat ini sangat memengaruhi pesatnya kemajuan teknologi
informasi seperti dalam bidang ekonomi, kebudayaan, seni, pendidikan dan bahkan
dunia politik. Revolusi industri 4.0 tanpa disadari telah mengubah sistem industri
dari teknologi yang berkembang pesat menjadi teknologi digital, pelaku bisnis
mengubah model bisnis konvensional ke digitalisasi. Saat ini PT. Panca Nata Sentosa
yang bergerak dibidang perumahan masih menggunakan aplikasi situs web berbasis
CMS (Content Management System). CMS memiliki kekurangan seperti tingkat
keamanan yang rendah, fitur dan fungsi yang terbatas. Seiring berjalannya waktu,
PT. Panca Nata Sentosa membutuhkan aplikasi berbasis web yang modern dan
mudah untuk ditambahkan secara fitur dan fungsi untuk menunjang kebutuhan
perusahaan agar dapat bersaing dan mengembangkan bisnisnya. Aplikasi situs web
ini dibuat menggunakan Code Igniter dengan tools Sublime, basis data MySQL dan
metode pengembangan sistem yang digunakan adalah SDLC dengan model
Waterfall. Dari hasil pengembangan sistem menghasilkan aplikasi berbasis situs web
yang memiliki fitur seperti mengolah data rumah, data user, dan informasi mengenai
perumahan.
Kata Kunci : Code Igniter, waterfall, Pemetaan, aplikasi
Daftar Pustaka : 3 Buku + 6 e-book + 23 Jurnal
Jumlah Halaman : 61
ix
DAFTAR ISI
PERNYATAAN ORISINALITAS ...................................................................... V
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI .................. ERROR!
BOOKMARK NOT DEFINED.
ABSTRAK ......................................................................................................... VIII
BAB I PENDAHULUAN ..................................................................................... 1
1.1 LATAR BELAKANG ....................................................................................... 1
1.2 RUMUSAN MASALAH ...................................................................................... 5
1.3 BATASAN MASALAH ....................................................................................... 6
1.4 TUJUAN PENELITIAN ....................................................................................... 6
1.5 MANFAAT PENELITIAN ................................................................................... 6
1.5.1 Manfaat Bagi Penulis .......................................................................... 6
1.5.2 Manfaat Bagi Pengguna ......................................................................... 7
1.5.3 Manfaat Bagi Universitas....................................................................... 7
1.6 METODOLOGI PENELITIAN .............................................................................. 7
1.6.1 Metode Pengumpulan Data .................................................................... 7
1.7 SISTEMATIKA PENULISAN ............................................................................... 8
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI ........................... 9
2.1 APLIKASI ........................................................................................................ 9
2.1.1 Pengertian Aplikasi ................................................................................ 9
2.2 PENJUALAN..................................................................................................... 9
2.1.2 Pengertian Penjualan ............................................................................. 9
2.3 SISTEM .......................................................................................................... 10
2.3.1 Pengertian Sistem ................................................................................. 10
2.3.2 Karakteristik Sistem.............................................................................. 11
2.4 UNIFIED MODELING LANGUAGE (UML) ........................................................ 12
2.5 PENGEMBANGAN PRANGKAT LUNAK ........................................................... 13
2.6 USE CASE DIAGRAM ..................................................................................... 13
2.7 DIAGRAM KELAS (CLASS DIAGRAM).............................................................. 16
2.8 DIAGRAM SEKUEN (SEQUENCE DIAGRAM) .................................................... 17
2.9 MODEL WATERFALL ..................................................................................... 19
2.10 BASIS DATA DAN SISTEM DATA ................................................................. 20
2.12 MYSQL ...................................................................................................... 20
2.13 PHP ............................................................................................................ 20
2.14 WEBSITE ..................................................................................................... 21
2.15 FRAMEWORK .............................................................................................. 21
2.16 HTML ........................................................................................................ 22
2.17 CASCADING STYLE SHEET (CSS) ............................................................... 22
2.18 JAVASCRIPT ................................................................................................ 22
2.19 CODE IGNITER ............................................................................................ 23
2.20 APLIKASI PENDUKUNG ............................................................................... 24
2.20.1 Sublime ............................................................................................... 24
2.21 METODE PENGUJIAN SISTEM ...................................................................... 24
2.21.1 Blackbox Testing ................................................................................ 24
2.22 PENELITIAN SEJENIS ................................................................................... 25
x
BAB III ................................................................................................................. 28
METODE PENELITIAN ................................................................................... 28
3.1 METODE PENGUMPULAN DATA .................................................................... 28
3.2 METODE PENGEMBANGAN SISTEM ............................................................... 28
3.3 ALUR PENELITIAN ........................................................................................ 30
BAB IV ANALISIS, PERANCANGAN SISTEM DAN IMPLEMENTASI .. 32
4.1. FASE REQUIREMENT ANALYSIS ................................................................. 32
4.1.1 Identifikasi Masalah ............................................................................. 32
4.1.2 Analisa Sistem ...................................................................................... 32
4.1.3 Identifikasi Sistem Usulan .................................................................... 33
4.1.4 Identifikasi Syarat Informasi ................................................................ 33
4.2. FASE SYSTEM DESIGN .............................................................................. 34
4.2.1 Use Case Diagram Pendaftaran Pelanggan dan Pembuatan Kontrak 37
4.2.2 Sequence Diagram Pembelian Rumah .............................................. 38
4.2.3 Sequence Diagram Pembayaran Rumah .............................................. 40
4.2.4 Use Case Diagram Pengajuan Harga .................................................. 42
4.2.5 Sequence Diagram Pengajuan Harga .................................................. 44
4.2.6 Use case Diagram Pemilihan Rumah denggan Pemetaan ................... 45
4.2.7 Class Diagram Aplikasi Penjualan Rumah dengan Pemetaan ............ 46
4.2.8 Perancangan basis data ....................................................................... 47
4.3. FASE IMPLEMENTATION ........................................................................... 58
4.3.1. Memulai Projek Baru ........................................................................ 58
4.4. FASE TESTING ......................................................................................... 58
BAB V HASIL DAN PEMBAHASAN .............................................................. 62
5.1. HASIL AKHIR SISTEM ............................................................................. 62
5.2 HASIL ANTAR MUKA .................................................................................... 62
BAB VI KESIMPULAN DAN SARAN ............................................................. 77
6.1 KESIMPULAN ................................................................................................ 77
6.2 SARAN .......................................................................................................... 77
DAFTAR PUSTAKA .......................................................................................... 78
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Era globalisasi saat ini sangat memengaruhi pesatnya kemajuan teknologi
informasi seperti dalam bidang ekonomi, kebudayaan, seni, pendidikan dan
bahkan dunia politik. Banyak kemajuan teknologi pada akhirnya menciptakan
sesuatu yang lebih baik dan meningkatkan kualitas hidup. Kemajuan teknologi
tidak bisa lagi terhindarkan, karena kemajuan teknologi tersebut akan berjalan
sesuai dengan kemajuan ilmu pengetahuan. Tahun ini, menurut riset dari
perusahaan media asal Inggris, We Are Social yang bekerja sama dengan
Hootsuite, menyebutkan bahwa 7,67 miliar jiwa telah menggunakan internet
atau sekitar 56 persen penduduk dunia (We Are Social, 2019).
Gambar 1. 1 Jumlah Pengguna Internet
(sumber: wearesocial.com)
Di Indonesia pada tahun 2019 ini dari jumlah populasi 268,2 juta penduduk,
pengguna internet dan pengguna social media memiliki pencapaian angka yang
sama yaitu 150 juta pengguna atau sekitar 56 persen. Begitu pula pertumbuhan
internet Indonesia mencapai 17,3 juta pertahun. Hasil itu naik 13 persen dari
tahun sebelumnya, namun angka tersebut masih tergolong paling rendah
dibandingkan dengan negara-negara Asia Tenggara lainnya (We Are Social,
2019).
2
UIN Syarif Hidayatullah Jakarta
Seiring perkembangan teknologi dan sistem informasi, web menjadi hal
yang sangat diminati serta bertransformasi menjadi kebutuhan bagi
masyarakat modern baik untuk melakukan transaksi, penyebaran informasi
maupun pencarian informasi. Pada umumnya web terbagi menjadi dua jenis;
statis dan dinamis, dimana masing-masing web menampilkan data teks,
gambar, gerak, animasi, suara, video yang membentuk suatu rangkaian
bangunan yang saling terkait dan terhubung ke dalam masing-masing jaringan
halaman (hyperlink) baik secara statis maupun dinamis. Perkembangannya
yang begitu signifikan membuat para ahli memberikan penomoran guna
mengklasifikasikan generasi teknologi web yang digunakan.
Web 1.0 adalah generasi web pertama yang berkisar antara tahun 1990-
2000 dimana pengguna dapat mencari data dan informasi yang ada di dalam
web. Pada masa ini, web masih bersifat statis yang hanya terhubung dengan
hyperlink, sehingga pengguna tidak mendapatkan akses untuk memasukkan
data atau informasi ke dalam situs. Tahun 2001 dikenal dengan pengembangan
web 2.0, revolusi bisnis terjadi secara masif pada industri komputer yang
disebabkan oleh penggunaan internet sebagai platform. Berbagai layanan
jejaring sosial dan Wiki berbasis web yang menambah interaksi antar
pengguna menjadi ciri khas perkembangan web 2.0. Saat ini, lambat laun
kebutuhan pengguna akan internet dan sistem informasi kerap bertambah dan
berubah. Sehingga web 3.0 menjadi sangat potensial untuk menawarkan cara
baru yang efisien dalam membantu komputer mengorganisasi dan menarik
kesimpulan dari data online karena isi web yang tidak dapat hanya
diekspresikan di dalam bahasa alami yang dimengerti manusia, tetapi juga di
dalam bentuk yang dapat dimengerti, diinterpretasi dan digunakan oleh
perangkat lunak.
Pesatnya perkembangan sistem teknologi informasi mengakibatkan banyak
pelaku bisnis mengadopsi sistem teknologi informasi berbasis situs web untuk
kelangsungan bisnisnya. Sistem teknologi informasi kini tidak lagi dipandang
hanya sebagai pelengkap, namun sudah menjadi salah satu penentu atas
terlaksananya sasaran atau strategi bisnis perusahaan. Hal ini tentu menjadi
tantangan bagi para pelaku bisnis untuk menyediakan suatu sistem yang mampu
3
UIN Syarif Hidayatullah Jakarta
mengintegrasikan kebutuhan dan informasi baik bagi pihak internal maupun
eksternal sehingga memudahkan dalam proses pengambilan keputusan.
Bisnis property tidak luput dari pengaruh perkembangan internet di
Indonesia, banyak perusahaan yang bergerak pada bisnis jual beli rumah
menggunakan jasa internet sebagai media promosinya. Perkembangan bisnis
properti di Indonesia mengalami kenaikan yang sangat tajam pada dekade
terakhir ini. Banyak indikator yang dapat dilihat di dalam masyarakat misalnya
dengan banyaknya pembangunan perumahan baru termasuk juga apartemen
dengan harga yang relatif lebih murah dengan komponen penunjang
kepemilikan rumah juga semakin mudah dan menjangkau berbagai lapisan
masyarakat membuat bisnis properti sangat menjajikan.
Perusahaan bisnis properti memerlukan aplikasi penjualan perumahan
dengan pemetaan berbasis website untuk memenejemen dan memonitoring
penjualan rumah secara real time dan untuk mempermudah penjualan, dan
pembayaran rumah, aplikasi penjualan perumahan dengan pemetaan berbasis
website akan mempermudah proses penjualan rumah dengan denah yang sudah
di sesuaikan perumahan yanng akan menampilkan tipe rumah dan letak posisi
rumah, aplikasi penjualan rumah dengan pemetaan berbasis website dapat
melakukan poses pembayaran secara angsuran maupun tunai dan mendapatkan
laporan penjualan rumah secara real time.
Seiring berjalannya waktu, dalam pengembangan situs web terdapat
pilihan-pilihan terhadap para pengembang dalam mengembangkan situs web.
Sebagai contoh saat ini masyarakat umum yang tidak memiliki latar belakang
keterampilan di bidang informasi teknologi, dapat membuat suatu situs web
menggunakan CMS (Content Management System). CMS merupakan sebuah
software berbasis situs web yang digunakan untuk mengelola konten atau isi
yang terdapat di dalam sebuah web. Kekurangan pada aplikasi yang
dikembangkan menggunakan CMS yaitu fitur dan fungsi yang terbatas,
tingkat keamanan sistem yang rendah, dsb.
Pilihan lain yang dapat dilakukan dalam pengembangan situs web ialah
menggunakan bahasa pemrograman yang dicoding secara langsung oleh
ahlinya. Code Igniter merupakan salah satu teknologi dalam pengembangan
4
UIN Syarif Hidayatullah Jakarta
situs web di era yang modern seperti sekarang, CodeIgniter merupakan
aplikasi sumber terbuka yang berupa kerangka kerja PHP dengan model MVC
untuk membangun situs web dinamis dengan menggunakan PHP. CodeIgniter
memudahkan pengembang web untuk membuat aplikasi web dengan cepat
dan mudah dibandingkan dengan membuatnya dari awal. .
PT. Panca Nata Sentosa merupakan perusahaan yang bergerak di
bidang Properti, dengan bisnis perumahannya adalah De Panaroma Garden di
tasik malaya.,Sebagai perusahaan yang berpotensi sehingga membutuhkan
system online pengolahan data.
Aplikasi penjualan rumah dengan pemetaan berbasis website adalah
website yang di rancang untuk mepermudah sales/marketing dan kasir dalam
menjual rumah dan melakukan proses transaksi pembayaran, melakukan
proses kontrak dengan pelanggan dan dapat mengetahui rumah yang sudah
terjual atau yang belum terjual, dengan fitur aplikasi penjualan rumah dengan
pemetaan ini pelangan dapan memilih rumah dengan mengetahui letak rumah
dan type rumah. Aplikasi penjualan rumah dengan pemetaan mempermudah
juga untuk atasan atau pimpinan perusahaan untuk memonitoring penjualan,
karena laporan penjualan dapat di lihat berdasarkan bulan dan tahun
5
UIN Syarif Hidayatullah Jakarta
pada penelitian penulis yang berpusat di kota Tasikmalaya, dari 94
perusahaan property yang telah terdaftar pada kementrian Pekerjaan Umum,
hampir semua perusahaan memiliki website sebagai sarana penunjang
penjualan mereka, Seperti gambar di bawah ini:
Gambar 1. 2 Website Property di Tasikmalaya
(sumber: www.google.com)
Pada gambar di atas bias dilihat bahwa beberapa prusahaan di tasik Malaya
sudah memiliki web sebegai sarana penunjang bisnis mereka. Perusahaan yang
menjadi tempat penelitian penulis telah memiliki web yang serupa namun
terkendala pada pengolahan data yang masi manual sehingga penulis menginginkan
pembuatan web untuk pengolahan data.
Berdasarkan latar belakang di atas penulis memutuskan untuk melakukan
penelitian dengan menggunakan judul “APLIKASI PENJUALAN
PERUMAHAN DENGAN PEMETAAN BERBASIS WEB PADA PT. PANCA
NATA SENTOSA ”
1.2 Rumusan Masalah
Rumusan masalah dalam penelitian ini adalah “Bagaimana merancang dan
membangun aplikasi Penjualan Perumahan berbasis situs web menggunakan
Fremework Code Igniter ?”.
6
UIN Syarif Hidayatullah Jakarta
1.3 Batasan Masalah
Menghindari penyimpangan dari topik yang sudah dipilih dan sesuai
dengan latar belakang permasalahan yang sudah diuraikan, maka batasan
masalah pada penelitian ini adalah sebagai berikut:
1. Aplikasi penjualan rumah dengan pemetaan berbasis website.
2. Proses pembayaran rumah menggunakan metode pembayaran
angsuran dan tunai
3. Proses konfirmasi pembayaran angsuran atau tunai pelanggan
dilakukan secara manual oleh kasir.
4. Metode yang digunakan ialah SDLC (Software Development Life
Cycle) dengan model waterfall
5. Metode yang digunakan untuk testing aplikasi menggunakan
Blackbox Testing
1.4 Tujuan Penelitian
Tujuan umum dari penelitian ini adalah untuk menghasilkan sebuah
aplikasi Penjualan Perumahan bebasis situs web pada De Panorama garden
Tasikmalaya, sedangkan tujuan khusus dari penelitian ini adalah:
1. Untuk membuat aplikasi Penjualan berbasis situs web guna
memudahkan dalam meningkatkan fitur dan fungsi.
2. Aplikasi yang dikembangkan oleh penulis tidak memerlukan biaya
untuk tema, plugin, dsb.
1.5 Manfaat Penelitian
1.5.1 Manfaat Bagi Penulis
1. Untuk memenuhi salah satu persyaratan kelulusan strata satu (S1)
Program Studi Teknik Informatika Fakultas Sains dan Teknologi
UIN Syarif Hidayatullah Jakarta.
2. menerapkan dan mengembangkan ilmu-ilmu yang telah diperoleh
selama masa perkuliahan.
3. Sebagai portofolio penulis yang akan dapat dipergunakan pada masa
mendatang.
7
UIN Syarif Hidayatullah Jakarta
1.5.2 Manfaat Bagi Pengguna
1. Membuat perusahaan lebih mudah dalam masalah pengembangan
2. Membuat pelanggan perusahaan dimanjakan dalam kebutuhan yang
diinginkan
3. Hasil dari penelitian diharapkan bisa bermanfaat untuk referensi
dalam menentukan pengembangan situs web yang akan digunakan
di masa mendatang.
1.5.3 Manfaat Bagi Universitas
1. Mengukur tingkat kemampuan mahasiswa menguasai materi
pelajaran yang diperoleh.
2. Memberikan gambaran terhadap mahasiswa untuk menghadapi
dunia kerja yang sebenarnya.
3. Menjadi sumbangan literatur karya ilmiah dalam disiplin ilmu
teknologi khususnya bidang pengembangan situs web.
4. Dapat dijadikan bahan referensi bagi penelitian sejenis berikutnya.
1.6 Metodologi Penelitian
Pada penulisan ini, penulis melakukan pengumpulan data-data dan materi
terkait dengan metode:
1.6.1 Metode Pengumpulan Data
Adapun teknik pengumpulan data yang dilakukan adalah sebagai
berikut:
1. Studi Lapangan
Penelitian ini dilakukan dengan mendatangi lokasi penelitian
untuk memperoleh informasi serta data yang diperlukan. Adapun
Teknik yang ditempuh adalah:
a. Observasi, merupakan Teknik atau pendekatan untuk
mendapatkan data primer dengan mengamati langsung dari
objeknya.
b. Wawancara, komunikasi dua arah untuk mendapatkan
informasi dari owner dan responden.
8
UIN Syarif Hidayatullah Jakarta
2. Studi Kepustakaan
Menghimpun informasi yang relevan, informasi tersebut dapat
diperoleh dari buku-buku, karya ilmiah, tesis, disertasi, dll.
1.7 Sistematika Penulisan
Tugas ini terdiri dari enam bab yang disusun dengan materi pembahasan
yang saling berhubungan dengan sistematika sebagai berikut:
BAB I PENDAHULUAN
Bab ini memberikan uraian mengenai alasan penulis dalam
pemilihan judul atau latar belakang masalah dan dijelaskan pula
mengenai rumusan masalah, tujuan dan manfaat penelitian,
metodologi penelitian dan sistematika penulisan yang masing-
masing akan dijabarkan di dalamnya.
BAB II LANDASAN TEORI
Bab ini menguraikan tentang pengertian dan teori-teori yang
dibutuhkan sebagai landasan atau dasar dalam penelitian yang akan
dilakukan oleh penulis.
BAB III METODE PENELITIAN
Bab ini menjelaskan mengenai metode yang digunakan
dalam penelitian ini, teknik pengumpulan data, dan metodologi
pengembangan sistem.
BAB IV IMPLEMENTASI
Bab ini berisi tentang pelaksanaan implementasi
pengembangan sistem dari tahapan formulasi masalah sampai
tahapan testing.
BAB V HASIL DAN PEMBAHASAN
Bab ini menjelaskan hasil dan pembahasan mengenai hasil
dari pelaksanaan implementasi pengembangan situs web.
BAB VI PENUTUP
Bab ini berisi tentang uraian mengenai kesimpulan dari hasil
penelitian serta saran untuk penelitian lebih lanjut.
9
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Aplikasi
2.1.1 Pengertian Aplikasi
Aplikasi berasal dari kata application yang artinya penerapan,
lamaran, penggunaan. Secara istilah aplikasi adalah program siap
pakai yang dibuat untuk melaksanakan suatu fungsi bagi pengguna
atau aplikasi yang lain dan dapat digunakan oleh sasaran yang
dituju.
Aplikasi bisa dikatakan suatu perangkat lunak yang siap pakai
dengan menjalankan instruksi-instruksi dari pengguna (user),
aplikasi banyak diciptakan untuk membantu berbagai keperluan,
seperti contoh : membuat laporan, percetakan dan lain-lain.
Pengertian aplikasi adalah program siap pakai yang dapat
digunakan untuk menjalankan perintah-perintah dari pengguna
aplikasi tersebut dengan tujuan mendapatkan hasil yang lebih akurat
sesuai dengan tujuan pembuatan aplikasi tersebut. Aplikasi
mempunyai arti yaitu pemecahan masalah yang menggunakan salah
satu teknik pemrosesan data aplikasi yang biasanya berpacu pada
sebuah komputasi yang diinginkan atau diharapkan maupun
pemrosesan data yang diharapkan.
2.2 Penjualan
2.1.2 Pengertian Penjualan
Penjualan adalah kegiatan yang terpadu untuk
mengembangkan rencana-rencana strategis yang diarahkan kepada
usaha pemuasan kebutuhan serta keinginan pembeli / konsumen,
guna untuk mendapatkan penjualan yang menghasilkan laba atau
keuntungan. Atau definisi penjualan adalah merupakan suatu
kegiatan transaksi yang dilakukan oleh 2 (dua) belah pihak/lebih
dengan menggunakan alat pembayaran yang sah. Penjualan juga
merupakan salah satu sumber pendapatan seseorang atau suatu
10
UIN Syarif Hidayatullah Jakarta
perusahaan yang melakukan transaksi jual & beli, dalam suatu
perusahaan apabila semakin besar penjualan maka akan semakin
besar pula pendapatan yang diperoleh seseorang atau perusahaan
tersebut.
Tujuan penjualan adalah tujuan utama dari penjualan yaitu
mendatangkan keuntungan atau laba dari produk-produk atau jasa
yang dihasilkan produsennya dengan pengelolaan yang baik dan
juga mengharapkan keuntungan yang sebesar-besarnya. Akan tetapi
hal ini perlu peningkatan kinerja dari pihak distributor dalam
menjamin mutudan kualitas barang ataupun jasa yang akan di jual.
Mencapai suatu tujuan yaitu dalam perusahaan setiap penjualan
harus mempunyai tujuan penjualan yang dicapai.
Syarat penjualan adalah harus ada penjual dan juga ada
pembelinya, harus ada barang, jasa dan sebagainya yang akan dijual
lalu harus ada juga alat tukar yang sah.
2.3 Sistem
2.3.1 Pengertian Sistem
Pengertian Sistem Perancangan sistem merupakan
sekumpulan unsur / elemen yang saling berkaitan dan saling
mempengaruhi dalam melakukan kegiatan bersama untuk mencapai
suatu tujuan. Sebagai contoh komputer terdiri dari software,
hardware dan brainware. Berikut merupakan pendapat beberapa
para ahli mengenai pengertian sistem, diantaranya yaitu:
Menurut (Bertalanffy, 2009) “Sistem merupakan seperangkat
unsur yang saling terikat dalam suatu antar relasi diantara unsur-
unsur tersebut dengan lingkungan”.
Menurut (Hartono, 2007) suatu sistem adalah “Suatu
kesatuan yang terdiri dari dua atau lebih komponen atau sub-sistem
yang berinteraksi untuk mencapai suatu tujuan”.
Dari pernyataan–pernyataan di atas maka istilah sistem
mengandung arti kumpulan dari unsur–unsur atau komponen yang
11
UIN Syarif Hidayatullah Jakarta
saling berhubungan satu sama lain secara teratur dan merupakan
satu kesatuan yang saling bergantungan untuk mencapai tujuan.
2.3.2 Karakteristik Sistem
Menurut (Hartono, 2007) bahwa sistem mempunyai
karakteristik atau sifat – sifat tertentu yaitu:
1. Komponen / elemen (Component)
Suatu sistem terdiri dari sejumlah komponen yang saling
berinteraksi, yang artinya saling bekerja sama membentuk satu
kesatuan. Komponen–komponen sistem atau elemen elemen
sistem dapat berupa suatu sub-sistem atau bagian – bagian dari
sistem.
2. Batas Sistem (Boundary)
Batas sistem merupakan daerah yang membatasi antara suatu
sistem dengan sistem yang lainnya atau dengan lingkungan
luarnya. Batas sistem ini memungkinkan suatu sistem dipandang
sebagai suatu kesatuan.
3. Lingkungan Sistem (Environment)
Lingkungan luar dari sistem adalah apapun di luar batas dari
sistem yang mempengaruhi operasi sistem. Lingkungan luar
sistem dapat bersifat menguntungkan (harus dijaga dan
merupakan energi dari sistem) dan dapat bersifat merugikan
(harus ditahan dan dikendalikan).
4. Penghubung Sistem (Interface)
Penghubung merupakan media penghubung antara satu sub-
sistem dengan sub-sistem yang lainnya. Melalui penghubung ini
memungkinkan sumber - sumber daya mengalir dari sub-sistem
ke sub-sistem yang lainnya. Keluaran (output) dari satu sub-
sistem akan menjadi masukan (input) untuk sub-sistem yang
lainnya melalui penghubung, Dengan penghubung satu sub-
sistem dapat berinteraksi yang lainnya membentuk satu kesatuan.
5. Masukan (Input)
12
UIN Syarif Hidayatullah Jakarta
Masukan (input) adalah energi yang dimasukkan ke dalam
sistem. Masukan dapat berupa masukan perawatan (maintenance
input) dan masukan sinyal (signal input). Maintenance input
adalah energi yang masukan supaya sistem tersebut dapat
beroperasi. Signal input adalah energi yang diproses untuk
didapatkan keluaran.
6. Keluaran (Output)
Keluaran adalah hasil dari energi yang diolah dan
diklasifikasikan menjadi keluaran yang berguna dan sisa
pembuangan. Keluaran dapat merupakan masukan sub-sistem
yang lain atau kepada super-sistem.
7. Sasasaran sistem (Objective) dan Tujuan Sistem (Goal) Suatu
sistem pasti mempunya tujuan (goal) atau sasaran (objective).
Kalau suatu sistem tidak mempunyai sasaran, maka operasi
sistem tidak akan ada gunanya Suatu sistem dikatakan berhasil
bila mengenai sasaran atau tujuan.
2.4 Unified Modeling Language (UML)
Menurut Satzinger, Jackson & Burd (2005:48), Unified Modeling
Language adalah suatu set standar konstruksi model dan notasi yang
dikembangkan secara khusus untuk pemodelan berorientasi objek. UML
terdiri dari beberapa notasi yaitu:
1. Use Case
Menurut Satzinger, Jackson & Burd (2005:215) Use case diagram adalah
sebuah diagram yang menunjukkan urutan pesan antara actor external dan
sistem selama use case berlangsung.
2. Activity Diagram
Menurut Satzinger, Jackson & Burd (2005:141) activity diagram adalah
sebuah tipe dari work flow diagram yang mendeskripsikan aktifitas user
dan tahapan – tahapan pengerjaannya secara sekuensial.
3. Class Diagram
Menurut Munawar (2005:28) class diagram merupakan himpunan dari
objek – objek yang sejenis. Sebuah objek memiliki keadaan sesaat (state)
13
UIN Syarif Hidayatullah Jakarta
dan perilaku (behavior). State sebuah objek adalah kondisi objek tersebut
yang dinyatakan dalam attribute/properties. Sedangkan perilaku suatu
objek mendefinisikan bagaimana sebuah objek bertindak/beraksi dan
memberikan reaksi.
2.5 Pengembangan Prangkat Lunak
Pengembangan perangkat lunak merupakan struktur pengembangan
perangkat lunak yang meliputi: metode, proses, dan alat-alat yang dapat
memudahkan pengembangan perangkat lunak dari tahap ke tahap agar dapat
berkualitas (Pressman 2002, 15). Menurut Pressman (2012): Ada 4 lapisan
dalam mengembangkan perangkat lunak, yaitu:
1. A Quality Focus
Merupakan segala pendekatan rekayasa (termasuk rekayasa perangkat
lunak) harus berada pada sebuah komitmen dasar menuju kualitas.
2. Process Model
Proses-proses tersebut membatasi kerangka kerja untuk serangkaian area
proses yang harus dibangun demi keefktifan penyampaian teknologi
pengembangan perangkat lunak.
3. Methods
Merupakan serangkaian prosedur-prosedur Teknik untuk
mengembangkan perangkat lunak. Metode mencakup tahap analisis,
kebutuhan, pemodelan, rancangan, pembuatan program, pengujian dan
dukungan terhadap pengguna.
4. Tools
Merupakan alat rekayasa perangkat lunak yang memberikan dukungan-
dukungan bagi proses-proses dan metode-metode yang ada.
2.6 Use Case Diagram
Use case atau diagram use case merupakan pemodelan untuk kelakuan
(behavior) sistem informasi yang mendeskripsikan sebuah interaksi antara
satu atau lebih aktor dengan sistem informasi yang akan dibuat menurut
Sukamto dan Shalahuddin (2013). Syarat penamaan pada use case adalah
14
UIN Syarif Hidayatullah Jakarta
nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama
pada use case yaitu aktor dan use case.
1. Aktor
merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem
informasi yang akan dibuat di luar sistem informasi yang akan dibuat tu
sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor
belum tentu merupakan orang.
2. Use case
merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang
saling bertukar pesan antar unit atau aktor. Berikut adalah simbol-simbol
yang ada pada diagram use case menurut Rosa dan Shalahuddin (2013).
15
UIN Syarif Hidayatullah Jakarta
Tabel 2 1 Use Case Diagram
16
UIN Syarif Hidayatullah Jakarta
2.7 Diagram Kelas (Class Diagram)
Diagram kelas atau class diagram menggambarkan struktur sistem dari
segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem
menurut Sukamto dan Shalahuddin (2013). Kelas memiliki apa yang disebut
atribut dan metode atau operasi yaitu :
1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.
2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu
kelas. Susunan struktur kelas yang baik pada diagram kelas sebaiknya
memiliki jenis-jenis kelas berikut:
1. Kelas yang memiliki fungsi awal dieksekusi ketika sistem
dijalankan.
2. Kelas yang menangani tampilan sistem (view) kelas yang
mendefinisikan dan mengatur tampilan ke pemakai.
3. Kelas yang diambil dari pendefinisian use case (controller) kelas
yang menangani fungsi-fungsi yang harus ada diambil dari
pendefinisian use case, kelas ini biasanya disebut dengan kelas
proses yang menangani proses bisnis pada perangkat lunak.
4. Kelas yang diambil dari pendefinisian data (model) kelas yang
digunakan untuk memegang atau membungkus data menjadi
sebuah kesatuan yang diambil maupun akan disimpan ke basis
data. Berikut adalah simbol-simbol yang ada pada diagram kelas
menurut Rosa dan Shalahuddin (2013)
17
UIN Syarif Hidayatullah Jakarta
Tabel 2.2 Class Diagram
2.8 Diagram Sekuen (Sequence Diagram)
Sequence diagram atau diagram sekuen menggambarkan kelakuan
objek pada use case dengan mendeskripsikan waktu hidup objek dan message
yang dikirim dan diterima antar objek menurut Sukamto dan Shalahuddin
(2013). Banyaknya diagram sekuen yang harus digambar adalah minimal
sebanyak pendefinisian use case yang memiliki proses sendiri atau yang
penting semua use case yang telah didefinisikan interaksi jalannya pesan
sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang
didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak.
18
UIN Syarif Hidayatullah Jakarta
Berikut adalah simbol-simbol yang ada pada diagram sekuen menurut
Sukamto dan Shalahuddin (2013).
Tabel 2.3 Sequence Diagram
19
UIN Syarif Hidayatullah Jakarta
2.9 Model Waterfall
Menurut Rosa dan Shalahuddin (2015:28) model waterfall adalah
“metode air terjun menyediakan pendekatan alur hidup perangkat lunak
secara sekuensial atau terurut dimulai dari Analisa, desain, pengkodean,
pengujian, dan pendukung”.
Gambar 2 1 Model waterfall
Adapun Keuntungan metode waterfall adalah sebagai berikut:
Kualitas dari system yang dihasilkan akan baik. Ini dikarenakan oleh
pelaksanaannya secara bertahap. Sehingga tidak terfokus pada
tahapan tertentu.
Dokumen pengembangan system sangat terorganisir, karena setiap
fse harus terselesaikan dengan lengkap sebelum melangkah ke fase
berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen
tertentu.
Selain itu, terdapat pula beberapa kelemahan metode waterfall,
diantaranya sebagai berikut:
Diperlukan manajemen yang baik, karena proses pengembangan
tidak dapat dilakukan secara berulang sebelum terjadinya suatu
produk.
Kesalahan kecil akan menjadi masalah besar jika tidak diketahui
sejak awal pengembangan.
Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga
tidak dapat mengakomodasi ketidakpastian pada saat awal
pengembangan.
20
UIN Syarif Hidayatullah Jakarta
2.10 Basis Data Dan Sistem Data
Menurut Connolly dan Begg (2010:65), basis data adalah sebuah kumpulan
data yang secara logis terkait dan dirancang untuk memenuhi suatu kebutuhan
informasi dari sebuah organisasi.
Menurut Indrajani (2015:70), basis data adalah kumpulan data yang saling
berhubungan secara logis dan didesain untuk mendapatkan data yang
dibutuhkan oleh suatu organisasi.
Menurut Connolly dan Begg (2010:54), sistem basis data adalah kumpulan
dari program aplikasi yang berinteraksi dengan basis data bersama dengan
Database Management System (DBMS) dan basis data itu sendiri.
2.12 MySQL
MySQL adalah salah satu jenis database server yang sangat
terkenal, kepopulerannya disebabkan MySQL menggunakan Structure
Query Language (SQL) sebagai dasar untuk mengakses basis datanya.
MySQL merupakan bahasa pemrograman open-source yang paling populer
dan banyak digunakan di lingkungan Linux kepopuleran ini karena
ditunjang oleh performansi query dari database-nya yang jarang
bermasalah. MySQL adalah sebuah perangkat lunak sistem manajemen
basis data SQL (bahasa Inggris: database management system) atau DBMS
yang multithread, multi-user, dengan sekitar 6 juta instalasi diseluruh dunia.
MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis
dibawah lisensi GNU General Public License (GPL), tetapi mereka juga
menjual dibawah lisensi komersial untuk kasus-kasus dimana
penggunaannya tidak cocok dengan penggunaan GPL (Irviani & Oktaviana,
2017).
2.13 PHP
PHP merupakan secara umum dikenal sebagai bahasa
pemrograman script yang membuat dokumen HTML secara on the fly yang
dieksekusi di server web, dokumen HTML yang dihasilkan dari suatu
aplikasi bukan dokumen HTML yang dibuat dengan menggunakan editor
teks atau editor HTML. Dikenal juga sebagai bahasa pemrograman server
side (Agung Putra, Rohadi, & Ariyanto, 2016).
21
UIN Syarif Hidayatullah Jakarta
2.14 Website
Menurut Sibero (2011: 11), Website adalah suatu sistem yang berkaitan
dengan dokumen digunakan sebagai media untuk menampilkan teks,
gambar, multimedia dan lainnya pada jaringan internet. Menurut Arief
(2011: 8), Web adalah salah satu aplikasi yang berisikan dokumen-dokumen
multimedia (teks, gambar, animasi, video) didalamnya yang menggunakan
protocol HTTP (Hypertext Transfer Protocol) dan untuk mengaksesnya
menggunakan perangkat lunak yang disebut browser.
2.15 Framework
Framework merupakan perangkat lunak yang mulai menjadi
pilihan untuk membuat suatu aplikasi (Andresta, 2008). Kemudahan-
kemudahan yang diberikan menarik orang-orang untuk menggunakannya.
Hal ini tidak terlepas dari tingkat efektifitas dan efisiensinya yang lebih baik
dalam proses pengembangan suatu perangkat lunak.
Framework adalah sekumpulan perintah/fungsi dasar yang dapat
membantu dalam menyelesaikan proses-proses yang lebih kompleks
(Visikom, 2009). Framework adalah suatu aplikasi yang dapat digunakan
ulang untuk membuat bermacam-macam aplikasi (Jhonson, 2009).
Framework merupakan kumpulan beberapa kelas abstrak pada domain
tertentu sehingga pengembang yang menggunakan Framework harus
melengkapi kelas abstrak tersebut menjadi perangkat lunak yang
diinginkan (Andresta, 2008).
Maka dapat disimpulkan bahwa framework merupakan
rancangan sistem yang dapat digunakan ulang. Di dalamnya terdapat
interaksi kumpulan objek tertentu. Framework mendeskripsikan
bagaimana hubungan dan interaksi objek-objek tersebut beserta antar muka
dan aliran kembali antar objek tersebut.
Terdapat tiga karakteristik utama program berorientasi objek
dalam Framework yaitu abstraksi data (data abstraction), polymorphism,
dan pewarisan (inheritance). Data abstrak adalah representasi antarmuka
yang implementasinya dapat berubah. Polymorfisme adalah kemampuan
22
UIN Syarif Hidayatullah Jakarta
variabel untuk menyimpan nilai dengan tipe yang bermacam-macam,
sedangkan pewarisan mempermudah dalam pembuatan komponen baru.
Framework adalah sebuah mesin yang membutuhkan power
untuk dapat hidup. Mesin framework ini mempunyai plug-plug yang
disebut hotspot dari framework. Hotspot ini merupakan bagian yang akan
diubah menjadi kelas-kelas abstrak. Untuk dapat hidup tiap hotspot ini
harus diberikan tenaga berupa kode aplikasi yang akan digunakan kernel
Framework, yaitu bagian yang tidak berubah.
2.16 HTML
Menurut Nugroho (2006:48) ”HTML adalah bahasa pemfomatan
teks untuk dokumen-dokumen pada jaringan komputer yang sering disebut
sebagai world wide web”.
Sedangkan menurut Arief (2011:23) “HTML merupakan salah satu
format yang digunakan dalam pembuatan dokumen atau aplikasi yang
berjalan di halaman web”. Menurut Suyanto (2007:83) ”HTML itu adalah
bahasa yang digunakan untuk menulis halaman web, biasanya
menggunakan extensi .htm, .html atau .shtml”.
2.17 Cascading Style Sheet (CSS)
Menurut Jayan (2010:2) mengemukakan bahwa “CSS merupakan
singkatan dari Cascading Style Sheet. Kegunaannya adalah untuk mengatur
tampilan dokumen HTML, contohnya seperti pengaturan jarak antar baris,
teks, warna dan format border bahkan penampilan file gambar.”
CSS dikembangkan oleh W3C. organisasi yang mengembangkan
teknologi internet. Tujuannya tak lain untuk mempermudah proses penataan
halaman web.
2.18 Javascript
Javascript menurut (Sunyoto,2007:17) adalah bahasa scripting yang
popular di internet dan dapat bekerja di sebagian besar browser popular
seperti Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera. Kode
Javascript dapat disisipkan dalam halaman web menggunakan tag SCRIPT.
Beberapa hal tentang Javascript:
1. Javascript didesain untuk menambah interaktif suatu web.
23
UIN Syarif Hidayatullah Jakarta
2. Javascript merupakan sebuah bahasa scripting.
3. Bahasa scripting merupakan bahasa pemograman yang ringan.
4. Javascript berisi baris kode yang dijalankan di komputer (web
browser).
5. Javascript biasanya disisipkan (embedded) dalam halaman
HTML.
6. Javascript adalah bahasa interpreter (yang berarti skrip dieksekusi
tanpa proses kompilasi).
7. Setiap orang dapat menggunakan Javascript tanpa membayar
lisensi.
2.19 Code Igniter
CodeIgniter merupakan sebuah framework yang dibuat dengan
menggunakan bahasa PHP, yang dapat digunakan untuk pengembangan
web secara cepat. Adapun framework sendiri dapat diartikan sebagai suatu
struktur pustaka-pustaka, kelas-kelas dan infrastruktur run-time yang dapat
digunakan oleh programmer untuk mengembangkan aplikasi web secara
cepat. Tujuan penggunaan framework adalah untuk mempermudah
pengembang web mengembangkan aplikasi web yang robust secara cepat
tanpa kehilangan fleksibilitas.
Pola desain dalam pengembangan web dengan CodeIgniter
menggunakan MVC (Models-ViewController). Dimana aplikasi yang
dibuat akan dipisahkan antara logika bisnis dan presentasinya, sehingga
memungkinkan web programmer dan web designer bekerja secara terpisah
antara satu dengan yang lain. Agar bisa mengembangkan web dengan
CodeIgniter, maka perlu dipahami terlebih dahulu konsep MVC dan
struktur direktori dari CodeIgniter
1. Models
Models merupakan class PHP yang didesain untuk bekerja dengan
informasi yang ada didalam basidata seperti operasi menambah, mengubah,
menghapus dan menampilkan informasi yang ada didalam basisdata.\
2. Views
24
UIN Syarif Hidayatullah Jakarta
Bagian ini bertanggung jawab terhadap tampilan informasi yang diperoleh
dari basisdata/models. Pada konsep MVC, views merupakan bagian
presentasi yang berisi code HTML. Ketika ingin mengubah tampilan dari
aplikasi yang dibuat, cukup mengubah bagian views.
3. Controller
Controller bisa dikatakan sebagai jantung dari aplikasi web yang dibuat,
controller berisi logika bisnis yang menginstruksikan model untuk
mengambil informasi dari basisdata
2.20 Aplikasi Pendukung
2.20.1 Sublime
Putra (2016:181), mendefinisikan “Sublime text adalah text editor
berbasis Python, sebuah text editor yang elegan, kaya fitur, cross
platform, mudah dan simple yang cukup terkenal dikalangan developer
(pengembang) dan desainer”. Sublime Text 3 digunakan sebagai editor
dari bahasa pemrograman PHP dalam melakukan pengelolaan konten di
dalam aplikasi server (Putra, 2014:310).
2.21 Metode Pengujian Sistem
2.21.1 Blackbox Testing
Pengujian Web (Blackbox Testing) pengujian web digunakan
untuk menguji program yang dibuat untuk mengetahui apakah program
berjalan sesuai dengan yang diinginkan. Dalam pengujian web ini
penulis menggunakan black box testing untuk melakukan pengujian
program.
Menurut Rosa dan Shalahuddin (2013:275) “Blackbox Testing
yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa
menguji desain dan kode program. Pengujian dimaksudkan untuk
mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat
lunak sesuai dengan spesifikasi yang dibutuhkan”. Lain pula, menurut
Soetam (2011:264) berpendapat bahwa “Blackbox testing adalah tipe
testing yang memperlakukan perangkat lunak yang tidak diketahui
kinerja internalnya”. Jadi dapat disimpulkan bahwa blackbox testing
25
UIN Syarif Hidayatullah Jakarta
ialah untuk menguji program yang dikeluarkan dari perangkat lunak,
apakah keluaran perangkat lunak sesuai dengan spesifikasi yang
dibutuhkan.
2.22 Penelitian Sejenis
Dalam penelitian ini akan digunakan lima penelitian sejenis yang
nantinya mendukung penelitian yang akan dilakukan, dimana penelitian
sejenis yang diambil adalah:
26
UIN Syarif Hidayatullah Jakarta
No Judul Penulis Kelebihan Kekurangan Penelitian yang diajukan
1
PEMETAAN LOKASI
PENJUALAN TANAH DI KOTA
MADIUN BERBASIS WEB
Domisia Eka , Nur
Imani
Penerapan aplikasi
Berbasis web,
Menggunakan Bahasa
pemrograman PHP
dan database MySQL
Tidak menggunakan
framework
Menggunakan Framework
Code Igniter dan berbasis situs
web.
2 Sistem Informasi Penjualan
Berbasis Web Pada PT.
Cahaya Sejahtera Sentosa
Blitar
Andri Prasetyo,
Rahel Susanti Berbasis web,
menggunakan Bahasa
pemrograman PHP
dan database MySQL
Tidak Menggunakan
Pemetaan pada
aplikasi
Tidak menggunakan
framework
Menggunakan Framework
Code Igniter dan berbasis situs
web.
3 Sistem Monitoring Penjualan
Rumah Di Kawasan
Perumahan Berbasis Android
Chaerur Rozikin,
Ultach Enri Menggunakan
platform Android
Tidak Menggunakan
Pemetaan pada
aplikasi
Menggunakan Framework
Code Igniter dan berbasis situs
web.
4 SISTEM INFORMASI
PENJUALAN PERUMAHAN
ELITE BERBASIS WEBSITE
Dendy Luthfan
Fauzi Menggunakan
framework Ionic,
Tidak diterapkan pada
situs web, tidak
menggunakan Node.js
Menggunakan Framework
Code Igniter dan berbasis situs
web.
27
UIN Syarif Hidayatullah Jakarta
aplikasi android, M-
Commerce
5. RANCANG BANGUN SISTEM
INFORMASI PEMASARAN
PERUMAHAN PERMATA
BENING BERBASIS WEB
Amirullah,
Megawati
Penerapan aplikasi
Berbasis web,
Menggunakan Bahasa
pemrograman PHP
dan database MySQL
Tidak Menggunakan
Pemetaan pada
aplikasi
Tidak menggunakan
framework
Menggunakan Framework
Code Igniter dan berbasis situs
web.
28
BAB III
METODE PENELITIAN
3.1 Metode Pengumpulan Data
Pembuatan skripsi ini dilakukan dengan menggunakan beberapa
metode pengumpulan data yang dapat mendukung penulisan. Adapun
teknik yang digunakan peneliti dalam pengumpulan data sebagai berikut:
1. Penelitian Lapangan (Field Research)
a. Observasi
Dalam penelitian ini, penulis melakukan pengamatan di
lapangan terhadap objek penelitian. Observasi pada penulisan skripsi
ini dilakukan di De Panorama Garden. Informasi yang didapat dari
pengamatan langsung di tempat penelitian adalah berupa hasil
penelitian bersama yang dilakukan segenap pegawai dan diskusi
terhadap product owner.
b. Wawancara
Dalam penelitian ini, penulis melakukan wawancara dengan
pengelola De Panorama Garden.
2. Penelitian Kepustakaan (Library Research)
Metode ini dilakukan dengan membaca, mempelajari dan
memahami hal-hal yang berkaitan dengan Perumahan, situs web, tool
yang digunakan pada pengembangan web, metode pengembangan web
dan materi lain yang berkaitan dengan penelitian ini. Data-data tersebut
dapat bersumber dari jurnal, buku-buku bacaan, maupun media internet.
3.2 Metode Pengembangan Sistem
Dalam pengembangan sistem ini, digunakan metode pengembangan
sistem SDLC (Software Development Life Cycle) waterfall. Ada 5 tahap
yang digunakan dalam metode pengembangan SDLC, yaitu :
1. Requirement Analysis, pada Tahap ini penulis akan mempersiapkan
kebutuhan yang akan digunakan, mulai dari penelitian, tools atau alat
29
UIN Syarif Hidayatullah Jakarta
yang akan digunakan, pemahaman perangkat lunak yang dibutuhkan
pengguna dan batasan perangkat lunak, serta penunjang proses
pembuatan dan pengujian aplikasi. Informasi ini dapat diperoleh
dengan melakukan penelitian dan diskusi.
2. System Design, pada tahap ini penulis melakukan penerjemahan syarat
kebutuhan ke sebuah perancangan desain perangkat lunak yang dapat
diperkirakan sebelum dibuatnya proses pengkodean (coding). Pada
tahap ini juga berfokus pada:
Mendefinisikan jenis situs web
Flowchart sistem
Wireframing
Mockup desain
3. Implementation, pada tahap ini terjadi proses menerjemahkan
perancangan desain ke bentuk yang dapat dimengerti oleh mesin
dengan menggunakan kode-kode bahasa pemrograman. Kode program
yang dihasilkan masih berupa modul-modul kecil yang akan
digabungkan pada tahap berikutnya. penulis mulai mengerjakan bagian
inti dari pembuatan situs web yang melibatkan:
Pengumpulan perangkat lunak yang akan digunakan
Pengkodean dan pengembangan
4. Testing, situs web telah selesai dibuat dan akan memasuki tahap testing.
Metode yang digunakan penulis untuk melakukan testing pada
penelitian ini menggunakan black box testing. Pada tahap ini dilakukan
penggabungan modul-modul yang sudah dibuat dan dilakukan
pengujian untuk mengetahui apakah situs web yang dibuat telah sesuai
dengan desain dan fungsinya.
5. Operation, pada tahap ini merupakan yang terakhir dalam model
waterfall. Situs web yang sudah jadi dijalankan serta dilakukan
pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan
yang tidak ditemukan pada langkah sebelumnya. Perbaikan
implementasi unit sistem dan peningkatan jasa sistem sebagai
kebutuhan baru.
30
UIN Syarif Hidayatullah Jakarta
3.3 Alur Penelitian
Berdasarkan landasan teori yang telah dijabarkan pada bab
sebelumnya dan metodologi yang dijelaskan pada bab ini yang akan
dibuat suatu kerangka berfikir sebagai alur berfikir dalam penyusunan
penelitian skripsi ini berdasarkan pengembangan sistem SDLC.
Kerangka berfikir tersebut digambarkan seperti dibawah ini:
31
UIN Syarif Hidayatullah Jakarta
Gambar 3 1 Alur Penlitian
32
BAB IV
ANALISIS, PERANCANGAN SISTEM DAN IMPLEMENTASI
Bab ini akan membahas secara detail dan terperinci mengenai analisis dan
perancangan sistem, dan implementasi situs web. Metode Pengembangan sistem
yang digunakan adalah Software Development Life Cycle yang sudah dibahas pada
bab sebelumnya. Isi dari bab ini yaitu akan menjelaskan tahapan-tahapan
pengembangan aplikasi situs web diantaranya adalah:
1. Requirement Analysis
2. System Design
3. Implementation
4. Integration & Testing
5. Operation & Maintenance
Berikut adalah penjelasan tahap pengembangan pada penelitian ini.
4.1. Fase Requirement Analysis
4.1.1 Identifikasi Masalah
Saat ini belum ada sistem yang ada di De Panorama Garden
Tasikmalaya belum menggunakan aplikasi Penjualan Perumahan
berbasis website.,Sehingga belum bisa mendata pembeli secara
online. Akibatnya data Pembeli masih manual dan rentan untuk
hilang.
Seiring berjalannya waktu, kebutuhan akan adanya situs web
pada aplikasi penjualan seperti mendata pembeli,sales dan transaksi
sangat di perlukan.
4.1.2 Analisa Sistem
Sistem aplikasi yang dikembangkan Akan menggunakan
Framework Code Igniter memiliki banyak kelebihan jika
dibandingkan dengan menggunakan bahasa pemrograman PHP di
koding dengan terstruktur dan punya keamanan yang sudah ada.
Keamanan pada situs web sangat di perlukan karena ketika
situs web diretas oleh orang yang tidak bertanggung jawab,
menyebabkan kerugian reputasi dan finansial.
33
UIN Syarif Hidayatullah Jakarta
Mengembangkan sistem aplikasi menggunakan Code Igniter
membuat para developer atau pemilik situs web tidak perlu
meluangkan banyak waktu untuk memahami script code yang ada,
sehingga ini sangat tidak menyita waktu. Sangat memakan waktu jika
developer membuat sistem aplikasi menggunakan bahasa
pemrograman dari nol.
4.1.3 Identifikasi Sistem Usulan
Sistem yang ingin penulis buat adalah Aplikasi Penjualan
Perumahan dengan Pemetaan Berbasis situs web menggunakan
Framework Code Igniter yang diharapkan dapat membantu
menyelesaikan masalah yang ada.
Sistem usulan yang diberikan penulis yaitu sistem yang di
coding dari nol menggunakan Bahasa pemrograman PHP, Dengan
menggunakan Framework Code Igniter.
4.1.4 Identifikasi Syarat Informasi
Untuk mewujudkan pembuatan sistem aplikasi Penjualan
Perumahan ini harus memenuhi syarat-syarat minimum yang meliputi
kelengkapan data, software, hardware. Kelengkapan data yang
digunakan dalam pembuatan sistem aplikasi Penjualan Perumahan
ini adalah:
1. Data Rumah
2. Data Pembeli
3. Data Data Transaksi
4. Data Karyawan
Kebutuhan software yang digunakan untuk sistem penjualan online
berbasis web ini adalah:
1. Windows
2. Code Igniter
3. Sublime
34
UIN Syarif Hidayatullah Jakarta
4. Xampp
5. MySQL
6. Google Chrome
7. Draw.io
8. Photoshop
Sedangkan, kebutuhan hardware yang digunakan penulis
untuk pembuatan sistem penjualan online berbasis e-commerce ini
adalah:
1. Laptop Asus X5052
2. RAM 4GB
3. Internal Storage 1T
4. Ryzen 3
4.2. Fase System Design
Alur Pengajuan dan pembayaran rumah secara detail perancangan
aplikasi penjualan rumah dengan pemetaaan dapat dilihat pada alur dan
UML di bawah ini:
35
UIN Syarif Hidayatullah Jakarta
Gambar 4 1 Alur Proses Penjualan Rumah
Keterangan gambar 4.1:
1. Sales membuka aplikasi penjualan rumah dengan pemetaan
2. Sales dapat melihat denah perumahan tersebut di dalam peta yang sudah
disediakan dan bisa melakukan penjualan langsung terhadap pelanggan yang
dimana dalam denah sudah menunjukan rumah mana yang sudah dijual dan
belum dijual.
36
UIN Syarif Hidayatullah Jakarta
3. Sales dapat melakukan pendaftaran pelanggan, pengajuan harga dan bisa
melakukan pembuatan kontrak terhadap pelanggan.
4. Marketing melakukan pengajuan harga maka akan dilanjutkan dengan
persetujuan yang dilakukan oleh manajer yang di mana jika disetujui pelangan
yg sudah melakukan pengajuan akan berubah statusnya jadi disetujui dan
sebaliknya jika tidak disetujui statusnya berubah tidak disetujui.
5. Pelanggan mendaftar yang sudah disetujui oleh manajer atau pelanggan yang
akan membeli dengan tunai bisa melanjutkan kontrak kepada pelanggan .
6. Marketing akan menanyakan untuk pembayaran tunai atau cicilan jika
pelanggan menjawab tunai maka akan langsung dibuatkan kontrak tapi jika tidak
pelanggan menjawab tidak akan dipilihkan pemilihan angsuran jika setuju akan
dilanjutkan ke pembuatan kontrak .
7. Pembuatan kontrak selsai akan dilanjutkan ke bagiarn pembayaran yang dimana
ada kasir yg menerima proses pembayaran cicilan ataupun tunai dan langsung
mendapatkan bukti pembayaran.
37
UIN Syarif Hidayatullah Jakarta
4.2.1 Use Case Diagram Pendaftaran Pelanggan dan Pembuatan
Kontrak
Gambar 4 2 Use Case Diagram Pendaftaran Pelanggan dan Kontrak
Keterangan gambar 4.2 dapat diuraikan bahwa pendaftaran pelanggan dan
pembuatan kontrak pada perancangan ini sebagai berikut:
1. Sales membuka aplikasi penjualan rumah dengan pemetaan berbasis
website selanjutnya akan membuka halaman denah di dalam denah ada
area di area ada rumah untuk mempermudah mengetahui letak rumah dan
mengetahui rumah mana yang sudah terjual bisa langsung informasikan
kepada pelanggan.
2. Sales memiliki dua kategori untuk melakukan pembuatan kontrak yaitu
pelanggan yang sudah didaftrarkan dan memilih rumah dibantu oleh sales
jika pelanggan membeli rumah sudah setuju dengan harga rumah sales bisa
melakukan kontrak tanpa harus pesertujuan manajer sebaliknya marketing
akan mengajukan harga yang diinginkan pelangan kepada manajer untuk
mendapatkan persetujuan.
3. Manajer akan melakukan persetujuan dan merubah status pengajuan harga
pelanggan menjadi disetujui atau tidak disetujui.
38
UIN Syarif Hidayatullah Jakarta
4. Marketing mebuatkan kontrak untuk pelangan dan meberikan pilihan
terhadap pelanggan untuk pembelian tunai dan cicilan.
5. Pelanggan akan mendapatkan nomer kontrak dan bisa melanjutkan ke
pembayaran setelah mendapatkan nomer kontrak.
4.2.2 Sequence Diagram Pembelian Rumah
Gambar 4 3 Sequence Diagram pembelian rumah
39
UIN Syarif Hidayatullah Jakarta
Keterangan Gambar 4.3:
Nama Aktor : Sales
Skenario : Pelanggan menemui sales atau sebaliknya untuk membeli
rumah di daerah tertentu, sales login ke dalam aplikasi dan memperlihatkan
denah perumahan, setelah memperlihatkan denah sales menawarkan rumah
tiap area kepada pelanggan ketika pelanggan sudah memilih rumah pelangan
akan didaftarkan oleh sales sebagai pelangan pembeli rumah wajib mengisi
nama, email dan lain lain setelah pendaftaran selsai sales akan melakukan
pengajukan harga kepada manajer untuk pelangan yang sudah mendaftar dan
sudah memilih rumah yang akan dibeli jika manajer menyetujui pengajuan
harga maka akan di lanjutkan kepada pembuatan kontrak pembelian rumah
yang telah disetujui kedua pihak setelah pembuatan kontrak pelanngan aka
menerima nomer kontrak yang dimana digunakan untuk melakukan
pebayaran rumah.
4.2.3 Use Case Diagram Pembayaran Rumah
Gambar 4 4Use Case Diagram Pembayaran Rumah
40
UIN Syarif Hidayatullah Jakarta
Keterangan gambar 4.4 dapat diuraikan bahwa tahap pembayaran rumah
pada aplikasi penjualan rumah dengan pemetaan berbasis website sebagai berikut:
1. Pelanggan menuju kasir dan memberitahukan nomer kontrak setelah ituh kasir
akan mengimput nomer kontrak dan akan nampil data kontrak pelanggan.
2. Kasir akan melakukan isi form pembayaran sesuai data kontrak pelanggan.
3. Pengisian form pembayaran dan pelanggan sudah melakukan pembayaran kasir
akan konfirmasi ke bank untuk pembayaran pelangan.
4. Proses transaksi pembayaran selsai pelanggan akan mendapatkan bukti
pembayaran.
4.2.3 Sequence Diagram Pembayaran Rumah
Gambar 4 5 Sequence Diagram Pembayaran Rumah
Keterangan Gambar 4.5:
Nama Aktor : Kasir
Skenario : Pelanggan menuju kasir dan memberitahukan nomer kontrak
kepada kasir dan melakukan bayar tagihan kemudian kasir akan mengimput
nomer kontrak ke form pembayaran setelah penginputan selsai kasir akan
melakukan konfirmasi pembayaran pelanggan ke bank bahwa pembayaran
sudah diterima pelanggan akan mendapatkan bukti pembayaran.
41
UIN Syarif Hidayatullah Jakarta
4.2.1 Use Case Diagram Pengajuan Harga
Gambar 4 6 Use Case Diagram Pengajuan Harga
Keterangan gambar 4.6 dapat diuraikan bahwa tahap pembayaran rumah
pada aplikasi penjualan rumah dengan pemetaan berbasis website sebagai berikut:
1. Sales akan mengajukan harga pelanggan kepada atasan (manajer) untuk
menunggu persetujuan.
2. Manajer akan mengecek detail pelanggan yang mengajukan harga
3. Manajer akan melakukan prose pensetujuan jika pelanggan yang mengajukan
harga sudah memenuhi syarat syarat yang di tentukan.
5. Pelanggan yang sudah disetujui oleh menajer sales dapat melanjutkan untuk
pembuatan kontrak kepada pelanggan.
4.2.2 Sequence Diagram Pembayaran Rumah
42
UIN Syarif Hidayatullah Jakarta
Gambar 4.5 Sequence Diagram Pembayaran Rumah
Keterangan Gambar 4.5:
Nama Aktor : Kasir
Skenario : Pelanggan menuju kasir dan memberitahukan nomer kontrak
kepada kasir dan melakukan bayar tagihan kemudian kasir akan mengimput
nomer kontrak ke form pembayaran setelah penginputan selsai kasir akan
melakukan konfirmasi pembayaran pelanggan ke bank bahwa pembayaran
sudah diterima pelanggan akan mendapatkan bukti pembayaran.
4.2.4 Use Case Diagram Pengajuan Harga
Gambar 4.6 Use Case Diagram Pengajuan Harga
43
UIN Syarif Hidayatullah Jakarta
Keterangan gambar 4.6 dapat diuraikan bahwa tahap pembayaran
rumah pada aplikasi penjualan rumah dengan pemetaan berbasis website
sebagai berikut:
4. Sales akan mengajukan harga pelanggan kepada atasan (manajer) untuk
menunggu persetujuan.
5. Manajer akan mengecek detail pelanggan yang mengajukan harga
6. Manajer akan melakukan prose pensetujuan jika pelanggan yang
mengajukan harga sudah memenuhi syarat syarat yang di tentukan.
7. Pelanggan yang sudah disetujui oleh menajer sales dapat melanjutkan
untuk pembuatan kontrak kepada pelanggan.
44
UIN Syarif Hidayatullah Jakarta
4.2.5 Sequence Diagram Pengajuan Harga
Gambar 4.7 Sequence Diagram Pengajuan Harga
Keterangan gambar 4.7 dapat diuraikan proses pada perancangan
aplikasi penjualan rumah dengan pemetaan berbasis website sebagai
berikut:
Aktor : Manajer (Atasan)
Skenario : Manajer akan menerima daftar pengajuan harga pelanggan dari
para sales kemudian manajer akan melakukan pengecekan data pelanggan
dan akan melakuan proses persetujuan berdasarkan hasil dari pengecekan
pelanggan yang memenuhi syarat-syarat yang ditentukan setelah ituh
sales akan dapat menerima hasil langsung dari proses persetujuan manajer
di daftar pelanggan dan bisa melakukan kontrak dengan pelanggan apabila
pelanggan disetujui oleh manajer atau sebaliknya.
45
UIN Syarif Hidayatullah Jakarta
4.2.6 Use case Diagram Pemilihan Rumah denggan Pemetaan
Gambar 4.8 Use Case Diagram Pemilihan Rumah Dengan Pemetaan
Keterangan gambar 4.8 dapat diuraikan proses pada perancangan
aplikasi penjualan rumah dengan pemetaan berbasis website sebagai
berikut:
1. Pelanggan memilih denah perumahan sesuai yang diingikan dibantu
sales.
2. Denah perumahan pelangan akan diminta untuk memilih area atau blok
perumahan dan akan dibantu sales untuk memberikan informasi tentang
semua area perumahan dan fasilitas perumahan.
3. Pengunjung akan melihat letak rumah yang diinginkan dan dapat memlih
letak rumah sesuai dengan keinginan.
46
UIN Syarif Hidayatullah Jakarta
4.2.7 Class Diagram Aplikasi Penjualan Rumah dengan Pemetaan
Gambar 4.9 Class Diagram Aplikasi Penjualan Rumah
Keterangan gambar 4.9 dapat diuraikan bahwa class diagram dalam
perancangan aplikasi penjualan rumah dengan pemetaan ini terdapat delapan
belas class yang digunakan, diantaranya sebagai berikut:
1. Class Unit.
2. Class Unit Type.
3. Class Unit Album.
4. Class Area.
5. Class Area Album.
6. Class User.
7. Class User Group.
8. Class Customer.
9. Class Customer Album.
10. Class Contract.
11. ClassContractType.
47
UIN Syarif Hidayatullah Jakarta
12. Class Contract Unit.
13. ClassContract Payment Schedule.
14. Class Contract Payment Record.
15. Class Payment Scheme.
16. Class Payment Type.
17. Class Pengajuan Harga.
18. Class Rekening.
Class diagram ini menggambarkan struktur dan deskripsi yang di dalamnya
terdapat sebuah relasi antara class yang satu dengan class yang lainnya.
4.2.8 Perancangan basis data
Spesifikasi basis data yang memberikan penjelasan secara
detail tentang masing-masing basis data yang digunakan dalam
Aplikasi Penjualan Perumahan berbasis situs web menggunakan
platform Code Igniter pada PT. Nata Panca Sentosa sebagai berikut:
1. Tabel Unit
Nama tabel : dc_Unit
Primary key : id
48
UIN Syarif Hidayatullah Jakarta
Gambar 4.8.1 Tabel nit
2. Tabel Pengajuan Harga Unit
Nama tabel : dc_Unit
Primary key : id
Gambar 4.8.2 Tabel Pengajuan Harga Unit
3. Tabel Payment type
Nama tabel : dc_Payment type
Primary key : id
49
UIN Syarif Hidayatullah Jakarta
Gambar 4.8.3 Tabel Payment Type 4. Tabel Pemasukan Record
Nama tabel : dc_pemasukan_record
Primary key : id
Gambar 4.8.4 Tabel Pemasukan Record
5. Tabel default
Nama tabel : dc_default
Primary key : id
Gambar 4.8.5 Tabel Defaul
6. Tabel Unit album
Nama tabel : dc_unit_album
Primary key : id
50
UIN Syarif Hidayatullah Jakarta
Gambar 4.8.6 Tabel Unit Album
7. Tabel kontrak type
Nama tabel : dc_kontrak_type
Primary key : id
Gambar 4.8.7 Tabel Kontrak Type
8. Tabel Pengajuan harga
Nama tabel : dc_pengajuan_harga
Primary key : id
Gambar 4.8.8 Tabel Pengajuan Harga
9. Tabel sales
Nama tabel : dc_data_sales
51
UIN Syarif Hidayatullah Jakarta
Primary key : id
Gambar 4.8.9 Tabel Sales
10. Tabel icons
Nama tabel : dc_icons
Primary key : id
Gambar 4.8.10 Tabel Icons
11. Tabel payment scheme
Nama tabel : dc_payment scheme
Primary key : id
Gambar 4.8.11 Tabel Payment scheme
12. Tabel kontrak payment record
Nama tabel : dc_kontrak_payment_record
Primary key : id
52
UIN Syarif Hidayatullah Jakarta
Gambar 4.8.11 Tabel kontrak payment record
13. Tabel kontrak
Nama tabel : dc_kontrak
Primary key : id
Gambar 4.8.13 Tabel kontrak
14. Tabel customer
Nama tabel : dc_customer
Primary key : id
53
UIN Syarif Hidayatullah Jakarta
Gambar 4.8.14 Tabel customer
15. Tabel Area
Nama tabel : dc_Area
Primary key : id
Gambar 4.8.15 Tabel dc_area
16. Tabel payment commission history
Nama tabel : dc_payment_commision_history
Primary key : id
54
UIN Syarif Hidayatullah Jakarta
Gambar 4.8.16 Tabel payment commission history
17. Tabel user
Nama tabel : dc_user
Primary key : id
Gambar 4.8.17 Tabel user
18. Tabel customer album
Nama tabel : dc_customer_album
Primary key : id
55
UIN Syarif Hidayatullah Jakarta
Gambar 4.8.18 Tabel dc customer album
19. Tabel Unit type
Nama tabel : dc_unit_type
Primary key : id
Gambar 4.8.19 Tabel unit type
20. Tabel menu accsess
Nama tabel : dc_menu_accsess
Primary key : id
Gambar 4.8.20 Tabel menu accsess
21. Tabel payment scheme detail
Nama tabel : dc_payment_scheme_detail
Primary key : id
Gambar 4.8.21 Tabel dc_payment_scheme_detail
56
UIN Syarif Hidayatullah Jakarta
22. Tabel kontrak unit
Nama tabel : dc_kontrak_unit
Primary key : id
Gambar 4.8.22 kontrak unit
23. Tabel Menu
Nama tabel : dc_menu
Primary key : id
Gambar 4.8.23 Tabel dc menu
24. Tabel rekening
Nama tabel : dc_rekening
Primary key : id
Gambar 4.8.24 Tabel dc_rekening
25. Tabel area album
Nama tabel : dc_area_album
57
UIN Syarif Hidayatullah Jakarta
Primary key : id
Gambar 4.8.25 Tabel dc_area_album
26. Tabel kontrak payment schedule
Nama tabel : dc_kontrak_payment_schedule
Primary key : id
Gambar 4.8.26 Tabel kontrak payment schedule
27. Tabel Groups
Nama tabel : dc_groups
Primary key : id
Gambar 4.8.27 Tabel groups
28. Tabel apperance
58
UIN Syarif Hidayatullah Jakarta
Nama tabel : dc_apperance
Primary key : id
Gambar 4.8.28 Tabel apperance
4.3. Fase Implementation
4.3.1. Memulai Projek Baru
Developer memulai projek baru dengan membuka Xampp,
dan menyiapkan data code igniter kemuadian simpan pada folder
htdocs pada xampp.ekstrak code igniter lalu code igniter akan
terinstal:
4.4. Fase Testing
Dalam fase implementasi hasil uji coba yang dilakukan, pengujian
sistem dengan menggunakan kotak hitam (blackbox testing). Blackbox
Testing yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa
menguji desain dan kode program. Pengujian ini dimaksudkan untuk
mengetahui apakah fungsi-fungsi, masukan dan keluaran dari perangkat
lunak telah sesuai dengan spesifikasi yang dibutuhkan.
59
UIN Syarif Hidayatullah Jakarta
Pengujian sistem ini dilakukan dua penguji yaitu pengujian mandiri
yang dilakukan oleh penulis, dan pengujian dengan salah satu Karyawan dari
De Panorama Garden di tasik . Pengujian ini dilakukan untuk memastikan
bahwa aplikasi Penjualan Perumahan ini berjalan dengan sesuai dan mencari
kesalahan yang ditimbulkan karena salah tulis atau kesalahan pada program.
Cara pengujian blackbox testing dilakukan dengan menjalankan
aplikasi berbasis situs web dan melakukan input data serta melihat inputnya.
Hasil pengujian blackbox testing dapat dilihat pada tabel dibawah ini:
1. Hasil pengujian Blackbox Testing halaman untuk Superadmin
No Fungsi Hasil yang diharapkan Hasil
1. Halaman Login
Superadmin dapat mengakses
halaman login dan tanpa ada
masalah
OK
2. Halaman list unit
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
3. Halaman Area
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
4. Halaman unit type
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
5. Halaman pengajuan
Harga approve
Superadmin dapat mengakses
halaman ,melakukan approved
dan melakukan pencarian
OK
6. Halaman list
customer
Superadmin dapat mengakses
halaman ,menambah OK
60
UIN Syarif Hidayatullah Jakarta
menghapus, mengedit dan
melakukan pencarian
7. Halaman denah
Superadmin dapat mengakses
halaman ,membuat pengajuan
dan membuat kontrak
OK
8. Halaman pengajuan
Harga
Superadmin dapat mengakses
halaman pengajuan harga dan
dapat melihat list pengajuan
yang tersedia dan tanpa ada
masalah
OK
9. Halaman kontrak
Superadmin dapat mengakses
halaman dan dapat
mendownload laporan yang
tersedia dan tanpa ada masalah
OK
10. Halaman Payment
Superadmin dapat mengakses
halaman dan dapat
mendownload laporan yang
tersedia dan tanpa ada masalah
OK
11. Halaman rekening
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
12. Halaman kontrak
type
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
13. Halaman payment
scheme
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
14. Halaman payment
Type
Superadmin dapat mengakses
halaman ,menambah OK
61
UIN Syarif Hidayatullah Jakarta
menghapus, mengedit dan
melakukan pencarian
15. Halaman
commision
Superadmin dapat mengakses
halaman tanpa ada masalah OK
16. Halaman laporan
penjualan
Superadmin dapat merekap data
laporan penjualan. OK
17. Halaman menu
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
18. Halaman user
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
19. Halaman user
accses
Superadmin dapat mengakses
halaman ,menambah dan
mengedit hak akses
OK
20. Halaman user group
Superadmin dapat mengakses
halaman ,menambah
menghapus, mengedit dan
melakukan pencarian
OK
21. Halaman
Appearance
Superadmin dapat mengakses
halaman , mengedit Foto OK
62
BAB V
HASIL DAN PEMBAHASAN
5.1. Hasil Akhir Sistem
Pada penelitian ini menghasilkan sebuah aplikasi Penjualan Rumah
berbasis situs web. Situs web ini berfungsi untuk memberikan kemudahan
kepada Karyawan agar dapat mengetahui Rumah yang belum terjual.
5.2 Hasil Antar Muka
Pembahasan ini menjelaskan bagaimana cara kerja aplikasi
Penjualan Perumahan dan hasil tampilan akan dijelaskan pada gambar
dibawah ini sebagai berikut:
1. Halaman Utama Website
Gambar 5 1 Halaman Utama Website
Keterangan gambar 5.1 ini adalah halaman utama dari website, di
halaman utama terdapat menu-menu yang dapat diakses oleh sales, kasir
dan manajer di halaman utama juga terdapat laporan penjualan rumah.
2. Halaman Daftar Perumahan
63
UIN Syarif Hidayatullah Jakarta
Gambar 5 2 Halaman Daftar Perumahan
Keterangan gambar 5.2 ini adalah halam daftar perumahan dimana
nanti sales/marketing akan menunjukan daftar perumahan yang akan di
tawarkan kepada pelanggan dan akan menunjukan kepada pelangan
halaman denah perumahan.
3. Halaman Denah Perumahan
Gambar 5 3 Halaman Denah Perumahan
64
UIN Syarif Hidayatullah Jakarta
Keterangan gambar 5.3 ini adalah halaman denah perumahan, pada
bagian ini pelanggan dapat letak posisi rumah dan dapat mengetahui rumah
yang belum terjual dan yang sudah terjual, halaman denah perumahan juga
terdapat dua tombol yaitu tombol pengajuan harga dan pembuatan kontrak
dimana tombol kontrak untuk langsung melakukan kontak pembelian rumah
dengan pelanggan sedangkan tombol pengajuan harga digunakan ketika
terjadinya tawan menawar harga untuk pembelian rumah akan menggunakan
tombol pengajuan untuk mendapatkan persetujuan harga dari
atasan/manajer.
65
UIN Syarif Hidayatullah Jakarta
4. Halaman Pengajuan Harga Rumah
Gambar 5 4Halaman Pengajuan Harga Rumah
Keterangan gambar 5.4 ini adalah halaman pengajuan harga rumah,
pada bagian ini pengunjung dapat tawar menawar dengan sales/marketing
untuk mendapatkan harga yang sesuai untuk rumah yang diinginkan setelah
mendapatkan harga yang sesuai sales/marketing akan mengisikan form
pengajuan harga sesuai dengan keinginan pelangan.
66
UIN Syarif Hidayatullah Jakarta
5. Halaman Daftar Pengajuan Harga Pelanggan untuk Atasan
Gambar 5 5 Halaman Daftar Pengajuan Harga Pelanggan Atasan
Keterangan gambar 5.5 ini adalah halaman daftar pengajuan harga
pelanggan untuk atasan, pada bagian ini semua daftar pengajuan harga akan di
terima oleh atasan/manajer.
6. Halaman Detail Pengajuan Harga untuk Atasan
Gambar 5 6 Detail Pengajuan Harga untuk Atasan
67
UIN Syarif Hidayatullah Jakarta
Keterangan gambar 5.6 ini adalah halaman detail pengajuan harga
untuk atasan, pada bagian ini atasan/manajer akan melihat detail pelanggan
yang mengajukan harga untuk pembelian rumah dan atasan/manajer dapat
melakukan persetujuan atau penolakan pengajuan rumah pelanggan.
7. Halaman Daftar Pengajuan Harga Rumah untuk Sales/Marketing
Gambar 5 7 Halaman Daftar Pengajuan Harga Rumah untuk Sales/Marketing
Keterangan gambar 5.7 ini adalah halaman daftar pengajuan harga
rumah untuk sales, pada bagian ini sales/marketing akan mendapatkan
daftar pengajuan harga rumah pelanggan untuk mengetahui pelanggan yang
sudah disetujui atau tidak disetujui oleh atasan/manajer dan
sales/marketing dapat melakukan kontrak dengan pelanggan yang sudah
disetujui oleh atasan/manajer.
68
UIN Syarif Hidayatullah Jakarta
8. Halaman Kontrak Pelanggan
Gambar 5 8 Halaman Kontrak Pelanggan
Keterangan gambar 5.8 ini adalah halaman kontrak pelanggan pada
halaman ini sales/marketing akan melakukan pengisian form kontrak
pelanggan dan pelanggan dapat memilih payment scheme yaitu lamanya
angsuran pembelian rumah dan melakukan penginputan uang muka yang
telah di sepakati.
69
UIN Syarif Hidayatullah Jakarta
9. Halaman Daftar Kontrak Pelanggan
Gambar 5 9 Halaman Daftar Kontak Pelanggan
Keterangan gambar 5.9 ini adalah halaman daftar kontrak pelanggan
pada bagian ini sales/marketing dan kasir dapat melihat daftar kontrak
pelanggan dan dapat mencetak kontrak pelanggan.
70
UIN Syarif Hidayatullah Jakarta
10. Halaman Detail Kontrak Pelanggan
Gambar 5 10 Halaman Detail Kontak Pelanggan
Keterangan gambar 5.10 ini adalah halaman detail kontrak
pelanggan, pada bagian ini sales/marketing dan kasir dapat mengetahui
pembayaran terakhir customer dan detail kontrak
71
UIN Syarif Hidayatullah Jakarta
11. Halaman Detail Unit Kontrak Pelanggan
Gambar 5 11 Halaman Detail Unit Kontrak Pelanggan
Keterangan gambar 5.11 ini adalah halaman detail kontrak pelanggan,
pada bagian ini sales/marketing dan kasir dapat mengetahui detail rumah yang
dibeli pelanggan.
72
UIN Syarif Hidayatullah Jakarta
12. Halaman Detail Jadwal Pembayaran Angsuran Pelanggan
Gambar 5 12 Detail Jadwal Pembayaran Angsuran Pelanggan
Keterangan gambar 5.12 ini adalah halaman detail jadwal pembayaran
angsuran pelanggan pada bagian sales/marketing dan kasir dapat mengetahui
jatuh tempo pembayaran angsuran pelanggan untuk pembelian rumah.
13. Halaman Detail Daftar Pembayaran Angsuran Pelangan
73
UIN Syarif Hidayatullah Jakarta
Gambar 5 13 Detail Daftar Pembayaran Angsuran Pelanggan
Keterangan gambar 5.13 ini adalah halaman detail daftar
pembayaran angsuran pelanggan pada bagian sales/marketing dan kasir
dapat mengetahui riwayat pembayaran angsuran pelanggan.
14. Halaman Daftar Pembayaran
Gambar 5 14 Halaman Daftar Pembayaran
Keterangan gambar 5.14 ini adalah halaman daftar pembayaran pada
bagian kasir dapat mengetahui daftar pembayaran pelanggan dan dapat
mencetak laporan pembayaran pelanggan.
74
UIN Syarif Hidayatullah Jakarta
15. Halaman Form Pembayaran
Gambar 5 15 Halaman Form Pembayaran
Keterangan gambar 5.15 ini adalah halaman form pembayaran pada
bagian ini kasir dapat melakukan proses pembayaran angsuran pelanggan
dengan nomor kontrak pelangan.
16. Halaman Daftar Pelanggan
Gambar 5 16 Halaman Daftar Pelangan
Keterangan gambar 5.16 ini adalah halaman daftar pelanggan untuk
melihat data pelanggan dan mendaftarkan pelanggan.
75
UIN Syarif Hidayatullah Jakarta
17. Halaman Laporan Penjualan
Gambar 5 17 Halaman Laporan Penjualan
Keterangan gambar 5.17 ini adalah halaman laporan Penjualan
adalah halaman untuk melihat laporan penjualan dan dapat di export
kedalam excel.
18. Halaman Skema Pembayaran
Gambar 5 18 Halaman Skema Pembayaran
Keterangan gambar 5.18 ini adalah halaman schema pembayaran
untuk mengatur schema pembayaran angsuran atau schema pembayaran
tunai.
76
UIN Syarif Hidayatullah Jakarta
19. Halaman Tipe Pembayaran
Gambar 5 19 Halaman Tipe Pembayaran
Keterangan gambar 5.19 ini adalah halaman tipe pembayaran untuk
mengatur tipe pembayaran untuk pembelian rumah
20. Halaman Daftar Unit Rumah
Gambar 5 20 Halaman Daftar Unit Rumah
Keterangan gambar 5.20 ini adalah halaman daftar unit rumah untuk
menambahkan,mengatur dan melihat unit rumah dan halaman daftar unit
rumah akan terhubung dengan denah rumah.
77
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Penulis dapat menyimpulkan beberapa hal terkait dengan
perancangan aplikasi penjualan rumah dengan pemetaan yang sudah
dijelaskan pada bab-bab sebelumnya adalah sebagai berikut :
1. Fitur yang terdapat pada penjualan rumah dengan pemetaan ini dapat
memudahkan sales/marketing untuk melakukan proses transaksi
penjualan rumah dengan mengetahui letak posisi rumah.
2. Pimpinan atau bagian administrator dapat memonitoring hasil dari
penjualan dengan mengakses bagian admin dari website.
3. Kasir dapat melakukan proses transaksi pembayaran rumah pelanggan
dengan angsuran atau tunai.
6.2 Saran
Saran-saran yang dapat penulis sampaikan berdasarkan analisis hasil
dan pembahasan penelitian yang telah dilakukan yaitu :
1. Aplikasi penjualan rumah dengan pemetaan dapat dikembangkan
dalam bentuk Mobile Application.
2. Metode pembayaran untuk angsuran harus ditambahkan, untuk
memudahkan pelanggan dalam bertransaksi, seperti contoh
menggunakan debit atau kerjasama dengan pihak ketiga.
78
UIN Syarif Hidayatullah Jakarta
DAFTAR PUSTAKA Buku
A.S., Rosa dan Shalahuddin, M. 2015. Rekayasa Perangkat Lunak Terstruktur dan
Berorientasi Objek. Bandung: Informatika Bandung.
Bunafit, Nugroho. 2006. Membuat Aplikasi Sistem Pakar dengan PHP dan My SQL
dengan PHP dan MySQL dengan Editor Dreamweaver. Yogyakarta: Ardana
Media.
Connolly, Thomas and Begg, Carolyn. 2010. Database Systems A Practical
Approach to Design, Implementation, and Management Fifth Edition.
Boston: Pearson Education
Hartono, Jogiyanto. 2007. Metodelogi Penelitian Sistem Informasi. Yogyakarta:
CV Andi Offset.
Indrajani. 2015. Database Design (Case Study All in One). Jakarta: PT Elex Media
Komputindo.
Munawar. 2005. Pemodelan Visual dengan UML. Yogyakarta: Graha Ilmu.
Roger S. Pressman. 2002. Rekayasa Perangkat Lunak Pendekatan Praktisi (Buku
Satu). Yogyakarta: CV. Andi Offset
Thomson, Laura dan Welling, Luke. 2001. PHP and MySQL Web Development,
SAMS, Indiana-USA.
79
UIN Syarif Hidayatullah Jakarta
Thomson, Laura dan Welling, Luke. 2001. PHP and MySQL Web Development,
SAMS, Indiana-USA.
Jurnal
Al-Bahra Bin Ladjamudin. 2013. Analisis dan Desain Sistem Informasi. Graha
Ilmu. Yogyakarta
Asropudin Pipin. 2013. Kamus Teknologi Informasi. Titian Ilmu. Bandung
A.S. Rosa, dan Shalahudin M, 2013. Rekayasa Perangkat Lunak - Terstruktur dan
Berorientasi Objek. Bandung : Modula.
A.S. Rosa, dan Shalahudin M, 2015, Rekayasa Perangkat Lunak Terstruktur dan
Berorientasi Objek, Informatika, Bandung.
Badiyanto. 2013. Buku Pintar Framework Yii. Mediakom. Yogyakarta
Budi Raharjo. 2015. Mudah Belajar C#( Pemograman C# dan Visual C#).
Informatika. Bandung
Dwiartara Loka. 2010. Menyelam & Menaklukan Samudra PHP. Gava Media.
Yogyakarta
Fadhli dan Joni Devitra. 2017. Analisis dan Perancangan Sistem Informasi
Penjualan Rumah Berbasis Web Pada Pt. Mitra Hasri. STIKOM Dinamika
Bangsa
Hasugian, L. 2014. Pengetian Aplikasi. Retrieved From Lesmardin1988
Jopie Jusuf. 2014, Analisis Kredit Untuk Account Officer. PT Gramedia. Jakarta
80
UIN Syarif Hidayatullah Jakarta
Kasmir. 2014. Bank dan Lembaga Keuangan Lainnya Edisi Revisi, Cetakan
Keempat Belas, PT. Raja Grafindo Persada, Jakarta.
Komputer, Wahana. 2012. Membangun Web Interaktif dengan Adobe
Dreamweaver CS5, PHP dan MySQL. Andi Yogyakarta. Semarang
Lilis, Puspitawati dan Sri Dewi Anggadini. 2011. Sistem Informasi Akuntansi.
Graha Ilmu. Jakarta
Nugroho, Bunafit. 2013. Dasar Pemograman Web PHP – MySQL dengan
Dreamweaver. Gava Media. Yogyakarta
Oktariani. 2015. Sistem Informasi Penjualan Perumahan Pada PT. Karya Utama
Jaya Palembang. STMIK Palcomtech Palembang
Putri Candra Sakarani, Raswyshnoe Boing Kotjoprayudhi dan Irna Yuniar. 2016.
Aplikasi Berbasis Web untuk Pencatatan Penjualan Rumah Studi Kasus
Pada PT. Dayu Putrido Makasar. Telkom University
R. A. Sukamto dan M. Salahudin. 2013. Rekayasa Perangkat Lunak. Bandung
Resy Silvia Putu Sanusi, dkk. 2012. Perancangan System Informasi Transaksi
Penjualan Rumah. Jurnal Ilmiah Sidang Ilmu Teknik Informatika
Republik Indonesia. 2011. Undang-Undang nomor 1 tahun 2011 tentang
Perumahan dan Kawasan Permukiman. Jakarta.
Rivai dkk. 2013. Commercial Bank Management : Manajemen Perbankan dari
Teori ke Praktik Edisi 1. Cetakan 1. Jakarta
Sadana, Agus. 2014. Perencanaan Kawasan Permukiman. Graha Ilmu. Yogyakarta
Setiawan, Hendra . 2015. Akuntansi Kredit yangg diberikan
81
UIN Syarif Hidayatullah Jakarta
Sulistiyowati, Leny 2014. Panduan Praktis Memahami Laporan Keuangan. Elex
Media Komputindo
82
UIN Syarif Hidayatullah Jakarta
Lampiran
83
UIN Syarif Hidayatullah Jakarta
CODE PADA APLIKASI PENJUALAN PERUMAHAN
A.Configurasi
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
|--------------------------------------------------------------------------
| Base Site URL
|--------------------------------------------------------------------------
|
| URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash:
|
| http://example.com/
|
| If this is not set then CodeIgniter will try guess the protocol, domain
| and path to your installation. However, you should always configure this
| explicitly and never rely on auto-guessing, especially in production
| environments.
|
*/
$config['base_url'] = 'http://'.$_SERVER['HTTP_HOST'].'/rumah/';
/*
|--------------------------------------------------------------------------
| Index File
|--------------------------------------------------------------------------
|
| Typically this will be your index.php file, unless you've renamed it to
| something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank.
|
84
UIN Syarif Hidayatullah Jakarta
*/
$config['index_page'] = '';
/*
|--------------------------------------------------------------------------
| URI PROTOCOL
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string. The default setting of 'REQUEST_URI' works for most
servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'REQUEST_URI' Uses $_SERVER['REQUEST_URI']
| 'QUERY_STRING' Uses $_SERVER['QUERY_STRING']
| 'PATH_INFO' Uses $_SERVER['PATH_INFO']
|
| WARNING: If you set this to 'PATH_INFO', URIs will always be URL-
decoded!
*/
$config['uri_protocol'] = 'REQUEST_URI';
/*
|--------------------------------------------------------------------------
| URL suffix
|--------------------------------------------------------------------------
|
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
| For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/urls.html
*/
85
UIN Syarif Hidayatullah Jakarta
$config['url_suffix'] = '';
sumber air sudekat
/*
|--------------------------------------------------------------------------
| Default Language
|--------------------------------------------------------------------------
|
| This determines which set of language files should be used. Make sure
| there is an available translation if you intend to use something other
| than english.
|
*/
$config['language'] = 'english';
/*
|--------------------------------------------------------------------------
| Default Character Set
|--------------------------------------------------------------------------
|
| This determines which character set is used by default in various methods
| that require a character set to be provided.
|
| See http://php.net/htmlspecialchars for a list of supported charsets.
|
*/
$config['charset'] = 'UTF-8';
/*
|--------------------------------------------------------------------------
| Enable/Disable System Hooks
|--------------------------------------------------------------------------
86
UIN Syarif Hidayatullah Jakarta
|
| If you would like to use the 'hooks' feature you must enable it by
| setting this variable to TRUE (boolean). See the user guide for details.
|
*/
$config['enable_hooks'] = FALSE;
/*
|--------------------------------------------------------------------------
| Class Extension Prefix
|--------------------------------------------------------------------------
|
| This item allows you to set the filename/classname prefix when extending
| native libraries. For more information please see the user guide:
|
| http://codeigniter.com/user_guide/general/core_classes.html
| http://codeigniter.com/user_guide/general/creating_libraries.html
|
*/
$config['subclass_prefix'] = 'MY_';
/*
|--------------------------------------------------------------------------
| Composer auto-loading
|--------------------------------------------------------------------------
|
| Enabling this setting will tell CodeIgniter to look for a Composer
| package auto-loader script in application/vendor/autoload.php.
|
| $config['composer_autoload'] = TRUE;
|
| Or if you have your vendor/ directory located somewhere else, you
87
UIN Syarif Hidayatullah Jakarta
| can opt to set a specific path as well:
|
| $config['composer_autoload'] = '/path/to/vendor/autoload.php';
|
| For more information about Composer, please visit http://getcomposer.org/
|
| Note: This will NOT disable or override the CodeIgniter-specific
| autoloading (application/config/autoload.php)
*/
$config['composer_autoload'] = FALSE;
/*
|--------------------------------------------------------------------------
| Allowed URL Characters
|--------------------------------------------------------------------------
|
| This lets you specify which characters are permitted within your URLs.
| When someone tries to submit a URL with disallowed characters they will
| get a warning message.
|
| As a security measure you are STRONGLY encouraged to restrict URLs to
| as few characters as possible. By default only these are allowed: a-z 0-
9~%.:_-
|
| Leave blank to allow all characters -- but only if you are insane.
|
| The configured value is actually a regular expression character group
| and it will be executed as: ! preg_match('/^[<permitted_uri_chars>]+$/i
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE
REPERCUSSIONS!!
|
88
UIN Syarif Hidayatullah Jakarta
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
/*
|--------------------------------------------------------------------------
| Enable Query Strings
|--------------------------------------------------------------------------
|
| By default CodeIgniter uses search-engine friendly segment based URLs:
| example.com/who/what/where/
|
| By default CodeIgniter enables access to the $_GET array. If for some
| reason you would like to disable it, set 'allow_get_array' to FALSE.
|
| You can optionally enable standard query string based URLs:
| example.com?who=me&what=something&where=here
|
| Options are: TRUE or FALSE (boolean)
|
| The other items let you set the query string 'words' that will
| invoke your controllers and its functions:
| example.com/index.php?c=controller&m=function
|
| Please note that some of the helpers won't work as expected when
| this feature is enabled, since CodeIgniter is designed primarily to
| use segment based URLs.
|
*/
$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
89
UIN Syarif Hidayatullah Jakarta
$config['directory_trigger'] = 'd';
/*
|--------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------
|
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
| 0 = Disables logging, Error logging TURNED OFF
| 1 = Error Messages (including PHP errors)
| 2 = Debug Messages
| 3 = Informational Messages
| 4 = All Messages
|
| You can also pass an array with threshold levels to show individual error
types
|
| array(2) = Debug Messages, without Error Messages
|
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;
/*
|--------------------------------------------------------------------------
| Error Logging Directory Path
|--------------------------------------------------------------------------
|
90
UIN Syarif Hidayatullah Jakarta
| Leave this BLANK unless you would like to set something other than the
default
| application/logs/ directory. Use a full server path with trailing slash.
|
*/
$config['log_path'] = '';
/*
|--------------------------------------------------------------------------
| Log File Extension
|--------------------------------------------------------------------------
|
| The default filename extension for log files. The default 'php' allows for
| protecting the log files via basic scripting, when they are to be stored
| under a publicly accessible directory.
|
| Note: Leaving it blank will default to 'php'.
|
*/
$config['log_file_extension'] = '';
/*
|--------------------------------------------------------------------------
| Log File Permissions
|--------------------------------------------------------------------------
|
| The file system permissions to be applied on newly created log files.
|
| IMPORTANT: This MUST be an integer (no quotes) and you MUST use
octal
| integer notation (i.e. 0700, 0644, etc.)
*/
91
UIN Syarif Hidayatullah Jakarta
$config['log_file_permissions'] = 0644;
/*
|--------------------------------------------------------------------------
| Date Format for Logs
|--------------------------------------------------------------------------
|
| Each item that is logged has an associated date. You can use PHP date
| codes to set your own date formatting
|
*/
$config['log_date_format'] = 'Y-m-d H:i:s';
/*
|--------------------------------------------------------------------------
| Error Views Directory Path
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the
default
| application/views/errors/ directory. Use a full server path with trailing
slash.
|
*/
$config['error_views_path'] = '';
/*
|--------------------------------------------------------------------------
| Cache Directory Path
|--------------------------------------------------------------------------
|
92
UIN Syarif Hidayatullah Jakarta
| Leave this BLANK unless you would like to set something other than the
default
| application/cache/ directory. Use a full server path with trailing slash.
|
*/
$config['cache_path'] = '';
/*
|--------------------------------------------------------------------------
| Cache Include Query String
|--------------------------------------------------------------------------
|
| Whether to take the URL query string into consideration when generating
| output cache files. Valid options are:
|
| FALSE = Disabled
| TRUE = Enabled, take all query parameters into account.
| Please be aware that this may result in numerous cache
| files generated for the same page over and over again.
| array('q') = Enabled, but only take into account the specified list
| of query parameters.
|
*/
$config['cache_query_string'] = FALSE;
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| If you use the Encryption class, you must set an encryption key.
| See the user guide for more info.
93
UIN Syarif Hidayatullah Jakarta
|
| http://codeigniter.com/user_guide/libraries/encryption.html
|
*/
$config['encryption_key'] = '';
/*
|--------------------------------------------------------------------------
| Session Variables
|--------------------------------------------------------------------------
|
| 'sess_driver'
|
| The storage driver to use: files, database, redis, memcached
|
| 'sess_cookie_name'
|
| The session cookie name, must contain only [0-9a-z_-] characters
|
| 'sess_expiration'
|
| The number of SECONDS you want the session to last.
| Setting to 0 (zero) means expire when the browser is closed.
|
| 'sess_save_path'
|
| The location to save sessions to, driver dependent.
|
| For the 'files' driver, it's a path to a writable directory.
| WARNING: Only absolute paths are supported!
|
| For the 'database' driver, it's a table name.
94
UIN Syarif Hidayatullah Jakarta
| Please read up the manual for the format with other session drivers.
|
| IMPORTANT: You are REQUIRED to set a valid save path!
|
| 'sess_match_ip'
|
| Whether to match the user's IP address when reading the session
data.
|
| WARNING: If you're using the database driver, don't forget to
update
| your session table's PRIMARY KEY when changing this setting.
|
| 'sess_time_to_update'
|
| How many seconds between CI regenerating the session ID.
|
| 'sess_regenerate_destroy'
|
| Whether to destroy session data associated with the old session ID
| when auto-regenerating the session ID. When set to FALSE, the data
| will be later deleted by the garbage collector.
|
| Other session cookie settings are shared with the rest of the application,
| except for 'cookie_prefix' and 'cookie_httponly', which are ignored here.
|
*/
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
95
UIN Syarif Hidayatullah Jakarta
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
/*
|--------------------------------------------------------------------------
| Cookie Related Variables
|--------------------------------------------------------------------------
|
| 'cookie_prefix' = Set a cookie name prefix if you need to avoid collisions
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
| 'cookie_path' = Typically will be a forward slash
| 'cookie_secure' = Cookie will only be set if a secure HTTPS connection
exists.
| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no
javascript)
|
| Note: These settings (with the exception of 'cookie_prefix' and
| 'cookie_httponly') will also affect sessions.
|
*/
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
/*
|--------------------------------------------------------------------------
| Standardize newlines
|--------------------------------------------------------------------------
|
| Determines whether to standardize newline characters in input data,
96
UIN Syarif Hidayatullah Jakarta
| meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value.
|
| This is particularly useful for portability between UNIX-based OSes,
| (usually \n) and Windows (\r\n).
|
*/
$config['standardize_newlines'] = FALSE;
/*
|--------------------------------------------------------------------------
| Global XSS Filtering
|--------------------------------------------------------------------------
|
| Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered
|
| WARNING: This feature is DEPRECATED and currently available only
| for backwards compatibility purposes!
|
*/
$config['global_xss_filtering'] = FALSE;
/*
|--------------------------------------------------------------------------
| Cross Site Request Forgery
|--------------------------------------------------------------------------
| Enables a CSRF cookie token to be set. When set to TRUE, token will be
| checked on a submitted form. If you are accepting user data, it is strongly
| recommended CSRF protection be enabled.
|
| 'csrf_token_name' = The token name
| 'csrf_cookie_name' = The cookie name
97
UIN Syarif Hidayatullah Jakarta
| 'csrf_expire' = The number in seconds the token should expire.
| 'csrf_regenerate' = Regenerate token on every submission
| 'csrf_exclude_uris' = Array of URIs which ignore CSRF checks
*/
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
$config['csrf_regenerate'] = TRUE;
$config['csrf_exclude_uris'] = array();
/*
|--------------------------------------------------------------------------
| Output Compression
|--------------------------------------------------------------------------
|
| Enables Gzip output compression for faster page loads. When enabled,
| the output class will test whether your server supports Gzip.
| Even if it does, however, not all browsers support compression
| so enable only if you are reasonably sure your visitors can handle it.
|
| Only used if zlib.output_compression is turned off in your php.ini.
| Please do not use it together with httpd-level output compression.
|
| VERY IMPORTANT: If you are getting a blank page when compression is
enabled it
| means you are prematurely outputting something to your browser. It could
| even be a line of whitespace at the end of one of your scripts. For
| compression to work, nothing can be sent before the output buffer is called
| by the output class. Do not 'echo' any values with compression enabled.
|
*/
98
UIN Syarif Hidayatullah Jakarta
$config['compress_output'] = FALSE;
/*
|--------------------------------------------------------------------------
| Master Time Reference
|--------------------------------------------------------------------------
|
| Options are 'local' or any PHP supported timezone. This preference tells
| the system whether to use your server's local time as the master 'now'
| reference, or convert it to the configured one timezone. See the 'date
| helper' page of the user guide for information regarding date handling.
|
*/
$config['time_reference'] = 'local';
/*
|--------------------------------------------------------------------------
| Rewrite PHP Short Tags
|--------------------------------------------------------------------------
|
| If your PHP installation does not have short tag support enabled CI
| can rewrite the tags on-the-fly, enabling you to utilize that syntax
| in your view files. Options are TRUE or FALSE (boolean)
|
| Note: You need to have eval() enabled for this to work.
|
*/
$config['rewrite_short_tags'] = FALSE;
/*
|--------------------------------------------------------------------------
| Reverse Proxy IPs
99
UIN Syarif Hidayatullah Jakarta
|--------------------------------------------------------------------------
|
| If your server is behind a reverse proxy, you must whitelist the proxy
| IP addresses from which CodeIgniter should trust headers such as
| HTTP_X_FORWARDED_FOR and HTTP_CLIENT_IP in order to
properly identify
| the visitor's IP address.
|
| You can use both an array or a comma-separated list of proxy addresses,
| as well as specifying whole subnets. Here are a few examples:
|
| Comma-separated: '10.0.1.200,192.168.5.0/24'
| Array: array('10.0.1.200', '192.168.5.0/24')
*/
$config['proxy_ips'] = '';
B.Database
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
100
UIN Syarif Hidayatullah Jakarta
|
| ['dsn'] The full DSN string describe a connection to the database.
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database driver. e.g.: mysqli.
| Currently supported:
| cubrid, ibase, mssql, mysql, mysqli, oci8,
| odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
| ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Query Builder
class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be
displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the
database
| ['dbcollat'] The character collation used in communicating with the
database
| NOTE: For MySQL and MySQLi databases,
this setting is only used
| as a backup if your server is running PHP <
5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB
Forge).
| There is an incompatibility in PHP with
mysql_real_escape_string() which
| can make your site vulnerable to SQL injection
if you are using a
101
UIN Syarif Hidayatullah Jakarta
| multi-byte character set and are running
versions lower than these.
| Sites using Latin-1 or UTF-8 database character
set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the
dbprefix
| ['encrypt'] Whether or not to use an encrypted connection.
|
| 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers
accept TRUE/FALSE
| 'mysqli' and 'pdo/mysql' drivers accept an array with
the following options:
|
| 'ssl_key' - Path to the private key file
| 'ssl_cert' - Path to the public key certificate file
| 'ssl_ca' - Path to the certificate authority file
| 'ssl_capath' - Path to a directory containing
trusted CA certificats in PEM format
| 'ssl_cipher' - List of *allowed* ciphers to be used
for the encryption, separated by colons (':')
| 'ssl_verify' - TRUE/FALSE; Whether verify the
server certificate or not ('mysqli' only)
|
| ['compress'] Whether or not to use client compression (MySQL only)
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict
SQL while developing
| ['ssl_options'] Used to set various SSL options that can be used when
making SSL connections.
| ['failover'] array - A array with 0 or more data for connections if the
main should fail.
102
UIN Syarif Hidayatullah Jakarta
| ['save_queries'] TRUE/FALSE - Whether to "save" all executed
queries.
| NOTE: Disabling this will also effectively disable
both
| $this->db->last_query() and profiling of DB
queries.
| When you run a query, with this setting set to
TRUE (default),
| CodeIgniter will store the SQL statement for
debugging purposes.
| However, this may cause high memory usage,
especially if you run
| a lot of SQL queries ... disable this to avoid that
problem.
|
| The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group).
|
| The $query_builder variables lets you determine whether or not to load
| the query builder class.
*/
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'rumah',
'dbdriver' => 'mysqli',
'dbprefix' => '',
103
UIN Syarif Hidayatullah Jakarta
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
C.Admin
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class admin extends DC_controller {
function __construct() {
parent::__construct();
if($this->router->fetch_method()=='index'){
$method='';
}else{
$method=str_replace('_',' ',$this->router-
>fetch_method());
}
104
UIN Syarif Hidayatullah Jakarta
$this->controller_attr = array('controller' =>
'admin','controller_name' =>
'Admin','method'=>ucwords($method),'menu'=>$this->get_menu());
}
public function index(){
$data = $this->controller_attr;
if($this->session->userdata('admin') != FALSE){
redirect('admin/dashboard');
}
else{
redirect('admin/login');
}
}
function login(){
$data = $this->controller_attr;
$data['function']='login';
$this->load->view('admin/index',$data);
}
function do_login()
{
$data = $this->controller_attr;
$data['function']='do_login';
if($this->session->userdata('admin') == FALSE){
$username = $this->input->post('username');
$password = $this->input->post('password');
$admin_user =select_where($this-
>tbl_user,'username',$username)->row();
105
UIN Syarif Hidayatullah Jakarta
if($admin_user){
if($admin_user->password == md5($password)){
$data_user = array(
'id' => $admin_user->id,
'username' => $admin_user-
>username,
'email' => $admin_user->email,
'password' => $admin_user-
>password,
'first_name' => $admin_user-
>first_name,
'last_name' => $admin_user-
>last_name,
'photo' => $admin_user->photo,
'user_group' => $admin_user-
>user_group,
);
$this->session-
>set_userdata('admin',$data_user);
redirect('admin/dashboard');
}
else{
$this->session-
>set_flashdata('notif','error');
$this->session->set_flashdata('msg','Your
password is wrong');
redirect('admin/login');
}
}
else{
$this->session-
>set_flashdata('notif','info');
106
UIN Syarif Hidayatullah Jakarta
$this->session-
>set_flashdata('msg','Username not registered');
redirect('admin/login');
}
}else{
redirect('admin/dashboard');
}
}
function logout(){
$data = $this->controller_attr;
$data += array('function' => 'logout','function_name' =>
'Logout');
if($this->session->userdata('admin') != FALSE){
$this->session->unset_userdata('admin');
redirect('admin/login');
}
else
redirect('admin');
}
function dashboard(){
if($this->session->userdata('admin') == FALSE){
redirect('admin/login');
}
$data = $this->controller_attr;
$data['customer']=select_where($this->tbl_customer,'name
!=',1)->num_rows();
$data['unit_sold']=select_where($this->tbl_unit,'status ',1)-
>num_rows();
$data['unit_available']=select_where($this-
>tbl_unit,'status',null)->num_rows();
107
UIN Syarif Hidayatullah Jakarta
$data['unit_buy']=$this->db->query("SELECT * FROM
dc_kontrak_unit` WHERE date_created LIKE '".date('Y-m-d')."'")-
>num_rows();
$data['unit_all']=select_where($this->tbl_unit,'name !=',1)-
>num_rows();
$data['upcoming_payment']=select_all_limit_order($this-
>tbl_kontrak_payment_schedule,'10','jatuh_tempo','ASC')->result();
foreach ($data['upcoming_payment'] as $key) {
$kontrak = select_where($this->tbl_kontrak, 'id', $key-
>kontrak_id)->row();
$key->no_kontrak = $kontrak->no_kontrak;
$customer = select_where($this->tbl_customer, 'id', $kontrak-
>customer_id)->row();
$key->customer_nm = $customer->name;
$key->nominal = indonesian_currency($key->nominal);
$key->jatuh_tempo = indonesian_date($key->jatuh_tempo);
}
$data['page'] = $this->load-
>view('admin/dashboard',$data,true);
$this->load->view('layout_backend',$data);
}
function profile(){
if($this->session->userdata('admin') == FALSE){
redirect('admin/login');
}
$data = $this->controller_attr;
$data['function']='profile';
$data['data'] = select_where($this->tbl_user,'id',$this->session-
>userdata['admin']['id'])->row();
$data['page'] = $this->load->view('admin/profile',$data,true);
$this->load->view('layout_backend',$data);
108
UIN Syarif Hidayatullah Jakarta
}
function profile_update(){
$data = $this->controller_attr;
$data['function']='profile';
$id=$this->input->post('id');
$table_field = $this->db->list_fields($this->tbl_user);
$update = array();
$user=select_where($this->tbl_user,'id',$this->session-
>userdata['admin']['id'])->row();
foreach ($table_field as $field) {
$update[$field] = $this->input->post($field);
}
$email=select_where($this->tbl_user,'email',$update['email'])-
>num_rows();
if($email>0 and $update['email']!=$user->email){
$this->session->set_flashdata('notif','error');
$this->session->set_flashdata('msg','Sorry, email is
already registered');
redirect($data['controller']."/".$data['function']);
}
$username=select_where($this->tbl_user,'email',$update['username'])-
>num_rows();
if($username>0 and $update['username']!=$user->username){
$this->session->set_flashdata('notif','error');
$this->session->set_flashdata('msg','Sorry, username is
already registered');
redirect($data['controller']."/".$data['function']);
}
if($update['password']==''){
$update['password']=$user->password;
}else{
109
UIN Syarif Hidayatullah Jakarta
if(md5($this->input->post('old_password'))!=$user->password){
$this->session->set_flashdata('notif','error');
$this->session->set_flashdata('msg','Sorry, your old
password is not match');
redirect($data['controller']."/".$data['function']);
}elseif($this->input->post('password')!=$this->input-
>post('password')){
$this->session->set_flashdata('notif','error');
$this->session->set_flashdata('msg','Sorry, your
password and confirm password is not match');
redirect($data['controller']."/".$data['function']);
}else{
$update['password']=md5($this->input->post('password'));
}
}
if($update['user_group']==''){
$update['user_group']=$user->user_group;
}
if(empty($_FILES['photo']['name'])){
$update['photo']=$user->photo;
}else{
if (!file_exists('assets/uploads/user-admin/'.$user->id)) {
mkdir('assets/uploads/user-admin/'.$user->id,
0777, true);
}
$config['upload_path'] = 'assets/uploads/user-admin/'.$user->id;
$config['allowed_types'] = 'jpg|jpeg|png|gif';
$config['file_name'] = $_FILES['photo']['name'];
$this->upload->initialize($config);
if($this->upload->do_upload('photo')){
$uploadData = $this->upload->data();
$update['photo']=$uploadData['file_name'];;
110
UIN Syarif Hidayatullah Jakarta
$file = "assets/uploads/user-admin/".$user->id."/".$user-
>photo;
unlink($file);
}else{
echo"error upload";
die();
}
}
$update['date_modified']= date("Y-m-d H:i:s");
$update['id_modifier']=$this->session->userdata['admin']['id'];
$query=update($this->tbl_user,$update,'id',$id);
if($query){
$admin_user=select_where($this->tbl_user,'id',$this-
>session->userdata['admin']['id'])->row();
$data_user = array(
'id' => $admin_user->id,
'username' => $admin_user-
>username,
'email' => $admin_user->email,
'password' => $admin_user-
>password,
'first_name' => $admin_user-
>first_name,
'last_name' => $admin_user-
>last_name,
'photo' => $admin_user->photo,
'user_group' => $admin_user-
>user_group,
);
$this->session->set_userdata('admin',$data_user);
$this->session->set_flashdata('notif','success');
111
UIN Syarif Hidayatullah Jakarta
$this->session->set_flashdata('msg','Your data have
been updated');
}else{
$this->session->set_flashdata('notif','error');
$this->session->set_flashdata('msg','Your data not
updated');
}
redirect($data['controller']."/".$data['function']);
}
}
D. Kontrak Unit
<?php if($this->session->flashdata('notif')){ ?>
<div class="alert alert-<?php echo $this->session->flashdata('notif') ?>">
<button class="close" data-dismiss="alert"></button>
<?php echo $this->session->flashdata('notif') ?>: <?php echo $this-
>session->flashdata('msg') ?></div>
<?php } ?>
<div class="row">
<div class="col-md-12">
<div class="grid simple">
<div class="grid-title no-border">
<div class="tools"> <a href="javascript:;" class="collapse"></a>
<a href="#grid-config" data-toggle="modal" class="config"></a> <a
href="javascript:;" class="reload"></a> <a href="javascript:;"
class="remove"></a> </div>
<div class="grid-body no-border">
112
UIN Syarif Hidayatullah Jakarta
<div class="row">
<div class="col-md-8">
<form method="POST" action="<?php echo
base_url()."".$controller.'/'.$function."_add"?>">
<input type="hidden" value="<?php if($data!=null) echo $data->id;
?>" name="id">
<input type="hidden" value="<?php if($data!=null) echo $data-
>is_signed; ?>" name="is_signed">
<input type="hidden" id="base_url" val=<?=base_url()?>>
<div class="form-group">
<label class="form-label">No. Kontrak</label>
<div class="controls">
<input required type="text" class="form-control"
name="no_kontrak" id="px-unit-area-name" value="<?php echo
sprintf('%08d', $id) ?>">
</div>
</div>
<div class="form-group">
<div class="controls">
<table class="table table-bordered">
<thead>
<th>No</th>
<th>Area</th>
<th>Unit Name</th>
<th>Price</th>
</thead>
<?php
$i=1;$total_price=0;
113
UIN Syarif Hidayatullah Jakarta
if($flag==null):
foreach($kontrak_unit as $k){
// print_r($k);exit();
$unit = getAll($this->tbl_unit, array('id'=>'where/'.$k-
>unit_id))->row();
$total_price = $total_price + $unit->price;
?>
<tr>
<td><?=$i++?></td>
<td><?=getValue('name', $this->tbl_area,
array('id'=>'where/'.$unit->area_id))?></td>
<td><?=$unit->name?></td>
<td><?=number_format($unit->price, 0)?></td>
</tr>
<?php }
else:
foreach($pengajuan_unit as $k){
$unit = getAll($this->tbl_unit, array('id'=>'where/'.$k-
>unit_id))->row();
$total_price = $total_price + $unit->price;
?>
<tr>
<td><?=$i++?><input type="hidden" name="unit_id[]"
value="<?php echo $k->unit_id ?>"></td>
<td><?=getValue('name', $this->tbl_area,
array('id'=>'where/'.$unit->area_id))?></td>
<td><?=$unit->name?></td>
<td><?=number_format($unit->price, 0)?></td>
</tr>
<?php
}
endif; ?>
114
UIN Syarif Hidayatullah Jakarta
</table>
</div>
</div>
<div class="form-group">
<label class="form-label" >Customer</label>
<div class="controls">
<?php if ($flag != null) {
$disabled = "disabled";
echo "<input type='hidden' name='customer_id'
value=".$customer_pengajuan.">";
}else{
$disabled = "";
} ?>
<select required class="select2" style="width:100%"
name="customer_id" id="px-system-useraccess-form-id-usergroup" <?php
echo $disabled ?>>
<option value="-">-- Choose Customer --</option>
<?php foreach ($customer as $c) { ?>
<?php if($data!=null and $c->id==$data->customer_id){
$selected = "selected";
} elseif($flag!=null && $c->id == $customer_pengajuan){
$selected = "selected";
}else{
$selected = "";
}
?>
<option value="<?php echo $c->id; ?>" <?=$selected?>><?php
echo $c->name; ?></option>
<?php } ?>
</select>
</div>
115
UIN Syarif Hidayatullah Jakarta
</div>
<div class="form-group">
<label class="form-label">Sales</label>
<div class="controls">
<?php if ($flag != null) {
// debugCode($data_pengajuan->id_creator);
$disabled = "disabled";
echo "<input type='hidden' name='sales_id'
value=".$data_pengajuan->id_creator.">";
}else{
$disabled = "";
} ?>
<select required class="select2" style="width:100%"
name="sales_id" id="px-system-useraccess-form-id-usergroup" <?php echo
$disabled ?>>
<option value="-">-- Choose Sales --</option>
<?php foreach ($all_user as $au) { ?>
<?php if($data!=null and $au->id==$data->id_created){
$selected = "selected";
} elseif($flag!=null && $au->id == $data_pengajuan-
>id_creator){
$selected = "selected";
}else{
$selected = "";
}
?>
<option value="<?php echo $au->id; ?>" <?php echo $selected
?>><?php echo $au->username; ?></option>
<?php } ?>
</select>
</div>
</div>
116
UIN Syarif Hidayatullah Jakarta
<div class="form-group">
<label class="form-label">Payment Schema</label>
<div class="controls">
<select required class="select2" style="width:100%"
name="payment_scheme_id" id="payment_scheme">
<option value="-">-- Choose Payment Schema --</option>
<?php foreach ($payment_scheme as $p) { ?>
<option <?php if($data!=null and $p->id==$data-
>payment_scheme_id){ echo"selected"; } ?> value="<?php echo $p->id;
?>"><?php echo $p->title; ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group">
<label class="form-label">Kontrak Type</label>
<div class="controls">
<!-- <select class="select2" style="width:100%"
name="kontrak_type" id="px-system-useraccess-form-id-usergroup">
<option value="-">-- Choose Kontrak Type --</option>
<?php foreach ($kontrak_type as $k) { ?>
<option <?php if($data!=null and $k->id==$data-
>kontrak_type){ echo"selected"; } ?> value="<?php echo $k->id;
?>"><?php echo $k->name; ?></option>
<?php } ?>
</select> -->
<input type="text" name="" id="kontrak_type_name" value=""
class="form-control">
<input type="hidden" name="kontrak_type_id"
id="kontrak_type" value="">
</div>
</div>
117
UIN Syarif Hidayatullah Jakarta
<div class="form-group">
<label class="form-label" >Bunga(%)</label>
<div class="controls">
<input required type="text" name="bunga" id="bunga"
value="0" class="form-control" readonly>
</div>
</div>
<div class="form-group">
<label class="form-label">Price</label>
<div class="controls">
<?php if($flag!=null){?>
<input type="text" class="form-control money text-right"
onkeyup="hitung()" name="price" id="price" value="<?php echo
$nominal_pengajuan; ?>" readonly>
<?php
}else{
?>
<input required type="text" class="form-control money text-right"
onkeyup="hitung()" name="price" id="price" value="<?php echo
$total_price; ?>" readonly>
<?php } ?>
</div>
</div>
<div class="form-group">
<label class="form-label">Booking Fee</label>
<div class="controls">
<input required type="text" class="form-control money text-right"
onkeyup="hitung()" name="booking_fee" id="booking_fee" value="<?php
if($booking_fee!=null) echo $booking_fee;else echo 0; ?>">
</div>
118
UIN Syarif Hidayatullah Jakarta
</div>
<div class="form-group">
<label class="form-label">Sisa Hutang</label>
<div class="controls">
<input type="text" class="form-control money text-right"
name="sisa_hutang" id="sisa-hutang" value="<?php if($data!=null) echo
$data->sisa_hutang; ?>" readonly>
</div>
</div>
<input type="hidden" name="rekening_id" value="0">
<br/>
<div class="controls">
<button type="submit" class="btn btn-
primary">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<link
href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.3/summernote.cs
s" rel="stylesheet">
<script
src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.3/summernote.js"
></script>
119
UIN Syarif Hidayatullah Jakarta
<script type="text/javascript" src="<?php echo base_url()
?>assets/js/plugins/jquery-mask-money/jquery.maskMoney.js"></script>
<script type="text/javascript" src="<?php echo base_url()
?>assets/page/sales/kontrak_form.js"></script>