Thesis of Amiga Utomo
-
Upload
amiga-utomo -
Category
Education
-
view
468 -
download
28
description
Transcript of Thesis of Amiga Utomo
PENGEMBANGAN SOFTWARE APLIKASI
PHP POINT OF SALE:
STUDI KASUS PERFUME HOUSE BANDA ACEH
TESIS
Oleh:
Amiga Utomo
1111600068
PROGRAM STUDI: MAGISTER ILMU KOMPUTER (MKOM)
PROGRAM PASCASARJANA
UNIVERSITAS BUDI LUHUR
JAKARTA
2013
PENGEMBANGAN SOFTWARE APLIKASI
PHP POINT OF SALE:
STUDI KASUS PERFUME HOUSE BANDA ACEH
TESIS
Diajukan untuk memenuhi salah satu persyaratan
memperoleh gelar Magister Ilmu Komputer (MKOM)
Oleh:
Amiga Utomo
1111600068
PROGRAM STUDI: MAGISTER ILMU KOMPUTER (MKOM)
PROGRAM PASCASARJANA
UNIVERSITAS BUDI LUHUR
JAKARTA
2013
LEMBAR PERNYATAAN
Saya yang bertanda tangan dibawah ini :
Nama Mahasiswa : Amiga Utomo
Nomor Induk Mahasiswa : 1111600068
Program Studi : Magister Ilmu Komputer
Konsentrasi : Teknologi Sistem Informasi
Fakultas/Program : Pasca Sarjana
menyatakan bahwa Tesis yang berjudul:
PENGEMBANGAN SOFTWARE APLIKASI PHP POINT OF SALE: STUDI KASUS
PERFUFUME HOUSE BANDA ACEH
1. merupakan hasil karya tulis ilmiah sendiri dan bukan merupakan karya yang
pernah diajukan untuk memperoleh gelar akademik oleh pihak lain,
2. saya ijinkan untuk dikelola oleh Universitas Budi Luhur sesuai dengan norma
hukum dan etika yang berlaku.
Pernyataan ini saya buat dengan penuh tanggung jawab dan saya bersedia menerima
konsekuensi apapun sesuai aturan yang berlaku apabila di kemudian hari pernyataan ini
tidak benar.
Jakarta, .......................................
Meterai 6000 IDR
( Amiga Utomo )
PROGRAM STUDI: MAGISTER ILMU KOMPUTER (MKOM)
PROGRAM PASCASARJANA
UNIVERSITAS BUDI LUHUR
LEMBAR PENGESAHAN
Nama Mahasiswa : Amiga Utomo
Nomor Induk Mahasiswa : 1111600068
Konsentrasi : Teknologi Sistem Informasi
Judul Proposal Tesis : Pengembangan Software Aplikasi PHP Point of Sale:
Studi Kasus Perfufume House Banda Aceh
Jakarta, . . . . . . . . . . . . .
Tim Penguji: Tanda Tangan:
Ketua,
( . . . . . . . . . . . . . . . . . . . . . ) . . . . . . . . . . . . . . . . . . . . .
Anggota,
( . . . . . . . . . . . . . . . . . . . . . ) . . . . . . . . . . . . . . . . . . . . .
Pembimbing Utama,
( Dr. Moedjiono, M.Sc ) . . . . . . . . . . . . . . . . . . . . .
Pembimbing Pendamping,
( Samidi, M.M, M.Kom ) . . . . . . . . . . . . . . . . . . . . .
Ketua Program Studi
Dr., Ir. Nazori Az, M.T
PROGRAM STUDI: MAGISTER ILMU KOMPUTER (MKOM)
PROGRAM PASCASARJANA
UNIVERSITAS BUDI LUHUR
i
ABSTRAK
Point of sale adalah sistem aplikasi online yang di gunakan pada umumnya oleh
perusahan yang bergerak di bidang bisnis retail sebagai sistem informasi.
Fungsinya yaitu untuk mengendalikan seluruh proses bisnis yang berjalan pada
perusahaan retail berikut juga dengan proses bisnis cabang atau anak perusahaan
dari perusahaan bisnis retail tersebut. Pada Perusahaan Perfume House Banda
Aceh, teknologi yang di gunakan untuk kasir adalah mesin cash register yang
penggunaannya manual, sehinnga di butuhkan teknologi yang lebih baik seperti
Point of sale yang pada umumnya di kembangkan dalam bahasa pemograman
PHP dengan database MYSQL untuk penyimpanan datanya. Melihat
perkembangan teknologi dimasa kini bahwa memungkinkan untuk melakukan
kegiatan bisnis secara online melalui jaringan internet sehingga memudahkan
pengguna dalam melaksanakan kegiatan bisnisnya dengan cepat dan rapi. Dalam
pengembangan Aplikasi php point of sale pada perusahaan retail Perfume House
Banda Aceh ini terlebih dahulu dilakukan analisa terhadap objek dengan metode
Object Oriental Analysis and Design, serta ovservasi langsung dengan
menggunakan metode Waterfall, hal ini di lakukan agar kebutuhan perusahaan
dengan fitur dari aplikasi dapat disesuaikan, serta dalam pengembangannya dapat
sesuai dengan standarisasi perangkat lunak ISO 9126. Point of Sale pada
perusahaan Perfume House Banda Aceh akan memudahkan perusahaan dalam
pengolahan data dalam bentuk laporan harian , bulanan atau tahunan yg dalam
penggunaannya biasanya di jadikan bahan pertimbangan dalam pengambilan
keputusan di perusahaan. Dengan Aplikasi PHP Point of Sale kebutuhan
fungsional perusahaan dapat terpenuhi sesuai dengan kebutuhan perusahaan.
Kata Kunci: Sistem Informasi, Point of Sale, PHP, MYSQL, Waterfall, Object
Oriented Analysis and Design, ISO 9126
ii
ABSTRACT
Point of sale is the online application system that is used generally by companies
engaged in retail business as an information system. Its function is to control all
business processes that run on the following retail companies with business
process, also its branch or subsidiary of the retail business. In Perfume House
Company of Banda Aceh, the technology used for the checkout is a cash register
machine that operated manually, so the Company is in need of better technology
such as Point of sale which is generally developed in the PHP programming
language with a MySQL database for data storage. Considering the current
development of technology in our world that makes it possible to do business
online through internet to allow users to carry out its business activities quickly
and tidy. On the early stages of this point of sale application development with
PHP in Perfume House Company we conducting an analysis on the object with
the Object Oriented Analysis method and Design, as well as performing direct
observation using the Waterfall method, this is done so that the needs of the
company with the features of the application can be customized, also the
development process is based on ISO 9126 software standardizations.
Implementation of Point of Sale application in the Perfume House Company of
Banda Aceh will facilitate the company in data processing in the form of daily,
monthly or the annual which can be taken into consideration in decision-making
in the company. As well as with PHP Point of Sale Applications it is that
corporate functional requirements can be met in accordance with company
requirements.
Keywords: System Informations, Point of Sale, PHP, MYSQL, Waterfall, Object
Oriented Analysis and Design, ISO 9126
iii
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Allah Yang Maha Kuasa, karena berkat
rahmat-Nya penulis bisa menyelesaikan proposal penelitian tesis yang berjudul
Pengembangan Sistem Aplikasi PHP Point of Sale: Studi Kasus Perusahaan
Perfume House Banda Aceh. Tujuan dari penulisan proposal penelitian tesis ini
adalah sebagai salah satu syarat untuk menyusun tesis pada Program Studi
Magister Ilmu Komputer, Universitas Budi Luhur Jakarta.
Rasa dan ucapan terima kasih penulis persembahkan kepada semua pihak yang
telah membantu penulis dalam menyusun proposal penelitian tesis ini:
1. Bapak Dr. Moedjiono, M.Sc. dan Bapak Samidi, M.Kom, M.M, selaku
dosen pembimbing tesis yang telah membimbing dan memotivasi penulis
dalam mengerjakan proposal penelitian tesis ini.
2. Perusahaan Perfume House Banda aceh yang telah memberikan ijin
penelitian dan membantu penulis dalam mengumpulkan data dan
informasi yang diperlukan terkait proposal penelitian tesis ini.
3. Wirda Yenri, SP, ibunda tercinta yang selalu memberikan semangat,
dukungan, dan doa bagi penulis.
4. Munawardin, SP, Ayahanda tercinta yang selalu memberikan dukungan
penuh serta doa dan semangat bagi penulis.
5. Panji Anugrah, adik tersayang yang selalu memberikan semangat kepada
penulis.
6. Riza Pahlevi Amirulmukminin, ST, selaku pimpinan perusahaan Perfume
House Banda Aceh yang bersedia mengijinkan penulis dalam melakukan
penelitian serta membangun aplikasi di perusahaan Perfume House Banda
Aceh.
iv
7. Sahabat-Sahabat tersayang, Semuel Mesak Heo, Djembris Anthony
Buling, Ajang Sopandi, Ary Budi Warsito, Lusi Fajarita, Rifka Hijjah
Ariyani, yang selalu setia memberikan dukungan moril bagi penulis.
8. Rekan-rekan mahasiswa MKOM Universitas Budi Luhur kelas XA
Semester 1 dan 2 dan MKOM Semester 3 konsentrasi Teknologi Sistem
Informasi, terima kasih atas kebersamaan, kerja keras dan dukungan
semangatnya.
9. Rekan-rekan Network security Universitas Budiluhur di Kabel yang ku
sayangi, Roy Fauzan, Wyethman Piter, Muhammad Rivai terima kasih
atas bantuannya selama ini serta ilmunya yang bermanfaat.
10. Prof. Dr. Ir. Marimin, M.Sc., atas pengenalan tentang Sistem Pengambilan
Keputusan beserta referensinya.
11. Bapak dan Ibu Dosen pengampu mata kuliah di Program Studi Magister
Ilmu Komputer Universitas Budi Luhur yang telah dengan sabar
memberikan ilmu pengetahuan, pencerahan, dan bimbingan dalam belajar.
Penulis menyadari, sebagai mahluk Allah yang jauh dari kesempurnaan, bahwa
masih banyak kekurangan dari proposal penelitian tesis ini, oleh karena itu penulis
mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan
penelitian tesis nantinya. Semoga proposal penelitian tesis ini masih dapat
memberikan manfaat dari keterbatasannya. Amin.
Jakarta, 2 Januari 2013
Amiga Utomo
v
DAFTAR ISI
ABSTRAK ............................................................................................................... i
ABSTRACT .............................................................................................................. ii
KATA PENGANTAR ........................................................................................... iii
DAFTAR ISI ............................................................................................................ v
DAFTAR GAMBAR ............................................................................................. ix
DAFTAR TABEL .................................................................................................. xi
DAFTAR LAMPIRAN ......................................................................................... xii
BAB I PENDAHULUAN .................................................................................. 1
1.1 Latar Belakang.................................................................................. 1
1.2 Masalah Penelitian............................................................................ 3
1.2.1 Identifikasi Masalah............................................................. 3
1.2.2 Pembatasan Masalah ............................................................ 3
1.2.3 Rumusan Masalah ................................................................ 4
1.3 Tujuan dan Manfaat Penelitian ......................................................... 4
1.3.1 Tujuan Penelitian ................................................................. 4
1.3.2 Manfaat Penelitian ............................................................... 5
1.4 Tata Urut Penulisan .......................................................................... 6
1.5 Daftar Pengertian .............................................................................. 7
BAB II LANDASAN TEORI DAN KERANGKA KONSEP ........................... 10
2.1 Tinjauan Pustaka ............................................................................ 10
2.1.1 Konsep Dasar ..................................................................... 10
2.1.1.1 PHP ...................................................................... 10
2.1.1.2 Point of Sale ........................................................ 10
2.1.1.3 Sistem Informasi .................................................. 11
2.1.2 Metode Pengembangan Sistem Model Waterfall .............. 13
2.1.2.1 Systems Development Life Cycle (SDLC) ......... 13
2.1.2.2 Model Waterfall ................................................... 14
2.1.3 Analisis dan Perancangan Berorientasi Obyek dengan
Unified Modeling Language .............................................. 17
vi
2.1.3.1 Konsep Dasar Analisis dan Perancangan
Berorientasi Obyek .............................................. 17
2.1.3.2 Unified Modelling Language ............................... 19
2.1.4 Kualitas Perangkat Lunak Menurut ISO 9126 .................. 21
2.1.4.1 Pengertian Kualitas Perangkat Lunak ................. 21
2.1.4.2 ISO 9126 .............................................................. 22
2.1.5 Pengujian Perangkat Lunak ............................................... 25
2.1.5.1 Konsep Dasar Pengujian Perangkat Lunak ......... 25
2.1.5.2 Teknik Pengujian Perangkat Lunak ..................... 27
2.2 Tinjauan Studi ................................................................................ 28
2.3 Tinjauan Obyek Penelitian ............................................................. 33
2.3.1 Profil Singkat Organisasi ................................................... 33
2.3.2 Visi Misi Organisasi .......................................................... 33
2.3.3 Infrastruktur Teknologi Informasi ..................................... 34
2.4 Kerangka Konsep ........................................................................... 35
2.5 Hipotesis ......................................................................................... 37
BAB III METODOLOGI DAN RANCANGAN PENELITIAN ........................ 38
3.1 Jenis Penelitian ............................................................................... 38
3.2 Metode Pemilihan Sampel .............................................................. 38
3.3 Metode Pengumpulan Data ............................................................ 39
3.4 Instrumentasi .................................................................................. 40
3.5 Teknik Analisis, Perancangan, dan Pengujian Sistem.................... 40
3.5.1 Teknik Analisis .................................................................. 40
3.5.2 Teknik Perancangan........................................................... 41
3.5.3 Teknik Pengujian Sistem ................................................... 41
3.6 Langkah-langkah Penelitian ........................................................... 43
3.7 Jadwal Penelitian ............................................................................ 46
BAB IV PEMBAHASAN HASIL PENELITIAN .............................................. 48
Analisis Sistem ............................................................................... 48 4.1
4.1.1 Analisis Proses Bisnis Sistem Berjalan ............................. 48
4.1.1.1 Proses transaksi ................................................... 49
vii
4.1.1.2 Proses Data karyawan .......................................... 50
4.1.1.3 Proses Data Custumer .......................................... 50
4.1.1.4 Proses Data Produk .............................................. 51
4.1.1.5 Proses Point Reward ............................................ 51
4.1.1.6 Proses Data Laporan ............................................ 52
4.1.2 Analisis Kebutuhan Fungsional, Nonfungsional, dan
Pengguna............................................................................ 53
4.1.2.1 Analisis Kebutuhan Fungsional ........................... 53
4.1.2.2 Analisis Kebutuhan Nonfungsional ..................... 55
4.1.2.3 Analisis Pengguna ............................................... 55
4.1.2.4 Use Case Diagram .............................................. 57
4.1.3 Analisis Perilaku Sistem .................................................... 59
4.1.4.1 Activity Diagram ................................................. 59
4.1.4.2 Sequence Diagram ............................................... 65
4.1.4.3 Colaboration Diagram ........................................ 69
4.1.4.4 Behavioral State Machine Diagram .................... 70
Perancangan Sistem ........................................................................ 71 4.2
4.2.1 Perancangan Spesifikasi Program...................................... 71
4.2.1.1 Class Diagram ..................................................... 71
4.2.1.2 Deployment Diagram .......................................... 73
4.2.2 Perancangan Database....................................................... 74
4.2.2.1 Tabel Database .................................................... 75
4.2.2.2 ERD ..................................................................... 76
4.2.3 Perancangan Infrastruktur Architecture ............................ 77
Konstruksi Model ........................................................................... 82 4.3
4.3.1 Lingkungan Konstruksi ..................................................... 82
4.3.2 Konstruksi Database ......................................................... 84
4.3.3 Konstruksi user interface ................................................... 84
Pengujian Sistem ............................................................................ 88 4.4
4.4.1 Lingkungan Pengujian ....................................................... 88
4.4.2 Pengujian Validasi ............................................................. 89
viii
4.4.1.1 Karakteristik Responden ..................................... 89
4.4.1.2 Proses Pelaksanaan FGD ..................................... 90
4.4.1.3 Hasil Pengujian Validasi ..................................... 91
4.4.3 Kuesioner ........................................................................... 94
4.4.4 Blackbox Testing ............................................................... 99
4.4.2.1 Pengujian dengan Acunetix WVS 8 Consultant
Edition ................................................................. 99
4.4.2.2 Pengujian dengan Loic 1.0.7.0 .......................... 101
4.4.2.3 Pengujian dengan Xoic 1.3 ................................ 102
4.4.2.4 Pengujian dengan Hoic 2.1 ................................ 103
4.4.2.5 Pengujian dengan Pyloris 3.0 ............................ 104
4.4.2.6 Hasil Pengujian Kualitas ................................... 105
Implikasi Penelitian ...................................................................... 105 4.5
4.5.1 Aspek Sistem ................................................................... 106
4.5.2 Aspek Manajerial ............................................................. 107
4.5.3 Aspek Penelitian Lanjut ................................................... 108
Rencana Implementasi Sistem ...................................................... 109 4.6
BAB V 113
5.1 Kesimpulan ................................................................................... 113
5.2 Saran ............................................................................................. 114
DAFTAR PUSTAKA .......................................................................................... 115
LAMPIRAN-LAMPIRAN ................................................................................... 117
ix
DAFTAR GAMBAR
Gambar Halaman
II-1 Komponen Sistem Informasi ([O’Brien 2006], 34)
................................................ 12
II-2 Klasifikasi Sistem Informasi ([O’Brien 2006], 16)
................................................. 13
II-3 System Development Live Cycle ([O’Brien 2006], 511,
dengan modifikasi)
.................. 14
II-4 Model Waterfall ([Pressman 2012], 46, dengan modifikasi)
............................................ 15
II-5 Langkah-langkah Pengujian Perangkat Lunak ([Pressman 2012], 554)
................. 27
II-6 topologi jaringan awal Perfume House ........................................................ 35
II-7 pola pikir kerangka konsep PHP Point of Sale Banda Aceh ........................ 36
III-1 Langkah-langkah Penelitian ....................................................................... 43
IV-1 Actor Sistem Aplikasi PHP Point of Sale ................................................... 57
IV-2 Use Case Diagram ..................................................................................... 58
IV-3 Activity Diagram Mengelola Bidang Studi ............................................... 61
IV-4 Activity Diagram entry new Custumer ...................................................... 62
IV-5 Activity Diagram new entry product ......................................................... 64
IV-6 squence diagram transaksi ......................................................................... 66
IV-7squence diagram new entry product. ........................................................... 67
IV-8 squence diagram new custumer .................................................................. 68
IV-9 Colaboration Diagram transaksi ............................................................... 69
IV-10 Behavioral state machine diagram custumer service .............................. 70
IV-11 Class Diagram aplikasi PHP Point Of Sale Perfume House .................... 72
IV-12 Deployment Diagram Sistem Aplikasi PHP Point of Sale ....................... 74
IV-13 list tabel database aplikasi PHP Point of Sale .......................................... 75
IV-14 ERD aplikasi PHP Point of Sale .............................................................. 76
IV-15 Infrastruktur Sistem ................................................................................. 77
IV-16 Physical Architecture server .................................................................... 78
IV-17 Physical Architecture client...................................................................... 79
IV-18 halaman login untuk pengguna ................................................................ 84
IV-19 Menu Navigasi Administrator ................................................................. 85
IV-20 Menu Navigasi Pimpinan ........................................................................ 85
x
IV-21 Menu Navigasi Operator ......................................................................... 86
IV-22 Menu Custumer service ........................................................................... 86
IV-23 Menu gudang/warehouse ......................................................................... 87
IV-24 detail hasil testing Acunetix WVS 8 Consultant Edition ...................... 100
IV-25 Loic 1.0.7.0 ............................................................................................ 101
IV-26 Xoic 1.3 ................................................................................................. 102
IV-27 Hoic 2.1 .................................................................................................. 103
IV-28 Pengujian dengan Pyloris 3.0 ................................................................. 104
IV-29 Rencana Implementasi sistem aplikasi PHP Point of Sale .................... 109
xi
DAFTAR TABEL
Tabel Halaman
I-1 Daftar pengertian istilah .................................................................................. 7
II-1 Ringkasan Tinjauan Studi ............................................................................ 30
III-1 Jadwal Penelitian ........................................................................................ 46
IV-1 Tingkatan Pengguna dan Hak Akses .......................................................... 56
IV-2 Penggunaan software ................................................................................. 79
IV-3 Responden Forum Group Discussion........................................................ 89
IV-4 Hasil Pengujian Validasi ........................................................................... 91
IV-5 hasil pengujian teknik Kuesioner ............................................................... 95
IV-6 Hasil Pengujian Kualitas .......................................................................... 105
IV-7 Rencana Implementasi Sistem .................................................................. 110
xii
DAFTAR LAMPIRAN
Lampiran Halaman
1. Daftar Pedoman Pertanyaan untuk Wawancara ............................................ 117
2. Hasil Wawancara dengan Responden ........................................................... 118
3. Daftar Dokumen Observasi ........................................................................... 119
4. Lembar Pengujian dengan teknik Kuesioner ................................................ 120
5. lembar Pengujian dengan teknik FGD .......................................................... 121
6. Activity Diargam ........................................................................................... 122
7. Behavioral State Machine Diagrams ............................................................. 147
8. colaboration diagram ..................................................................................... 152
9. sequence diagram .......................................................................................... 153
10. user interface administrator ......................................................................... 173
11. user interface operator ................................................................................. 189
12. user interface gudang .................................................................................. 193
13. user interface custumer service ................................................................... 198
14. user interface pimpinan ............................................................................... 204
15. Invoice stok keluar dari gudang .................................................................. 205
16. Print receipt transaksi custumer .................................................................. 206
17. struktur Database ......................................................................................... 207
18. Source Code Aplikasi PHP Point of Sale Perfume House .......................... 253
19. 20 lembar hasil Kuesioner oleh responden ................................................ 290
20 8 lembar hasil pengujian dengan teknik FGD oleh responden .................. 310
21. Cd video tuorial dan aplikasi jadi................................................................ 318
22. Riwayat Hidup Singkat ............................................................................... 319
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dengan melihat perkembangan teknologi saat in yang cukup pesat hingga
memungkinkan bagi pengguna teknologi tersebut untuk melakukan suatu kegiatan
lebih mudah dari biasanya, seperti halnya pegawai kasir yang siap meninggalkan
mesin kasirnya dan beralih ke sebuah teknologi yang lebih maju dan lebih efisien,
termaksuk mendigitalisasikan semua kegiatan kasir selama ini yang terbilang
memakan waktu lebih banyak di bandingkan dengan mesin kasir digital, dengan
alasan tersebut maka saya mengembangkan sebuah sistem aplikasi kasir yang
complete berbasis web yang lazim di sebut dengan Retail PHP POS.
Layanan web adalah salah satu dari banyak contoh teknologi yang
menggunakan jaringan internet, ini merupakan sebuah metode yang dapat
mengimplentasikan aplikasi website yang di bangun dan terhubung ke barbagai
jaringan serta berbagai sistem operasi, melihat perkembangannya bahwa internet
lebih cendrung digunakan sebagai sarana komunikasi, transaksi, sosial dari pada
hanya sekedar alat visualisasi saja. Dengan menerapkan layanan web dapat
memecahkan banyak masalah seperti memungkinkannya sistem operasi saling
berkomunikasi satu sama lain, mengirim pesan dengan platform yang berbeda,
standarisasi bahasa antar sistem. Melihat dari keunggulan web, penulis bersedia
untuk mengembangkan aplikasi PHP Point Of Sale yang di kembangkan dengan
menggunakan layanan web. Aplikasi yang nantinya dapat digunakan untuk
berbagai jenis bisnis retail yang pada umumnya menggunakan mesin kasir dan
aplikasi inventory. Aplikasi yang didasarkan oleh layanan web ini memungkinkan
dapat berjalan oleh banyak perangkat pc yang beredar di pasaran. Serta dapat di
akses oleh beberapa anak cabang perusahaan retail sekaligus.
2
Sistem ini terkoneksi ke sebuah jaringan yang menghubungkan suatu
server tempat dimana Web Aplikasi dan database di bentuk dengan client yang
bertindak sebagai user. Untuk beberapa kegiatan yang berhubungan dengan
penjualan, pembelian serta pengaturan inventory sudah include di dalam sistem
aplikasi ini dengan pembagian kategori berdasarkan kebutuhan user masing
masing.
Sumber daya manusia atau di perusahaan memiliki peranan sangat
penting, karena merupakan komponen pokok yang menjalankan kegiatan di
organisasi tersebut. Peranan pegawai perusahaan dalam mengelola data
perusahaan mulai dari inventory sampai dengan transaksi hingga pembuatan
laporan perusahaan merupakan bagian penting dalam mengembangkan
perusahaan untuk dapat lebih meningkatkan efisiensi biaya pengeluaran dan
kualitas pelayanan.
Proses transaksi dan pengelolaan data pada perusahaan Perfume House
Banda Aceh sebelumnya masih manual dimana transaksi masih menggunakan
mesin kasir biasa dan pengelolaan data inventory berikut laporan-laporannya
masih di tuliskan manual di atas kertas, sehingga hal ini sangat menyulitkan bagi
pegawai perusahaan dalam bertansaksi, selain memakan waktu yang lama dengan
cara manual juga menyulitkan dalam pencarian data yang di inginkan dimana
data2 tersebut akan di rangkup menjadi sebuah laporan harian serta laporan
bulanan perusahaan Perfume House Banda aceh. Melihat kondisi diatas, maka
penulis berusaha untuk memberikan solusi demi mudahnya proses administrasi
perusahaan dengan mengembangkan plikasi yang sudah ada menjadi sebuah
aplikasi dalam bahasa PHP yang memungkinkan terintegrasi dengan jaringan
internet, serta dapat membatu pegawai perusahaan dalam menjalankan tugas yang
selama ini sangat sulit dan banyak memakan waktu.
3
1.2 Masalah Penelitian
1.2.1 Identifikasi Masalah
Berdasarkan latar belakang permasalahan dalam penelitian ini, maka
permasalahan dapat diidentifikasi sebagai berikut:
1. Pengelolaan data perusahaan baik data pegawai maupun data pelanggan
yang saat ini di jalankan masih menggunakan cara yang manual, yaitu
dengan menggunakan microsof Office word dan microsof Office Exel.
2. Data-data yang di simpan terpisah dengan beberapa file yang membuat
kesulitan dalam mengupdate isinya.
3. Tidak ada aplikasi dekstop dan database terintegrasi untuk menyajikan
informasi data perusahaan Perfume House.
4. Pembuatan laporan transaksi dan laporan lainnya membutuhkan waktu
yang sangat lama karena harus merangkum dari berbagai file laporan yang
dimiliki oleh perusahaan Perfume House.
5. Pimpinan perusahaan Perfume House kesulitan dalam melakukan
pengecekan laporan yang ada
6. Aplikasi yang di gunakan tidak multi platform sehingga tidak dapat di
akses langsung oleh pengguna sistem dari device yang tidak compatible.
1.2.2 Pembatasan Masalah
Ruang lingkup permasalahan dari pengembangan sistem aplikasi PHP
Point of Sale Perfume House Banda Aceh yang dianalisa dan dirancang dibatasi
sebagai berikut:
1. Aplikasi yang akan dirancang dan di kembangkan berupa modul adalah:
login, produk, custumers, point, lokasi, payment type, report,supplier,
gender, satuan, unit, user, sales dan App setting.
2. Metode pengembangan sistem informasi menggunakan tahapan model
Waterfall. Pada tahap analisis dan perancangan menggunakan Unified
Modelling Language dan pada tahap implementasi sistem menggunakan
4
aplikasi open source object oriented berbasis web menggunakan PHP dan
database MySQL. Proses implementasi sistem dilakukan pada jaringan
lokal.
3. Pengujian sistem yang dilakukan menggunakan pendekatan pengujian
perangkat lunak berorientasi obyek, dengan pengujian unit menggunakan
program yang dibangun, dan pengujian penerimaan (User Acceptance
Testing) dengan metode kuesioner.
1.2.3 Rumusan Masalah
Berdasarkan latar belakang, identifikasi dan batasan masalah, maka
permasalahan penelitian dapat dirumuskan sebagai berikut: Bagaimana
mengembangkan software Aplikasi perusahaan Perfume House yang menjadi
Aplikasi PHP Point Of Sale dengan sistem yang lulus dalam pengujian kualitas
dengan ISO 9126, Kuesioner, blackbox testing dan FGD (Forum Group
Discussion) serta sesuai dengan kebutuhan perusahaan?
1.3 Tujuan dan Manfaat Penelitian
1.3.1 Tujuan Penelitian
Berdasarkan latar belakang permasalahan, tujuan penelitian ini adalah:
1. Menganalisa proses bisnis dan permasalahannya yang berjalan di
perusahaan Perfume House Banda Aceh.
2. Merancang aplikasi PHP Point of sale menggunakan metode
pengembangan sistem waterfall dan menggunakan pendekatan
perancangan berorientasi obyek dengan desain model yang digunakan
adalah Unified Modelling Language (UML).
5
3. Mengimplementasikan rancangan sistem ke dalam aplikasi sistem
aplikasi PHP Point of Sale Perfume House Banda Aceh berbasis web
menggunakan PHP dan database MySQL.
4. Menguji hasil implementasi aplikasi PHP point of sale perfume house
Banda Aceh dengan metode FGD, Blackbox dan mengikuti standar
kualitas perangkat lunak ISO 9126.
1.3.2 Manfaat Penelitian
Manfaat dilakukannya penelitian ini adalah:
A. Manfaat Teoritis:
1. Diharapkan dapat memberikan kontribusi terhadap konsep teroritis dalam
pengembangan Sistem PHP Point of Sale menggunakan metode
pengembangan sistem waterfall dengan teknik analisis dan perancangan
berorientasi obyek menggunakan desain model Unified Modelling
Language (UML).
2. Penelitian ini juga diharapkan dapat dijadikan bahan referensi terkait
dengan pokok bahasan sistem aplikasi Poin of sale serta fungsinya dalam
pengembangan sumber daya manusia.
B. Manfaat Praktis:
1. Memudahkan staff karyawan perusahaan dalam proses pengelolaan
administrasi, transaksi, data dan informasi laporan.
2. Memudahkan custumer service dalam transaksi yang aman dan nyaman
serta mengurangi tingkat kesalahan dalam transaksi.
3. Memudahkan dalam memberikan informasi lengkap dalam bentuk laporan
seluruh pengeluaran administrasi dengan mudah yang dapat di akses
online oleh pimpinan perusahaan.
6
4. Meningkatkan produktivitas perusahaan dalam upaya mencapai target
penjualan tahunan serta menghemat biaya pengeluaran.
5. Membantu para pengambil keputusan di perusahaan Perfume House.
6. Memudahkan dalam mendapatkan informasi user custumer dan pegawai
dengan lebih cepat dan akurat.
1.4 Tata Urut Penulisan
Naskah penelitian ini disusun dengan tata urut penulisan sebagai berikut:
BAB I PENDAHULUAN
Membahas latar belakang penelitian, ruang lingkup sistem Aplikasi
PHP Point of Sale yang diteliti, identifikasi masalah, batasan masalah,
rumusan masalah, tujuan dan manfaat penelitian, sistematika penulisan,
dan daftar istilah yang digunakan dalam penulisan.
BAB II LANDASAN TEORI DAN KERANGKA KONSEP
Membahas tinjauan pustaka yang berkaitan dengan topik bahasan
mengenai pengembangan software aplikasi Point of sale, metode
pengembangan sistem waterfall, analisis dan perancangan sistem
berorientasi obyek menggunakan pemodelan UML, tinjauan studi
berdasarkan penelitian sebelumnya, tinjauan organisasi dan obyek
penelitian yaitu perusahaan Perfume house Banda Aceh, kerangka
konsep penulis dalam melakukan penelitian, dan hipotesis.
BAB III METODOLOGI DAN RANCANGAN PENELITIAN
Membahas jenis penelitian, metode pemilihan sampel, metode
pengumpulan data, instrumentasi, teknik analisis, rancangan, dan
pengujian sistem, langkah-langkah penelitian, dan jadwal penelitian
7
yang digunakan dalam pengembangan software aplikasi Point of Sale
perusahaan Perfume House banda aceh.
BAB IV PENUTUP
Membahas kesimpulan yang diperoleh berdasarkan hasil pencarian
masalah penelitian, studi pustaka, tinjauan penelitian, tinjauan obyek
penelitian dan metodologi penelitian.
1.5 Daftar Pengertian
Beberapa pengertian istilah yang dipergunakan di dalam penelitian ini
sebagai definisi kamus maupun definisi operasional, sebagai berikut:
Tabel I-1 Daftar pengertian istilah
Aktor : Aktor merupakan semua yang ada di luar ruang lingkup
sistem perangkat lunak dan berinteraksi dengan sistem
perangkat lunak tersebut.
Berorientasi obyek : Merupakan paradigma baru dalam rekayasa perangkat
lunak yang memandang sistem sebagai kumpulan
obyek-obyek diskrit yang saling berinteraksi satu sama
lain.
Diagram aktivitas : Diagram yang menggambarkan aliran fungsionalitas
sistem. Bisa digunakan untuk workflow atau untuk
menggambarkan alur dalam flow of events.
Diagram kelas : Diagram yang menunjukkan interaksi antar kelas dalam
sistem.
Diagram kolaborasi : Diagram yang digunakan untuk menunjukkan aliran
8
fungsionalitas dalam masing-masing use case yang
disusun untuk menunjukkan kolaborasi antar obyek-
obyek.
Diagram sekuensial : Diagram yang digunakan untuk menunjukkan aliran
fungsionalitas dalam masing-masing use case yang
disusun dalam urutan waktu.
Diagram Use case : Diagram yang digunakan untuk menggambarkan
interaksi antara aktor dan use case pada sistem
perangkat lunak yang akan dikembangkan.
Extend : Relasi antar use case yang memungkinkan satu use case
secara opsional menggunakan fungsionalitas yang
disediakan oleh use case lainnya.
Flow of events : Alur dalam use case yang menjelaskan secara rinci apa
yang dilakukan aktor dan apa yang sistem itu sendiri
lakukan.
Formasi : Ketentuan jumlah dan susunan pangkat karyawan yang
diperlukan dalam jangka waktu tertentu untuk
melaksanakan tugas pokok di suatu Unit kerja .
Include : Relasi include memungkinkan satu use case
menggunakan fungsionalitas yang disediakan oleh use
case lainnya.
Jabatan : Kedudukan yang menunjukkan tugas dan tanggung
jawab, wewenang, dan hak seorang karyawan.
Staff : Setiap orang yang telah diangkat dan diserahi tugas
untuk menjalankan fungsi tertentu di Unit kerja.
9
Promosi : Perubahan dari suatu jabatan dan/atau status karyawan
ke jabatan dan/atau status karyawan yang lebih tinggi.
UML : Unified Modeling Language. Bahasa pemodelan
berorentasi obyek yang secara “defacto” sebagai bahasa
standar pemodelan berorientasi obyek.
Use Case : Fungsionalitas atau persyaratan-persyaratan sistem dari
sudut pandang pengguna sistem.
Workflow : Alur kerja yang ada dalam setiap proses bisnis.
Perusahaan : Perusahaan Perfume House di Banda Aceh yang
bergerak di bisnis ratail.
10
BAB II
LANDASAN TEORI DAN KERANGKA KONSEP
2.1 Tinjauan Pustaka
2.1.1 Konsep Dasar
2.1.1.1 PHP
PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan
atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs
web dinamis. PHP dapat digunakan untuk membangun sebuah CMS. Pada
awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal).
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu
PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan
skrip yang digunakan untuk mengolah data formulir dari web.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter
PHP mengalami perubahan besar. Versi ini juga memasukkan model
pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan
bahasa pemrograman ke arah paradigma berorientasi objek.
2.1.1.2 Point of Sale
Point Of Sale atau disingkat POS dapat diterjemahkan bebas menjadi
sistem kasir, yaitu aktivitas yang ber-orientasi pada penjualan yang terjadi pada
bidang usaha retail. Point-of-Sale adalah sebuah sistem yang memungkinkan
diadakannya proses transaksi. POS juga kadang disebut sebagai titik pembelian
atau kasir yang di mana transaksi terjadi. Tidak hanya itu, sistem pos modern
dilengkapi dengan sistem pelaporan manajemen yang terintegrasi. Sistem POS
digunakan di supermarket, restoran, hotel dan tempat-tempat lain yang membuka
layanan ritel.
11
2.1.1.3 Sistem Informasi
Menurut O’Brien, sistem informasi merupakan kombinasi yang
terorganisir dari manusia, hardware, software, jaringan komunikasi dan sumber
daya data untuk mengumpulkan, memasukkan, dan memproses data dan
menyimpannya, mengelola, mengontrol dan melaporkannya sehingga dapat
mendukung perusahaan atau organisasi untuk mencapai tujuan. ([O'Brien 2006], 5)
Dapat didefinisikan juga bahwa sistem informasi adalah suatu sistem yang terdiri
dari beberapa subsistem atau komponen hardware, software, brainware, dataware
dan prosedur untuk menjalankan input, proses, output, penyimpanan, dan
pengontrolan yang mengubah sumber data menjadi informasi.
Terdapat tiga alasan mendasar untuk semua aplikasi bisnis dalam
menggunakan sistem informasi, peran utama sistem informasi dalam aplikasi
bisnis tersebut menurut O’Brien adalah: ([O’Brien 2006], 10)
1. Mendukung proses dan operasi bisnis.
2. Mendukung pengambilan keputusan. Sistem informasi membantu para
manajer dan pelaku bisnis untuk membuat keputusan yang lebih baik.
3. Mendukung berbagai strategi untuk keunggulan kompetitif. Mendapatkan
kelebihan strategis atas para pesaing melalui penggunaan sistem informasi.
Gambar II-1 mengilustrasikan model sistem informasi yang menunjukkan
kerangka konsep dasar komponen dan aktivitas sistem informasi. Komponen atau
sumber daya sistem informasi tersebut adalah:
1. Sumber Daya Manusia (SDM). Manusia dibutuhkan untuk pengoperasian
semua sistem informasi. Sumber daya manusia ini meliputi pengguna
akhir dan pakar sistem informasi.
2. Sumber Daya Hardware. Berupa semua peralatan dan komponen fisik
yang digunakan dalam pemrosesan informasi, yaitu peralatan input,
peralatan proses, peralatan output, dan media penyimpanan.
12
3. Sumber Daya Software. Meliputi semua rangkaian perintah pemrosesan
informasi dalam wujud instruksi-instruksi dan prosedur yang membuat
komputer melakukan pekerjaan tertentu.
4. Sumber Daya Data. Meliputi data dasar berbentuk alfanumerik, teks,
gambar, audio, video, dan bentuk data lainnya.
5. Sumber Daya Jaringan. Meliputi media komunikasi dan dukungan
jaringan.
Pengendalian
Kinerja Sistem
Aktivitas Sistem
Output
Produk
Informasi
Sumber Daya M
anusia
Pengguna Akhir d
an Pakar SI
Input
Sumber
Daya Data
Pemrosesan
Data ke dalam
Informasi
Sumber Daya Software
Program dan Prosedur
Su
mb
er Daya D
ata
Data D
asar dan
Pen
getah
uan S
um
ber
Daya H
ard
ware
Mes
in d
an M
edia
Sumber Daya Jaringan
Media Komunikasi dan Dukungan Jaringan
Penyimpanan
Sumber Daya Data
Gambar II-1 Komponen Sistem Informasi ([O’Brien 2006], 34)
Secara konseptual, O’Brein mengklasifikasikan aplikasi sistem informasi
berdasarkan tujuan utama sistem informasi yang mendukung operasi bisnis dan
mendukung pengambilan keputusan manajerial dalam Gambar II-2:
13
Information
System
Mendukung
operasi
bisnis
Mendukung
pengambilan
keputusan
manajerial
Management
Support
System
Management
Information
System
Decision
Support
System
Executive
Information
System
Operations
Support
System
Transaction
Processing
System
Process
Control
System
Enterprise
Collaboration
System
Memproses
transaksi
bisnis
Mengontrol
proses
industri
Mendukung
kerjasama tim dan
kelompok kerja
Memberikan
laporan ke
manajer
Mendukung
keputusan
interaktif
Informasi
untuk
eksekutif
Gambar II-2 Klasifikasi Sistem Informasi ([O’Brien 2006], 16)
2.1.2 Metode Pengembangan Sistem Model Waterfall
2.1.2.1 Systems Development Life Cycle (SDLC)
Menggunakan pendekatan sistem untuk mengembangkan solusi sistem
informasi dapat dipandang sebagai proses multilangkah yang disebut siklus hidup
pengembangan sistem informasi, yang dikenal juga sebagai Systems Development
Life Cycle (SDLC). SDLC merupakan kerangka konseptual yang digunakan
dalam manajemen proyek yang mendeskripsikan tahapan-tahapan yang dilakukan
dalam proyek pengembangan sistem informasi. Tahapan-tahapan dalam siklus
pengembangan sistem menurut O’Brien meliputi: (1) investigasi, (2) analisis, (3)
perancangan, (4) implementasi, dan (5) pemeliharaan. ([O’Brien 2006], 511)
14
Gambar II-3 System Development Live Cycle ([O’Brien 2006], 511,
dengan modifikasi)
2.1.2.2 Model Waterfall
Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis
metodologi pengembangan perangkat lunak. Metodologi-metodologi ini
membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan
sistem informasi, yaitu proses pengembangan perangkat lunak. Beberapa proses
pengembangan sistem dengan SDLC adalah: waterfall, prototyping, incremental,
spiral, dan RAD.
Metodologi pengembangan sistem model waterfall menurut Pressman
adalah proses pengembangan sistem yang menyiratkan pendekatan yang
sistematis dan berurutan (sekuensial) pada pengembangan perangkat lunak,
dimana proses pengembangan tersebut mengalir secara teratur ke bawah sehingga
terlihat seperti air terjun ([Pressman 2012] 46)
. Proses pengembangan dimulai dengan
spesifikasi kebutuhan pengguna dan berlanjut melalui tahapan-tahapan
perencanaan (planning), pemodelan (modeling), konstruksi (construction), serta
penyerahan sistem perangkat lunak ke pelanggan/pengguna (deployment), yang
diakhiri dengan dukungan berkelanjutan pada perangkat lunak yang dihasilkan
(Gambar II-4).
Investigasi
Analisis
Perancangan Implementas
i
Pemeliharaan
15
KomunikasiInisialisasi proyek
Teknik mendapatkan
spesifikasi kebutuhan
pengguna
PerencanaanMembuat perkiraan
Penjadwalan
Pelacakan
PemodelanAnalisis
PerancanganKonstruksiKode program
PengujianPenyerahan SistemPengiriman
Dukungan terhadap
pengguna
Umpan balik
Gambar II-4 Model Waterfall ([Pressman 2012], 46, dengan modifikasi)
Tahapan metodologi model waterfall tersebut dijelaskan sebagai berikut:
1. Komunikasi. Pada tahapan ini dilakukan komunikasi dan kolaborasi dengan
pelanggan dan para pemangku kepentingan (stakeholder). Maksudnya adalah
untuk memahami tujuan-tujuan stakeholder atas proyek perangkat lunak yang
sedang dikembangkan dan mengumpulkan kebutuhan-kebutuhan yang akan
membantu mengartikan fitur-fitur perangkat lunak beserta fungsinya.
2. Perencanaan. Tahapan perencanaan dilakukan dengan membuat rencana
proyek perangkat lunak, untuk mengartikan ruang lingkup proyek rekayasa
perangkat lunak dengan menggambarkan tugas-tugas teknis yang harus
dilakukan, resiko yang mungkin muncul, sumber daya yang akan dibutuhkan,
produk-produk kerja yang harus dihasilkan, dan jadwal kerja. Dapat juga
dilakukan pelacakan terhadap perencanaan dan membuat penyesuaian jika hal
ini memang diperlukan.
3. Pemodelan. Model digunakan untuk merepresentasikan informasi yang akan
ditransformasi oleh perangkat lunak, fitur-fitur yang dikehendaki oleh
pengguna, serta merepresentasikan perilaku sistem saat transformasi informasi
tersebut benar-benar terjadi. Pada tahapan pemodelan, dibuat dua jenis model:
1) Model analisis. Untuk memperlihatkan spesifikasi kebutuhan
pengguna dengan menggambarkan perangkat lunak dalam tiga ranah
(domain) yang berbeda:
i. Ranah informasi. Menggambarkan data yang mengalir ke
dalam sistem (dari pengguna akhir, dari sistem yang lainnya,
atau dari sarana-sarana yang bersifat eksternal),
16
menggambarkan data yang keluar dari sistem (melalui
antarmuka pengguna, antarmuka jaringan, laporan, grafik dan
sebagainya), menggambarkan penyimpanan data yang
mengumpulkan dan mengorganisasi obyek-obyek data yang
bersifat persisten (data yang dipelihara secara permanen).
ii. Ranah fungsional. Fungsi-fungsi dan fitur yang dilakukan
perangkat lunak, yang tampak oleh pengguna.
iii. Ranah perilaku. Menggambarkan perilaku perangkat lunak
akibat kejadian-kejadian (event). Kejadian karena input yang
diberikan oleh pengguna, kendali data oleh sistem eksternal,
atau pemantuan data yang dikumpulkan melintas jaringan.
2) Model perancangan. Menggambarkan karakteristik-karateristik
perangkat lunak:
i. Arsitektur perangkat lunak.
ii. Rincian berperingkat komponen.
iii. Antarmuka pengguna.
4. Konstruksi. Tahapan konstruksi mencakup penulisan kode program dan
pengujian yang dibutuhkan untuk menemukan kesalahan-kesalahan dalam
kode program yang sudah dibuat sebelumnya. Penulisan kode program dapat
berupa: (1) pembuatan langsung kode program dalam bahasa pemrograman
tertentu, (2) penulisan kode program secara otomatis menggunakan
representasi mirip rancangan-rancangan yang akan dikembangkan, atau (3)
pembuatan kode program menggunakan bahasa pemrograman generasi ke-4
yang langsung dapat dieksekusi. Pengujian yang dilakukan mencakup:
1) pengujian unit (unit testing), pengujian pada peringkat komponen.
2) pengujian integrasi (integration testing), yang dilakukan setelah
sistem/perangkat lunak selesai dikonstruksi.
3) pengujian validasi (validation testing), yang melakukan penilaian
apakah spesifikasi kebutuhan telah diakomodasi dalam
sistem/perangkat lunak yang lengkap.
17
4) pengujian penerimaan (acceptance testing), yang dilakukan oleh
pelanggan dengan tujuan untuk melakukan pemeriksaan atas semua
fungsi dan fitur yang diinginkannya.
5. Penyerahan Sistem. Tahapan ini merupakan aktivitas penyerahan
sistem/perangkat lunak kepada pelanggan (deployment), yang memiliki tiga
aksi penting: pengiriman, dukungan, dan umpan balik. Perangkat lunak akan
disajikan kepada pelanggan yang kemudian akan mengevaluasi produk yang
disajikan dan akan memberikan umpan balik berdasarkan evaluasi tersebut.
2.1.3 Analisis dan Perancangan Berorientasi Obyek dengan Unified
Modeling Language
2.1.3.1 Konsep Dasar Analisis dan Perancangan Berorientasi
Obyek
Menurut Dennis, analisis sistem mendeskripsikan apa yang harus
dilakukan oleh sistem untuk memenuhi kebutuhan informasi pengguna. Analisis
sistem akan menjawab pertanyaan siapa yang akan menggunakan sistem, apa yang
akan dikerjakan oleh sistem, dan dimana serta kapan sistem tersebut akan
digunakan. Sedangkan perancangan sistem menentukan bagaimana sistem akan
memenuhi tujuan tersebut, dalam hal ini: perangkat keras, perangkat lunak,
infrastruktur jaringan; antarmuka pengguna, formulir dan laporan; serta program-
program khusus, database, dan file yang akan dibutuhkan. ([Dennis 2009] 4)
Konsep object oriented atau berorientasi obyek memfokuskan pada
penciptaan class yang merupakan blueprint dari suatu objek. Konsep ini membagi
perangkat lunak menjadi beberapa objek yang saling berinteraksi antara satu
dengan lainnya. Beberapa istilah yang berkaitan dengan konsep object oriented
adalah:
18
1. Class dan Objek. Class dapat diartikan deskripsi secara umum (template,
pattern, atau blueprint) yang menggambarkan sekumpulan objek yang
serupa. Objek dapat berupa objek fisik seperti meja atau pelanggan
maupun objek konseptual seperti text input area atau file.
2. Atribut, Method dan Message. Atribut adalah sesuatu yang melekat pada
objek yang mendeskripsikan sifat class atau objek. Sebuah objek
mengenkapsulasi data (direpresentasikan sebagai kumpulan atribut) dan
algoritma yang memproses data tersebut. Algoritma ini disebut operasi,
method, atau service. Setiap operasi yang dienkapsulasi oleh sebuah objek
memberikan representasi salah satu behavior dari objek tersebut.
3. Suatu objek berinteraksi dengan objek lainnya melalui message. Sebuah
objek diminta untuk melakukan salah satu operasinya dengan
mengirimkannya sebuah message. Objek penerima merespon message
tersebut dengan memilih operasi yang mengimplementasikan nama
message, mengeksekusi operasi, dan kemudian mengembalikan kontrol
kepada objek yang memanggil.
4. Enkapsulasi. Sebuah class mengenkapsulasi data dan operasi yang
memproses data tersebut. Data (atribut) yang menggambarkan kelas
ditutup oleh operasi yang memanipulasi data tersebut. Untuk mengakses
nilai atribut class harus melalui sebuah operasi. Konsep enkapsulasi ini
mendukung information hiding. Detail implementasi internal dari data dan
prosedur disembunyikan dari dunia luar. Hal ini mengurangi efek samping
ketika terjadi perubahan dalam class.
5. Inheritance. Inheritance merupakan pewarisan sifat dari sebuah class ke
class yang baru. Subclass Y merupakan pewaris dari superclass X, maka
subclass Y mewarisi semua atribut dan operasi yang dimiliki oleh
superclass X. Hal ini mendukung konsep reuse. Pada setiap level hirarki
class, atribut dan operasi baru dapat ditambahkan ke class yang telah
diwarisi dari level yang lebih tinggi dalam hirarki. Pada inheritance juga
memungkinkan terjadinya overriding. Overriding terjadi ketika atribut dan
19
operasi yang diwarisi, dimodifikasi untuk kebutuhan spesifik dari class
yang baru.
6. Polimorfisme. Polimorfisme mengijinkan sejumlah operasi yang berbeda
untuk mempunyai nama yang sama. Hal ini membuat objek saling terpisah
dari objek lainnya dan membuat setiap objek lebih independen.
2.1.3.2 Unified Modelling Language
Menurut Dennis, Unified Modeling Language (UML) merupakan
penggabungan berbagai konsep terbaik dari pemodelan, yaitu pemodelan data
(entity-relationship diagram), pemodelan bisnis (Workflow), pemodelan objek dan
komponennya. UML merupakan bahasa standar untuk visualisasi, spesifikasi,
konstruksi dan pendokumentasian dari artifak dari sebuah software, dan dapat
digunakan untuk semua tahapan dalam proses pengembangan sistem mulai dari
analisis, perancangan, sampai implementasi. ([Dennis 2009], 30)
UML menyediakan beberapa notasi dan artifak standar yang dapat
digunakan sebagai alat komunikasi bagi para pelaku dalam proses analisis dan
desain sistem. Artifak dalam UML didefinisikan sebagai informasi dalam
berbagai bentuk yang digunakan atau dihasilkan dalam proses pengembangan
software. Terdapat beberapa artifak utama dalam UML, yaitu:
1. Use Case Diagram. Diagram yang menggambarkan actor, use case dan
relasinya
2. Class Diagram. Diagram untuk menggambarkan kelas dan relasi diantara
kelas-kelas tersebut
3. Behaviour Diagram, yang terdiri dari:
1) Activity Diagram. Menggambarkan aktifitas-aktifitas, objek, state,
transisi state dan event
2) Collaboration Diagram. Menggambarkan objek dan relasinya,
termasuk struktur perubahannya yang disebabkan oleh adanya suatu
message
20
3) Sequence Diagram. Menggambarkan objek dan relasinya termasuk
kronologi (urutan) perubahan secara logis setelah menerima sebuah
message
4) Statechart Diagram. Menggambarkan state, transisi state dan event
4. Implementation Diagram, terdiri dari :
1) Component Diagram. Menggambarkan komponen dan relasi antara
komponen tersebut
2) Deployment Diagram. Menggambarkan komponen, titik awal dan
relasi antara komponen tersebut
Use case diagram merupakan artifak dari proses analisis, sementara
sequence diagram dan class diagram merupakan artifak dari proses desain. Yang
perlu diperhatikan, untuk menjaga konsistensi antara artifak selama proses analisis
dan desain, maka setiap perubahan yang terjadi pada satu artifak harus juga
dilakukan pada artifak sebelumnya. Misalnya ditemukan satu cara yang lebih
efisien sewaktu membuat sequence diagram, maka perbaikan itu perlu
diverifikasikan terhadap use case diagram dan use case spesification yang dibuat
sebelumnya.
Dibuatnya berbagai jenis diagram tersebut karena:
Setiap sistem yang kompleks selalu paling baik jika didekati melalui
himpunan berbagai sudut pandang yang kecil, yang satu sama lain hampir
saling bebas (independen). Sudut pandang tunggal senantiasa tidak
mencukupi untuk melihat sistem yang besar dan kompleks.
Diagram yang berbeda-beda tersebut dapat menyatakan tingkatan yang
berbeda dalam proses rekayasa.
Dengan diagran diharapkan dapat membuat model sistem yang semakin
mendekati realitas.
21
2.1.4 Kualitas Perangkat Lunak Menurut ISO 9126
2.1.4.1 Pengertian Kualitas Perangkat Lunak
Institute of Electrical and Electronic Engineers (IEEE) mendefinisikan
kualitas perangkat lunak adalah tingkatan pada sistem, komponen, atau proses
yang sesuai kebutuhan atau harapan dari pelanggan atau pengguna. Menurut
definisi Steve McConnell’s kualitas perangkat lunak dibagi dalam dua hal yaitu:
kualitas internal dan kualitas eksternal. Karakteristik kualitas eksternal merupakan
bagian-bagian dari suatu produk yang berhubungan dengan para pemakainya,
sedangkan karakteristik kualitas internal tidak secara langsung berhubungan
dengan pemakai. [Simarmata 2010]
Menurut Pressman, kualitas perangkat lunak dapat didefinisikan sebagai:
suatu proses perangkat lunak yang efektif diterapkan dalam arti kata proses
perangkat lunak untuk menyediakan nilai yang dapat diukur untuk mereka yang
menggunakan dan untuk mereka yang menghasilkannya. ([Pressman 2012], 485)
Definisi kualitas menurut International Standards Organization (ISO)
adalah totalitas fitur-fitur dan karakteristik-karakteristik dari produk atau layanan
yang berpengaruh pada kemampuan untuk memenuhi kebutuhan tertentu. ISO
menyoroti pada fitur-fitur dan karakteristik dari produk atau layanan dalam
kemampuannya memenuhi kebutuhan yang ditentukan. menyediakan model yang
berbasikan obyek dalam 3 konteks dasar yaitu: quality, requirements dan
characteristics.
Pengertian-pengertian di atas secara jelas memberikan definisi bahwa
untuk menilai kualitas perangkat lunak dapat didasarkan pada karakteristik
perangkat lunak itu sendiri dan berdasarkan pada pemenuhan kebutuhan pengguna
perangkat lunak tersebut. Dari pemahaman tersebut maka dapat dipahami bahwa
untuk menentukan kualitas perangkat lunak haru melakukan pengujian terhadap
perangkat lunak tersebut serta melakukan pengujian terhadap penggunanya.
22
Kualitas perangkat lunak adalah keberadaan karakteristik dari suatu
produk yang dijabarkan dalam kebutuhannya, artinya kita harus melihat terlebih
dahulu karakteristik apa yang berhubungan atau tidak dengan kebutuhan yang
diiinginkan oleh pemakai. Mengetahui karakteristik tersebut diperlukan untuk
mengurangi kontra produktif dari kualitas perangkat lunak yang dimaksud dan
relevan atau tidak perangkat lunak tersebut untuk kebutuhan suatu organisasi.
Keberadaan hubungan antara kebutuhan dan karakteristik menjadikan
dimungkinkannya statemen yang jelas tentang kualitas suatu produk.
2.1.4.2 ISO 9126
Kualitas perangkat lunak dapat dinilai melalui ukuran-ukuran dan metode-
metode tertentu, serta melalui pengujian-pengujian software. Salah satu tolak ukur
kualitas perangkat lunak adalah ISO 9126, yang dibuat oleh International
Organization for Standardization (ISO) dan International Electrotechnical
Commission (IEC). ISO 9126 mendefinisikan kualitas produk perangkat lunak,
model, karakteristik mutu, dan metrik terkait yang digunakan untuk mengevaluasi
dan menetapkan kualitas sebuah produk software. Standar ISO 9126 telah
dikembangkan dalam usaha untuk mengidentifikasi atribut-atribut kunci kualitas
untuk perangkat lunak komputer. Faktor kualitas menurut ISO 9126 meliputi 6
karakteristik kualitas sebagai berikut: fungsionalitas (functionality), kehandalan
(reliability), kebergunaan (usability), efisensi (efficiency), kemudahan
pemeliharaan (maintainability), portabilitas (portability).
Deskripsi untuk masing-masing karakteristik dan sub-karakteristik kualitas
perangkat lunak menurut ISO 9126, yaitu:
1. Functionality: kemampuan perangkat lunak dalam memenuhi fungsi
produk perangkat lunak yang menyediakan kepuasan kebutuhan pengguna.
Fungsionalitas perangkat lunak mempunyai 5 sub-karakteristik, yaitu :
23
a. Suitability: Kemampuan perangkat lunak untuk menyediakan
serangkaian fungsi yang sesuai untuk tugas-tugas tertentu dan
tujuan pengguna;
b. Accuracy: Kemampuan perangkat lunak dalam memberikan hasil
yang presisi dan benar sesuai dengan kebutuhan;
c. Security: Kemampuan perangkat lunak untuk mencegah akses yang
tidak diinginkan, menghadapi penyusup (hacker) maupun otorisasi
dalam modifikasi data;
d. Interoperabilitas: Kemampuan perangkat lunak untuk berinteraksi
dengan satu atau lebih sistem tertentu;
e. Compliance: Kemampuan perangkat lunak dalam memenuhi
standar dan kebutuhan sesuai peraturan yang berlaku.
2. Reliability: kemampuan perangkat lunak untuk perawatan dengan level
performansi. Reliability atau keandalan perangkat lunak mempunyai 3 sub-
karakteristik, yaitu :
a. Maturity: Kemampuan perangkat lunak untuk menghindari
kegagalan sebagai akibat dari kesalahan dalam perangkat lunak;
b. Fault tolerance: Kemampuan perangkat lunak untuk
mempertahankan kinerjanya jika terjadi kesalahan perangkat lunak;
c. Recoverability: Kemampuan perangkat lunak untuk membangun
kembali tingkat kinerja dan memulihkan data yang rusak.
3. Usability: kemampuan yang berhubungan dengan penggunaan perangkat
lunak. Usability perangkat lunak memiliki 3 sub-karakteristik, yaitu :
a. Understandibility: Kemampuan perangkat lunak dalam kemudahan
untuk dipahami;
b. Operabilitas: Kemampuan perangkat lunak dalam kemudahan
untuk dioperasikan.
c. Attractiveness: Kemampuan perangkat lunak dalam menarik
pengguna.
24
4. Efficiency: kemampuan yang berhubungan dengan sumber daya fisik yang
digunakan ketika perangkat lunak dijalankan. Efesiensi perangkat lunak
memiliki 2 sub-karakteristik, yaitu:
a. Time behavior: Kemampuan perangkat lunak dalam memberikan
respon dan waktu pengolahan yang sesuai saat melakukan
fungsinya.
b. Resource behavior: Kemampuan perangkat lunak dalam
menggunakan sumber daya yang dimilikinya ketika melakukan
fungsi yang ditentukan.
5. Maintainability: kemampuan yang dibutuhkan untuk membuat perubahan
perangkat lunak. Maintanability memiliki 4 sub-karakteristik, yaitu :
a. Analyzability: Kemampuan perangkat lunak dalam mendiagnosis
kekurangan atau penyebab kegagalan.
b. Changeability: Kemampuan perangkat lunak untuk dimodifikasi
tertentu.
c. Stability: Kemampuan perangkat lunak untuk meminimalkan efek
tak terduga dari modifikasi perangkat lunak.
d. Testability: Kemampuan perangkat lunak untuk dimodifikasi dan
divalidasi perangkat lunak lain.
6. Portability: kemampuan yang berhubungan dengan kemampuan perangkat
lunak yang dikirim ke lingkungan berbeda. Portability memiliki 4 sub-
karakteristik, yaitu:
a. Adaptability: Kemampuan perangkat lunak untuk diadaptasikan
pada lingkungan yang berbeda-beda.
b. Instalability: Kemampuan perangkat lunak untuk diinstal dalam
lingkungan yang berbeda-beda.
c. Co-existence: Kemampuan perangkat lunak untuk berdampingan
dengan perangkat lunak lainnya dalam satu lingkungan dengan
berbagi sumber daya.
d. Replaceability: Kemampuan perangkat lunak untuk digunakan
sebagai sebagai pengganti perangkat lunak lainnya.
25
ISO 9126 adalah standar terhadap kualitas perangkat lunak yang diakui
secara internasional. Terpenuhinya item-item pada ISO 9126 pada sebuah
perangkat lunak tidak serta merta memberikan sertifikat ISO terhadap perangkat
lunak tersebut karena standar ISO juga harus dipenuhi dari sisi manajemen
pembuat perangkat lunak tersebut, dengan kata lain jika manajemennya tidak
memenuhi standar ISO maka hasil kerjanyapun tidak dapat diberikan sertifikat
standar ISO.
Faktor-faktor ISO 9126 tidak serta merta memungkinkan kita untuk
melakukan pengukuran kualitas secara langsung. Meskipun demikian, standar
tersebut menyediakan basis yang sangat penting untuk melakukan pengukuran-
pengukuran kualitas secara tidak langsung dan pada dasarnya menyediakan daftar
yang sempurna untuk menilai kualitas suatu sistem/perangkat lunak.
2.1.5 Pengujian Perangkat Lunak
2.1.5.1 Konsep Dasar Pengujian Perangkat Lunak
Pengujian perangkat lunak menurut Pressman adalah elemen kritis dari
jaminan kualitas perangkat lunak dan mempresentasikan kajian pokok dari
spesifikasi, desain dan pengkodean.
Perangkat lunak diuji untuk menemukan kesalahan yang dibuat secara
tidak sengaja saat perangkat lunak tersebut dirancang dan dibangun. Stategi
pengujian perangkat lunak menyediakan petunjuk yang menjelaskan langkah-
langkah yang harus dilakukan sebagai bagian dari pengujian, kapan langkah-
langkah ini direncanakan dan kemudian dilakukan, dan berapa banyak usaha,
waktu, serta sumber daya yang akan diperlukan dalam pengujian tersebut.
Menurut Pressman, strategi pengujian perangkat lunak selalu menyertakan
perencanaan pengujian, perancangan kasus pengujian, pelaksanaan pengujian, dan
evaluasi serta pengumpulan data hasil pengujian. ([Pressman 2012], 635)
Pengujian dalam konteks rekayasa perangkat lunak sebenarnya merupakan
rangkaian empat langkah yang diimplementasikan secara berurutan:
26
1. Pengujian unit, pengujian fokus pada masing-masing komponen secara
individual, dengan memastikan bahwa komponen tersebut berfungsi
secara tepat sebagai suatu unit. Pengujian unit menggunakan teknik
pengujian dengan menggunakan jalur spesifik di dalam stuktur kontrol
dari komponen untuk memastikan cakupan telah lengkap dan dapat
mendeteksi kesalahan secara maksimum.
2. Pengujian integrasi, membahas isu-isu yang berkaitan dengan dua
masalah yaitu verifikasi dan pembangunan program, yang dilakukan
dengan teknik perancangan kasus pengujian (test case) yang berfokus
pada input dan output. Pengujian integrasi bersumber pada
perancangan antarmuka, use case, class diagram, sequence diagram,
dan communication diagram.
3. Pengujian validasi, menyediakan jaminan akhir bahwa perangkat lunak
memenuhi semua persyaratan informasi, fungsional, perilaku dan
persyaratan kinerja. Pengujian dapat dilakukan dengan beberapa cara:
menggunakan use case yang merupakan bagian dari model kebutuhan,
atau menggunakan metode black-box, atau test case. Dapat juga
dilakukan acceptance testing (pengujian penerimaan) untuk
memungkinkan pengguna memvalidasi semua persyaratan. Dengan
adanya penggunaan langsung oleh pengguna akhir, pengujian
penerimaan dapat mencakup test drive informal sampai deretan
pengujian yang dieksekusi secara sistematis dan terencana. Dua jenis
pengujian penerimaan yang biasa dilakukan oleh pengembang
perangkat lunak, yakni:
a. Alpha test, yakni pengujian yang dilakukan pada perangkat
lunak oleh pengguna akhir dengan adanya supervisi dan kontrol
dari pengembang perangkat lunak.
b. Beta test, yakni pengujian yang dilakukan pada perangkat lunak
oleh end-user tanpa adanya supervisi dan kontrol dari
pengembang perangkat lunak. Pengujian dilakukan dengan
bersumber pada kebutuhan fungsional pengguna.
27
4. Pengujian sistem, memverifikasi bahwa semua elemen saling bertautan
dengan benar dan keseluruhan fungsi sistem/kinerja dapat dicapai.
Pengujian
unit
Pengujian integrasi
Pengujian level atas
Perancangan
Kebutuhan
“Arah
Pengujian”
Kode
Gambar II-5 Langkah-langkah Pengujian Perangkat Lunak ([Pressman 2012], 554)
2.1.5.2 Teknik Pengujian Perangkat Lunak
Menurut Pressman, setiap produk rekayasa perangkat lunak dapat diuji
dalam salah satu kategori pengujian berikut: ([Pressman 2012], 587)
1. Pengujian kotak hitam (black-box testing). Dengan mengetahui fungsi
yang telah ditentukan, sehingga pengujian dilakukan untuk mencari
kesalahan dalam setiap fungsi. Black-box testing dirancang untuk
memvalidasi persyaratan fungsional tanpa perlu mengetahui kerja internal
dari sebuah program. Teknik pengujian black-box testing berfokus pada
ranah informasi dari perangkat lunak, menghasilkan test case dengan cara
mempartisi ranah masukan dan keluaran dari sebuah program dengan cara
mencakup pengujian yang menyeluruh.
2. Pengujian kotak putih (white-box testing). Dengan mengetahui cara kerja
internal suatu produk, pengujian dilakukan untuk memastikan bahwa
operasi-operasi internal telah dilakukan sesuai dengan spesifikasi dan
semua komponen internal telah dieskusi. White-box testing berfokus pada
struktur kendali program.
28
2.2 Tinjauan Studi
Penelitian mengenai mengenai pengembangan software aplikasi PHP Point
pf Sale telah menarik perhatian baik untuk lingkungan perguruan tinggi (PT)
maupun perusahaan retail.
Fellik Setyadi melakukan penelitian Tujuan penelitian adalah membantu
PT. SELAMAT JEWELLERY dalam membangun aplikasi retail POS yang
berfungsi untuk memudahkan pewagai perusahaan dalam menjalankan tugas-
tugas seperti transaksi, pengaturan inventory, pembuatan laporan, pemotongan tax
otomatis yang di integrasikan pada aplikasi berbasis dekstop yang di bangun
dengan pemograman Visual basic. Aplikasi juga di bagun untuk memudahkan
stake holder atau pimpinan perusahaan dalam melakukan pengawasan terhadap
karyawan-karyawan yg melakukan transaksi dengan melihat record kegiatan atau
log kegiatan karyawan yang di desain mudah untuk di pahami oleh pimpinan
perusahaan, serta dapat mendukung pengambilan keputusan dengan penyediaan
informasi melalui media teknologi informasi secara cepat, tepat, akurat, dan
terintegrasi[setyadi 2011] .
Harvey Keon melakukan penelitian dengan tujuan penelitian adalah untuk
membangun terminal intelejen point of sale, terminal pos yang di bagun
merupakan seperangkat alat mulai dari mouse, keyboard, receive printer, dot
matrik printer, monitor, scaner sampai dengan code-code pemograman yang di
tanamkan kedalam suatu memory di dalam perangkat tersebut untuk mendukung
proses alur kegiatan yang akan terjadi pada penggunaannya. Terminal pos yang di
bangun harvey merupakan modul perangkat komputer yang terhubung dengan
jaringan lokal dan dapat terhubung maksimak 225 komputer lainnya yang ada di
dalam sebuah store, mall atau tempat perbelanjaan yang mengggunakan kasir
sebagai tempat pembayarannya, dalam pengembangannya rancangan harvey dapat
terlihat di banyak swalayan, yaitu mesin kasir yang lengkap dengan komputer ,
receive printer dan barcode scaner[keown 1991]
.
29
Micky Asade melakukan penelitian terhadap perencanaan dan pengawasan
persediaan barang sebagai alat ukur tingkat efisiensi perusahaan pada PT.
EXELCOMINDO PRATAMA, Tbk Medan. Penelitian ini merupakan jenis
penelitian deskriptif. Jenis data dan sumber data yang di pakai adalah data primer
dan data skunder. Teknik pengumpulan data dilakukan dengan teknik wawancara
dan dokumentasi, hasil penelitian menunjukan bahwa perencanaan dan
pengawasan persediaan dengan menggunakan SOP (standar Operating Procedure)
dan SAP (System Aplication Process) belum berjalan dengan efektif, karena
perusahaan masih sering mengalami kelebihan ataupun kekurangan
persediaan[Asade 2009]
.
30
Tabel II-1 Ringkasan Tinjauan Studi
Penulis Judul Penelitian Metode Hasil Penelitian
[setyadi 2011]
SELAMAT JEWELLERY POINT OF
SALES SYSTEM
Metode berorientasi objek
dengan notasi-notasi UML.
Membantu PT. Selamat Jewellry dalam
melakukan transaksi, penilaian dan pengawasan
karyawan.
[fransisca 2011] Point of Sale System Web Service
Aplication Retail Business
Metode berorientasi objek
dengan notasi-notasi UML.
Aplikasi Point of Sale Berbasis Web yang dapat di
gunakan beberapa perusahaan Retail.
[kodarullah 2010] Aplikasi system penjualan dan
persediaan
Barang menggunakan php dan mysql
studi kasus
Koperasi karyawan universitas mercu
buana
Metode berorientasi objek
dengan notasi-notasi UML.
Aplikasi inventory berbasis web yang dapat
digunakan di beberapa perusahaan yang memiliki
management inventory system
[keown 1991] Intelligent point of sale terminal
thesis
Metode yang digunakan dalam
menganalisis dan merancang
sistem adalah The Open Group
Architecture Framework
(TOGAF)
Modul point of sale atau terminal point of sale
31
Penulis Judul Penelitian Metode Hasil Penelitian
[baraghani 2008] Factors Influencing the adoption of
internet banking
Deskriptif Kualitatif Membatu mengkaji bahwa sistem internet banking
yang di tanamkan pada beberapa sistem aplikasi e-
comerce termasuk point of sale sangat bermanfaat
[maharani 2010] penerapan metode pengakuan
pendapatan
dan beban terhadap kewajaran laporan
keuangan pada pt. sari rajut indah
surabaya
Deskriptif Kualitatif Menghasilkan bahwa perlu adanya sistem aplikasi
seprti point of sale untuk memantau laporan
laporan yang ada sehingga tidak terjadi
penyimpangan laporan karena telah
terdokumentasi dengan baik oleh sistem
[asade 2009] perencanaan dan pengawasan
persediaan barang sebagai alat ukur
tingkat efisiensi perusahaan pada PT.
EXELCOMINDO PRATAMA, Tbk
Medan
Deskriptif Hasil dari penelitian yaitu kesimpulan bahwa
perencanaan dan pengawasan persediaan dengan
menggunakan SOP dan SAP belum berjalan
dengan efektif, karena perusahaan masih sering
mengalami kelebihan ataupun kekurangan
persediaan
[olander 2003] The use and integration of marketing
communication tools in business to
business firm : case studies of three
swedish firms
Deskriptif Menyimpulkan bahwa tool yang sangat efisien
adalah tool penjualan yang berbasis web, agar
dapat lebih interaktif, cepat dalam custumisasi
32
Penulis Judul Penelitian Metode Hasil Penelitian
[firmansyah 2008] Implementasi Services Oriented Architecture (SOA) dalam
Sistem Transaksi Perbankan di
Perguruan Tinggi
Studi Kasus : Universitas Padjadjaran
Metode berorientasi objek
dengan notasi-notasi UML
Webservice yang terintegrasi dalam beberapa
modul yang di antaranya modul transaksi
pembayaran
[snehota 2005] Fashion Store Image & Visual Merchandising The Case of Company
Metode berorientasi objek
dengan notasi-notasi UML
Aplikasi point of sale untuk store fasion dan
mercendise
[drahansky 2005] Dissertation: Biometrik Security System Fingerprint Recognation Technology
Metode berorientasi objek
dengan notasi-notasi UML
Desain suatu system yang menggunakan finger
print, dimana informasi yang di dapatkan di
criptografi kedalam subsystem.
[gerts 2007] Master Thesis Towards an Improved EMV Credit Card Certification
Deskriptif Proses sertifikasi kartu kredit oleh EMV dapat di
terima dengan coverage yang rendah dan dengan
kualitas yang buruk.
Perbedaan penelitian terdahulu dengan penelitian ini adalah pada Metode penelitian yang digunakan, obyek penelitian, ruang
lingkup, dan tujuan penelitiannya. Serta pengujian dengan menggunakan standar kualitas perangkat lunak menurut ISO 9126.
33
2.3 Tinjauan Obyek Penelitian
2.3.1 Profil Singkat Organisasi
Perusahaan Perfume House merupakan perusahaan retail yang bergerak di bisnis
reffil perfume dan juga menjadi suplier perfume untuk beberapa daerah di
Nanggroe Aceh Darussalam. Kantor pusat Perusahaan Perfume House berlokasi
di Jln. Hasan Saleh no.104 Neusu, Banda Aceh, Telp. 065123486, Email :
2.3.2 Visi Misi Organisasi
a. VISI
Menjadi Perusahaan reffil Perfume terbaik di banda aceh dengan teknologi
Informasi dan kinerja baik untuk mencapai target penjualan serta
produktivitas yang tinggi.
b. MISI
1. Memberikan pelayanan terbaik dalam jasa reffil Perfume.
2. Memfasilitasi member/custumer Perfume house dengan adanya
kerjasama perusahaan di bidang financial dan kesehatan.
3. Memetakan seluruh koordinat tempat tinggal dari member yang
terdaftar di Banda aceh menggunakan GIS system.
4. Menyelenggarakan kerjasama dengan institusi pemerintah maupun
swasta dengan prinsip kesetaraan.
5. Menyelenggarakan program Point Reward dengan hadiah-hadiah yang
menarik bertujuan menarik perhatian custumer dan meningkatkan
produktifitas perusahaan.
6. Meningkatkan mutu dan kualitas Produk serta pelayanan perusahaan
berjutuan menjaga kredibilitas perusahaan sebagai reffil perfume
terbaik di Banda Aceh.
.
34
2.3.3 Infrastruktur Teknologi Informasi
2.3.3.1 Hardware
Perangkat keras merupakan sarana dan prasarana untuk
mendukung kelancaran kegiatan di Perusahaan Perfume House Banda
Aceh. Software yang telah ada di perusahaan Perfume house Banda Aceh
harus didukung dengan menggunakan perangkat keras antara lain
komputer dan printer. Berdasarkan hasil observasi, semua komputer di
Perfume House sudah terhubung dengan jaringan internet yang tersedia di
ke-4 store yang ada di banda aceh. Jumlah komputer di perusahaan
perfume house adalah 5 komputer, 4 komputer di gnakan untuk 4 store
yang ada dan 1 komputer di gunakan untuk gudang/warehouse dan
mempunyai prosesor Pentium 4 dan Dual Core.
2.3.3.2 Software
Untuk menjalankan fungsinya, saat ini perusahaan Perfume house
Banda Aceh untuk setiap store dan gudangnya semuanya menggunakan
sistem operasi Windows. Windows digunakan untuk mengolah kata
dengan software microsoft office word, misrosoft office excel, dan
browsing internet. Pengolah kata dan pengolah angka yang dilakukan
antara lain dalam hal surat menyurat, pembuatan laporan kegiatan, dan
laporan keuangan. Belum ada program pembuatan database dan
pemrograman. Aplikasi web browser digunakan untuk mencari berbagai
informasi dari internet, mengunduh dokumen, sosial media, dan untuk
komunikasi dengan email.
35
2.3.3.3 Topologi Jaringan
Topologi jaringan di perusahaan perfume house sangatlah sederhana,
dimana terdapatnya sebuah sistem yang terdiri dari satu unit komputer/pc
yang digunakan untuk pembuatan laporan dan pendataan pelanggan baru,
update poin pelanggan dan kebutuhan lainnya, serta di lengkapi dengan
sebuah printer untuk mencetak laporan laporan yang telah di buat, dan
adanya mesin kasir atau cash register untuk kebutuhan transaksi
pelanggan, topologi jaringannya dapat di ilustrasikan dalam gambar
berikut.
Gambar II-6 topologi jaringan awal Perfume House
2.4 Kerangka Konsep
Berdasarkan hasil pengamatan sementara, kajian teori dan studi
dari penelitian sebelumnya, maka penulis membangun kerangka konsep
penelitian tentang Pengembangan Software Aplikasi PHP Point of Sale
Perfume House Banda Aceh sebagai berikut:
36
Gambar II-7 pola pikir kerangka konsep PHP Point of Sale Banda Aceh
Penjelasan untuk gambar pola pikir kerangka konsep di atas yang di gunakan oleh
peneliti dalam penelitin ini yang dapat dijabarkan sebagai berikut :
1. Peneliti melakukan pengkajian teknologi yang di tinjau dari sisi Hardware,
Software, dan jaringan.
2. Dengan menggunakan Metode pengembangan sistem waterfall peneliti akan
melakukan Analisis dan perancangan sistem dengan UML, kemudian di
lanjutkan dengan Pengkodean dengan bahasa pemograman PHP dan Database
MySQL serta di lakukan pengujian terhadap sistem yang telah di
kembangkan menggunakan metode FGD, Kuesioner dan BlackBox Testing.
37
3. User interface Aplikasi di bangun agar user dapat melakukan input data, data
yang di maksud akan tersimpan di dalam Database MySQL dan suatu waktu
data tersebut dapat di tampilkan berupa informasi dengan tampilan interface
yang lebih user friendly yang dapat di akses oleh pengguna sistem sesuai
dengan batasan batasan level pengguna.
4. Pengujian dengan beberapa metode yang telah di lakukan kemudia di ambil
kesimpulan apakah sistem telah memenuhi syarat lulus tes uji berdasarkan
pengujian perangkat lunak ISO 9126.
2.5 Hipotesis
Berdasarkan yang telah dikemukakan maka peryataan penelitian ini dapat
dirumuskan sebagai berikut: Diduga pengembangan Software aplikasi PHP Point
of Sale di perusahaan Perfume House Banda Aceh menggunakan metode
pengembangan sistem informasi model waterfall dapat membentuk sistem yang
lulus dalam pengujian kualitas dengan ISO 9126, Kuesioner, blackbox testing dan
FGD (Forum Group Discussion) serta sesuai dengan kebutuhan Perusahaan.
38
BAB III
METODOLOGI DAN RANCANGAN PENELITIAN
3.1 Jenis Penelitian
Penelitian Pengembangan Sotfware aplikasi PHP Point of Sale studi kasus
di perusahaan Perfume House Banda Aceh yang dilakukan merupakan jenis
Penelitian Terapan (Applied Research). Hasil penelitian dapat langsung diterapkan
untuk memecahkan permasalahan yang dihadapi. ([Moedjiono 2012], 15)
Dalam penelitian ini akan menerapkan teori pengembangan sistem
informasi menggunakan metode pengembangan sistem model Waterfall, analisis
dan perancangan sistem dengan pendekatan berorientasi obyek, implementasi
hasil analisis dan perancangan menggunakan pemrograman berbasis PHP dan
database MySQL, dan pengujian aplikasi berbasis web.
Hasil penelitian berupa Aplikasi PHP Point of Sale web based langsung
dapat diterapkan untuk pemecahan permasalahan yang dihadapi.
3.2 Metode Pemilihan Sampel
Metode pengambilan sampel dalam penelitian ini adalah purposive
sampling. Pengambilan sampel dengan purposive sampling merupakan teknik
pengambilan sampel dengan mengambil responden yang terpilih betul oleh
peneliti menurut ciri-ciri spesifik yang dimiliki oleh sampel tersebut. ([Nasution 2009],
98)
Responden dalam penelitian ini adalah Pimpinan Perusahaan perfume
house berikut staf-staf ahlinya. Pemilihan responden sampel ini dengan
pertimbangan berdasarkan keterlibatan di dalam sistem sehingga pemilihan
sample menjadi lebih effective.
39
3.3 Metode Pengumpulan Data
Bila menggunakan metode pengumpulan data dengan
pengamatan/observasi agar dijelaskan secara rinci obyek yang
diamati/diobservasi, apa saja yang diobservasi, cara mengobservasi, dan hasil
observasi yang diharapkan. Bila menggunakan metode pengumpulan data dengan
angket/kuesioner, wawancara/test, pengujian/test agar dicantumkan rancangan
bahan angket, wawancara, maupun pengujian yang akan dilaksakanan, contoh 1
(satu) set hasil yang telah diisi oleh responden, serta ringkasan/tabulasi yang
menggambarkan hasil secara keseluruhannya.
Metode pengumpulan data yang digunakan dalam penelitian ini adalah:
1. Metode Observasi. Observasi atau pengamatan langsung terhadap profil
organisasi dan obyek penelitian. Dalam observasi dengan mempelajari
dokumentasi perusahaan dan aplikasi perusahaan, tujuan dan struktur
organisasi, proses bisnis, ketersediaan sarana dan prasarana, infrastrukur
teknologi, dan kebijakan teknologi informasi yang telah ada pada
Perusahaan Perfume House banda aceh.
2. Metode Wawancara. Wawancara dengan pihak-pihak yang berkaitan
dengan penelitian. Teknik wawancara dilakukan dengan wawancara
berstruktur. ([Nasution 2009], 117)
Dalam wawancara tersebut peneliti telah
menyiapkan daftar pertanyaan yang berkaitan dengan pengembangan
Software Aplikasi PHP Point of Sale.
3. Metode Studi Pustaka. Metode pengumpulan data yang diperoleh dengan
mempelajari, meneliti, dan membaca buku, jurnal, skripsi, tesis yang
berhubungan dengan sistem informasi, PHP Point of Sale dan sumber daya
manusia.
40
3.4 Instrumentasi
Dalam penelitian ini, instrumen yang digunakan untuk mengumpulkan data
adalah:
1. Instrumen dalam pengumpulan data dengan metode observasi. Instrumen
observasi ini adalah peneliti yang melakukan pengamatan langsung di
Perusahaan Perfume House Banda Aceh.
2. Instrumen dalam pengumpulan data dengan metode wawancara. Instrumen
wawancara ini adalah peneliti, pimpinan perusahaan perfume house dan staf-
nya, serta rancangan daftar pertanyaan wawancara. Rancangan daftar
pertanyaan wawancara disertakan dalam Lampiran 1.
3.5 Teknik Analisis, Perancangan, dan Pengujian Sistem
3.5.1 Teknik Analisis
Teknik analisis yang digunakan pada penelitian ini adalah menggunakan
pendekatan Object Oriented Analysis (OOA) atau analisis berorientasi obyek.
Analisis dokumen sistem yang sudah berjalan. Analisis kebutuhan terhadap hasil
wawancara dengan pihak-pihak yang terkait. Analisis terhadap data yang telah
dikumpulkan hasil olah dokumen dan lain-lain.
Pada proses analisis, terdapat empat macam analisis yang dilakukan yaitu:
1. Analisis sistem yang berjalan saat ini.
2. Analisis Kebutuhan Fungsional dan Non-Fungsional. Pemodelan
kebutuhan fungsional dilakukan dengan Use Case Diagram.
3. Analisis Pengguna. Dilakukan analisa terhadap user-user yang akan
menggunakan aplikasi dan juga fungsi-fungsi apa saja yang bisa
didapatkan oleh masing-masing user.
4. Analisis Perilaku Sistem. Pada tahapan ini, dilakukan analisis perilaku
sistem yang dikembangkan dan dimodelkan dengan Activity Diagram dan
Sequence Diagram.
41
3.5.2 Teknik Perancangan
Teknik perancangan yang digunakan dalam penelitian ini menggunakan
pendekatan metode Object-Oriented Design (OOD) atau Perancangan
Berorientasi Obyek, dan menggunakan Unified Modelling Language (UML).
1. Perancangan program atau spesifikasi sistem, yang meliputi:
a. Pembuatan Class Diagram.
b. Pembuatan Package Diagram.
c. Pembuatan Deployment Diagram.
2. Perancangan Antarmuka Pengguna (Navigasi, form Input, form Output)
3. Perancangan Database. data apa yang disimpan, format data yang
digunakan, dimana data akan disimpan Database design (ER diagram)
4. Perancangan Architecture (hardware, software, jaringan). Dimodelkan
dengan Architecture design (deployment diagram)
3.5.3 Teknik Pengujian Sistem
3.5.3.1 Pegujian dengan ISO 9126
Pengujian sistem menggunakan standar kualitas perangkat lunak menurut
ISO 9126 untuk menguji kualitas aplikasi sistem aplikasi PHP Point of Sale
Perfume House Banda Aceh. Penelitian ini hanya meneliti empat karakteristik
yang terdapat pada ISO 9126, yaitu fungsionalitas, kebergunaan, efisiensi, dan
portabilitas. Teknik pengujian (testing) dan evaluasi yang dilakukan dalam
penelitian ini dengan cara sebagai berikut:
1. Pengujian Sistem. Berdasarkan empat karakteristik yang terdapat pada ISO
9126, yaitu fungsionalitas, kebergunaan, efisiensi, dan portabilitas.
Dilakukan dengan menggunakan kasus uji yang dijalankan pada sistem.
2. Pengujian Penerimaan Pengguna. Dilakukan menggunakan kuesioner yang
dibagikan kepada pengguna sistem dengan teknik pengujian black-box
testing. Instrumen dalam pengujian penerimaan sistem dengan metode
kuesioner. Kuesioner akan disebarkan pada responden yaitu ketua
perusahaan, staff, operator gudang, operator store, dan staf custumer
42
service di perusahaan Perfume House Banda Aceh terdiri dari pertanyaan
pertanyaan yaitu:
a. Pertanyaan-pertanyaan untuk menguji fungsionalitas sistem.
b. Pertanyaan-pertanyaan untuk menguji kecepatan layanan
informasi.
c. Pertanyaan-pertanyaan untuk menguji hasil analisis dan rancangan
sistem.
3.5.3.2 Pengujian dengan teknik BlackBox Testing
Pengujian sistem Aplikasi PHP Point of Sale Perfume House Banda Aceh
juga di lakukan dengan cara pengujian dengan teknik BlackBox, yaitu dengan
melakukan penetration test, untuk mengetahui kelemahan sistem apa bila terjadi
serangan dari luar sistem, dan melakukan DDoS untuk mengetahui ketahanan
sistem terhadap request yang berlebihan.
3.5.3.3 Pegujian dengan FGD (Forum Group Discussion)
Pengujian sistem menggunakan metode FGD (Forum Group Discussion)
ini di lakukan dengan cara melakukan kan test langsung terhadap sistem dari
dalam sistem, yaitu di lakukan oleh beberapa pengguna sistem php Point of Sale
Perfume House Banda Aceh dengan melakukan login sesuai level dan melakukan
testing terhadap modul-modul yang ada sehingga dapat di ketahui apakah sistem
memenuhi kebutuhan perusahaan perfume house banda aceh.
43
3.6 Langkah-langkah Penelitian
Dalam pengembangan sistem informasi, keseluruhan proses yang dilalui
harus melalui beberapa tahapan. Dalam penelitian ini digunakan metode
pengembangan sistem informasi model Waterfall. Tahapan yang dilakukan
meliputi: komunikasi, perencanaan, pemodelan, konstruksi, dan pengiriman
sistem. Langkah-langkah pada tahapan pelaksanaan penelitian dapat dilihat dalam
bentuk diagram alir pada Gambar III-1 berikut ini:
Mulai
Identifikasi Permasalahan
Inisialisasi Penelitian, Rumusan Masalah
Studi Pustaka dan Tinjauan Penelitian
Studi literatur, analisa penelitian sebelumnya
Tahapan
Komunikasi
Tahapan
Perencanaan
Tahapan
Pemodelan
Tahapan
Konstruksi
Tahapan
Pengiriman
Sistem
Analisis Sistem
Analisis Sistem Berjalan, Analisis Kebutuhan, Pengguna
Perancangan Sistem
Perancangan sistem, antarmuka, database, arsitektur
Pengkodean
Menggunakan PHP dan MySQL
Pengujian dan Evaluasi
Pengujian penerimaan pengguna
Implementasi
Implementasi di jaringan lokal
Selesai
Pengumpulan Data
Observasi, Wawancara
Studi Kelayakan
Organisasi, Infrastruktur Teknologi
Gambar III-1 Langkah-langkah Penelitian
44
1. Identifikasi Permasalahan. Tahapan ini merupakan inisialisasi dari penelitian,
yaitu mencari permasalahan yang dihadapi oleh organisasi. Hal ini dilakukan
peneliti agar dapat memahami kondisi dan proses bisnis Perusahaan Perfume
House, sehingga mendapatkan gambaran menyeluruh akan sistem berjalan.
2. Studi Pustaka dan Tinjauan Penelitian. Tahapan ini dilakukan dengan
mempelajari literatur yang berkaitan dengan sistem aplikasi PHP point of sale,
, PHP dan MYSQL, dan pengujian sistem. Dalam tahapan ini juga dilakukan
studi dan analisa dari beberapa penelitian sebelumnya, baik berupa jurnal
nasional, internasional maupun tesis mengenai sistem Aplikasi Point of Sale.
3. Pengumpulan Data. Proses ini dilakukan dengan cara melakukan observasi
dan wawancara dengan Pimpinan Perusahaan Perfume House dan staf terkait
untuk mempelajari kebutuhan pengguna dan kebutuhan sistem, serta observasi
dokumen perusahaan yang sudah ada.
4. Studi kelayakan. Pada tahap ini akan dilakukan identifikasi kelayakan sistem
baik secara teknis dan organisasi. Secara teknis menyangkut ketersediaan
sumber daya berupa tenaga dan perangkat pendukung. Secara organisasi
menyangkut ketersediaan organisasi pelaksana sistem dan aturan-aturan
pendukung.
5. Analisis Sistem. Berdasarkan hasil pengumpulan data, akan dilakukan analisa
kebutuhan pengguna dan kebutuhan fungsional dan non-fungsional sistem,
dan analisa perilaku sistem.
6. Perancangan Sistem. Berdasarkan hasil analisis, kemudian dilanjutkan dengan
melakukan perancangan sistem untuk menggambarkan bagaimana sistem
dapat memenuhi kebutuhan yang sudah ditetapkan, dengan melakukan
prosedur-prosedur berikut:
a. Pembuatan pemodelan.
b. Perancangan antarmuka (input, output, dan navigasi)
c. Perancangan arsitektur.
d. Perancangan konseptual basis data.
7. Pengkodean. Pada tahap ini dilakukan pengkodean (coding) berdasarkan hasil
perancangan sistem kedalam bahasa pemograman yang digunakan berupa
45
aplikasi berbasis web PHP yang akan dikoneksikan dengan database MySQL.
Langkah-langkah pengkodean mencakup pembuatan rancangan masukan dan
keluaran (interface) yaitu bentuk entry data, report, query dalam sistem menu
dan membuat panduan penggunaan aplikasi (user manual), agar aplikasi lebih
mudah dipahami oleh pengguna.
8. Implementasi sistem pada jaringan lokal. Berdasarkan tinjauan obyek
penelitian, dalam tahap implementasi untuk penelitian ini dilakukan pada
jaringan yang ada pada perusahaan Perfume House.
9. Pengujian sistem dan evaluasi dengan pengujian penerimaan pengguna (user
acceptance testing). Pengujian perangkat lunak dilakukan sesuai dengan
metode pengembangan sistem yang digunakan, yaitu pada tahap penyerahan
sistem model Waterfall. Pengujian sistem dilakukan untuk memvalidasi
terhadap kualitas dari sistem informasi dilakukan dengan menggunakan
standar ISO 9126, menggunakan metode Blackbox dan FGD (Forum Group
Discussion). Pengujian penerimaan pengguna yang dilakukan meliputi
pengujian fungsionalitas dan non-fungsionalitas sistem, percepatan
memperoleh informasi perusahaan, dan pengujian terhadap hasil analisis dan
perancangan Pengujian ini dilaksanakan dengan menggunakan metode
kuesioner.
46
3.7 Jadwal Penelitian
Tabel III-1 Jadwal Penelitian
No. Kegiatan Bulan 1 Bulan 2 Bulan 3 Bulan 4
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1.
Pencarian dan
Pemilihan Obyek
Penelitian
X X
2. Studi ke Obyek
Penelitian X X
3. Perumusan Masalah
Penelitian X
4. Penentuan Topik dan
Pembimbing Tesis X X
5. Pengumpulan Bahan
Literatur/Referensi X X X X X X X X
6.
Penyerahan Formulir
Pendaftaran Penulisan
Tesis
X
7.
Penyusunan
Kerangka/Landasan
Pemikiran (Tinjauan
Pustaka/Studi/Organis
asi sampai dengan
Kerangka Konsep dan
Hipotesis)
X X X X
8.
Penyusunan
Metodologi/Desain
Penelitian
(Metode/Jenis
Penelitian, Prosedur
Sampling, Metode
Pengumpulan Data,
Instrumentasi dan
Teknik Analisis
/Perancangan dan Uji
Sistem)
X X X X
9. Penyusunan Naskah
Proposal Tesis X X X X
10. Penyerahan Formulir
Pendaftaran Sidang
Proposal Tesis
X
11. Sidang Proposal Tesis X
12. Pelaksanaan X X X
47
Pengumpulan Data
Sampel
13.
Analisis Data,
Interpretasi,
Perancangan,
Pembuatan Program,
Implementasi,
Pengujian
X X X
14. Penyusunan Naskah
Akhir Tesis X X X
15. Penyerahan Formulir
Pendaftaran Sidang
Akhir Tesis
X
16. Sidang Akhir Tesis X
17. Penyempurnaan
Naskah Akhir Tesis X
18. Pembuatan Paper
Ringkasan Tesis X X
19. Penggandaan Naskah
Akhir Tesis dan Paper X
20.
Pembuatan CD berisi
Naskah Akhir Tesis,
Paper, dan Slide
Presentasi
X
21. Penyerahan Naskah
Akhir Tesis, Paper dan
CD
X
48
BAB IV
PEMBAHASAN HASIL PENELITIAN
Analisis Sistem 4.1
Pada proses analisis sistem harus mendeskripsikan apa yang harus
dilakukan oleh sistem untuk memenuhi kebutuhan informasi pengguna. Analisis
sistem akan menjawab pertanyaan apa yang akan dikerjakan oleh sistem, siapa
yang akan menggunakan sistem, dan dimana serta kapan sistem tersebut akan
digunakan. Kegiatan analisis sistem yang berjalan dilakukan dengan pendekatan
analisis berorientasi objek untuk sistem yang dirancang, dimaksudkan untuk
menitik beratkan kepada fungsionalitas sistem yang berjalan. Selanjutnya dari
hasil analisis akan divisualisasi dan didokumentasikan dengan Unified Modeling
Language (UML) melalui Use Case Diagram, Activity Diagram, dan Sequence
Diagram dengan pertimbangan diagram tersebut dianggap mewakili secara
keseluruhan sistem yang berjalan yang dapat dimengerti oleh pengguna.
4.1.1 Analisis Proses Bisnis Sistem Berjalan
Analisis proses bisnis dari sistem kepegawaian yang sedang berjalan
dilakukan untuk mendapatkan informasi tentang bagaimana pihak Perusahaan
Perfume House Banda aceh melakukan aktivitas pengelolaan data dan melakukan
transaksi yang mendukung dalam pengembangan aplikasi. Berdasarkan hasil
wawancara dan observasi, diperoleh data dan dokumen terkait proses sistem yang
akan dikembangkan. Data dan informasi yang berkaitan dengan sistem yang
sedang berjalan tersebut rinciannya dilampirkan dalam Lampiran 3 Data
Observasi.
Hasil wawancara dan observasi menunjukkan bahwa responden
menginginkan dibangun software aplikasi PHP Point of Sale berbasis web sebagai
alat untuk mempermudah dalam hal transaksi perusahaan dan pengelolaan data
49
perusahaan Perufume House Banda Aceh yang terintegrasi dengan database serta
dapat meningkatkan kecepatan layanan transaksi dan pengelolaan data di
Perusahaan. Proses tersebut berkaitan dengan proses transaksi, data karyawan,
data custumer, data produk, point reward, dan laporan.
4.1.1.1 Proses transaksi
Pada proses transaksi merupakan proses yang dilakukan oleh staff
custumer perusahaan Perfume House Banda Aceh dimana terjadi interaksi antara
custumer service dengan custumer yang merupakan proses inti dalam
pertumbuhan ekonomi perusahaan, untuk itu prosedur yang berjalan dalam proses
transaksi di perusahaan adalan sebagai berikut:
1. Pelanggan datang ke store Perfume House terdekat, untuk melakukan
pendaftaran member baru.
2. Pelanggan memilih jenis produk yang di tawarkan oleh custumer service atau
dapat meminta langsung jenis produk yang di inginkan oleh pelanggan.
3. Custumer service mempersiapkan produk yang telah di order oleh pelanggan.
4. Pelanggan melihat kembali produk yang di maksud sebelum melakukan
pembayaran.
5. Custumer service menawarkan cara pembayaran dengan 4 jenis cara
pembayaran yaitu:
a. Menggunakan voucher belanja
b. Menggunakan kartu credit
c. Menggunakan kartu debit
d. Menggunakan uang cash
6. Pelanggan memilih cara pembayaran yang telah di tawarkan dan melanjutkan
ke proses pembayaran.
7. Custumer service melakukan penginputan data transaksi sekaligus mencetak
struk transaksi untuk pelanggan.
50
Pada proses transaksi tersebut pelanggan yang dimaksud adalah pelanggan
tetap dan pelanggan tidak tetap, diskon 10 persen di berikan kepada pelanggan
tetap utnuk setiap transaksinya sesuai dengan kebijakan perusahaan Perfume
House Banda Aceh.
4.1.1.2 Proses Data karyawan
Pada proses data karyawan penginputan datanya dilakukan oleh admin
perusahaan Perfume House Banda Aceh demi menjaga keamanan data perusahaan
adapun isi dari data ini diantaranya adalah nama, nomor urut, lokasi store, tempat
lahir, tanggal lahir, jenis kelamin, nomor hand phone, alamat dan email.
Prosedur untuk melakukan penyimpanan data karyawan dari sistem yang
berjalan dimulai dengan adanya lamaran, jika diterima maka data akan
dimasukkan kedalam data karyawan. Sedangkan untuk karyawan yang sudah
disimpan data, dapat dilakukan proses update data tanpa batas waktu yang di
tentukan, pada proses penginputan data karyawan, admin sekaligus membuatkan
akun berupa username dan password untuk setiap karyawan perusahaan yang akan
digunakan untuk login ke aplikasi PHP Point of Sale Perfume House Bnada Aceh.
Kemudian setiap karyawan berkah mengubah password masing-masing serta
dapat meminta bantuan kepada admin apabila ingin melakukan reset password
karyawan.
4.1.1.3 Proses Data Custumer
Data Custumer merupakan data dari pelanggan tetap di Perusahaan
Perfume House Banda Aceh, data tersebut di dapatkan pada saat pelanggan
melakukan pendaftaran sebagai member di Perfume House, Proses penginputan
data custumer dapat dilakukan oleh Admin, Pimpinan Perusahaan, Operator dan
custumer service. Adapun isi dari data custumer yaitu: account number, no. Ktp,
tgl register, nama awal, nama tengah , nama akhir, tempat lahir, tgl lahir, alamt,
51
tipe pelanggan, no. Tlp, no Hp, email dan catatan bila perlu. Pada data custumer
yang telah terdaftar dapat sesekali diminta oleh pelanggan untuk melihat datanya
guna untuk mengecek kesalahan dalam pengimputan data atau untuk mengecek
poin yang telah di dapatkan pelanggan.
4.1.1.4 Proses Data Produk
Data produk mencakup seluruh data produk perusahaan baik yang ada di
store maupun yang ada di warehouse, pada proses penginputan data produk ini
dapat dilakukan oleh beberapa level user di dalam sistem di antaranya dapat di
lakukan oleh : admin, operator, gudang dan pimpinan perusahaan. Isi dari data
produk ini sendiri adalah : kategori, item number, satuan (pilihan antara ml atau
unit), special (pilihan antara men, women dan both), harga pokok store, harga
satuan store, harga pokok grosir, harga satuan grosir, discount, limit stock di store,
limit stock di warehouse dan deskripsi produk.
4.1.1.5 Proses Point Reward
Data Point reward adalah data jumlah point yang di dapatkan oleh
pelanggan tetap saat melakukan transaksi. Nilai point yang di dapatkan adalah
satu (1) untuk transaksi dengan nilai kelipatan Rp. 20.000, dimana point tersebut
akan di tambahkan kedalam data custumer yang di akumulasikan dengan batas
waktu satu tahun. Data point reward dapat ditukarkan dengan hadiah/merchandise
yang di sediakan oleh perusahaan, dimana jenis hadiah yang akan di berikat
bergantung dengan jumlah point yang di dapatkan oleh pelanggan sesuai dengan
kebijakan perusahaan Perfume House Banda Aceh.
52
4.1.1.6 Proses Data Laporan
Data Laporan merupakan data seluruh kegiatan transaksi yang dilakukan
oleh karyawan perusahaan Perfume House Banda Aceh baik transaksi oleh
custumer service maupun transaksi oleh gudang/warehouse. Data laporan berupa
laporan transaksi penjualan dan laporan transfer produk yang dapat di
klasifikasikan menjadi: laporan harian, laporan bulanan, laporan tahunan serta
dapat mengidentifikasikan waktu dan tanggal transaksi, user yang melakukan
transaksi, jumlah/amount transaksi dan tujuan transaksi. Pada data laporan dapat
di akses oleh semua level yang terlibat di dalam sistem aplikasi PHP Point of Sale
Perfume House Banda Aceh dengan penyesuaian data laporan yang dibutuhkan
oleh masing-masing level user. User yang dapat melihat data laporan dimulai dari
yang paling lengkap sampai yang terbatas adalah : Admin, Pimpinan Perusahaan,
Gudang/warehouse, operator dan terakhir custumer service.
53
4.1.2 Analisis Kebutuhan Fungsional, Nonfungsional, dan Pengguna
4.1.2.1 Analisis Kebutuhan Fungsional
Pada analisis kebutuhan Fungsional sistem aplikasi PHP Point of Sale
Pefume House Bnda Aceh didasarkan pada data observasi langsung, data
wawancara serta user requerment pada perusahaan Perfume House . Tahap
selanjutnya adalah menyusun kebutuhan fungsional yang didasarkan pada
kebutuhan user dan juga bertujuan untuk mengeliminasi permasalahan yang ada.
Tahap analisis kebutuhan fungsional sistem akan membahas mengenai
fungsi-fungsi yang diperlukan dalam pembangunan sistem. Hal ini dilakukan
untuk memenuhi kebutuhan data dan informasi yang diperlukan oleh pengguna
berdasarkan analisis kebutuhan pengguna. Berdasarkan hasil analisis proses
bisnis, identifikasi kebutuhan data dan informasi, maka dianalisis juga beberapa
fungsi yang harus tersedia di dalam sistem. Hal ini dilakukan untuk memenuhi
kebutuhan data dan informasi yang diperlukan oleh pengguna. Setiap fungsi yang
diusulkan diberi kode sehingga dapat mempermudah identifikasi pada saat
implementasi dan penyusunan dokumen. Dari hasil analisis kebutuhan pemilik
bisnis dan user, dibutuhkan suatu sistem Aplikasi berbasis web.
Berdasarkan hasil wawancara dan observasi langsung terhadap sistem
pimpinan perusahaan, staf karyawan dan sistem yang sedang berjalan, maka dapat
dirumuskan daftar kebutuhan fungsional sistemaplikasi yang dikembangkan.
Spesifikasi daftar kebutuhan ini sudah disetujui oleh Pimpinan Perusahaan
Perfume House Banda Aceh. Berikut ini adalah daftar kebutuhan fungsional
sistem yang dibutuhkan:
1. Aplikasi berbasis web untuk perusahaan.
2. Login. Admin mempunyai username dan password, untuk dapat mengubah isi
dari website perusahaan tersebut, mengedit data, menginputkan data, dan
mengupdate semua informasi.
3. Melihat informasi website. Yaitu, melihat pelanggan yang sudah terdaftar,
melihat produk beserta stoknya, melihat data-data transaksi laporan setiap
54
user, melihat data karyawan dan data custumer serta mengupdate datanya
dengan akurat, melihat status jam dan dapat di update setiap saat.
4. Sistem dapat melakukan transaksi penjualan dan transaksi transfer produk
yang dilakukan karyawan.
5. Pengaturan hak akses untuk user level yang berbeda. Diperlukan proses
pemberian akses terhadap pengguna dan penentuan hak akses masing-masing
user.
6. Sistem harus dapat mengedit, menghapus, dan menambah data produk,
custumer dan karyawan.
7. Sistem harus dapat menampilkan data karyawan. Sistem harus dapat mengedit,
menghapus, dan menambah data karyawan
8. Sistem harus dapat mengatur keanggotaan pengguna aplikasi
9. Sistem harus dapat mencetak laporan transaksi perusahaan.
10. Laporan dibedakan menjadi tiga tipe, yaitu laporan harian, laporan bulanan,
dan laporan tahunan. Pembuatan laporan harian dan bulanan dilakukan secara
otomatis setiap harinya untuk masing-masing karyawan yang melakukan
transaksi. Laporan tahunan, pada akhir tahun.
11. Fungsi ini berfungsi untuk men-generate laporan sehingga user hanya perlu
menentukan pilihan tipe laporan dan menentukan dimana laporan tersebut
akan disimpan.
12. Pengaturan, sistem harus dapat di sesuaikan dengan pengaturan yang sewaktu
waktu dapat berubah seperti, discount, tax, harga pokok, harga satuan, limit
stok dan point reward.
55
4.1.2.2 Analisis Kebutuhan Nonfungsional
Berikut ini adalah daftar kebutuhan nonfungsional sistem. Kebutuhan ini
adalah tipe kebutuhan yang berisi properti perilaku yang dimiliki oleh sistem:
1. Operasional
Bisa digunakan pada sistem operasi Microsoft Windows maupun Linux versi
apapun. Kebutuhan memori minimum 256 MB RAM. Bisa dikembangkan
untuk aplikasi mobile.
2. Sekuriti
Sistem aplikasinya dilengkapi password. Semua password telah terenkripsi
Pada database, untuk mengakses link harus melalui proses login yang legal
sehingga tidak diijinkan mengakses link tanpa melalui tahapan yang benar.
Sistem seharusnya aman digunakan.
3. Performance
Sistem dapat menampung data dalam jumlah yang besar. Sistem seharusnya
dapat diakses oleh banyak user secara bersamaan. Sistem seharusnya cepat
diakses.
4. Portability Sistem bisa dijalankan pada platform windows dan linux dengan
kebutuhan php engine dan MySQL server.
5. Sistem seharus mudah digunakan dan mudah dipelajari. Sistem menyediakan
menu bantuan. Sistem seharusnya menyediakan panduan penggunaan. Sistem
harus menggunakan bahasa Indonesia. Sistem seharusnya memiliki tampilan
menarik.
4.1.2.3 Analisis Pengguna
Dari hasil identifikasi kebutuhan fungsional melalui wawancara serta
observasi didapatkan spesifikasi pengguna dan fungsi yang diperoleh oleh
masing-masing pengguna. Tingkatan pengguna ditujukan untuk mengamankan
database dari pengguna yang tidak diijinkan serta membatasi hak akses. Untuk
56
mendapatkan hak akses sesuai dengan tingkatan pengguna dilakukan dengan
Login pada sistem aplikasi PHP Point of Sale Perfume House Banda Aceh
menggunakan username dan password yang diberikan.
Analisa pengguna dan hak akses untuk masing-masing pengguna terdapat
pada tabel berikut ini:
Tabel IV-1 Tingkatan Pengguna dan Hak Akses
No Tingkatan
Pengguna
Hak Akses Pengguna
1 Administrator Dapat mengakses seluruh kegiatan di dalam sistem kecuali
kegiatan transaksi penjualan.
2 Pimpinan Dapat mengakses seluruh laporan dan melihat custumer
(tambah, edit, hapus)
3 operator Dapat melakukan transaksi tranfer produk dari gudang ke
store maupun sebaliknya, menambah produk serta melihat
laporan transaksi.
4 Gudang Dapat melakukan transaksi tambah stok produk dari
suplier, melakukan transaksi transfer produk dari gudang
ke store maupun sebaliknya, menambah produk serta
melihat laporan transaksi.
5 Custumer
Service
Dapat melakukan transaksi penjualan produk perusahaan,
melihat custumer (tambah, edit, hapus) dan melihat
laporan transaksi penjualan.
57
4.1.2.4 Use Case Diagram
Berdasarkan spesifikasi kebutuhan fungsional dan actor yang terlibat
dalam sistem, maka dapat dimodelkan dengan use case diagram. Use case
diagram menggambarkan fungsionalitas yang diharapkan dari sebuah system. use
case mempresentasikan interaksi antara actor dengan system.
1. Actor
Actor adalah segala sesuatu yang berinteraksi langsung dengan system
aplikasi komputer, seperti orang, benda atau lainnya. Tugas actor adalah
memberikan informasi kepada system dan dapat memerintahkan system agar
melakukans sesuatu tugas. Berdasarkan identifikasi pengguna, maka actor yang
terlibat dalam sistem informasi manajemen kepegawaian ini adalah:
Gambar IV-1 Actor Sistem Aplikasi PHP Point of Sale
58
2. Use Case Diagram
Use case adalah deskripsi fungsi dari sebuah system dari perspektif
pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara
pengguna sebuah system dengan sistemnya sendiri melalui sebuah cerita
bagaimana sebuah system dipakai. Pada analisis dan pemodelan kebutuhan
fungsional membutuhkan pemecahan menjadi beberapa subsistem untuk
memudahkan dalam mendeskripsikan pemahaman setiap proses dalam sistem.
Gambar IV-2 Use Case Diagram
59
4.1.3 Analisis Perilaku Sistem
4.1.4.1 Activity Diagram
Activity Diagram adalah diagram yang menjelaskan tentang alir aktifitas di
dalam sistem yang sedang dirancang, bagaimana alir berawal, bagaimana
keputusan-keputusan dapat terjadi dan terakhir bagaimana sistem berakhir.
Activity diagram digunakan untuk menyajikan detail proses bisnis yang
menunjukkan bagaimana proses bisnis dilakukan. Dalam penelitian ini peneliti
menggambarkan activity diagram tersebut melalui interaksi antara aktor/pekerja
bisnis dengan sistem yang akan dibangun. Dengan demikian, activity diagram
diturunkan dari usecase diagram yang sudah dibuat sebelumnya, untuk
menggambarkan masing-masing prosedur dalam proses bisnis di perusahaan
Perfume House Banda Aceh.
Activity Diagram merupakan model analisis yang digunakan atau
menggambarkan sebuah proses aktivitas. Dalam penelitian ini, activity diagram
digunakan untuk memodelkan suatu proses atau operasi. Untuk menggambarkan
sebuah fungsi sistem, Dalam sebuah operasi yang spesifik, diagram ini dipakai
untuk menggambarkan logika dari sebuah proses atau operasi. Dari 30 activity
diagram yang ada, akan di tampilkan 3 Activity Diagram, yaitu, Activity Diagram
transaksi, Activity Diagram entry new custumer, Activity Diagram entry new
product. Selanjutnya untuk Activity Diagram lainnya akan di lampirkan sebagai
lampiran.
A. Activity Diagram transaksi
Pada Activity diagram transaksi terdapat beberapa langkah/step yang di
tempuh oleh sistem dan pengguna di mulai dari tahap login dan pengecekan
validasi pengguna sampai di lanjutkan ke tahap entry data dan pengecekan
validasi data yang di masukan. Berikut ini langkah – langkah yang
menggambarkan activity diagram new transaksi :
1. Pengguna membuka sistem.
2. Sistem akan menampilkan form login.
3. Pengguna memasukkan User ID dan Password.
60
4. Sistem akan memverifikasi User ID dan Pasword, jika tidak valid, maka
sistem akan meminta untuk memasukkan kembali user ID dan Password.
5. Jika User ID dan Password sudah valid maka pengguna langsung masuk
ke sistem
6. Pengguna memilih menu transaksi kemudian new transaksi
7. Pengguna memasukan data transaksi
8. Sistem akan memverifikasi data tarnsaksi yang dimasukkan, jika tidak
valid maka sistem akan meminta pengguna untuk memasukan kembali
data dengan benar.
9. Jika data produk yang di masukkan valid, sistem akan menampilkan hasil
sementara data produk. Kemudian pengguna memproses transaksi
10. Sistem melakukan print receipt transaksi dan menyimpan transaksi .
11. Pengguna keluar/logout dari sistem
61
Gambar IV-3 Activity Diagram Mengelola Bidang Studi
B. Activity Diagram entry new custumer
1. Pengguna membuka sistem.
2. Sistem akan menampilkan form login.
3. Pengguna memasukkan User ID dan Password.
4. Sistem akan memverifikasi User ID dan Pasword, jika tidak valid, maka
sistem akan meminta untuk memasukkan kembali user ID dan Password.
62
5. Jika User ID dan Password sudah valid maka pengguna langsung masuk
ke sistem
6. Pengguna memilih menu entry new Custumer.
7. Pengguna memasukkan data custumer kedalam sistem
8. Sistem akan memverifikasi Data yang dimasukkan pengguna, jika data
tidak valid maka sistem akan meminta pengguna untuk memasukkan data
dengan benar.
9. Jika data yang di masukkan pengguna telah benar, maka sistem akan
menampilkan hasil sementara data custumer.
10. Pengguna memproses penyimpanan data custumer pada sistem.
11. Pengguna keluar/logout dari sistem
Gambar IV-4 Activity Diagram entry new Custumer
63
C. Activity Diagram new entry product
Pada Activity diagram new entry product terdapat beberapa langkah/step
yang di tempuh oleh sistem dan pengguna di mulai dari tahap login dan
pengecekan validasi pengguna sampai di lanjutkan ke tahap entry data dan
pengecekan validasi data yang di masukan. Berikut ini langkah – langkah
yang menggambarkan activity diagram new entry product :
1. Pengguna membuka sistem.
2. Sistem akan menampilkan form login.
3. Pengguna memasukkan User ID dan Password.
4. Sistem akan memverifikasi User ID dan Pasword, jika tidak valid, maka
sistem akan meminta untuk memasukkan kembali user ID dan Password.
5. Jika User ID dan Password sudah valid maka pengguna langsung masuk
ke sistem
6. Pengguna memilih menu produk kemudian new entry product ,
7. Pengguna memasukan data produk
8. Sistem akan memverifikasi data produk yang dimasukkan, jika tidak
valid maka sistem akan meminta pengguna untuk memasukan kembali
data produk dengan benar.
9. Jika data produk yang di masukkan valid, sistem akan menampilkan hasil
sementara data produk.
10. Pengguna memproses data produk untuk disimpan.
11. Sistem menyimpan data produk.
12. Pengguna keluar/logout dari sistem.
64
Gambar IV-5 Activity Diagram new entry product
65
4.1.4.2 Sequence Diagram
Pada Sequence Diagram menjelaskan aliran fungsionalitas dalam use
case. Sebuah diagram menunjukkan urutan interaksi object yang disusun dalam
urutan waktu. Ini menggambarkan object dan class-class yang terlibat dalam
skenario dan urutan pesan yang dipertukarkan antara object yang dibutuhkan
untuk melaksanakan fungsi scenario. Kegunaannya untuk menunjukkan rangkaian
pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi
pada titik tertentu dalam eksekusi sistem. Komponen utama sequence diagram
terdiri atas object yang dituliskan dengan kotak segi empat bernama pesan
diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan
proses vertikal. Dari 25 Sequence Diagram yang ada, 3 diantaranya akan di
tampilkan dan sisanya akan di lampirkan sebagai lampiran
A. Sequence Diagram transaksi
Pada sequence diagram transaksi, terdapat beberapa langkah berikut ini:
1. Pengguna masuk ke form login dan memasukkan username dan password
yang akan divalidasi ke database.
2. Sistem akan melakukan validasi username dan password pengguna, jika
benar maka akan masuk.
3. Pengguna memilih menu transaksi dan melakukan transaksi baru,
4. Sistem akan menampilkan beberapa kolom data transaksi yang harus diisi.
5. Pengguna memasukkan data transaksi.
6. Sistem melakukan validasi terhadap data transaksi yang di masukan oleh
pengguna.
7. Pengguna akan memproses transaksi pada sistem.
8. Sistem akan menyimpan transaksi dan mengupdate data data yang
berkaitan kedalam database.
9. Pengguna melihat laporan transaksi.
10. Sitem akan menampilkan laporan yang dibutuhkan oleh pengguna.
66
.
Gambar IV-6 squence diagram transaksi
67
B. Sequence Diagram entry new product
Gambar IV-7squence diagram new entry product.
68
C. Sequence Diagram Entry Custumer
Gambar IV-8 squence diagram new custumer
69
4.1.4.3 Colaboration Diagram
Colaboration Diagram adalah gabungan antara Activity Diagram dengan
Sequence Diagram yang berfungsi menunjukkan aktivitas sistem sekaligus
interaksi yang terjadi pada sistem. Berikut ini adalah gambar dari Colaboration
Diagram transaksi.
Gambar IV-9 Colaboration Diagram transaksi
70
4.1.4.4 Behavioral State Machine Diagram
Behavioral state machine diagram adalah model dinamis yang menunjukkan
bahwa suatu objek melewati banyak tahapan berbeda selama proses aktifitas
berlangsung. Biasanya, behavioral state machine tidak digunakan untuk semua
objek, tetapi hanya untuk lebih mendefinisikan objek yang kompleks untuk
membantu menyederhanakan desain algoritma. Berikut ini menunjukkan aktifitas
custumer service dengan Behavior State Machine Diagram dan untuk aktifitas
pimpinan, Administrator, warehouse/gudang dan operator, diagramnya akan di
lampirkan sebagai lampiran.
Gambar IV-10 Behavioral state machine diagram custumer service
71
Perancangan Sistem 4.2
Perancangan sistem menentukan bagaimana sistem akan memenuhi tujuan
tersebut, dalam hal ini: perangkat keras, perangkat lunak, infrastruktur jaringan;
antarmuka pengguna, formulir dan laporan; serta program-program khusus,
database, dan file yang akan dibutuhkan.
4.2.1 Perancangan Spesifikasi Program
4.2.1.1 Class Diagram
Class Diagram menampilkan beberapa class ada pada system ini dan
memberikan gambaran tentang system dan relasi-relasi didalamnya. Disini juga
dimasukkan himpunan bagian (subset) dari class-class, yaitu atribut-atribut dan
operasi-operasi dalam suatu class. Class diagram, Berikut ini class diagram untuk
aplikasi PHP Point of Sale perfume house Banda Aceh yang dirancang:
72
Class Diagram
Gambar IV-11 Class Diagram aplikasi PHP Point Of Sale Perfume House
73
4.2.1.2 Deployment Diagram
Deployment diagram physical diagram merupakan suatu diagram yang
dapat memberikan penjelasan tentang bagaimana berbagai elemen fisik menyusun
dan menjalankan sistem di dalam suatu jaringan yang dibentuk. Arsitektur
jaringan yang dibentuk merupakan kumpulan dari node-node yang berupa
hardware dan software yang mengkonfigurasikan komponen-komponen software
runtime dengan processor dan peralatan lainnya. Deployment/ menggambarkan
detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana
komponen akan terletak (pada mesin, server atau pc), bagaimana kemampuan
jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat
fisikal. Sebuah node adalah server, workstation, atau piranti keras lain yang
digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan
antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam
diagram ini.
Dalam sistem informasi main server terdapat komponen-komponen yang
mendukung jalannya aplikasi sistem informasi manajemen kepegawaian adalah:
1. Web Server untuk menyimpan halaman-halaman web yang ada
2. Database yang digunakan untuk menyimpan data-data website
3. Aplication Server yang digunakan sebagai aplikasi utama perusahaan
4. Client Workstation sebagai device yang berupa PC Store, warehoue,
notebook dan mobile tablet yang digunakan untuk mengakses website
tersebut.
5. Printer yang digunakan untuk mencetak dokumen transaksi di store dan
warehouse
74
Gambar IV-12 Deployment Diagram Sistem Aplikasi PHP Point of Sale
Gambar di atas adalah gambar deployment diagram untuk sistem Aplikasi
PHP Point of Sale Perfume House Banda Aceh. Aplikasi yang dibangun adalah
berbasis web. Node yang digunakan adalah Server dan Client Workstation,
sedangkan koneksi untuk Client Workstation PC Store, Warehouse, Notebook dan
Mobile Tablet yang digunakan Administrator, Operator, custumer service,
warehouse dan pimpinan di Perusahaan Perfume House Banda Aceh ke Server
dapat menggunakan jaringan internet di perusahaan atau menggunakan jaringan
internet lainnya di luar ruang lingkup perusahaan Perfume House Bnada Aceh.
4.2.2 Perancangan Database
Entity Relation-Diagram (ER-Diagram) menggambarkan jenis hubungan
diantara berbagai entitas yang terlibat dalam sistem aplikasi PHP Point of Sale.
Gender, custumers, sales, sales item, payment type, curency, unit, point,
custumers point, custumer type, aplication setting, product, kategory, special,
stock, stoc store, stock store item, stock status, stock status item, stock out, stock
75
in, suplier, stock in item, stock out item, user, user level, location, departement,
location type dam employe. Hubungan antara entitas yang terjadi adalah hubungan
satu-ke-satu, satu-kebanyak, dan banyak-ke-satu. selengkapnya dapat dilihat pada
gambar berikut ini:
4.2.2.1 Tabel Database
Terdapat 30 tabel di dalam database yang di rancang pada sistem, lebih detailnya
struktur masing masing tabel di lampirkan dalam bentuk lampiran. Berikut ini
screen capture list tabel yang di rancang di mysql database.
Gambar IV-13 list tabel database aplikasi PHP Point of Sale
76
4.2.2.2 ERD
Gambar IV-14 ERD aplikasi PHP Point of Sale
77
4.2.3 Perancangan Infrastruktur Architecture
Tahapan ini akan menjelaskan bentuk atau rancangan sistem informasi
yang akan dikembangkan. Sistem aplikasi PHP Point of Sale merupakan suatu
sistem yang berbasis komputer yang berfungsi mengumpulkan, menyimpan, dan
mengolah data sehingga dapat menyajikan informasi yang berkaitan dengan
aktivitas di Perusahaan Perfume House Banda Aceh. Perancangan infrastruktur
sistem untuk aplikasi PHP Point of Sale Perfume House Banda Aceh ini adalah
sebagai berikut:
Gambar IV-15 Infrastruktur Sistem
78
1. Aplikasi dibangun menggunakan bahasa pemograman PHP dan
menggunakan software Adobe DreamWeaver dalam pengkodeannya yang
di percaya dapat memudahkan dalam pengkodean aplikasi berbasis web
dengan interface dan tool yang user friendly. Software Adobe
DreamWeaver dapat di unduh melalui situs resmi adobe di
http://www.adobe.com/.
2. Database dan database server menggunakan MySQL. MySQL gratis dan
sangat handal digunakan sebagai database.
3. Server Web menggunakan Apache. Pemilihan web server apache karena
web server ini adalah web server paling banyak digunakan didunia, karena
kehandalan dan fiturnya, keamanan, kestabilan dan merupakan produk
open source juga.
4. Firewall sistem yang dibangun menggunakan router dan aplikasi Firewall
sistem pada server.
5. Sistem operasi yang digunakan pada server web dan database semuanya
menggunakan opration system Linux, yang terkenal karena kestabilan dan
merupakan produk open source dengan lisensi GPL dimana tidak perlu
membayar biaya lisensi untuk menggunakannya.
Berikut ini adalah Physical Architecture Sistem Aplikasi PHP Point of Sale
SERVER
Gambar IV-16 Physical Architecture server
79
CLIENT
Gambar IV-17 Physical Architecture client
Beberapa software yang digunakan untuk mengembangkan sistem applikasi PHP
Point of Sale serta alasan penggunaan applikasi dengan menggunakan
perbandingan pada software lainnya adalah sebagai berikut:
Tabel IV-2 Penggunaan software
No Software Deskripsi Fungsi dan
Alasan Penggunaan
Apache 2 Apache
merupakan
webserver
opensource
Opensource,kestabilan,Performa,
Applicable/mudah berinteraksi dengan
applikasi lain (php, XML Javascript dsb)
PHP Php
merupakan
interpreter
applikasi
web pada
sisi server
Kemudahan dalam implementasi, dan hampir
digunakan diseluruh webserver, kestabilan
dan performa
MySQL Mysql
merupakan
applikasi
basis data
Opensource,kestabilan,kecepatan,kemudahan,
mesin dapat dikonfigurasi
(dapat dimodifikasi untuk keperluan
indexing) MYSQL Database adalah program
80
dengan
lisensi
Opensource
fiture database ekonomis terbaik yang
tersedia dan memiliki
banyak kelebihan. Baik itu penjelajahan suatu
internet web site, berbagai macam aplikasi
dan
penyimpanan data, atau Aplikasi OLTP.
MYSQL Database adalah teknologi dasar
bagi semua program
penghitungan database lingkungan. MYSQL
Database tersedia dalam 2 edisi : Standar dan
Enterprise.
MYSQL Database adalah versi yang telah
teruji kestabilannya. Dalam banyak hal
terutama dalam
peningkatan performa dan kualitas database,
MYSQL memiliki memiliki banyak
kelebihan terutama
dalam fitur XML dan dapat disesuaikan
dengan kelebihan-kelebihan fitur-fitur XML
DB terbaru,
perbaikan dalam pengelompokan aplikasi
awal MYSQL dan memiliki kemampuan
dalam penambahan
dan pengelolaan sendiri dalam membantu
peningkatan produktivitas dan efisiensi DBA.
Dalam hal ini,
fitur yang ada telah mengalami perluasan dan
penambahan yang signifikan dan telah
disesuaikan
untuk dipergunakan dalam sistem operasi
Windows.
81
Alasan pemilihan software yang digunakan adalah...
Database yang akan digunakan adalah MySQL, dipilih MySQL karena
bersifat free dan dapat menangani data dengan jumlah besar. Untuk
aplikasinya sendiri akan digunakan bahasa pemrograman PHP, dipilih PHP
karena bersifat free dan merupakan bahasa pemrograman web yang banyak
digunakan.
Apache Web Server 2.1.3
Database server MySQL 5
Scripting engine PHP 5.2
Ada beberapa hal yang medorong kami memilih produk-produk di atas, yakni :
1. Untuk web server, kami memiliki pilihan antara Apache dan ngix, namun
pemilihan Apache sebagai web server didasarkan atas faktor keakraban developer
dengan teknologi Apache itu sendiri. Ngix adalah salah satu web server yang
sedang menikmati peningkatan reputasi, dan tidak tertutup peluang kami akan
menggunakan ngix untuk masa depan.
2. Untuk database server, pilihan kami jatuh kepada MySQL karena kematangan
MySQL sebagai salah satu database server terkemuka. Biaya adalah salah satu
pertimbangan kami dalam pemilihan MySQL. Versi MySQL yang kami gunakan
adalah versi komunitas (community license) sehingga bebas dari biaya. Meskipun
demikian, MySQL semakin mengalami perubahan positif setelah dibeli oleh
Oracle.
3. Pemilihan scripting engine kami jatuh kepada PHP, sebab PHP masih
merupakan scripting engine terbaik untuk aplikasi web. Rata-rata eksekusi PHP
jauh lebih cepat daripada scripting engine lainnya, dan PHP sudah sangat
kompatibel dengan Apache.
Jenis aplikasi yang dikembangkan adalah berbasis web demi menjaga portabilitas
aplikasi itu sendiri, namun ada beberapa bagian sistem lainnya di dalam sistem
induk (sistem akademik) yang menggunakan sistem berbasis desktop.
82
Konstruksi Model 4.3
Tahapan konstruksi sistem dilakukan setelah hasil analisis dan
perancangan sudah disetujui oleh stakeholder, dalam hal ini adalah perusahaan
Perfume House yang dibantu oleh Tim IT di kantor pusat Perfume House Banda
Aceh. Persetujuan terhadap hasil analisis dan perancangan tersebut dilampirkan
dalam Lampiran 9.
4.3.1 Lingkungan Konstruksi
Berdasarkan tinjauan obyek penelitian dari aspek organisasi dan sistem,
Untuk menentukan apakah sistem yang sedang dirancang layak untuk diterapkan
dan dikembangkan perlu diadakan studi kelayakan terhadap sistem informasi ini.
Studi kelayakan pada dasarnya dilaksanakan dalam rangka pemenuhan kebutuhan
informasi pengguna sistem yang akan dirancang. Hasil dari studi kelayakan akan
memaksimalkan hasil yang akan ditampilkan pada sistem informasi sumberdaya
manusia yang baru.
A. Hardware
Hardware atau perangkat keras yang digunakan untuk membangun
aplikasi point of sale dalam penelitian ini adalah sebagai berikut:
1. Server:
Processor: Intel(R) Quad Core Xeon(TM) - 5504 (2.0Ghz)
Memory: 48 GB PC3 - 10600E Unbuffered Advanced ECC
Hard Disk: Seagate 300 GB SATA 7200 Rpm
Optical Disk Drive: DVD-RW
Mouse+Keyboard
Monitor: LCD Monitor 17" LG L17535 Flatron Glossy
83
2. Workstation :
PC Pentium IV 3.0 GHz, 1 GB Ram, 80 GB HD
Monitor 17” + VGA Card 512 MB
Keyboard + mouse
Barcode reader + Card Reader
Receipt Printer
B. Software
Software atau perangkat lunak yang digunakan untuk membangun sistem ini
adalah sebagai berikut:
1. Sistem Operasi linux Ubuntu Server 10.04
2. Sitem Operasi linux BlankOn
3. Sistem Operasi Windows Seven Ultimate 64 bit
4. PHP 5
5. MySql
6. MySql
Perangkat lunak yang digunakan adalah yang dapat dijalankan dengan sistem
Operasi Windows/Linux. Perangkat lunak itu sendiri terdiri dari tiga macam, yaitu
perangkat lunak database server dan perangkat lunak pemrograman.Seperti yang
telah disebutkan di atas, untuk database management digunakan MYSQL Server.
Sofware PHP digunakan sebagai perangkat lunak utama untuk memadukan
tampilan utama aplikasi dengan database.
84
4.3.2 Konstruksi Database
Konstruksi database dilakukan menggunakan software database MySQL.
Tool software yang digunakan adalah MySQL Workbench. MySQL Workbench
merupakan perangkat aplikasi berbentuk visual yang dipergunakan untuk
mempermudah dalam mengelola basis data. Perangkat aplikasi ini biasa
digunakan oleh seorang arsitek basis data, pengembang basis data, serta
administator basis data. MySQL Workbench menyediakan model data,
pengembangan SQL, dan peralatan administrasi yang komperhensif untuk
konfigurasi server basis data, administrasi pengguna, dan masih banyak lagi.
MySQL Workbench tersedia pada platform Windows, Linux dan Mac OS
4.3.3 Konstruksi user interface
pada konstruksi User Interface, peneliti menampilkan beberapa gambar
tampilan yang di gunakan pada Software Aplikasi PHP Point of Sale Banda
Aceh dan gambar lainnya akan di lampirkan sebagai lampiran.
1. Tampilan halaman login untuk pengguna
Gambar IV-18 halaman login untuk pengguna
85
2. Tampilan Navigasi untuk Pengguna Administrator
Gambar IV-19 Menu Navigasi Administrator
3. Tampilan Navigasi untuk Pengguna Pimpinan
Gambar IV-20 Menu Navigasi Pimpinan
86
4. Tampilan Navigasi untuk Pengguna Operator
Gambar IV-21 Menu Navigasi Operator
5. Tampilan Navigasi untuk Pengguna Custumer service
Gambar IV-22 Menu Custumer service
87
6. Tampilan Navigasi untuk Pengguna gudang/warehouse
Gambar IV-23 Menu gudang/warehouse
88
Pengujian Sistem 4.4
4.4.1 Lingkungan Pengujian
Lingkungan pengujian memberikan gambaran tentang spesifikasi
hardware, software, dan jaringan yang digunakan oleh pengguna dalam proses
pengujian sistem, baik pengujian validasi maupun pengujian kualitas. Pengujian
ini dilakukan pada perangkat keras dan perangkat lunak dengan spesifikasi
sebagai berikut:
A. Hardware
a. Pemrosesan dengan kecepatan minimal 3.0 GB
b. RAM dengan kapasitas minimal 512 MB
c. Hardisk dengan kapasitas minimal 40 GB
d. Network Interface Card dengan USB dan RG Slot
e. CD room minimal 52x
f. Colour Monitor 15”
g. Keyboard dan mouse.
B. Software
a. Sistem Operasi Microsoft Windows Seven Ultimate 64bit/32bit
b. Apache server 1.6.4
c. PhpMyAdmin
d. MySQL (sistem basis data yang digunakan)
e. Adobe Dream Weaver cs.5( digunakan sebagai desain dalam web)
f. Web Browser Mozilla Firefox
C. Jaringan
Jaringan internet yang digunakan untuk implementasi sistem yang dimaksudkan
dalam proses pengujian sistem dalam penelitian ini.
89
4.4.2 Pengujian Validasi
Tahap selanjutnya adalah proses pengujian perangkat lunak, proses
pengujian ini dilakukan untuk memastikan perangkat lunak yang telah dibuat
sesuai dengan kebutuhan. Pengujian validasi untuk menguji apakah spesifikasi
kebutuhan fungsional sudah sesuai dengan yang diharapkan. Metode yang
digunakan adalah Focus Group Discussion (FGD). Hal ini menguji hipotesis
dalam penelitian ini, yaitu: Diduga pengembangan Software aplikasi PHP Point of
Sale di perusahaan Perfume House Banda Aceh menggunakan metode
pengembangan sistem informasi model waterfall dapat membentuk sistem yang
lulus dalam pengujian kualitas dengan ISO 9126, Kuesioner, blackbox testing dan
FGD (Forum Group Discussion) serta sesuai dengan kebutuhan Perusahaan.
4.4.1.1 Karakteristik Responden
Responden sebagai informan dalam FGD yang dilakukan dalam penelitian
ini adalah sebagai berikut:
Tabel IV-3 Responden Forum Group Discussion
Kode Nama pekerjaan Lama Bekerja Pendidikan
AS Ali Sunan IT support 2 tahun S1
WP Wyethman Piter Web Developer 5 tahun S1
RF Roy Fauzan Networking Security 2 tahun S1
AD Anggoro Dimas SEO 1 tahun S1
FS Fajar Septian Web System Analyst 4 tahun S1
MAR Muhammad A. Rivai Database Designer 5 tahun S1
YS Yohanes Sipakar Web Designer 2 tahun S1
YM Yudha Maulana Pentester 3 tahun S1
90
4.4.1.2 Proses Pelaksanaan FGD
Kegiatan Focus Group Discussion dilaksanakan di universitas budiluhur
pada tanggal 30 Januari 2013 pukul 20.00-22.00 WIB. Dihadiri oleh 8 peserta.
Untuk memulai diskusi terfokus, peneliti melakukan presentasi dan demo aplikasi
PHP Point of Sale Perfume House Banda Aceh yang sudah dikembangkan dan
menjelaskan setiap fungsi yang ada berdasarkan instrumen yang sudah disiapkan.
Selanjutnya peserta FGD memberikan informasi, tanggapan dan persetujuan.
Untuk keperluan analisis hasil pengujian, selanjutnya peneliti membuat
kesimpulan berdasarkan hasil FGD.
Pengujian fungsional sistem dilakukan dengan cara membagikan kuesioner
kepada responden. Sebelum responden mengisi kuesioner, terlebih dahulu penulis
mempresentasikan cara mengoperasikan aplikasi PHP Point of Sale Perfume
House Banda Aceh dan membagikan panduan penggunaan aplikasi PHP Point of
Sale Perfume House Banda Aceh berupa video kepada responden. Penulis
mengunjungi langsung ke lokasi penelitian yang akan dilakukan pengujian sistem
ini. Setelah memperhatikan dan mengetahui cara mengoperasikan aplikasi PHP
Point of Sale Perfume House Banda Aceh ini, kemudian responden diberi
kesempatan untuk mencoba langsung menggunakan aplikasi PHP Point of Sale
Perfume House Banda Aceh dimaksud. Pada saat uji coba seluruh responden
mencoba dari ruang yang sama, sebagian besar fasilitas internet yang terhubung
adalah dengan menggunakan jaringan wifi. Sehingga responden semuanya dapat
menggunakan internet yang terhubung dengan jaringan wifi. Uji coba yang
dilakukan oleh responden, diperoleh hasil pengujian terhadap fungsional sistem.
Pengujian ini dilakukan untuk mengetahui apakah semua fungsi yang terdapat
pada Simpeg online ini sudah dapat dioperasikan dengan baik atau belum.
Pengujian fungsional sistem ditujukan kepada pengguna umum dan administrator.
Jumlah kuesioner yang berhasil terkumpul yaitu 8 kuesioner dari 8 kuesioner yang
didistribusikan ke responden. lembar pengujian masing masing responden di
lampirkan dalam lampiran.
91
4.4.1.3 Hasil Pengujian Validasi
Berdasarkan FGD, selanjutnya dapat direkapitulasi hasil pengujian sebagai
berikut:
Tabel IV-4 Hasil Pengujian Validasi
No Spesifik Kebutuhan Modul User Level
Tanggapan
kesimpulan Baik Buruk
1 Respon halaman login Login All 8 0 Diterima
2 Respon login ketika password salah Login All 8 0 Diterima
3 Respon login ketika username salah Login All 8 0 Diterima
4 Respon login ketika password benar Login All 8 0 Diterima
5 Respon login ketika username benar Login All 8 0 Diterima
6 Respon menu store entry produk masuk Produk Administrator 8 0 Diterima
7 Respon menu store entry produk keluar Produk Administrator 8 0 Diterima
8 Respon menu store entry produk masuk Produk Operator 8 0 Diterima
9 Respon menu store entry produk keluar Produk Operator 8 0 Diterima
10 Input data menu entry produk masuk Produk Administrator 8 0 Diterima
11 Input data menu entry produk keluar Produk Administrator 8 0 Diterima
12 Input data menu entry produk masuk Produk Operator 8 0 Diterima
13 Input data menu entry produk keluar Produk Operator 8 0 Diterima
14 respon menu custumer Custumers Administrator 8 0 Diterima
15 Entry data new custumer Custumers Administrator 8 0 Diterima
16 view list custumer Custumers Administrator 8 0 Diterima
17 respon menu custumer Custumers Pimpinan 8 0 Diterima
18 Entry data new custumer Custumers Pimpinan 8 0 Diterima
19 view list custumer Custumers Pimpinan 8 0 Diterima
20 respon menu custumer Custumers Operator 8 0 Diterima
21 Entry data new custumer Custumers Operator 8 0 Diterima
22 view list custumer Custumers Operator 8 0 Diterima
23 respon menu custumer Custumers Custumer Service 8 0 Diterima
24 Entry data new custumer Custumers Custumer Service 8 0 Diterima
25 view list custumer Custumers Custumer Service 8 0 Diterima
92
26 Respon tukar point custumer Point Custumer Service 8 0 Diterima
27 Entry Tambah Produk Produk Administrator 8 0 Diterima
28 View list Produk Produk Administrator 8 0 Diterima
29 Entry dan View Kategori Produk Produk Administrator 8 0 Diterima
30 Entry Tambah Produk Produk Gudang 8 0 Diterima
31 View list Produk Produk Gudang 8 0 Diterima
32 Entry dan View Kategori Produk Produk Gudang 8 0 Diterima
33 Entry tambah lokasi store Lokasi Administrator 8 0 Diterima
34 Entry tambah lokasi gudang Lokasi Administrator 8 0 Diterima
35 Entry tambah lokasi grosir Lokasi Administrator 8 0 Diterima
36 View list lokasi Lokasi Administrator 8 0 Diterima
37 View list Point reward Point Administrator 8 0 Diterima
38 Entry Point reward Point Administrator 8 0 Diterima
39 Entry tipe pembayaran Payment type Administrator 8 0 Diterima
40 Respon View laporan sales Laporan Administrator 8 0 Diterima
41 Respon View laporan sales Laporan Custumer Service 8 0 Diterima
42 Respon View laporan Produk Laporan Administrator 8 0 Diterima
43 Respon View laporan Produk Laporan Gudang 8 0 Diterima
44 Respon View laporan Produk Laporan Pimpinan 8 0 Diterima
45 Respon View laporan Custumers Laporan Administrator 8 0 Diterima
46 Respon View laporan Custumers Laporan Gudang 8 0 Diterima
47 Respon View laporan Custumers Laporan Pimpinan 8 0 Diterima
48 Respon View laporan Warehouse Laporan Administrator 8 0 Diterima
49 Respon View laporan Warehouse Laporan Gudang 8 0 Diterima
50 Respon View laporan Store Laporan Administrator 8 0 Diterima
51 Respon View laporan Grosir Laporan Administrator 8 0 Diterima
52 Respon View laporan Grosir Laporan Gudang 8 0 Diterima
53 Respon view laporan stock masuk Laporan Administrator 8 0 Diterima
54 Respon view laporan stock masuk Laporan Gudang 8 0 Diterima
55 Respon view laporan stock keluar Laporan Administrator 8 0 Diterima
56 Respon view laporan stock keluar Laporan Gudang 8 0 Diterima
93
57 Respon View List Suplier Suplier Administrator 8 0 Diterima
58 Entry tambah new Suplier Suplier Administrator 8 0 Diterima
59 Respon View list Special Special Administrator 8 0 Diterima
60 Entry new Special Special Administrator 8 0 Diterima
61 Respon View list Gender Gender Administrator 8 0 Diterima
62 Entry new Gender Gender Administrator 8 0 Diterima
63 Respon View list Satuan Satuan Administrator 8 0 Diterima
64 Entry new Satuan Satuan Administrator 8 0 Diterima
65 Respon View list user User Administrator 8 0 Diterima
66 Entry new user User Administrator 8 0 Diterima
67 Respon view profil App Seting Administrator 8 0 Diterima
68 Edit Profil App Seting Administrator 8 0 Diterima
69 Entry new transaksi Sales Custumer Service 8 0 Diterima
70 Entry stok masuk dari suplier Produk Gudang 8 0 Diterima
71 Entry stok masuk dari gudang lain Produk Gudang 8 0 Diterima
72 Entry tranfer ke store Produk Gudang 8 0 Diterima
73 Entry tranfer ke grosir Produk Gudang 8 0 Diterima
74 Entry tranfer ke gudang lain Produk Gudang 8 0 Diterima
75 Entry return ke suplier Produk Gudang 8 0 Diterima
76 Entry return dari store Produk Gudang 8 0 Diterima
77 Entry return dari Grosir Produk Gudang 8 0 Diterima
total 616 0
Diketahui : Jumlah responden R = 8
Jumlah pertanyaan P = 77
Jawaban baik N = 616
Jawaban buruk x = 0
94
( )
( )
100
Berdasarkan hasil FGD, maka dapat disimpulkan bahwa Software Aplikasi
PHP Point of sale Perfume House Bnda Aceh, menggunakan metode
pengembangan sistem informasi model waterfall sudah sesuai dengan spesifikasi
kebutuhan fungsional yang dibutuhkan pengguna, serta karakteristik dari ISO
9126 memenuhi, sehingga hipotesis dalam penelitian ini sudah terbukti.
Dari hasil kuesioner yang terlihat pada Tabel di atas, seluruh responden
menyatakan bahwa fungsi-fungsi yang terdapat Software Aplikasi PHP Point of
sale Perfume House Bnda Aceh sudah dapat dijalankan dengan baik.
4.4.3 Kuesioner
Pada pengujian menggunakan teknik kuisoner yang di sebarkan kepada
seluruh staff karyawan serta pimpinan perusahaan Perfume House Banda
Aceh yang di lakukan pada 28 januari 2013 di kantor pusat Perfume House
Banda Aceh. Jumlah responden yang di ikut sertakan dalam pengujian ini
adalah 20 responden di antaranya adalah :
1. Riza Amirul Mukminin pimpinan
2. Yudi Yansyah pimpinan
3. Rahmat Kurniawan pimpinan
4. Dedi Alfurqon pimpinan
5. Juni Muchlis Mustafa administrator
95
6. Yudi Yansyah operator
7. Jefri Goesman Poleh custumer service
8. Ferdian Zein custumer service
9. Ryan Ferdian custumer service
10. Chairul Umam custumer service
11. Reza Anugrah custumer service
12. Munawir custumer service
13. Mirza Sutrisna custumer service
14. Hendra Zaputra custumer service
15. Fajiatul Akbar custumer service
16. Mahlil Alturayki Zainuddin custumer service
17. Al Fatah custumer service
18. Muhammad Fajrin custumer service
19. Azwar custumer service
20. Liezhar custumer service
Hasil dari pengujian menggunakan teknik Kuesioner ini dapat di lihat pada tabel
berikut ini :
Tabel IV-5 hasil pengujian teknik Kuesioner
No Spesifik Kebutuhan User Level
Jumlah Tanggapan
Baik Buruk
1 Respon halaman login All 20 0
2 Respon login ketika password salah All 20 0
3 Respon login ketika username salah All 20 0
4 Respon login ketika password benar All 20 0
5 Respon login ketika username benar All 20 0
6 Respon menu store entry produk masuk Administrator 20 0
7 Respon menu store entry produk keluar Administrator 20 0
8 Respon menu store entry produk masuk Operator 20 0
9 Respon menu store entry produk keluar Operator 20 0
96
10 Input data menu entry produk masuk Administrator 20 0
11 Input data menu entry produk keluar Administrator 20 0
12 Input data menu entry produk masuk Operator 20 0
13 Input data menu entry produk keluar Operator 20 0
14 respon menu custumer Administrator 20 0
15 Entry data new custumer Administrator 20 0
16 view list custumer Administrator 20 0
17 respon menu custumer Pimpinan 20 0
18 Entry data new custumer Pimpinan 20 0
19 view list custumer Pimpinan 20 0
20 respon menu custumer Operator 20 0
21 Entry data new custumer Operator 20 0
22 view list custumer Operator 20 0
23 respon menu custumer Custumer Service 20 0
24 Entry data new custumer Custumer Service 20 0
25 view list custumer Custumer Service 20 0
26 Respon tukar point custumer Custumer Service 20 0
27 Entry Tambah Produk Administrator 20 0
28 View list Produk Administrator 20 0
29 Entry dan View Kategori Produk Administrator 20 0
30 Entry Tambah Produk Gudang 20 0
31 View list Produk Gudang 20 0
32 Entry dan View Kategori Produk Gudang 20 0
33 Entry tambah lokasi store Administrator 20 0
34 Entry tambah lokasi gudang Administrator 20 0
35 Entry tambah lokasi grosir Administrator 20 0
36 View list lokasi Administrator 20 0
37 View list Point reward Administrator 20 0
38 Entry Point reward Administrator 20 0
39 Entry tipe pembayaran Administrator 20 0
40 Respon View laporan sales Administrator 20 0
97
41 Respon View laporan sales Custumer Service 20 0
42 Respon View laporan Produk Administrator 20 0
43 Respon View laporan Produk Gudang 20 0
44 Respon View laporan Produk Pimpinan 20 0
45 Respon View laporan Custumers Administrator 20 0
46 Respon View laporan Custumers Gudang 20 0
47 Respon View laporan Custumers Pimpinan 20 0
48 Respon View laporan Warehouse Administrator 20 0
49 Respon View laporan Warehouse Gudang 20 0
50 Respon View laporan Store Administrator 20 0
51 Respon View laporan Grosir Administrator 20 0
52 Respon View laporan Grosir Gudang 20 0
53 Respon view laporan stock masuk Administrator 20 0
54 Respon view laporan stock masuk Gudang 20 0
55 Respon view laporan stock keluar Administrator 20 0
56 Respon view laporan stock keluar Gudang 20 0
57 Respon View List Suplier Administrator 20 0
58 Entry tambah new Suplier Administrator 20 0
59 Respon View list Special Administrator 20 0
60 Entry new Special Administrator 20 0
61 Respon View list Gender Administrator 20 0
62 Entry new Gender Administrator 20 0
63 Respon View list Satuan Administrator 20 0
64 Entry new Satuan Administrator 20 0
65 Respon View list user Administrator 20 0
66 Entry new user Administrator 20 0
67 Respon view profil Administrator 20 0
68 Edit Profil Administrator 20 0
69 Entry new transaksi Custumer Service 20 0
70 Entry stok masuk dari suplier Gudang 20 0
71 Entry stok masuk dari gudang lain Gudang 20 0
98
72 Entry tranfer ke store Gudang 20 0
73 Entry tranfer ke grosir Gudang 20 0
74 Entry tranfer ke gudang lain Gudang 20 0
75 Entry return ke suplier Gudang 20 0
76 Entry return dari store Gudang 20 0
77 Entry return dari Grosir Gudang 20 0
78 Tampilan menu dan sub Menu All 20 0
79 Kecepatan menampilkan informasi All 20 0
80 Respon Printer Receipt All 20 0
total 1600 0
Diketahui : Jumlah responden R = 20
Jumlah pertanyaan P = 80
Jawaban baik N = 1600
Jawaban buruk x = 0
( )
( )
100
Maka dapat disimpulkan bahwa dari hasil pengujian sistem menggunakan teknik
Kuesioner hasil yang di dapat kan ialah 100 %. Hal ini mengindikasikan bahwa
Software Aplikasi PHP Point of Sale Perfume House Banda Aceh sudah sesuai
dengan kebutuhan perusahaan Perfume House Banda Aceh dan sekaligus
menyimpulkan bahwa Aplikasi PHP Point of Sale Perfume House lulus dalan uji
perangkat lunak ISO 9126.
99
4.4.4 Blackbox Testing
Pengujian kualitas untuk mengetahui tingkat kualitas perangkat lunak
software aplikasi PHP Point of Sale yang dihasilkan dalam penelitian ini. Metode
yang digunakan dengan pendekatan black-box testing menggunakan beberapa tool
berikut :
1. Acunetix WVS 8 Consultant Edition
3. Loic 1.0.7.0
4. Xoic 1.3
5. Hoic 2.1
6. Pyloris 3.0
4.4.2.1 Pengujian dengan Acunetix WVS 8 Consultant Edition
Acunetix adalah software yang digunakan oleh pentester keamanan
jaringan web, software ini berfungsi untuk mencari titik kelemahan sebuah
aplikasi berbasis web agar selanjutnya bisa di tutupi dengan memerbaiki titik
kelemahan yang ada. Acunetix biasa di gunakan oleh konsultan IT atau Web
Developer dalam melakukan pengujian aplikasi website. Berikut ini adalah hasil
dari pengujian Aplikasi PHP Point of sale Perfume House Banda Aceh.
100
Gambar IV-24 detail hasil testing Acunetix WVS 8 Consultant Edition
berdasarkan gambar di atas, terlihat bahwa Acunetix telah selesai melakukan
pengujian pada aplikasi yang di maksud dan hasilnya adalah (Level 0 : Safe) ini
mengindikasikan bahwa tidak ada celah kelemahan dan aplikasi PHP Point of
Sale Perfume Huse Banda Aceh 100% aman.
101
4.4.2.2 Pengujian dengan Loic 1.0.7.0
Loic adalah tool yang di gunakan para pentester untuk menguji kekuatan aplikasi
berbasis web terhadap serangan DdoS. Berikut ini hasil pengujian menggunakan
toll Loic.
Gambar IV-25 Loic 1.0.7.0
dari gambar di atas, terlihat jenis serangan DdoS yang di gunakan adalah HTTP
Thread dengan jumlah Thread 10, setelah di lakukan serangan selama 10 menit.
Serangan yang berhasil di jalankan yaitu 18025 serangan dengan masing masing
serangan bobotnya 10 thread. Peneliti meninjau kembali terhadap aplikasi PHP
Point of Sale dan hasilnya aplikasi berjalan dengn baik sebagaimana fungsinya
dan tidak terjadi kerusakan. Maka disimpulkan bahwa aplikasi PHP Point of Sale
Perfume Huse Banda Aceh tahan terhadap serangan DDoS menggunakan Loic.
102
4.4.2.3 Pengujian dengan Xoic 1.3
Xoic adalah tool yang di gunakan para pentester untuk menguji kekuatan
aplikasi berbasis web terhadap serangan DdoS. Berikut ini hasil pengujian
menggunakan toll Xoic.
Gambar IV-26 Xoic 1.3
setelah dilakukan pengujian menggunakan tool Xoic, maka peneliti meninjau
kembali keadaan aplikasi PHP Point of Sale Perfume Huse Banda Aceh, hasilnya
aplikasi tetap berjalan dengan baik sebagaimana mestinya, ini mengindikasikan
bahwa aplikasi PHP Point of Sale Perfume Huse Banda Aceh tahan terhadap
serangana DDoS menggunakan toll Xoic.
103
4.4.2.4 Pengujian dengan Hoic 2.1
Hoic adalah tool yang di gunakan para pentester untuk menguji kekuatan
aplikasi berbasis web terhadap serangan DdoS. Berikut ini hasil pengujian
menggunakan toll Hoic. Pada serangan kali ini Aplikasi PHP Point of Sale dengan
url : www.perfumehouse-ph.com di lakukan serangan dengan kekuatan 249
penyerang, masing masing penyerang menggunakan 4 threads dengan bobot
setiap threadnya adalah 211.3047 kb.
Gambar IV-27 Hoic 2.1
setelah melakukan serangan selama 10 menit, peneliti meninjau keadaan aplikasi
PHP Point of Sale dan hasilnya aplikasi tetap berjalan sama seperti semula, tidak
ada kerusakan. Hal ini mendifinisikan bahwa aplikasi PHP Point of Sale Perfume
House Banda Aceh tahan terhadap serangan menggunakan tool HOIC.
104
4.4.2.5 Pengujian dengan Pyloris 3.0
Pylori adalah tool yang di gunakan para pentester untuk menguji kekuatan aplikasi
berbasis web terhadap serangan DdoS. Berikut ini hasil pengujian menggunakan
toll Pyloris. Pada serangan kali ini Aplikasi PHP Point of Sale dengan url :
www.perfumehouse-ph.com di lakukan serangan menggunakan toll Pyloris
dengan kekuatan 500 penyerang, masing masing penyerang menggunakan 50.
Gambar IV-28 Pengujian dengan Pyloris 3.0
setelah dilakukan penyerangan selama 10 menit, peneliti kembali melihat keadaan
dari aplikasi PHP Point of Sale Perfume House Banda Aceh, dan hasil yang di
dapat kan adalah, aplikasi tetep berjalan sempurna, aplikasi tetap berfungsi sesuai
dengan yang di harapkan. Hal ini menandakan bahwa apikasi PHP Point of Sale
Perfume House Banda Aceh tahan terhadap serangan DDoS dengan menggunakan
Pyloris.
105
4.4.2.6 Hasil Pengujian Kualitas
Dari beberapa pengujian yang di lakukan dengan beberapa tool maka hasil
yang di dapatkan dapat di lihat pada tabel berikut :
Tabel IV-6 Hasil Pengujian Kualitas
no Teknik pengujian keberhasilan Keterangan
1 Forum Group Discussion (FGD) 100 % Diterima
keseluruhan
2 Kuesioner 100 % Diterima
Keseluruhan
3 BlackBox Testing 100 % Aman dari DDoS
4 ISO 9126 100% Memenuhi Kriteria
Dengan demikian, pengujian untuk hipotesis dalam penelitian ini
dibuktikan bahwa Diduga pengembangan Software aplikasi PHP Point of Sale di
perusahaan Perfume House Banda Aceh menggunakan metode pengembangan
sistem informasi model waterfall dapat membentuk sistem yang lulus dalam
pengujian kualitas dengan ISO 9126, Kuesioner, blackbox testing dan FGD
(Forum Group Discussion) serta sesuai dengan kebutuhan Perusahaan.
Implikasi Penelitian 4.5
Berdasarkan hasil dalam penelitian ini, maka dapat disusun implikasi
penelitian yang ditinjau dari aspek sistem, manajerial, dan aspek penelitian lanjut.
Implikasi dari aspek sistem terkait dengan konsep strategik, taktis sampai dengan
teknis operasional, desain hardware, software, dan infrastruktur yang diperlukan.
Implikasi dari aspek manajerial berkaitan dengan terkait organisasi yang mungkin
perlu disempurnakan, sumber daya manusia yang perlu ditingkatkan
kompetensinya, strategi/kebijakan serta aturan-aturan yang perlu dibuat untuk
mengatasi masalah atau meningkatkan pengelolaan obyek penelitian berdasarkan
temuan-temuan dan interpretasi hasil penelitian. Dan implikasi dari aspek
penelitian lanjut berkaitan dengan penelitian lanjutan yang diperlukan untuk
106
meningkatkan kualitas penelitian sebelumnya, termasuk diantaranya memperluas
scope/ruang lingkup, memperbanyak variabel, memperbanyak responden/sampel,
dengan menjelaskan secara rinci apa saja yang diperluas/diperbanyak dan
maksud/tujuan/sasaran masing-masing.
4.5.1 Aspek Sistem
Untuk mengimplementasikan sistem aplikasi PHP Point of Sale Perfume
House Banda Aceh perlu dilakukan peningkatan spesifikasi hardware yang
digunakan sebagai server. Aplikasi dipasang di web server yang terhubung
langsung dengan internet. Solusi yang dapat dilakukan adalah dengan menitipkan
aplikasi sistem aplikasi PHP Point of Sale Perfume House Banda Aceh di web
hosting dengan alasan jaringan internet di banda aceh belum memungkinkan
untuk menanamkan aplikasi yang di maksud kedalam server lokal, namun tetap
mengadakan server lokal sebagai cadangan untuk mengantisipasi terjadinya down
pada web server di hosting.
Software yang diperlukan untuk implementasi dalam jaringan internet
idealnya adalah berbasis Linux, karena selain kehandalan sebagai server internet,
juga tidak perlu membayar biaya lisensi untuk menggunakannya. Sampai saat ini
sudah terbukti sangat handal dan banyak digunakan untuk web server dan
database server di seluruh dunia.
Peningkatan sarana dan prasarana dari pendukung sistem teknologi
informasi yang ada disesuaikan dengan perkembangan parangkat dari teknologi
informasi;
Berdasarkan tinjauan obyek penelitian dari aspek organisasi dan sistem,
Untuk menentukan apakah sistem yang sedang dirancang layak untuk diterapkan
dan dikembangkan perlu diadakan studi kelayakan terhadap sistem informasi ini.
Studi kelayakan pada dasarnya dilaksanakan dalam rangka pemenuhan kebutuhan
informasi pengguna sistem informasi yang akan dirancang. Hasil dari studi
kelayakan akan memaksimalkan hasil yang akan ditampilkan pada sistem
informasi sumberdaya manusia yang baru.
107
Dengan mengesampingkan kelayakan finansial karena tidak termasuk
dalam ruang lingkup dari penelitian, kelayakan sistem ini dapat ditinjau dari segi:
Kelayakan Teknis
Dalam membangun sistem informasi sumberdaya manusia ini dibutuhkan
perangkat komputer dan printer untuk mencetak tampilan informasi.
Kelayakan Operasional
Dalam mengoptimalkan perolehan informasi mengenai sistem informasi
sumberdaya manusia ini maka sistem yang akan dirancang memerlukan beberapa
faktor pendukung untuk operasionalnya. Oleh karena sistem yang dirancang
berbasis komputer, maka pengguna sebaiknya memahami penggunaan komputer
secara umum, sehingga akan lebih mudah untuk
menguasai penggunaan sistem ini. Namun sistem ini dirancang dengan menu-
menu yang user-friendly, sehingga tidak membutuhkan waktu yang lama untuk
mempelajarinya bahkan untuk orang awam sekalipun. Pelatihan/training
mengenai penggunaan sistem ini juga tidak
terlalu signifikan untuk dilakukan. Berdasarkan penjelasan diatas maka dapat
diketahui bahwa sistem aplikasi yang akan dirancang layak untuk dikembangkan.
4.5.2 Aspek Manajerial
Penelitian ini bisa menjadi acuan bagi manajemen perusahaan bisa dalam
mengambil kebijakan perusahaan. Pembayaran dividen yang dibagikan kepada
para pemegang saham akan sangat mempengaruhi para investor dan pemegang
saham, selain itu dividen juga mempengaruhi pertumbuhan laba depan
perusahaan, jadi manajemen perusahaan diharapkan untuk lebih hati-hati dalam
memutuskan berapa besarnya dividen yang akan dibagikan.
Peningkatan kompetensi sumber daya manusia, yaitu perlu dilakukan
upaya pelatihan bagi para staf karyawan yang menggunakan sistem teknologi
informasi dengan menyesuaikan dari perkembangan teknologi informasi yang ada.
Dalam hal ini kompetensi sumber daya manusia lebih diutamakan untuk semua
108
operator yang akan menggunakan sistem aplikasi PHP Point of Sale Perfume
House Banda Aceh. Sehingga operasional perusahaan dapat berjalan lebih
maksimal sesuai dengan fungsi yang diharapkan.
Selain kebutuhan perangkat keras (Hardware) dan perangkat lunak
(Software) dalam pengembangan atau perancangan sistem dibutuhkan juga
perangkat pikir (Brainware) untuk memelihara atau mengoperasikan sistem yang
telah dirancang, sehingga tujuan dari perancangan sistem ini dapat dicapai.
Berikut ini adalah kebutuhan piker (Brainware) dari perancangan sistem ini,
diantaranya :
1. Sistem Analis (1 orang). Bertugas mengawasi kegiatan dalam penerapan
sistem yang baru dan memastikan sistem yang dibuat telah sesuai dengan
yang telah direncanakan serta dapat mengatasi kelemahan-kelemahan yang
terjadi dalam sistem tersebut. Pembuatan Program dan User guide.
Pengetesan dan perbaikan Program. Pelatihan User. Uji coba sistem baru.
Evaluasi sistem baru dan perbaikan. Konversi Sistem.
2. Programmer (1 orang). Bertugas membuat program-program komputer
berdasarkan program yang telah dirancang sesuai dengan yang telah
dideskripsikan oleh sistem analis atau memodifikasi program-program
yang sudah ada.
3. User (3 Orang). Bertugas untuk pemasok data (Data Entry Operator),
melakukan pengolahan data, input, edit, cetak dan sebagainya.
4.5.3 Aspek Penelitian Lanjut
Dengan adanya penelitian ini maka para pihak akademis bisa
menggunakan hasil penelitian sebagai referensi untuk penelitian yang sejenis dan
bisa lebih mengembangkan lagi penelitian yang akan digunakan.
Upaya untuk meningkatkan penelitian berkaitan dengan pengembangan
software aplikasi PHP Point of Sale Perfume House Banda Aceh dapat dilakukan
dengan memperluas ruang lingkup penelitian. Pada aplikasi yang dikembangkan
109
dalam penelitian ini, belum ada aplikasi yang terkait langsung dengan proses
sistem pendukung keputusan, layanan self service, dan komponen manajemen
lainnya berkaitan dengan aplikasi tersebut.
Rencana Implementasi Sistem 4.6
Rencana implementasi sistem merupakan tahap awal dari penerapan sistem
dan tujuan dari kegiatan implementasi sistem yang baru ini, agar sistem yang baru
dapat beroperasi sesuai dengan yang diharapkan. Tahap implementasi sistem
(system implementation) adalah tahap meletakkan sistem supaya siap
dioperasikan. Dapat dijelaskan bahwa implementasi sistem merupakan tahap akhir
dalam siklus hidup pengembangan sistem (SDLC).
Dalam proses implementasi sistem aplikasi PHP Point of Sale Perfume
House Banda Aceh diperlukan tim yang akan melakukan proses implementasi,
yang terdiri dari: Profesional sistem yang merancang system, Para manajer dan
beberapa staff, user/pengguna, Pengcode dan Teknisi.
Tahapan dalam perencanaan implementasi sistem yang dilakukan untuk
penerapan sistem aplikasi PHP Point of Sale Perfume House Banda Aceh adalah
sebagai berikut:
Gambar IV-29 Rencana Implementasi sistem aplikasi PHP Point of Sale
110
Dalam proses implementasi software Aplikasi PHP Point of Sale Perfume
House Banda Aceh diperlukan beberapa tahapan perencanaan untuk implementasi
sistem dan penerapan Aplikasi PHP Point of Sale Perfume House Banda Aceh.
Tahapan tersebut adalah sebagai berikut:
Tabel IV-7 Rencana Implementasi Sistem
No Kegiatan Bulan 1 Bulan 2
1 2 3 4 1 2 3 4
1 Pemilihan Operator ●
2 Konstruksi sistem ●
3 Instalasi sistem ● ●
4 Pembuatan user guide ●
5 Pelatihan user ●
6 Ujicoba Sistem ● ●
7 Evaluasi Sistem ● ●
8 Konversi Sistem ● ● ● ●
Rencana Aktivitas Implementasi
Kegiatan implementasi dilakukan dengan dasar kegiatan yang telah direncanakan
dalam kegiatan implementasi antara lain. Langkah-langkah kegiatan implementasi
sistem adalah sebagai berikut :
1. Pemilihan operator. Salah satu faktor yang mempunyai perenan penting dalam
penerapan sistem baru, yaitu operator. Dimana tanpa adanya operator dan
Programmer, sistem baru yang telah dirancang tidak dapat diimplementasikan.
2. Konstruksi sistem yaitu Persiapan tempat, hardware dan software.
Tempat yang di siapkan mulai dari meja komputer, meja kasir sampai
dengan web hosting sebagai tempat aplikasi di tanamkan.
hardware yang di siapkan berupa pc, keyboard, mouse, barcode scaner,
card reader, wifi router dan receipt printer.
111
Software yang di persiapkan adalah : OS linux BlankOn, web browser
mozila fire fox, open office.
3. Instalasi system, yaitu instalasi hardware dan software. Setelah hardware dan
software-nya tersedia maka selanjutnya adalah proses pemasangan hardware
baru dan penginstalan software. Kegiatan instalasi hardaware dan software
diawali dengan persiapan tempat dan instalasi perangkat keras dan perangkat
lunak dilakukan di setiap store dan gudang perusahaan Perfume House Banda
Aceh. Setelah semua selesai dipersiapkan maka langkah selanjutnya adalah
menginstalasi perangkat keras yang sudah ada dan menginstalasi perangkat
lunak.
4. Pembuatan program dan User guide. Kegiatan pembuatan program yaitu
kegiatan menterjemahkan hasil rancangan ke dalam bentuk yang dapat dibaca
oleh komputer. Kemudian membuat petunjuk pengoperasian berupa video
tutorial, agar program yang dibuat dapat dimengerti oleh User dan
penggunaannya sesuai dengan yang telah ditentukan dan mudah untuk
digunakan.
5. Pelatihan User. User yang telah dipilih akan mengikuti pelatihan agar
memahami sistem yang baru tersebut dan dapat menjalankannya dengan baik
dan tepat. Pelatihan personil dilakukan untuk mengoperasikan sistem,
termasuk kegiatan mempersiapkan input, memproses data, mengoperasikan
sistem, merawat dan menjaga sistem.
6. Uji coba sistem baru. Pengujian sistem baru harus dilakukan untuk
mengetahui apakah sistem yang baru tersebut dapat berjalan sesuai dengan
yang direncanakan atau tidak.
7. Evaluasi sistem baru dan perbaikan. Kegiatan evaluasi ini bertujuan untuk
mengetahui hasil dari sistem yang baru dibandingkan dengan hasil yang
dicapai oleh sistem lama.
8. Konversi sistem. Implementasi sistem ini adalah proses untuk meletakkan
sistem baru agar dapat digunakan. Pengoperasian sistem baru ini dilakukan
bersama-sama dengan sistem yang lama. Konversi sistem merupakan proses
untuk meletakkan sistem baru supaya siap digunakan untuk menggantikan
112
proses sistem yang lama. Konversi sistem ini menggunakan metode Parallel,
dengan maksud konversi dilakukan dengan mengoperasikan sistem yang baru
seiring dengan masa pengenalan antara personil dengan waktu yang telah
ditetapkan. Baik sistem manual maupun sistem baru ini dioperasikan secara
bersama-sama untuk meyakinkan bahwa sistem yang baru benar-benar
beroperasi dengan sukses sebelum sistem yang lama (manual) dihentikan,
walaupun terdapat kelemahan pada besarnya biaya yang dikeluarkan untuk
menjalankan dua buah sistem secara bersamaan, tetapi mempunyai
keuntungan yaitu proteksi yang tinggi kepada organisasi terhadap kegagalan
sistem yang baru.
113
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan pembahasan hasil penelitian yang telah dibahas di bab
sebelumnya, maka dalam penelitian pengembangan software aplikasi PHP Point
of Sale Perfume House Banda Aceh ini dapat diambil kesimpulan sebagai berikut:
1. Berdasarkan penelitian yang telah di lakukan maka dapat di ambil kesimpulan
bahwa hipotesis peneliti telah terbukti yaitu : Diduga pengembangan Software
aplikasi PHP Point of Sale di perusahaan Perfume House Banda Aceh
menggunakan metode pengembangan sistem informasi model waterfall dapat
membentuk sistem yang lulus dalam pengujian kualitas dengan ISO 9126,
Kuesioner, blackbox testing dan FGD (Forum Group Discussion) serta sesuai
dengan kebutuhan Perusahaan
2. Hasil dari penelitian ini adalah Software Aplikasi PHP Point of Sale yang
dapat di terapkan langsung sebagai solusi pemecahan masalah yang terjadi di
Perusahaan Perfume House Banda Aceh.
3. Metode yang digunakan untuk uji validasi dan uji kualitas menggunakan
teknik Forum Group Discussion (FGD), Kuesioner, BlackBox Testing dan
ISO 9126 dapat diterima dengan baik serta di setujia oleh responden yang
terlibat dalam pengujian dan di terima sepenuhnya dengan baik oleh
Perusahaan Perfume House Banda Aceh.
114
5.2 Saran
Berdasarkan hasil penelitian, implikasi dan kesimpulan, selanjutnya
peneliti dapat memberikan beberapa saran yang relevan dengan hasil penelitian.
Saran ini berupa masukan-masukan yang ditujukan ke organisasi/obyek penelitian
dan untuk penelitian selanjutnya.
1. Implikasi dari aspek manajerial perlu disempurnakan, sumber daya
manusia yang perlu ditingkatkan kompetensinya, strategi/kebijakan serta
aturan-aturan yang perlu dibuat untuk mengatasi masalah atau
meningkatkan pengelolaan obyek penelitian berdasarkan temuan-temuan
dan interpretasi hasil penelitian.
2. Untuk penelitian lebih lanjut tentang software aplikasi PHP Point of sale,
dapat dilakukan dengan menambah ruang lingkup sistem yang
dikembangkan. Dapat berupa adanya integrasi dengan sistem pendukung
keputusan, seperti penilaian kinerja, layanan self service tentang
perusahaan, modul absensi, dan aplikasi penggajian.
3. Metode pengembangan sistem informasi dengan model Waterfall dapat
dijadikan pilihan yang cukup tepat dalam penelitian pengembangan
software aplikasi PHP Point of Sale untuk stakeholder yang dapat
menjelaskan spesifikasi kebutuhannya dengan jelas.
115
DAFTAR PUSTAKA
[asade 2009] Asade, Micky, perencanaan dan pengawasan persediaan barang sebagai
alat ukur tingkat efisiensi perusahaan pada PT. EXELCOMINDO
PRATAMA, Tbk Medan, Medan : Universitas Sumatera Utara, 2009
[baraghani 2008] Baraghani, Sara N., Factors Influencing the adoption of internet
banking, Lulea : University of Technology, 2008
[dawson 2009] Dawson, Christian, W. Project in Computing and Information System: a
Student Guide, 2nd Edition. Addison-Wesley, 2009.
[denis 2009] Dennis, Alan dan at.al. Systems Analysis and Design with UML – 3rd
Edition. John Wiley & Sons, Inc, 2009.
[drahansky 2005] Drahansky, Martin, Biometrik Security System Fingerprint
Recognation, Brno republik of Czech : Brno University of Technology,
2005
[firmansyah 2008] Firmansyah, Arif, Implementasi Services Oriented Architecture
(SOA) dalam Sistem Transaksi Perbankan di Perguruan Tinggi Studi
Kasus : Universitas Padjadjaran, Bandung : Universitas Padjadjaran,
2008
[fransisca 2011] Fotunata, Fransisca, Point of sale System Web Service Aplication for
Retail Business, Jakarta : Binus University, 2011.
[gerts 2007] Gerts, Etienne, Master Thesis Towards an Improved EMV Credit Card
Certification, Netherlands : Software Engineering Research Group,
2007
[keown 1991] Keown, Harvey, Intelligent point of sale terminal thesis, Afrika :
Cape Peninsula University of Technology, 1991
[kodarullah 2010] Kodarullah, Aplikasi system penjualan dan persediaan Barang
menggunakan php dan mysql studi kasus : Koperasi karyawan
universitas mercu buana, Jakarta : Universitas Mecu Buana, 2010
[maharani 2010] Maharani, Yasnita R., Penerapan metode pengakuan pendapatan dan
beban terhadap kewajaran laporan keuangan pada PT. Sari Rajut Indah
Surabaya, Surabaya : Sekolah Tinggi Ilmu Ekonomi Perbanas, 2010
116
[moedjiono 2012] Moedjiono. Pedoman Penelitian, Penyusunan dan Penilaian Tesis
(V.5). Jakarta: Universitas Budi Luhur, 2012.
[nasution 2009] Nasution, S. Metode Research. Jakarta: Bumi Aksara, 2009.
[olander 2003] Olander, Catrina and Sehlin, Crister, The use and integration of
marketing communication tools in business to business firm : case studies
of three swedish firms, Lulea : University of Technology, 2000
[pressman 2012] Pressman, S, Roger. Software Engineering: A Practitioner’s Approach,
7th ed. Penerj. Adi Nugroho, J, Leopold Nikijuluw George dan et.al.
Yogyakarta: ANDI, 2012.
[setyadi 2011] Setyadi, Fellik, Selamat Jewellery Point Of Sales System, Jakarta : Binus
University, 2011
[sinarmata 2010] Simarmata, Janner. Rekayasa Perangkat Lunak. Yogyakarta: ANDI,
2010.
[Snehota 2005] Snehota, Ivan, Fashion Store Image & Visual Merchandising The Case
of Company, Virginia: University of Italian Switzerland, 2005.
[whitten 2004] Whitten, Jeffrey, A dan et.al. Systems Analysis and Design Methods, 1st
ed. Penerj. Tim Penerjemah ANDI. Yogyakarta: ANDI, 2004.
117
LAMPIRAN-LAMPIRAN
Lampiran 1. Daftar Pedoman Pertanyaan untuk Wawancara
Nama (Jabatan)
Tanggal
Tempat
Pertanyaan
Sistem Saat Ini:
1. Bagaimana model sistem yang sekarang (data, proses, dan output)?
2. Permasalahan yang dihadapi dengan sistem yang sekarang apa saja (data,
kecepatan)?
3. Harapan perlunya pengembangan sistem yang sekarang?
4. Infrastruktur hardware, software, jaringan yang sekarang apa saja?
Kebutuhan Fungsional:
1. Proses apa yang ingin dimasukkan dalam sistem ini?
2. Data yang dimasukkan kedalam sistem apa saja?
3. Form pengisian data yang sudah ada untuk sistem ini apa saja?
4. Laporan yang akan dihasilkan dari sistem tersebut nanti apa?
5. Laporan dan dokumen dari sistem sekarang yang sudah tercetak apa saja?
Kebutuhan NonFungsional:
1. Bagaimana tampilan sistem yang diharapkan?
2. Bagaimana kecepatan penyampaian informasi yang diharapkan?
3. Apakah diperlukan panduan penggunaannya?
Kebutuhan Pengguna:
1. Siapa saja yang akan menggunakan sistem tersebut nantinya?
2. Apa yang boleh dilakukan dilakukan oleh masing-masing pengguna?
3. Informasi apa saja yang ditampilkan pada masing-masing pengguna?
118
Lampiran 2. Hasil Wawancara dengan Responden
Nama (Jabatan) 1. Riza Amirul Mukminin, ST SH (Pimpinan Perusahaan)
2. Yudi Yansyah (Staf Perusahaan)
Tanggal 29 Oktober 2012
Tempat Perusahaan Perfume House Banda Aceh
Tanggapan Responden
Sistem Saat Ini:
1. Data diolah menggunakan Excel oleh staf di setiap store dan gudang
perusahaan.
2. Untuk mencari data lama, karena masih berwujud berkas di rak, data sering
tidak sama antar tiap bagian, dan membuat laporan cukup lama.
3. Sangat diperlukan sebuah sistem yang menyimpan semua data di satu program
dan diakses dari mana saja.
4. Komputer sudah Pentium 4, software menggunakan Windows, aplikasi office
dan internet.
Kebutuhan Fungsional:
1. transaksional, Pendataan data karyawan, data produk,data custumers,data stok,
data store, dan pembuatan laporan.
2. Semua laporan sudah ada file Excelnya.
Kebutuhan NonFungsional:
1. Tampilannya ringkas dan tidak sulit dalam pengoperasiannya.
2. Diharapkan lebih mudah dalam pencarian data dan memberikan laporan setiap
saat dibutuhkan oleh semua pihak yang memerlukan.
3. Iya, panduan cara menggunakannya sangat diperlukan dan sebaiknya dipasang
di sistem yang akan dibuat.
Kebutuhan Pengguna:
1. Administrator, custumers service, pimpinan , operator dan gudang/warehouse
2. Administrator boleh melakukan apa saja, kecuali melakukan transaksi.
3. Administrator dapat melihat semua informasi. Sedangkan user lainnya dapat
melihat sesuai dengan kebutuhannya saja.
119
Lampiran 3. Daftar Dokumen Observasi
No Jenis
Dokumen
Isi Dokumen Sumber Dokumen
1 File Excel 1. Form karyawan
2. Form produk
3. Form data custumer
Pimpinan perusahaan
2 Laporan
Tercetak
1. Laporan bulanan
2. Laporan Harian
Biro Personalia
3 File MS Word Profil Organisasi perfume house
banda aceh
1. Pimpinan
perusahaan
120
Lampiran 4. Lembar Pengujian dengan teknik Kuesioner
121
Lampiran 5. lembar Pengujian dengan teknik FGD
122
Lampiran 6. Activity Diargam
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
Lampiran 7. Behavioral State Machine Diagrams
148
149
150
151
152
Lampiran 8. colaboration diagram
153
Lampiran 9. sequence diagram
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
Lampiran 10. user interface administrator
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
Lampiran 11. user interface operator
190
191
192
193
Lampiran 12. user interface gudang
194
195
196
197
198
Lampiran 13. user interface custumer service
199
200
201
202
203
204
Lampiran 14. user interface pimpinan
205
Lampiran 15. Invoice stok keluar dari gudang
206
Lampiran 16. Print receipt transaksi custumer
207
Lampiran 17. struktur Database
Table structure for table tbl_application_setting
Field Type Null Default
app_id int(3) No
app_application_name varchar(100) Yes NULL
app_page_title varchar(200) Yes NULL
app_company_name varchar(50) No
app_address varchar(100) No
app_phone varchar(30) No
app_email varchar(30) No
app_web_address varchar(100) Yes NULL
app_currency int(10) No 1
app_order_email varchar(1) No y
app_contact_person varchar(50) Yes NULL
app_showroom_address varchar(150) Yes NULL
app_shipping_service varchar(50) Yes NULL
app_image_logo varchar(255) Yes NULL
app_tithe double(5,2) Yes NULL
app_flag_tithe enum('Enabled', 'Disabled') No Disabled
208
app_payment_info text Yes NULL
app_about_company text Yes NULL
app_tax double(5,2) Yes NULL
app_flag_tax enum('Enabled', 'Disabled') No Disabled
app_number_point int(11) Yes NULL
app_flag_point enum('Enabled', 'Disabled') No Disabled
app_amount_shopping double(15,2) Yes NULL
app_return_policy varchar(255) Yes NULL
app_slogan varchar(255) Yes NULL
app_date_Updated timestamp No CURRENT_TIMESTAMP
app_member_discount double(5,2) No 0.00
Table structure for table tbl_application_setting
Field Type Null Default
app_id int(3) No
app_application_name varchar(100) Yes NULL
app_page_title varchar(200) Yes NULL
app_company_name varchar(50) No
app_address varchar(100) No
209
app_phone varchar(30) No
app_email varchar(30) No
app_web_address varchar(100) Yes NULL
app_currency int(10) No 1
app_order_email varchar(1) No y
app_contact_person varchar(50) Yes NULL
app_showroom_address varchar(150) Yes NULL
app_shipping_service varchar(50) Yes NULL
app_image_logo varchar(255) Yes NULL
app_tithe double(5,2) Yes NULL
app_flag_tithe enum('Enabled',
'Disabled') No Disabled
app_payment_info text Yes NULL
app_about_company text Yes NULL
app_tax double(5,2) Yes NULL
app_flag_tax enum('Enabled',
'Disabled') No Disabled
app_number_point int(11) Yes NULL
app_flag_point enum('Enabled',
'Disabled') No Disabled
210
app_amount_shopping double(15,2) Yes NULL
app_return_policy varchar(255) Yes NULL
app_slogan varchar(255) Yes NULL
app_date_Updated timestamp No CURRENT_TIMESTAMP
app_member_discount double(5,2) No 0.00
Table structure for table tbl_category
Field Type Null Default
cat_id int(10) No
cat_parent_id int(10) Yes NULL
cat_name varchar(50) No
cat_description varchar(200) No
cat_image varchar(255) No
cat_date datetime No 0000-00-00 00:00:00
cat_last_update timestamp No CURRENT_TIMESTAMP
Table structure for table tbl_category
Field Type Null Default
cat_id int(10) No
211
cat_parent_id int(10) Yes NULL
cat_name varchar(50) No
cat_description varchar(200) No
cat_image varchar(255) No
cat_date datetime No 0000-00-00 00:00:00
cat_last_update timestamp No CURRENT_TIMESTAMP
Table structure for table tbl_currency
Field Type Null Default
cy_id int(10) No
cy_code char(3) No
cy_symbol varchar(8) No
cy_country varchar(50) Yes NULL
Table structure for table tbl_currency
Field Type Null Default
cy_id int(10) No
cy_code char(3) No
cy_symbol varchar(8) No
212
cy_country varchar(50) Yes NULL
Table structure for table tbl_customers
Field Type Null Default
customer_id int(10) No
customer_social_code varchar(50) Yes NULL
customer_account_number varchar(255) Yes NULL
customer_first_name varchar(50) Yes NULL
customer_middle_name varchar(50) Yes NULL
customer_last_name varchar(50) Yes NULL
customer_full_name varchar(255) No
customer_gender_id varchar(1) No
customer_birth_place varchar(255) No
customer_birth_date date No
customer_handphone_number varchar(255) No
customer_phone_number varchar(255) No
customer_email varchar(255) No
customer_address1 varchar(255) No
customer_address2 varchar(255) No
213
customer_post_code varchar(255) No
customer_city varchar(255) No
customer_state varchar(255) No
customer_country varchar(255) No
customer_note text No
customer_taxable int(1) Yes NULL
customer_point int(5) No 0
customer_last_shopping datetime No 0000-00-00 00:00:00
customer_register_date date No
customer_last_update timestamp No CURRENT_TIMESTAMP
customer_add_user_id int(10) Yes NULL
customer_update_user_id int(10) Yes NULL
customer_location_id int(10) Yes NULL
customer_entry_date datetime Yes NULL
customer_type_id int(1) No
214
Table structure for table tbl_customers
Field Type Null Default
customer_id int(10) No
customer_social_code varchar(50) Yes NULL
customer_account_number varchar(255) Yes NULL
customer_first_name varchar(50) Yes NULL
customer_middle_name varchar(50) Yes NULL
customer_last_name varchar(50) Yes NULL
customer_full_name varchar(255) No
customer_gender_id varchar(1) No
customer_birth_place varchar(255) No
customer_birth_date date No
customer_handphone_number varchar(255) No
customer_phone_number varchar(255) No
customer_email varchar(255) No
customer_address1 varchar(255) No
customer_address2 varchar(255) No
customer_post_code varchar(255) No
customer_city varchar(255) No
215
customer_state varchar(255) No
customer_country varchar(255) No
customer_note text No
customer_taxable int(1) Yes NULL
customer_point int(5) No 0
customer_last_shopping datetime No 0000-00-00 00:00:00
customer_register_date date No
customer_last_update timestamp No CURRENT_TIMESTAMP
customer_add_user_id int(10) Yes NULL
customer_update_user_id int(10) Yes NULL
customer_location_id int(10) Yes NULL
customer_entry_date datetime Yes NULL
customer_type_id int(1) No
Table structure for table tbl_customers_points
Field Type Null Default
cust_point_id int(5) No
cust_sales_id int(11) Yes NULL
cust_id int(10) No
216
cust_old_point double(7,2) No 0.00
cust_add_point double(7,2) No 0.00
cust_current_point double(7,2) No 0.00
cust_point_amount_buying double(17,2) No 0.00
cust_point_date_add datetime No
cust_point_date_update timestamp No CURRENT_TIMESTAMP
cust_point_status enum('New',
'Changed') No
cust_point_user_id int(10) Yes NULL
cust_point_point_id int(10) Yes NULL
Table structure for table tbl_customers_points
Field Type Null Default
cust_point_id int(5) No
cust_sales_id int(11) Yes NULL
cust_id int(10) No
cust_old_point double(7,2) No 0.00
cust_add_point double(7,2) No 0.00
cust_current_point double(7,2) No 0.00
217
cust_point_amount_buying double(17,2) No 0.00
cust_point_date_add datetime No
cust_point_date_update timestamp No CURRENT_TIMESTAMP
cust_point_status enum('New',
'Changed') No
cust_point_user_id int(10) Yes NULL
cust_point_point_id int(10) Yes NULL
Table structure for table tbl_customer_type
Field Type Null Default
customer_type_id int(1) No
customer_type_description varchar(30) No
Table structure for table tbl_customer_type
Field Type Null Default
customer_type_id int(1) No
customer_type_description varchar(30) No
218
Table structure for table tbl_departement
Field Type Null Default
departement_id int(10) No
departement_name varchar(65) No
Table structure for table tbl_departement
Field Type Null Default
departement_id int(10) No
departement_name varchar(65) No
Table structure for table tbl_employee
Field Type Null Default
employee_id int(10) No
employee_name varchar(65) No
employee_email varchar(100) No
employee_password varchar(255) No
employee_sex enum('Male',
'Female') No
employee_address text No
employee_departement_id int(10) No
219
employee_birth_date date No
employee_date_update timestamp No CURRENT_TIMESTAMP
employee_date_insert date No
Table structure for table tbl_employee
Field Type Null Default
employee_id int(10) No
employee_name varchar(65) No
employee_email varchar(100) No
employee_password varchar(255) No
employee_sex enum('Male',
'Female') No
employee_address text No
employee_departement_id int(10) No
employee_birth_date date No
employee_date_update timestamp No CURRENT_TIMESTAMP
employee_date_insert date No
220
Table structure for table tbl_gender
Field Type Null Default
gender_id varchar(1) No
gender_description varchar(15) No
Table structure for table tbl_gender
Field Type Null Default
gender_id varchar(1) No
gender_description varchar(15) No
Table structure for table tbl_location
Field Type Null Default
location_id int(10) No
location_name varchar(65) No
location_type_id int(2) No
location_address text No
location_telp varchar(255) No
location_email varchar(255) Yes NULL
location_note text Yes NULL
221
location_contact_person varchar(255) Yes NULL
location_date_add datetime Yes NULL
location_date_update timestamp No CURRENT_TIMESTAMP
Table structure for table tbl_location
Field Type Null Default
location_id int(10) No
location_name varchar(65) No
location_type_id int(2) No
location_address text No
location_telp varchar(255) No
location_email varchar(255) Yes NULL
location_note text Yes NULL
location_contact_person varchar(255) Yes NULL
location_date_add datetime Yes NULL
location_date_update timestamp No CURRENT_TIMESTAMP
222
Table structure for table tbl_location_type
Field Type Null Default
location_type_id int(2) No
location_type_name varchar(65) No
Table structure for table tbl_location_type
Field Type Null Default
location_type_id int(2) No
location_type_name varchar(65) No
Table structure for table tbl_payment_type
Field Type Null Default
payment_type_id int(2) No
payment_type_name varchar(65) No
Table structure for table tbl_payment_type
Field Type Null Default
payment_type_id int(2) No
payment_type_name varchar(65) No
223
Table structure for table tbl_points
Field Type Null Default
point_id int(5) No
point_totals int(6) No
point_rewards text No
Table structure for table tbl_points
Field Type Null Default
point_id int(5) No
point_totals int(6) No
point_rewards text No
Table structure for table tbl_product
Field Type Nul
l Default
product_id int(10) No
product_name varchar(255
) No
product_cat_id int(10) Yes NULL
category varchar(255 No
224
)
product_item_number varchar(255
) Yes NULL
product_description tinytext No
product_cost_price double(15,2
) No
product_cost_price_grosir double(15,2
) No 0.00
product_unit_price double(15,2
) No 0.00
product_unit_price_grosir double(15,2
) No 0.00
product_promo_price double(15,2
) No 0.00
product_total_stock int(10) No 0
product_discount double(15,2
) No 0.00
product_minimum_stock_warehous
e int(10) No
product_minimum_stock int(10) No 0
quantity int(10) No 0
q1 int(10) No 0
225
q2 int(10) No 0
q3 int(10) No 10
reorder_level int(10) No 0
product_thumbnail varchar(255
) Yes NULL
product_image varchar(255
) Yes NULL
product_special_for int(2) Yes NULL
product_date_add datetime Yes NULL
product_date_update timestamp No CURRENT_TIMESTAM
P
product_unit_id int(2) Yes NULL
product_add_user_id int(10) Yes NULL
product_update_user_id int(10) Yes NULL
product_total_stock_warehouse int(10) No
Table structure for table tbl_product
Field Type Nul
l Default
product_id int(10) No
226
product_name varchar(255
) No
product_cat_id int(10) Yes NULL
category varchar(255
) No
product_item_number varchar(255
) Yes NULL
product_description tinytext No
product_cost_price double(15,2
) No
product_cost_price_grosir double(15,2
) No 0.00
product_unit_price double(15,2
) No 0.00
product_unit_price_grosir double(15,2
) No 0.00
product_promo_price double(15,2
) No 0.00
product_total_stock int(10) No 0
product_discount double(15,2
) No 0.00
product_minimum_stock_warehous int(10) No
227
e
product_minimum_stock int(10) No 0
quantity int(10) No 0
q1 int(10) No 0
q2 int(10) No 0
q3 int(10) No 10
reorder_level int(10) No 0
product_thumbnail varchar(255
) Yes NULL
product_image varchar(255
) Yes NULL
product_special_for int(2) Yes NULL
product_date_add datetime Yes NULL
product_date_update timestamp No CURRENT_TIMESTAM
P
product_unit_id int(2) Yes NULL
product_add_user_id int(10) Yes NULL
product_update_user_id int(10) Yes NULL
product_total_stock_warehouse int(10) No
228
Table structure for table tbl_sales
Field Type Null Default
sales_id int(10) No
sales_customer_id int(10) No
sales_user_id int(10) No
sales_location_id int(11) No
sales_tax double(5,2) No 0.00
sales_date_add datetime No 0000-00-00 00:00:00
sales_date_update timestamp No CURRENT_TIMESTAMP
sales_status enum('New', 'In Process',
'Cancel', 'Complete') No New
sales_note text No
sales_payment_type_id int(2) No
sales_type_transaction enum('Sale', 'Return') No Sale
Table structure for table tbl_sales
Field Type Null Default
sales_id int(10) No
sales_customer_id int(10) No
229
sales_user_id int(10) No
sales_location_id int(11) No
sales_tax double(5,2) No 0.00
sales_date_add datetime No 0000-00-00 00:00:00
sales_date_update timestamp No CURRENT_TIMESTAMP
sales_status enum('New', 'In Process',
'Cancel', 'Complete') No New
sales_note text No
sales_payment_type_id int(2) No
sales_type_transaction enum('Sale', 'Return') No Sale
Table structure for table tbl_sales_item
Field Type Null Default
sales_item_id int(10) No
sales_id int(10) No
sales_item_user_id int(10) No
sales_item_product_id int(10) No 0
sales_item_unit_id int(2) No
sales_item_quantity int(10) No 0
230
sales_item_discount double(5,0) No 0
sales_item_unit_price double(17,2) No 0.00
sales_item_last_update timestamp No CURRENT_TIMESTAMP
sales_item_add_date datetime No
sales_item_validation_code varchar(255) No
Table structure for table tbl_sales_item
Field Type Null Default
sales_item_id int(10) No
sales_id int(10) No
sales_item_user_id int(10) No
sales_item_product_id int(10) No 0
sales_item_unit_id int(2) No
sales_item_quantity int(10) No 0
sales_item_discount double(5,0) No 0
sales_item_unit_price double(17,2) No 0.00
sales_item_last_update timestamp No CURRENT_TIMESTAMP
sales_item_add_date datetime No
sales_item_validation_code varchar(255) No
231
Table structure for table tbl_special
Field Type Null Default
special_id int(2) No
special_description varchar(255) No
Table structure for table tbl_special
Field Type Null Default
special_id int(2) No
special_description varchar(255) No
Table structure for table tbl_stock
Field Type Null Default
stock_id int(10) No
stock_product_id int(10) No
stock_unit_id int(2) No
stock_total_stock int(11) No
stock_warehouse_id int(10) No
stock_user_id int(10) No
stock_user_id_update int(10) No
232
stock_date_add datetime No 0000-00-00 00:00:00
stock_date_update timestamp No CURRENT_TIMESTAMP
Table structure for table tbl_stock
Field Type Null Default
stock_id int(10) No
stock_product_id int(10) No
stock_unit_id int(2) No
stock_total_stock int(11) No
stock_warehouse_id int(10) No
stock_user_id int(10) No
stock_user_id_update int(10) No
stock_date_add datetime No 0000-00-00 00:00:00
stock_date_update timestamp No CURRENT_TIMESTAMP
Table structure for table tbl_stock_in
Field Type Null Default
stockin_id int(10) No
stockin_batch_number varchar(12) No
233
stockin_transaction_number varchar(225) No
stockin_transaction_date date Yes NULL
stockin_warehouse_id int(10) No 0
stockin_supplier_id int(10) No 0
stockin_tax double(6,2) No 0.00
stockin_note text No
stockin_user_location_id int(10) No
stockin_user_id int(10) No
stockin_add_date datetime No
stockin_last_update timestamp No CURRENT_TIMESTAMP
stockin_from enum('Supplier',
'Warehouse', 'Store') No
stockin_status
enum('New',
'Shipping',
'Complete',
'Cancel')
No New
stockin_shipping_cost double(15,2) No
234
Table structure for table tbl_stock_in
Field Type Null Default
stockin_id int(10) No
stockin_batch_number varchar(12) No
stockin_transaction_number varchar(225) No
stockin_transaction_date date Yes NULL
stockin_warehouse_id int(10) No 0
stockin_supplier_id int(10) No 0
stockin_tax double(6,2) No 0.00
stockin_note text No
stockin_user_location_id int(10) No
stockin_user_id int(10) No
stockin_add_date datetime No
stockin_last_update timestamp No CURRENT_TIMESTAMP
stockin_from enum('Supplier',
'Warehouse', 'Store') No
stockin_status
enum('New',
'Shipping',
'Complete',
'Cancel')
No New
235
stockin_shipping_cost double(15,2) No
Table structure for table tbl_stock_in_item
Field Type Null Default
stockin_item_id int(10) No
stockin_id int(10) No
stockin_item_product_id int(10) No 0
stockin_unit_id int(2) No
stockin_item_quantity int(10) No 0
stockin_item_unit_price double(17,2) No 0.00
stockin_item_discount double(5,0) No 0
stockin_item_validation_code varchar(255) No
stockin_item_last_update timestamp No CURRENT_TIMESTAMP
stockin_item_add_date datetime No
stockin_item_user_id int(10) No
Table structure for table tbl_stock_in_item
Field Type Null Default
stockin_item_id int(10) No
236
stockin_id int(10) No
stockin_item_product_id int(10) No 0
stockin_unit_id int(2) No
stockin_item_quantity int(10) No 0
stockin_item_unit_price double(17,2) No 0.00
stockin_item_discount double(5,0) No 0
stockin_item_validation_code varchar(255) No
stockin_item_last_update timestamp No CURRENT_TIMESTAMP
stockin_item_add_date datetime No
stockin_item_user_id int(10) No
Table structure for table tbl_stock_out
Field Type Null Default
stockout_id int(10) No
stockout_batch_number varchar(12) No
stockout_transaction_number varchar(225) No
stockout_transaction_date date No
stockout_warehouse_id int(10) No 0
stockout_tax double(6,2) No 0.00
237
stockout_note text No
stockout_user_location_id int(10) No
stockout_user_id int(10) No
stockout_add_date datetime No
stockout_last_update timestamp No CURRENT_TIMESTAMP
stockout_to
enum('Supplier',
'Warehouse',
'Store')
No
stockout_destination_id int(10) No 0
stockout_type enum('Transfer',
'Return') No Transfer
stockout_status
enum('New',
'Shipping',
'Complete',
'Cancel')
No New
Table structure for table tbl_stock_out
Field Type Null Default
stockout_id int(10) No
stockout_batch_number varchar(12) No
stockout_transaction_number varchar(225) No
238
stockout_transaction_date date No
stockout_warehouse_id int(10) No 0
stockout_tax double(6,2) No 0.00
stockout_note text No
stockout_user_location_id int(10) No
stockout_user_id int(10) No
stockout_add_date datetime No
stockout_last_update timestamp No CURRENT_TIMESTAMP
stockout_to
enum('Supplier',
'Warehouse',
'Store')
No
stockout_destination_id int(10) No 0
stockout_type enum('Transfer',
'Return') No Transfer
stockout_status
enum('New',
'Shipping',
'Complete',
'Cancel')
No New
239
Table structure for table tbl_stock_out_item
Field Type Null Default
stockout_item_id int(10) No
stockout_id int(10) No
stockout_item_product_id int(10) No 0
stockout_item_unit_id int(2) No
stockout_item_quantity int(10) No 0
stockout_item_discount double(5,0) No 0
stockout_item_unit_price double(17,2) No 0.00
stockout_item_validation_code varchar(255) No
stockout_item_last_update timestamp No CURRENT_TIMESTAMP
stockout_item_add_date datetime No
stockout_item_user_id int(10) No
Table structure for table tbl_stock_out_item
Field Type Null Default
stockout_item_id int(10) No
stockout_id int(10) No
stockout_item_product_id int(10) No 0
240
stockout_item_unit_id int(2) No
stockout_item_quantity int(10) No 0
stockout_item_discount double(5,0) No 0
stockout_item_unit_price double(17,2) No 0.00
stockout_item_validation_code varchar(255) No
stockout_item_last_update timestamp No CURRENT_TIMESTAMP
stockout_item_add_date datetime No
stockout_item_user_id int(10) No
Table structure for table tbl_stock_status
Field Type Null Default
status_stock_id int(2) No
status_stock_description varchar(255) No
Table structure for table tbl_stock_status
Field Type Null Default
status_stock_id int(2) No
status_stock_description varchar(255) No
241
Table structure for table tbl_stock_store
Field Type Null Default
stock_store_id int(10) No
stock_store_batch_number varchar(12) No
stock_store_transaction_number varchar(225) No
stock_store_transaction_date date No
stock_store_store_id int(10) No
stock_store_warehouse_id int(10) No
stock_store_note text No
stock_store_user_location_id int(10) No
stock_store_user_id int(10) No
stock_store_add_date datetime No
stock_store_last_update timestamp No CURRENT_TIMESTAMP
stock_store_type enum('Receipt', 'Return') No Receipt
stock_store_status enum('New', 'Shipping',
'Complete', 'Cancel') No New
242
Table structure for table tbl_stock_store
Field Type Null Default
stock_store_id int(10) No
stock_store_batch_number varchar(12) No
stock_store_transaction_number varchar(225) No
stock_store_transaction_date date No
stock_store_store_id int(10) No
stock_store_warehouse_id int(10) No
stock_store_note text No
stock_store_user_location_id int(10) No
stock_store_user_id int(10) No
stock_store_add_date datetime No
stock_store_last_update timestamp No CURRENT_TIMESTAMP
stock_store_type enum('Receipt',
'Return') No Receipt
stock_store_status
enum('New',
'Shipping',
'Complete',
'Cancel')
No New
243
Table structure for table tbl_stock_store_item
Field Type Null Default
stock_store_item_id int(10) No
stock_store_id int(10) No
stock_store_item_product_id int(10) No 0
stock_store_item_unit_id int(2) No
stock_store_item_quantity int(10) No 0
stock_store_item_validation_code varchar(255) No
stock_store_item_last_update timestamp No CURRENT_TIMESTAMP
stock_store_item_add_date datetime No
stock_store_item_user_id int(10) No
Table structure for table tbl_stock_store_item
Field Type Null Default
stock_store_item_id int(10) No
stock_store_id int(10) No
stock_store_item_product_id int(10) No 0
stock_store_item_unit_id int(2) No
stock_store_item_quantity int(10) No 0
244
stock_store_item_validation_code varchar(255) No
stock_store_item_last_update timestamp No CURRENT_TIMESTAMP
stock_store_item_add_date datetime No
stock_store_item_user_id int(10) No
Table structure for table tbl_store_item
Field Type Null Default
item_id int(10) No
item_product_id int(10) No
item_unit_id int(2) No
item_total_stock int(11) No
item_store_id int(10) No
item_user_id_add int(10) No
item_user_id_update int(10) No
item_date_add datetime No 0000-00-00 00:00:00
item_date_update timestamp No CURRENT_TIMESTAMP
245
Table structure for table tbl_store_item
Field Type Null Default
item_id int(10) No
item_product_id int(10) No
item_unit_id int(2) No
item_total_stock int(11) No
item_store_id int(10) No
item_user_id_add int(10) No
item_user_id_update int(10) No
item_date_add datetime No 0000-00-00 00:00:00
item_date_update timestamp No CURRENT_TIMESTAMP
Table structure for table tbl_supplier
Field Type Null Default
supplier_id int(10) No
supplier_name varchar(255) Yes NULL
supplier_address text No
supplier_telp varchar(255) Yes NULL
supplier_email varchar(255) Yes NULL
246
supplier_date_add date No
supplier_website varchar(255) No
supplier_contact_person varchar(255) No
supplier_last_update timestamp No CURRENT_TIMESTAMP
supplier_note text Yes NULL
Table structure for table tbl_supplier
Field Type Null Default
supplier_id int(10) No
supplier_name varchar(255) Yes NULL
supplier_address text No
supplier_telp varchar(255) Yes NULL
supplier_email varchar(255) Yes NULL
supplier_date_add date No
supplier_website varchar(255) No
supplier_contact_person varchar(255) No
supplier_last_update timestamp No CURRENT_TIMESTAMP
supplier_note text Yes NULL
247
Table structure for table tbl_unit
Field Type Null Default
unit_id int(2) No
unit_name varchar(6) No
unit_description varchar(255) Yes NULL
Table structure for table tbl_unit
Field Type Null Default
unit_id int(2) No
unit_name varchar(6) No
unit_description varchar(255) Yes NULL
Table structure for table tbl_user
Field Type Null Default
user_id int(10) No
user_name_login varchar(20) Yes NULL
user_first_name varchar(50) No
user_middle_name varchar(50) Yes NULL
user_last_name varchar(50) Yes NULL
248
user_birthday date No
user_birth_place varchar(100) No
user_marital_status_id int(2) No
user_gender_id int(1) No
user_home_adrress varchar(255) No
user_office_address varchar(255) No
user_password varchar(255) No
user_level_id int(11) No 0
user_email varchar(200) No
user_last_login datetime No 0000-00-00 00:00:00
user_last_update timestamp No CURRENT_TIMESTAMP
user_last_login_ip varchar(255) No
user_about text Yes NULL
user_registration_date datetime Yes NULL
user_registration_code varchar(255) Yes NULL
user_date_change_status datetime Yes NULL
user_picture_small varchar(255) Yes NULL
user_picture_big varchar(255) Yes NULL
249
user_picture_square varchar(255) Yes NULL
user_picture varchar(255) Yes NULL
user_registration_ip varchar(50) Yes NULL
user_status
enum('Active',
'Inactive', 'Invisible',
'Blocked')
No Active
user_home_town varchar(255) No
user_post_code varchar(255) Yes NULL
user_mobile_number varchar(255) Yes NULL
user_reset_password_code varchar(255) Yes NULL
user_register_via
enum('Web',
'Mobile', 'Mobile
Web')
Yes Web
user_departement_id int(10) Yes NULL
user_note text Yes NULL
user_location_id int(10) Yes NULL
Table structure for table tbl_user
Field Type Null Default
user_id int(10) No
250
user_name_login varchar(20) Yes NULL
user_first_name varchar(50) No
user_middle_name varchar(50) Yes NULL
user_last_name varchar(50) Yes NULL
user_birthday date No
user_birth_place varchar(100) No
user_marital_status_id int(2) No
user_gender_id int(1) No
user_home_adrress varchar(255) No
user_office_address varchar(255) No
user_password varchar(255) No
user_level_id int(11) No 0
user_email varchar(200) No
user_last_login datetime No 0000-00-00 00:00:00
user_last_update timestamp No CURRENT_TIMESTAMP
user_last_login_ip varchar(255) No
user_about text Yes NULL
user_registration_date datetime Yes NULL
251
user_registration_code varchar(255) Yes NULL
user_date_change_status datetime Yes NULL
user_picture_small varchar(255) Yes NULL
user_picture_big varchar(255) Yes NULL
user_picture_square varchar(255) Yes NULL
user_picture varchar(255) Yes NULL
user_registration_ip varchar(50) Yes NULL
user_status
enum('Active',
'Inactive', 'Invisible',
'Blocked')
No Active
user_home_town varchar(255) No
user_post_code varchar(255) Yes NULL
user_mobile_number varchar(255) Yes NULL
user_reset_password_code varchar(255) Yes NULL
user_register_via
enum('Web',
'Mobile', 'Mobile
Web')
Yes Web
user_departement_id int(10) Yes NULL
user_note text Yes NULL
user_location_id int(10) Yes NULL
252
Table structure for table tbl_user_level
Field Type Null Default
level_id int(10) No
level_name varchar(65) No
Table structure for table tbl_user_level
Field Type Null Default
level_id int(10) No
level_name varchar(65) No
253
Lampiran 18. Source Code Aplikasi PHP Point of Sale Perfume House
Source code proses produk
<?php
require_once ("../../library/config.php");
require_once("../library/functions-backend.php");
$currentUserId = (isset($_SESSION['backend_user_id']) && $_SESSION['backend_user_id'] !=
'') ? $_SESSION['backend_user_id'] : '';
checkBackendUser();
$action = isset($_POST['action']) ? $_POST['action'] : '';
switch ($action) {
case 'add' :
addProduct();
break;
case 'modify' :
modifyProduct();
break;
case 'delete' :
deleteProduct();
break;
case 'deleteImage' :
deleteImage();
break;
default :
// if action is not defined or unknown
// move to main product page
header('Location: index.php');
}
function addProduct()
{
$currentUserId = (isset($_SESSION['backend_user_id']) &&
$_SESSION['backend_user_id'] != '') ? $_SESSION['backend_user_id'] : '';
$catId = $_POST['category'];
$name = $_POST['name'];
$itemNumber = $_POST['itemNumber'];
$special = $_POST['special'];
$costPrice = $_POST['costPrice'];
$costPrice = str_replace(',', '', $costPrice);
$costPrice = (float)$costPrice;
$unitPrice = $_POST['unitPrice'];
$unitPrice = str_replace(',', '', $unitPrice);
$unitPrice = (float)$unitPrice;
$promoPrice = $_POST['promoPrice'];
$promoPrice = str_replace(',', '', $promoPrice);
$promoPrice = (float)$promoPrice;
254
$discount = $_POST['discount'];
$discount = str_replace(',', '', $discount);
$discount = (float)$discount;
$costPriceGrosir = $_POST['costPriceGrosir'];
$costPriceGrosir = str_replace(',', '', $costPriceGrosir);
$costPriceGrosir = (float)$costPriceGrosir;
$unitPriceGrosir = $_POST['unitPriceGrosir'];
$unitPriceGrosir = str_replace(',', '', $unitPriceGrosir);
$unitPriceGrosir = (float)$unitPriceGrosir;
$limitStockWarehouse = (int)$_POST['limitStockWarehouse'];
$limitStock = (int)$_POST['limitStock'];
$unit = $_POST['unitProduct'];
$description = $_POST['description'];
$errors='';
if ((int)$catId<1)
{
$errors[] = 'Mohon pilih kategori produk';
}
if ($itemNumber!='')
{
$sql = "SELECT product_item_number FROM tbl_product WHERE
product_item_number = '$itemNumber' LIMIT 1 ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
if (mysql_num_rows($result)>0)
{
$errors[] = 'Item Number sudah ada, silakan
masukkan yang lain';
}
}
if ($name== '')
{
$errors[] = 'Nama produk harus diisi';
}
if ((int)$special<1)
{
$errors[] = 'Mohon pilih special produk';
}
if ((int)$unit<1)
{
$errors[] = 'Mohon pilih satuan';
}
if (is_array($errors))
{
echo "<div class=\"error_box\">Kesalahan : <br/>";
while (list($key,$value) = each($errors))
{
echo '<ul>'.$value.'</ul>';
255
}
echo "</div>";
}else {
$sql = "INSERT INTO
tbl_product (product_name,
product_cat_id, product_item_number, product_description,
product_cost_price, product_unit_price, product_promo_price,
product_discount,
product_cost_price_grosir, product_unit_price_grosir,
product_minimum_stock_warehouse,
product_minimum_stock, product_unit_id,
product_special_for, product_date_add, product_add_user_id)
VALUES ('$name', '$catId', '$itemNumber', '$description', $costPrice,
$unitPrice, $promoPrice, $discount,
$costPriceGrosir, $unitPriceGrosir,
$limitStockWarehouse,
$limitStock, '$unit', '$special', NOW(), '$currentUserId')";
$result = mysql_query($sql) or die("Error : ".mysql_error());
?>
<script>
window.location.href='<?php echo WEB_ROOT.'backend?ref=product'; ?>';
</script>
<?php
}
}
/*
Upload an image and return the uploaded image name
*/
function uploadProductImage($inputName, $uploadDir)
{
$image = $_FILES[$inputName];
$imagePath = '';
$thumbnailPath = '';
// if a file is given
if (trim($image['tmp_name']) != '') {
$ext = substr(strrchr($image['name'], "."), 1); //$extensions[$image['type']];
// generate a random new file name to avoid name conflict
$imagePath = md5(rand() * time()) . ".$ext";
list($width, $height, $type, $attr) = getimagesize($image['tmp_name']);
// make sure the image width does not exceed the
// maximum allowed width
256
if (LIMIT_PRODUCT_WIDTH && $width >
MAX_PRODUCT_IMAGE_WIDTH) {
$result = createThumbnail($image['tmp_name'], $uploadDir .
$imagePath, MAX_PRODUCT_IMAGE_WIDTH);
$imagePath = $result;
} else {
$result = move_uploaded_file($image['tmp_name'], $uploadDir .
$imagePath);
}
if ($result) {
// create thumbnail
$thumbnailPath = md5(rand() * time()) . ".$ext";
$result = createThumbnail($uploadDir . $imagePath, $uploadDir .
$thumbnailPath, THUMBNAIL_WIDTH);
// create thumbnail failed, delete the image
if (!$result) {
unlink($uploadDir . $imagePath);
$imagePath = $thumbnailPath = '';
} else {
$thumbnailPath = $result;
}
} else {
// the product cannot be upload / resized
$imagePath = $thumbnailPath = '';
}
}
return array('image' => $imagePath, 'thumbnail' => $thumbnailPath);
}
/*
Modify a product
*/
function modifyProduct()
{
$currentUserId = (isset($_SESSION['backend_user_id']) &&
$_SESSION['backend_user_id'] != '') ? $_SESSION['backend_user_id'] : '';
$productId = $_POST['productId'];
$catId = $_POST['category'];
$name = $_POST['name'];
$special = $_POST['special'];
$costPrice = $_POST['costPrice'];
$costPrice = str_replace(',', '', $costPrice);
$costPrice = (float)$costPrice;
$unitPrice = $_POST['unitPrice'];
$unitPrice = str_replace(',', '', $unitPrice);
$unitPrice = (float)$unitPrice;
$promoPrice = $_POST['promoPrice'];
$promoPrice = str_replace(',', '', $promoPrice);
$promoPrice = (float)$promoPrice;
257
$discount = $_POST['discount'];
$discount = str_replace(',', '', $discount);
$discount = (float)$discount;
$costPriceGrosir = $_POST['costPriceGrosir'];
$costPriceGrosir = str_replace(',', '', $costPriceGrosir);
$costPriceGrosir = (float)$costPriceGrosir;
$unitPriceGrosir = $_POST['unitPriceGrosir'];
$unitPriceGrosir = str_replace(',', '', $unitPriceGrosir);
$unitPriceGrosir = (float)$unitPriceGrosir;
$limitStockWarehouse = (int)$_POST['limitStockWarehouse'];
$limitStock = (int)$_POST['limitStock'];
$unit = $_POST['unitProduct'];
$description = $_POST['description'];
$errors='';
if ((int)$catId<1)
{
$errors[] = 'Mohon pilih kategori produk';
}
if ($name== '')
{
$errors[] = 'Nama produk harus diisi';
}
if ((int)$special<1)
{
$errors[] = 'Mohon pilih special produk';
}
if ((int)$unit<1)
{
$errors[] = 'Mohon pilih Satuan';
}
if (is_array($errors))
{
echo "<div class=\"error_box\">Kesalahan : <br/>";
while (list($key,$value) = each($errors))
{
echo '<ul>'.$value.'</ul>';
}
echo "</div>";
}else {
$sql = "UPDATE
tbl_product
SET
product_name = '$name', product_cat_id =
'$catId',
product_description = '$description',
258
product_cost_price = $costPrice,
product_unit_price = $unitPrice,
product_promo_price = $promoPrice,
product_discount = $discount,
product_cost_price_grosir =
$costPriceGrosir,
product_unit_price_grosir =
$unitPriceGrosir,
product_unit_id = '$unit',
product_minimum_stock_warehouse =
$limitStockWarehouse,
product_minimum_stock = $limitStock,
product_special_for = '$special',
product_update_user_id = '$currentUserId'
WHERE
product_id = '$productId' ";
$result = dbQuery($sql) or die("Error :".mysql_error());
?>
<div class="valid_box">
Data telah disimpan
</div>
<?PHP
}
}
/*
Remove a product
*/
function deleteProduct()
{
if (isset($_POST['productId']) && (int)$_POST['productId'] > 0) {
$productId = (int)$_POST['productId'];
} else {
header('Location: index.php');
}
// remove any references to this product from
// tbl_order_item and tbl_cart
$sql = "SELECT sales_item_product_id FROM tbl_sales_item
WHERE sales_item_product_id = $productId LIMIT 1";
$result = dbQuery($sql) or die("Error : ".mysql_error());
if (mysql_num_rows($result)>0)
{
echo "<div class=\"error_box\">Produk ini tidak dapat dihapus karena
ada data transaksi</div>
<script language=\"javascript\" type=\"text/javascript\">
$(\"#row-\"+$productId).animate({opacity: 1},300);
</script>";
exit;
}else{
// remove any references to this product from
// tbl_order_item and tbl_cart
$sql = "DELETE FROM tbl_sales_item
259
WHERE sales_item_product_id =
$productId";
dbQuery($sql);
// get the image name and thumbnail
$sql = "SELECT product_image, product_thumbnail
FROM tbl_product
WHERE product_id = $productId ";
$result = dbQuery($sql);
$row = dbFetchAssoc($result);
// remove the product image and thumbnail
if ($row['product_image']) {
unlink(SRV_ROOT . 'images/product/' .
$row['product_image']);
unlink(SRV_ROOT . 'images/product/' .
$row['product_thumbnail']);
}
// remove the product from database;
$sql = "DELETE FROM tbl_product
WHERE product_id = $productId";
dbQuery($sql);
echo "<div class=\"valid_box\">Satu telah di
hapus</div>
<script language=\"javascript\"
type=\"text/javascript\">
$(\"#row-\"+$productId).fadeOut(\"slow\");
</script>";
}
}
/*
Remove a product image
*/
function deleteImage()
{
if (isset($_GET['productId']) && (int)$_GET['productId'] > 0) {
$productId = (int)$_GET['productId'];
} else {
header('Location: index.php');
}
$deleted = _deleteImage($productId);
// update the image and thumbnail name in the database
$sql = "UPDATE tbl_product
SET pd_image = '', pd_thumbnail = ''
WHERE pd_id = $productId";
260
dbQuery($sql);
header("Location: index.php?view=modify&productId=$productId");
}
function _deleteImage($productId)
{
// we will return the status
// whether the image deleted successfully
$deleted = false;
$sql = "SELECT pd_image, pd_thumbnail
FROM tbl_product
WHERE pd_id = $productId";
$result = dbQuery($sql) or die('Cannot delete product image. ' . mysql_error());
if (dbNumRows($result)) {
$row = dbFetchAssoc($result);
extract($row);
if ($pd_image && $pd_thumbnail) {
// remove the image file
$deleted = @unlink(SRV_ROOT . "images/product/$pd_image");
$deleted = @unlink(SRV_ROOT . "images/product/$pd_thumbnail");
}
}
return $deleted;
}
?>
261
Source code Proses sales
<?php
require_once ("../../library/config.php");
require_once("../library/functions-backend.php");
$userId = (isset($_SESSION['mysite_user_id']) && $_SESSION['mysite_user_id'] != '') ?
$_SESSION['mysite_user_id'] : '';
checkBackendUser();
$action = isset($_POST['action']) ? $_POST['action'] : '';
switch ($action) {
//start case sales
case 'processcomplete' :
processComplete();
break;
case 'cancelmember' :
cancelMember();
break;
case 'processdelete' :
processDelete();
break;
case 'saveitemsales' :
saveItemSales();
break;
case 'deleteitemsales' :
deleteItemSales();
break;
case 'findproductforsales' :
findProductForSales();
break;
case 'findcustomer' :
findCustomer();
break;
// end case stock in from warehouse
default :
// if action is not defined or unknown
// move to main product page
header('Location: index.php');
}
//***start function for sales ***/
function cancelMember()
{
$appConfig = getAppConfig();
$discount = 0;
$salesId = $_POST['salesId'];
262
$sql = "UPDATE tbl_sales SET sales_customer_id = 0 WHERE sales_id =
'$salesId' ";
$result= mysql_query($sql) or die("Error : ".mysql_error());
//reupdate item data for discount
//display all items in the table
//get tax from master table
$sqlTax = "SELECT sales_tax FROM tbl_sales WHERE sales_id = '$salesId' ";
$resultTax = mysql_query($sqlTax) or die("Error : ".mysql_error());
if (mysql_num_rows($resultTax)>0)
{
while ($row=mysql_fetch_assoc($resultTax))
{
extract($row);
$tax = $sales_tax;
}
}else{
$tax=0;
}
$sqlDiscount = "UPDATE
tbl_sales_item
SET sales_item_discount = $discount
WHERE
sales_id = '$salesId' ";
$resultDiscount = mysql_query($sqlDiscount) or die("Error : ".mysql_error());
$sql = "SELECT s.sales_item_id,
s.sales_id,
s.sales_item_user_id,
s.sales_item_product_id,
s.sales_item_unit_id,
s.sales_item_quantity,
s.sales_item_discount,
s.sales_item_unit_price,
s.sales_item_validation_code,
p.product_name,
u.unit_name
FROM
tbl_sales_item
AS s
LEFT JOIN tbl_product AS p ON
p.product_id = s.sales_item_product_id
263
LEFT JOIN tbl_unit AS u ON u.unit_id =
s.sales_item_unit_id
WHERE
s.sales_id = '$salesId'
ORDER BY sales_item_id DESC ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
$rowsItems = '';
$amount = 0;
$subTotalAmount = 0;
$totalTax = 0;
$totalAmount = $subTotalAmount + $totalTax;
if (mysql_num_rows($result) >0)
{
while ($rows = mysql_fetch_assoc($result))
{
extract($rows);
$code
= $sales_item_validation_code;
$salesItemId =
$sales_item_id;
$salesId
= $sales_id;
$status
= "Saved";
$amount
= $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$subTotalAmount =
$subTotalAmount + $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$rowsItems = $rowsItems.'<tr id=\"tr'.$code.'\"><td
>'.$product_name.'<input name=\"txtProductId\" type=\"hidden\" id=\"txtProductId'.$code.'\"
size=\"12\" readonly=\"readonly\" /></td> <td id=\"td-unit'.$code.'\">'.$unit_name.'<input
name=\"txtUnitId\" type=\"hidden\" id=\"txtUnitId'.$code.'\" value=\"'.$sales_item_unit_id.'\"
/></td><td class=\"number\" id=\"td-quantity'.$code.'\">'.$sales_item_quantity.'</td><td
class=\"number\" id=\"td-unit-
price'.$code.'\">'.number_format($sales_item_unit_price,2).'</td><td class=\"number\" id=\"td-
discount'.$code.'\">'.number_format($sales_item_discount,2).'</td><td class=\"number\" id=\"td-
jumlah'.$code.'\">'.number_format($amount,2).'</td><td id=\"td-
save'.$code.'\">'.$status.'</td><td><input type=\"button\" name=\"btnDeleteItem\"
id=\"btnDeleteItem'.$code.'\" value=\"Hapus\"
onClick=\"deleteItemSales(\''.$code.'\');\"/></td></tr>';
//for display
}
}else{
$rowsItems ='';
}
if ($subTotalAmount>0)
{
264
$totalTax =
($subTotalAmount*(float)$tax/100);
}
$totalAmount = $subTotalAmount +
$totalTax;
$subTotalAmount =
number_format($subTotalAmount,2);
$totalTax
= number_format($totalTax,2);
$totalAmount =
number_format($totalAmount,2);
echo "<script language=\"javascript\" type=\"text/javascript\">
$(\"#t-body\").html(\"$rowsItems\");
$(\"#td-footer-sub-
total\").html(\"<b>$subTotalAmount</b>\");
$(\"#td-footer-tax\").html(\"<b>$totalTax</b>\");
$(\"#td-footer-
total\").html(\"<b>$totalAmount</b>\");
</script>";
///
}
function processDelete()
{
$salesId = $_POST['salesId'];
$currentUserId = (isset($_SESSION['backend_user_id']) &&
$_SESSION['backend_user_id'] != '') ? $_SESSION['backend_user_id'] : '';
$userLocationId = userLocationId($currentUserId);
$currentLocationId = userLocationId($currentUserId);
$sql = "DELETE FROM
tbl_sales_item
WHERE
sales_id = '$salesId' ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
$sql = "DELETE FROM
tbl_sales
WHERE
sales_id = '$salesId' ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
echo "<script type=\"text/javascript\"
language=\"javascript\">window.location.href =
'".WEB_ROOT.'backend/?ref=sales&view=sales'."';</script>";
exit;
}
265
function processComplete()
{
$typeTrans = $_POST['typeTrans'];
$salesId = $_POST['salesId'];
$customerId = $_POST['customerId'];
$note = $_POST['note'];
$tendered = $_POST['tendered'];
$tendered = str_replace(',', '', $tendered);
$errors = '';
$tax = (float)getTax();
$paymentType = $_POST['paymentType'];
$currentUserId = (isset($_SESSION['backend_user_id']) &&
$_SESSION['backend_user_id'] != '') ? $_SESSION['backend_user_id'] : '';
$userLocationId = userLocationId($currentUserId);
$currentLocationId = userLocationId($currentUserId);
if ($salesId && (int)$salesId>0)
{
//check for items sales if doesn't exists display errors
$sql = "SELECT
sales_id
FROM
tbl_sales_item
WHERE
sales_id = '$salesId' ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
if (mysql_num_rows($result)==0)
{
$errors[] = "Tidak ada item produk untuk
transaksi";
}
}else{
$errors[] = "Tidak ada item produk untuk
transaksi";
}
if ((int)$paymentType<1)
{
$errors[] = 'Mohon pilih cara pembayaran';
}
if (is_array($errors))
{
echo "<div class=\"error_box\">Kesalahan : <br/>";
while (list($key,$value) = each($errors))
{
echo '<ul>'.$value.'</ul>';
}
echo "</div>";
}else {
//check if it sales id exist
266
if ($salesId && (int)$salesId>0)
{
//update if current customer has been changed
$sql = "UPDATE
tbl_sales
SET
sales_type_transaction = '$typeTrans',
sales_customer_id ='$customerId',
sales_note = '$note',
sales_payment_type_id = '$paymentType'
WHERE
sales_id
= '$salesId' ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
}else{
//insert into sales table
$sql = "INSERT INTO
tbl_sales
(
sales_type_transaction,
sales_customer_id,
sales_user_id,
sales_location_id,
sales_tax,
sales_date_add,
sales_status,
sales_payment_type_id)
VALUES('$typeTrans', '$customerId', '$currentUserId', '$currentLocationId', $tax, NOW(), 'New',
'$paymentType' )";
$result = mysql_query($sql) or die("Error :
".mysql_error());
$salesId = mysql_insert_id();
}
//get data from sales table
$sql = "SELECT
sales_id,
sales_customer_id, sales_user_id, sales_location_id, sales_tax, sales_status,
sales_payment_type_id, sales_type_transaction, p.payment_type_name
FROM
267
tbl_sales
AS s
LEFT JOIN tbl_payment_type AS p ON
p.payment_type_id = s.sales_payment_type_id
WHERE
sales_id =
'$salesId' ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
if (mysql_num_rows($result) >0)
{
while ($rows = mysql_fetch_assoc($result))
{
extract($rows);
$paymentName =
$payment_type_name;
}
}else{
$paymentName ='';
}
//calculate total
$sql = "SELECT
SUM(sales_item_unit_price * sales_item_quantity) AS amount,
SUM(sales_item_unit_price * sales_item_quantity - sales_item_unit_price *
sales_item_quantity * sales_item_discount/100) AS subtotal,
SUM(sales_item_unit_price * sales_item_quantity) - SUM(sales_item_unit_price *
sales_item_quantity - sales_item_unit_price * sales_item_quantity * sales_item_discount/100) AS
totalDiscount
FROM
tbl_sales_item
WHERE
sales_id = '$salesId'
GROUP BY sales_id ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
if (mysql_num_rows($result)>0)
{
while
($row=mysql_fetch_assoc($result))
{
extract($row);
$amount
= $amount; // amount exclude discount
$subtotal
= $subtotal;
$totalDiscount
= $totalDiscount;
}
}else{
268
$amount
= 0;
$subtotal
= 0;
$totalDiscount
= 0;
}
$subTotalFooter = $subtotal;
// $subtotal =
number_format($subtotal,2);
//calculate tax
$totaltax=0;
if ($subtotal>0)
{
$totaltax =
($subtotal*(float)$tax/100);
}else{
$totaltax = 0;
}
$totalSales =
((float)$subtotal + (float)$totaltax);
$changeDue = 0;
if ($tendered>0)
{
$changeDue
= $tendered - $totalSales;
}
include("receipt.php");
$amount =
number_format($amount,2);
$subtotal =
number_format($subtotal,2);
$totalDiscount =
number_format($totalDiscount,2);
$totaltax =
number_format($totaltax,2);
$totalSales =
number_format($totalSales,2);
//reformat display for input
$subTotalFooter =
number_format($subTotalFooter,2);
echo "<script language=\"javascript\" type=\"text/javascript\">
$(\"#txtSalesId\").attr(\"value\",\"$salesId\");
</script>";
}
}
269
function saveItemSales()
{
$appConfig = getAppConfig();
$typeTrans = $_POST['typeTrans'];
$salesId = $_POST['salesId'];
$code = $_POST['code'];
$productId = $_POST['productId'];
$customerId = $_POST['customerId'];
$unitPrice = $_POST['unitPrice'];
$unitPrice = str_replace(',', '', $unitPrice);
$discount = $_POST['discount'];
$discount = (float)str_replace(',', '', $discount);
$quantity = (int)$_POST['quantity'];
$unitProduct = $_POST['unitId'];
$note = $_POST['note'];
$errors = '';
$tax = (float)getTax();
$currentUserId = (isset($_SESSION['backend_user_id']) &&
$_SESSION['backend_user_id'] != '') ? $_SESSION['backend_user_id'] : '';
$userLocationId = userLocationId($currentUserId);
$currentLocationId = userLocationId($currentUserId);
if ($productId== '')
{
$errors[] = 'Id Produk kosong';
}
//check available stock
$totalStock =0;
$unitName = '';
$sql = "SELECT
item_product_id, item_total_stock, unit_name
FROM
tbl_store_item
LEFT JOIN tbl_unit ON unit_id =
item_unit_id
WHERE
item_product_id = '$productId' AND item_store_id = '$userLocationId' ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
if (mysql_num_rows($result)>0)
{
while($rowStock =
mysql_fetch_assoc($result))
{
extract($rowStock);
$totalStock =
$rowStock['item_total_stock'];
$unitName =
$rowStock['unit_name'];
}
}else{
270
$errors[] = "Produk tidak tersedia";
}
//check current qunatity from sales_item for current salesId
$sql = "SELECT
s.sales_id,
s.sales_location_id,
i.sales_item_id,
i.sales_id,
i.sales_item_product_id,
i.sales_item_quantity,
st.item_id,
st.item_product_id,
st.item_total_stock,
st.item_store_id
FROM
tbl_sales_item AS i
LEFT JOIN tbl_sales AS s ON s.sales_id = i.sales_id
LEFT JOIN tbl_store_item AS st ON st.item_product_id = i.sales_item_product_id
WHERE
s.sales_id = '$salesId' AND i.sales_id = '$salesId' AND
i.sales_item_product_id = '$productId' AND
st.item_store_id = '$currentLocationId' ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
$totalQuantity = $quantity;
$currentQuantity = 0;
if (mysql_num_rows($result)>0)
{
while($rows=mysql_fetch_assoc($result))
{
extract($rows);
$currentQuantity =
(int)$rows['sales_item_quantity'];
$totalQuantity =
$totalQuantity + $currentQuantity ;
271
}
}
if ($typeTrans=="Sale")
{
if ((int)$totalQuantity>(int)$totalStock)
{
$errors[] = "Kuantitas melebihi
stock yang tersedia, hanya tersedia $totalStock $unitName";
}
}
if ((int)$quantity==0)
{
$errors[] = "Jumlah tidak boleh 0 (nol)";
}
if ((float)$unitPrice==0.00)
{
$errors[] = "Harga Satuan tidak boleh 0 (nol)";
}
if (is_array($errors))
{
echo "<div class=\"error_box\">Kesalahan : <br/>";
while (list($key,$value) = each($errors))
{
echo '<ul>'.$value.'</ul>';
}
echo "</div>";
}else {
//check if it sales id exist
if ($salesId && (int)$salesId>0)
{
//update if current customer has
been changed
$sql = "UPDATE
tbl_sales
SET
sales_customer_id ='$customerId', sales_tax = $tax,
sales_note = '$note', sales_type_transaction = '$typeTrans'
WHERE
sales_id ='$salesId' ";
$result = mysql_query($sql) or
die("Error : ".mysql_error());
//check if member then give
discount
272
if ($customerId>0)
{
$discount = $appConfig['appMemberDiscount'];
}
//check if product item already
exist, update quantity
$sql = "SELECT
sales_item_product_id
FROM
tbl_sales_item
WHERE
sales_item_product_id ='$productId' AND sales_id = '$salesId' ";
$result = mysql_query($sql) or
die("Error : ".mysql_error());
if (mysql_num_rows($result)>0){
$sqlUpdate =
"UPDATE
tbl_sales_item
SET
sales_item_quantity =
sales_item_quantity + $quantity,
sales_item_discount = $discount
WHERE
sales_item_product_id
='$productId' AND sales_id = '$salesId' ";
$resultUpdate =
mysql_query($sqlUpdate) or die("Error : ".mysql_error());
}else{
//insert item sales product
if not exisits
$sql = "INSERT INTO
tbl_sales_item (
sales_item_product_id,
sales_id,
sales_item_quantity,
273
sales_item_unit_price,
sales_item_unit_id,
sales_item_discount,
sales_item_add_date,
sales_item_validation_code,
sales_item_user_id)
VALUE(
'$productId',
'$salesId',
$quantity,
$unitPrice,
'$unitProduct',
$discount,
NOW(),
'$code',
'$currentUserId')";
$result = mysql_query($sql) or die("Error : ".mysql_error());
$lastItemId = mysql_insert_id();
}
}else{
//insert into sales table
$sql = "INSERT INTO
274
tbl_sales
(
sales_customer_id,
sales_user_id,
sales_location_id,
sales_tax,
sales_date_add,
sales_status,
sales_type_transaction)
VALUES('$customerId', '$currentUserId', '$currentLocationId', $tax, NOW(), 'New',
'$typeTrans')";
$result = mysql_query($sql) or die("Error :
".mysql_error());
$salesId = mysql_insert_id();
//insert item sales
$sql = "INSERT INTO
tbl_sales_item (
sales_item_product_id,
sales_id,
sales_item_quantity,
sales_item_unit_id,
sales_item_unit_price,
sales_item_discount,
sales_item_add_date,
sales_item_validation_code,
sales_item_user_id)
VALUE(
'$productId',
'$salesId',
$quantity,
275
'$unitProduct',
$unitPrice,
$discount,
NOW(),
'$code',
'$currentUserId')";
$result = mysql_query($sql) or die("Error on Insert a Item:
".mysql_error());
$salesItemId = mysql_insert_id();
}
//display all items in the table
$sql = "SELECT s.sales_item_id,
s.sales_id,
s.sales_item_user_id,
s.sales_item_product_id,
s.sales_item_unit_id,
s.sales_item_quantity,
s.sales_item_discount,
s.sales_item_unit_price,
s.sales_item_validation_code,
p.product_name,
u.unit_name
FROM
tbl_sales_item
AS s
LEFT JOIN tbl_product AS p ON
p.product_id = s.sales_item_product_id
LEFT JOIN tbl_unit AS u ON u.unit_id =
s.sales_item_unit_id
WHERE
s.sales_id = '$salesId'
ORDER BY sales_item_id DESC ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
$rowsItems = '';
$amount = 0;
$subTotalAmount = 0;
$totalTax = 0;
$totalAmount = $subTotalAmount + $totalTax;
if (mysql_num_rows($result) >0)
276
{
while ($rows = mysql_fetch_assoc($result))
{
extract($rows);
$code
= $sales_item_validation_code;
$salesItemId =
$sales_item_id;
$salesId
= $sales_id;
$status
= "Saved";
$amount
= $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$subTotalAmount =
$subTotalAmount + $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$rowsItems = $rowsItems.'<tr id=\"tr'.$code.'\"><td
>'.$product_name.'<input name=\"txtProductId\" type=\"hidden\" id=\"txtProductId'.$code.'\"
size=\"12\" readonly=\"readonly\" /></td> <td id=\"td-unit'.$code.'\">'.$unit_name.'<input
name=\"txtUnitId\" type=\"hidden\" id=\"txtUnitId'.$code.'\" value=\"'.$sales_item_unit_id.'\"
/></td><td class=\"number\" id=\"td-quantity'.$code.'\">'.$sales_item_quantity.'</td><td
class=\"number\" id=\"td-unit-
price'.$code.'\">'.number_format($sales_item_unit_price,2).'</td><td class=\"number\" id=\"td-
discount'.$code.'\">'.number_format($sales_item_discount,2).'</td><td class=\"number\" id=\"td-
jumlah'.$code.'\">'.number_format($amount,2).'</td><td id=\"td-
save'.$code.'\">'.$status.'</td><td><input type=\"button\" name=\"btnDeleteItem\"
id=\"btnDeleteItem'.$code.'\" value=\"Hapus\"
onClick=\"deleteItemSales(\''.$code.'\');\"/></td></tr>';
//for display
}
}else{
$rowsItems ='';
}
if ($subTotalAmount>0)
{
$totalTax =
($subTotalAmount*(float)$tax/100);
}
$totalAmount = $subTotalAmount +
$totalTax;
$subTotalAmount =
number_format($subTotalAmount,2);
$totalTax
= number_format($totalTax,2);
$totalAmount =
number_format($totalAmount,2);
echo "<script language=\"javascript\" type=\"text/javascript\">
277
$(\"#txtSalesId\").attr(\"value\",\"$salesId\");
$(\"#txtProductName\").focus();
$(\"#t-body\").html(\"$rowsItems\");
$(\"#td-footer-sub-
total\").html(\"<b>$subTotalAmount</b>\");
$(\"#td-footer-tax\").html(\"<b>$totalTax</b>\");
$(\"#td-footer-
total\").html(\"<b>$totalAmount</b>\");
</script>
<div class=\"valid_box\">Satu item telah simpan</div>";
}
}
function findCustomer()
{
$appConfig = getAppConfig();
$discount =
$appConfig['appMemberDiscount'];
$customerId = $_POST['customerId'];
$salesId = $_POST['salesId'];
$typeTrans = $_POST['typeTrans'];
$tax = (float)getTax();
$paymentType = $_POST['paymentType'];
$currentUserId = (isset($_SESSION['backend_user_id']) &&
$_SESSION['backend_user_id'] != '') ? $_SESSION['backend_user_id'] : '';
$userLocationId = userLocationId($currentUserId);
$currentLocationId = userLocationId($currentUserId);
$sql ="SELECT
customer_id,
customer_full_name,
customer_address1,
customer_account_number,
DATE_FORMAT(customer_register_date,'%d-%m-%Y %T') AS
customer_register_date,
DATE_FORMAT(customer_last_shopping,'%d-%m-%Y %T') AS
customer_last_shopping,
UNIX_TIMESTAMP(customer_last_shopping) AS customer_last_shopping_ago,
customer_point
FROM
tbl_customers
WHERE
customer_id = '$customerId' " ;
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result)>0)
{
while ($row = mysql_fetch_assoc($result)) {
278
extract($row);
if ($customer_last_shopping=="00-00-0000 00:00:00")
{
$date_shopping_ago = "Tidak diketahui";
}else{
$date_shopping_ago = "Kira-kira
".relativeTime($customer_last_shopping_ago).'<br /> '.$customer_last_shopping;
}
?>
<br />
<label>Id. Account : </label><?php echo $customer_id;?><br />
<label>No.Account : </label><?php echo $customer_account_number;?><br />
<label>Nama : </label><?php echo $customer_full_name;?><br />
<label>Alamat : </label><?php echo $customer_address1;?><br />
<label>Tgl.Register : </label><?php echo $customer_register_date;?><br />
<label>Terakhir Belanja : </label><?php echo $date_shopping_ago; ?><br />
<label>Jumlah Poin : </label><?php echo $customer_point;?><br />
<?php
if ((int)$salesId>0)
{
$sqlUpdateCustSales = "UPDATE tbl_sales SET
sales_customer_id = '$customerId' WHERE sales_id = '$salesId' ";
$resultUpdateCustSales= mysql_query($sqlUpdateCustSales )
or die("Error : ".mysql_error());
}else{
//insert into sales table
$sql = "INSERT INTO
tbl_sales
(
sales_customer_id,
sales_user_id,
sales_location_id,
sales_tax,
sales_date_add,
sales_status,
sales_type_transaction)
VALUES('$customerId', '$currentUserId', '$currentLocationId', $tax, NOW(), 'New',
'$typeTrans')";
$result = mysql_query($sql) or die("Error :
".mysql_error());
$salesId = mysql_insert_id();
}
//reupdate item data for discount
279
//display all items in the table
//get tax from master table
$sqlTax = "SELECT sales_tax FROM tbl_sales WHERE sales_id = '$salesId' ";
$resultTax = mysql_query($sqlTax) or die("Error : ".mysql_error());
if (mysql_num_rows($resultTax)>0)
{
while ($row=mysql_fetch_assoc($resultTax))
{
extract($row);
$tax = $sales_tax;
}
}else{
$tax=0;
}
$sqlDiscount = "UPDATE
tbl_sales_item
SET sales_item_discount = $discount
WHERE
sales_id = '$salesId' ";
$resultDiscount = mysql_query($sqlDiscount) or die("Error : ".mysql_error());
$sql = "SELECT s.sales_item_id,
s.sales_id,
s.sales_item_user_id,
s.sales_item_product_id,
s.sales_item_unit_id,
s.sales_item_quantity,
s.sales_item_discount,
s.sales_item_unit_price,
s.sales_item_validation_code,
p.product_name,
u.unit_name
FROM
tbl_sales_item
AS s
LEFT JOIN tbl_product AS p ON
p.product_id = s.sales_item_product_id
LEFT JOIN tbl_unit AS u ON u.unit_id =
s.sales_item_unit_id
WHERE
s.sales_id = '$salesId'
ORDER BY sales_item_id DESC ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
280
$rowsItems = '';
$amount = 0;
$subTotalAmount = 0;
$totalTax = 0;
$totalAmount = $subTotalAmount + $totalTax;
if (mysql_num_rows($result) >0)
{
while ($rows = mysql_fetch_assoc($result))
{
extract($rows);
$salesItemId =
$sales_item_id;
$code
= $sales_item_validation_code;
$salesId
= $sales_id;
$status
= "Saved";
$amount
= $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$subTotalAmount =
$subTotalAmount + $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$rowsItems = $rowsItems.'<tr id=\"tr'.$code.'\"><td
>'.$product_name.'<input name=\"txtProductId\" type=\"hidden\" id=\"txtProductId'.$code.'\"
size=\"12\" readonly=\"readonly\" /></td> <td id=\"td-unit'.$code.'\">'.$unit_name.'<input
name=\"txtUnitId\" type=\"hidden\" id=\"txtUnitId'.$code.'\" value=\"'.$sales_item_unit_id.'\"
/></td><td class=\"number\" id=\"td-quantity'.$code.'\">'.$sales_item_quantity.'</td><td
class=\"number\" id=\"td-unit-
price'.$code.'\">'.number_format($sales_item_unit_price,2).'</td><td class=\"number\" id=\"td-
discount'.$code.'\">'.number_format($sales_item_discount,2).'</td><td class=\"number\" id=\"td-
jumlah'.$code.'\">'.number_format($amount,2).'</td><td id=\"td-
save'.$code.'\">'.$status.'</td><td><input type=\"button\" name=\"btnDeleteItem\"
id=\"btnDeleteItem'.$code.'\" value=\"Hapus\"
onClick=\"deleteItemSales(\''.$code.'\');\"/></td></tr>';
//for display
}
}else{
$rowsItems ='';
}
if ($subTotalAmount>0)
{
$totalTax =
($subTotalAmount*(float)$tax/100);
}
$totalAmount = $subTotalAmount +
$totalTax;
281
$subTotalAmount =
number_format($subTotalAmount,2);
$totalTax
= number_format($totalTax,2);
$totalAmount =
number_format($totalAmount,2);
echo "<script language=\"javascript\" type=\"text/javascript\">
$(\"#txtSalesId\").attr(\"value\",\"$salesId\");
$(\"#t-body\").html(\"$rowsItems\");
$(\"#td-footer-sub-
total\").html(\"<b>$subTotalAmount</b>\");
$(\"#td-footer-tax\").html(\"<b>$totalTax</b>\");
$(\"#td-footer-
total\").html(\"<b>$totalAmount</b>\");
</script>";
///
}
}else{
?>
<br />
<label>Id. Account : </label><br />
<label>No.Account : </label><br />
<label>Nama : </label><br />
<label>Alamat : </label><br />
<label>Tgl.Register : </label><br />
<label>Terakhir Belanja : </label><br />
<label>Jumlah Poin : </label><br />
<?php
}
}
function deleteItemSales()
{
$code = $_POST['code'];
$salesId = $_POST['salesId'];
$currentUserId = (isset($_SESSION['backend_user_id']) &&
$_SESSION['backend_user_id'] != '') ? $_SESSION['backend_user_id'] : '';
$userLocationId = userLocationId($currentUserId);
$quantity =0;
$unitPrice = 0;
$discount = 0;
$tax = (float)getTax();
$sql = "DELETE FROM
tbl_sales_item
WHERE
282
sales_item_validation_code = '$code' ";
$result = mysql_query($sql) or die("Error :".mysql_error());
//display all items in the table
$sql = "SELECT s.sales_item_id,
s.sales_id,
s.sales_item_user_id,
s.sales_item_product_id,
s.sales_item_unit_id,
s.sales_item_quantity,
s.sales_item_discount,
s.sales_item_unit_price,
s.sales_item_validation_code,
p.product_name,
u.unit_name
FROM
tbl_sales_item
AS s
LEFT JOIN tbl_product AS p ON
p.product_id = s.sales_item_product_id
LEFT JOIN tbl_unit AS u ON u.unit_id =
s.sales_item_unit_id
WHERE
s.sales_id = '$salesId'
ORDER BY sales_item_id DESC ";
$result = mysql_query($sql) or die("Error : ".mysql_error());
$rowsItems = '';
$amount = 0;
$subTotalAmount = 0;
$totalTax = 0;
$totalAmount = $subTotalAmount + $totalTax;
if (mysql_num_rows($result) >0)
{
while ($rows = mysql_fetch_assoc($result))
{
extract($rows);
$salesItemId =
$sales_item_id;
$code
= $sales_item_validation_code;
$salesId
= $sales_id;
$status
= "Saved";
283
$amount
= $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$subTotalAmount =
$subTotalAmount + $sales_item_unit_price * $sales_item_quantity - $sales_item_unit_price *
$sales_item_quantity * $sales_item_discount/100;
$rowsItems = $rowsItems.'<tr id=\"tr'.$code.'\"><td
>'.$product_name.'<input name=\"txtProductId\" type=\"hidden\" id=\"txtProductId'.$code.'\"
size=\"12\" readonly=\"readonly\" /></td> <td id=\"td-unit'.$code.'\">'.$unit_name.'<input
name=\"txtUnitId\" type=\"hidden\" id=\"txtUnitId'.$code.'\" value=\"'.$sales_item_unit_id.'\"
/></td><td class=\"number\" id=\"td-quantity'.$code.'\">'.$sales_item_quantity.'</td><td
class=\"number\" id=\"td-unit-
price'.$code.'\">'.number_format($sales_item_unit_price,2).'</td><td class=\"number\" id=\"td-
discount'.$code.'\">'.number_format($sales_item_discount,2).'</td><td class=\"number\" id=\"td-
jumlah'.$code.'\">'.number_format($amount,2).'</td><td id=\"td-
save'.$code.'\">'.$status.'</td><td><input type=\"button\" name=\"btnDeleteItem\"
id=\"btnDeleteItem'.$code.'\" value=\"Hapus\"
onClick=\"deleteItemSales(\''.$code.'\');\"/></td></tr>';
//for display
}
}else{
$rowsItems ='';
}
if ($subTotalAmount>0)
{
$totalTax =
($subTotalAmount*(float)$tax/100);
}
$totalAmount = $subTotalAmount +
$totalTax;
$subTotalAmount =
number_format($subTotalAmount,2);
$totalTax
= number_format($totalTax,2);
$totalAmount =
number_format($totalAmount,2);
echo "<script language=\"javascript\" type=\"text/javascript\">
$(\"#txtSalesId\").attr(\"value\",\"$salesId\");
$(\"#tr$code\").hide('slow').remove();
$(\"#t-body\").html(\"$rowsItems\");
$(\"#td-footer-sub-
total\").html(\"<b>$subTotalAmount</b>\");
$(\"#td-footer-tax\").html(\"<b>$totalTax</b>\");
$(\"#td-footer-
total\").html(\"<b>$totalAmount</b>\");
</script>
<div class=\"valid_box\">Satu item telah dihapus</div>";
284
}
function findProductForSales()
{
$productId = $_POST['productId'];
$errors='';
//check product Id
if ($productId== '')
{
$errors[] = 'Produk tidak tidak boleh kosong';
}
if (is_array($errors))
{
echo "<div class=\"error_box\">Kesalahan : <br/>";
while (list($key,$value) = each($errors))
{
echo '<ul>'.$value.'</ul>';
}
echo "</div>";
}else {
$sql = "SELECT
product_id, product_name, product_cat_id, product_unit_id, product_cost_price,
product_unit_price, c.cat_name, u.unit_name
FROM
tbl_product AS p
LEFT JOIN tbl_category AS c ON c.cat_id
= p.product_cat_id
LEFT JOIN tbl_unit AS u ON u.unit_id =
p.product_unit_id
WHERE
p.product_id = '$productId'
ORDER BY product_id LIMIT 1";
$result = mysql_query($sql) or die("Error : ".mysql_error());
if (mysql_num_rows($result)>0)
{
while ($row=mysql_fetch_assoc($result))
{
extract($row);
$product_id =
$product_id;
$product_name =
substr($product_name,0,40);
$cat_name = $cat_name;
285
$unitName =
displayUnit($product_unit_id);
// Create a random string, leaving out 'o' to avoid
confusion with '0'
$char =
strtoupper(substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), 0, 4));
// Concatenate the random string onto the random
numbers
// The font 'Anorexia' doesn't have a character for '8',
so the numbers will only go up to 7
// '0' is left out to avoid confusion with 'O'
$str = time().rand(0, 9) . $char . rand(0, 9) ;
$code = md5($str);
$product_unit_price =
number_format($product_unit_price,2);
$row ='<tr id=\"tr'.$code.'\"><td >'.$product_name.'<input
name=\"txtProductId\" type=\"hidden\" id=\"txtProductId'.$code.'\" size=\"12\"
readonly=\"readonly\" /></td> <td id=\"td-unit'.$code.'\">'.$unitName.'<input name=\"txtUnitId\"
type=\"hidden\" id=\"txtUnitId'.$code.'\" value=\"'.$product_unit_id.'\" /></td><td
class=\"number\" id=\"td-quantity'.$code.'\"><input name=\"txtQuantity'.$code.'\" type=\"text\"
class=\"number\" id=\"txtQuantity'.$code.'\" value=\"0\" size=\"4\"
onkeyup=\"checkNumber(this);\" /></td><td class=\"number\" id=\"td-unit-
price'.$code.'\">'.$product_unit_price.'<input name=\"txtUnitPrice\" type=\"hidden\"
class=\"number\" id=\"txtUnitPrice'.$code.'\" value=\"'.$product_unit_price.'\" size=\"10\"
onkeyup=\"checkNumber(this);\" onblur=\"FormatNumber(this);\"
onfocus=\"remove_commas(this);\"/></td><td class=\"number\" id=\"td-
discount'.$code.'\"><input name=\"txtDiscount\" type=\"text\" class=\"number\"
id=\"txtDiscount'.$code.'\" value=\"0.00\" size=\"6\" maxlength=\"6\"
onkeyup=\"checkNumber(this);\" onblur=\"FormatNumber(this);\"
onfocus=\"remove_commas(this);\"/></td><td class=\"number\" id=\"td-
jumlah'.$code.'\">###,###,###.##</td><td id=\"td-save'.$code.'\"><input name=\"btnSave\"
type=\"button\" id=\"btnSave'.$code.'\" value=\"Simpan\"
onClick=\"saveItemSales(\''.$product_id.'\',\''.$code.'\');\"/></td><td><input type=\"button\"
name=\"btnDeleteItem\" id=\"btnDeleteItem'.$code.'\" value=\"Hapus\"
onClick=\"deleteItemSales(\''.$code.'\');\"/></td></tr>';
echo "<script language=\"javascript\" type=\"text/javascript\">
$(\"#t-body\").prepend(\"$row\");
$(\"#txtQuantity$code\").focus();
$(\"#txtProductName\").attr(\"value\",\"\");
</script>
<script language=\"javascript\">
$(\"input[type='text']\").focus(function() {
if (this.value == this.defaultValue){
this.value = '';
}
if(this.value != this.defaultValue){
this.select();
}
});
$(\"input[type='text']\").blur(function() {
286
if ($.trim(this.value) == ''){
this.value =
(this.defaultValue ? this.defaultValue : '');
}
});
</script>
<div class=\"valid_box\">Produk ditemukan</div>";
}
}else{
echo "<div class=\"valid_box\">Produk
tidak ditemukan</div>";
}
}
}
//*** end function for sales
?>
287
Source code list report
<?php
if (!defined('WEB_ROOT')) {
echo "error";
exit;
}
?>
<style>
li {
list-style:none;
line-height:15px;
padding:2px 2px 2px 2px;
}
li a:hover{ color:#FFF; background-color:#06C;}
li a {padding:2px 2px 2px 2px;}
</style>
<h2><?php echo $pageTitle;?></h2>
<div class="form" align="left">
<div id="message"></div>
<div id="loading-save"></div>
<div id="report-area-input" style="position:absolute; float:left; margin:10px 10px 10px
10px;"></div>
<fieldset class="tab-details">
<div style="margin:5px 5px 5px 5px; padding:2px 2px 2px 2px; font-size:12px;">
<ul>
<?php
if ($currentDept==6 || $currentLevel==1) //sales
user or admin
{
?>
<div><b>• Sales</b></div>
<?php
}
if ($currentDept==6) //sales user or admin
{
?>
<li><a
href="?ref=sales&view=list&type=Sale">Laporan Transaksi Harian</a></li>
<?php
}
?>
<?php
if ($currentLevel==1)
{
?>
<li><a href="?ref=reports&view=sales-report">Laporan Seluruh Penjualan</a></li>
<li><a href="?ref=reports&view=sales-report-by-month">Laporan Harian Bulanan
Penjualan</a> </li>
<li><a href="?ref=reports&view=sales-report-by-monthly">Laporan Bulanan
Penjualan</a></li>
<li><a href="?ref=reports&view=sales-report-by-quarter">Laporan Kuartal
Penjualan</a></li>
288
<li><a href="?ref=reports&view=sales-report-by-customer">Laporan Penjualan
Berdasarkan Pelanggan</a></li>
<li><a href="?ref=reports&view=product-favorit-by-customer">Laporan
Penjualan Produk Terfavorit Pilihan Pelanggan</a></li> <li><a
href="?ref=reports&view=product-favorit-by-category">Laporan Penjualan Produk Berdasarkan
Kategori</a></li>
<?php
}
?>
<div><b>• Produk</b></div>
<li><a href="?ref=product&view=list">Daftar
Seluruh Produk</a></li>
<li><a href="?ref=product&view=list-by-category">Daftar Seluruh Produk
Berdasarkan Kategori</a></li>
<div><b>• Pelanggan</b></div>
<li><a href="?ref=reports&view=customer-register">Daftar Pelanggan Berdasarkan
Tanggal Register</a></li>
<li><a href="?ref=reports&view=customer-
birthday">Daftar Ulang Tahun Pelanggan</a></li>
<?php
if ($currentLevel==1 || $currentDept==5) //warehouse user or
admin
{
?>
<div><b>• Warehouse</b></div>
<li><a href="?ref=reports&view=all-stock-warehouse">Laporan Seluruh Stock
Gudang</a></li>
<li><a href="?ref=reports&view=all-stock-minim-warehouse">Laporan Seluruh
Stock Minim pada Gudang</a></li>
<li><b> - Stock Masuk</b></li>
<li><a href="?ref=reports&view=input-date-supplier">Laporan Stock Masuk
dari Supplier</a></li>
<li><a href="?ref=reports&view=stock-in-warehouse">Laporan Stock Masuk dari
Gudang lain</a></li>
<li><a href="?ref=reports&view=input-return-stock-store">Laporan Return
Produk dari Store</a></li> <li><a
href="?ref=reports&view=input-return-stock-grosir">Laporan Return Produk dari Grosir</a></li>
<li><b> - Stock Keluar</b></li>
<li><a href="?ref=reports&view=stock-out-warehouse">Laporan Stock Keluar ke
Gudang Lain</a></li>
<li><a href="?ref=reports&view=stock-out-store">Laporan Stock Keluar ke
Store</a></li>
<li><a href="?ref=reports&view=stock-out-grosir">Laporan Stock Keluar ke
Grosir</a></li>
<li><a href="?ref=reports&view=all-minim-stock-product">Laporan Seluruh Stock
Minim pada Store</a></li>
<?php
}
?>
<?php
if ($currentLevel==1 || $currentDept==7) //warehouse user or
admin
289
{
?>
<div><b>• Grosir</b></div>
<li><a href="?ref=reports&view=all-stock-grosir">Laporan Seluruh Stock
Grosir</a></li>
<li><a href="?ref=reports&view=all-minim-stock-product-grosir">Laporan Seluruh
Stock Minim pada Grosir</a></li>
<li><a href="javascript:void(0)" onclick="showInputDateGrosir();return false;">Laporan
Stock Masuk dari Gudang</a></li> <li><a
href="javascript:void(0)" onclick="showInputDateSalesGrosir();return false;">Laporan Penjualan
Grosir</a></li>
<?php
}
?>
<?php
if ($currentDept==2 || $currentLevel==1) //warehouse user or
admin
{
?>
<div><b>• Store</b></div>
<li><a href="?ref=reports&view=all-store-product-in-out">Laporan Produk
Masuk/Return Seluruh Store</a></li>
<li><a href="?ref=reports&view=all-stock-product">Laporan Seluruh Stock pada
Store</a></li>
<li><a href="?ref=reports&view=all-minim-stock-product">Laporan Seluruh Stock
Minim pada Store</a></li>
<?php
}
?>
</ul>
</div>
</fieldset>
</div>
290
Lampiran 19. 20 lembar hasil Kuesioner oleh responden
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
Lampiran 20 8 lembar hasil pengujian dengan teknik FGD oleh responden
311
312
313
314
315
316
317
318
Lampiran 21. Cd video tuorial dan aplikasi jadi
Cd Of Content :
1. Aplikasi PHP Point of Sale Perfume House Banda Aceh
2. Lampiran diagram ,gambar dan form Kuesioner
3. Tutorial penggunakan Aplikasi (format video)
4. Thesis.doc Thesis.pdf dan Presentasi Thesis.pptx
319
Lampiran 22. Riwayat Hidup Singkat
Data Pribadi
Nama : Amiga Utomo, S.Pd
Alamat : Perumahan Cikarang Permai Blok F3 No.22
RT.001 RW.011 Sukadami – Cikarang Selatan
Nomor Hand Phone : 0852 - 6214 - 0815
Tempat dan Tanggal Lahir : Takengon, 4 April 1988
Jenis Kelamin : Pria
Status Perkawinan : Belum Menikah
email : [email protected]
Pendidikan Formal
2006 – 2010 Universitas Syiah kuala Jurusan Pendidikan Kimia
2003 – 2006 SMUN 3 Aceh Tengah Jurusan Ilmu Pengetahuan Alam
2000 – 2003 SMPN 1 Aceh Tengah
1994 – 2000 SDN wihnareh Aceh Tengah
Pengalaman Bekerja
2009-2011
Perfume House Banda Aceh, Sebagai Operator Komputer & Staf IT
Melaksanakan tugas membantu Bendahara Perfume House antara lain Pembuatan Laporan
Keuangan, Membuat Surat Pertanggung jawaban kegiatan-kegiatan yang dilaksanakan Perfume House,
Membangun Aplikasi Web point of sale, membackup data seluruh administrasi harian dan bulanan dan
computer repairing baik software maupun hardware.
2010-2011
CAT (Central Asia Technologies), Sebagai Team Programer
Melaksanakan tugas dalam test bug/fixing bug pada Software yg di kerjakan dalam proyek IT,
membuat Tutorial penggunaan Aplikasi Software yang telah selesai di kerjakan dalam proyek IT.
Pengalaman Organisasi
Ketua Biro Kemasyarakatan 2009’ Badan Eksekutif Mahasiswa FKIP Universitas Syiah Kuala
Ketua Pelaksana ‘Seminar Pendidikan Nasional 2010’ BEM FKIP Universitas Syiah Kuala
Kemampuan dan Keahlian
Dapat mengoperasikan : Microsoft Office & Exel ,adobe PhotoShop, Corel Draw, adobe ilustrator, adobe
Dream Weaver serta memiliki kemampuan sebagai Teknisi Komputer & Mengelola Database Server.