KERJA PRAKTEK
Diajukan Sebagai Salah Satu Syarat Kelulusan Mata Kuliah Kerja Praktek
Program Studi Teknik Informatika Fakultas Teknik Universitas Suryakancana
NPM : 5520116016
Telah disetujui untuk disidangkan pada Sidang Kerja Praktek pada Program Sarjana
Strata-1 (S1), Program Studi Teknik Informatika Fakultas Teknik Universitas
Suryakancana.
Cianjur,01Agustus 2019
i
LEMBAR PENGESAHAN
LAPORAN KERJA PRAKTEK
NPM : 5520116016
Telah disidangkan dan dinyatakan Lulus Sidang Kerja Praktek pada Program
Sarjana Strata-1 (S1), Program Studi Teknik Informatika Fakultas Teknik
Universitas Suryakancana pada tanggal (tgl-bulan-2018).
Mengetahui :
Ketua Program Studi
Teknik Informatika
i
i
LEMBAR PERNYATAAN KEASLIAN LAPORAN
KERJA PRAKTEK
NPM : 5520116016
Dengan ini saya menyatakan bahwa dalam laporan penelitian ini tidak terdapat
karya yang pernah diajukan untuk memperoleh kelulusan Kerja Praktek ataupun
gelar kesarjanaan di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya juga
tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang
lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar
pustaka.
HERDIANSYAH SETIAWAN
NPM.5520116016
iii
APLIKASI POINT OF SALES (POS) BERBASIS DESKTOP DI
CAFE LEKRA KOPI
HERDIANSYAH SETIAWAN
5520116016
Teknik Informatika
ABSTRAK
Kedai Lekra Kopi merupakan sebuah Coffee Shop yang menjual berbagai
macam kopi dengan berbagai metode penyajian mulai dari Drip, Espresso, French
press dan metode Cold Brew, serta makanan ringan dan berat. Tentunya dalam
pelaksanaan kegiatan pada Kedai Lekra kopi ini adalah penjualan, pemberian nota
pembayaran,kelola menu , pengecekan stok menu dan pembuatan laporan.Saat ini,
hal yang dilakukan ketika berjalan masih menggunakan sistem manual dengan cara
menuliskannya dalam buku maupun nota.
Pembuatan Aplikasi Point Of Sales (POS) Berbasis Desktop Di Cafe Lekra
Kopi yang digunakan adalah menggunakan paradigma model Waterfall dengan
UML (unified modeling language) dengan alat yang digunakan untuk merancang
yaitu usecase diagram, activity diagram, class diagram dan sequence diagram.
Sedangkan alat pembangunan aplikasi database menggunakan MySQL dengan
bahasa pemograman PHP.
Aplikasi yang dirancang mempunyai kelebihan dalam mempermudah admin
dan kasir untuk melakukan transaksi penjualan,bisa melihat stok menu yang sudah
berkurang, dan aplikasi ini dapat mempermudah dalam hal melakukan penjumlahan
Total harga, pembuatan nota pembayaran maupun dalam pembuatan laporan
penjualan baik laporan perhari ataupun perbulan secara otomatis.
i
v
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Illahi Rabbi, yang telah melimpahkan
rahmat dan karunia-Nya penulis dapat menyelesaikan laporan Kerja Praktek yang
berjudul APLIKASI PENJULAN KERUDUNG BERBASIS WEBSITE DI
TOKO ULMIYAH HIJAB.
Laporan ini merupakan salah satu persyaratan kelulusan pada mata kuliah
Kerja Praktek di Program Studi Teknik Informatika Fakultas Teknik Universitas
Suryakancana Cianjur.
Penelitian dan penyusunan laporan Kerja Praktek ini adalah suatu proses
yang tidak lepas dari bantuan, bimbingan, serta dukungan berbagai pihak. Untuk itu
penulis mengucapkan rasa terima kasih dan penghargaan yang sebesar-besarnya
kepada :
1. Yang tercinta kedua orang tua penulis yang telah memberikan doa dan dorongan
kepada penulis baik secara moril maupun materil dalam menyelesaikan Studi
ini.
2. Keluarga besar yang selalu memberi dukungan dan semangat kepada penulis.
3. Tarmin Abdulghani, S.T., M.T. selaku Ketua Program Studi Teknik Informatika.
4. Bapak Fuad Nasher, S.T., M.Kom. selaku Pembimbing Kerja Praktek sekaligus
sebagai Wali Dosen senantiasa meluangkan waktu untuk memberikan petunjuk,
arahan dalam menyusun laporan Kerja Praktek ini.
5. Bapak M Riyadi Maskur selaku Pemilik sekaligus Pembimbing Lapangan Kerja
Praktek ini.
6. Seluruh staf dan dosen Program Studi Teknik Informatika Universitas
Suryakancana yang telah memberikan materi perkuliahan kepada penyusun.
7. Teman – teman seperjuangan IF D 2016 dan seluruh mahasiswa/i informatika
angkatan 2016.
Penulis menyadari bahwa laporan ini masih jauh dari sempurna, oleh
karena itu penulis mengharapkan masukan berupa saran dari semua pihak untuk
perbaikan dan pengembangan penelitian ini. Akhir kata penulisan berharap agar
laporan kerja praktek ini dapat memberikan manfaat bagi perkembangan teknologi
informasi saat ini.
v
Cianjur, 01 Agustus 2019
Penulis
DAFTAR ISI
v
i
LEMBAR PERSETUJUAN..................................................................................... i
LEMBAR PENGESAHAN ................................................................................... iii
LEMBAR PERNYATAAN KEASLIAN ............................................................ iiiii
ABSTRAK ........................................................................................................... ivv
KATA PENGANTAR ............................................................................................ v
DAFTAR ISI ......................................................................................................... vii
DAFTAR TABEL .................................................................................................. xi
DAFTAR GAMBAR ............................................................................................ xii
DAFTAR SIMBOL .............................................................................................. xiii
DAFTAR LAMPIRAN ......................................................................................... xx
BAB I PENDAHULUAN ................................................................................... 1
1.1. Latar Belakang ................................................................................ 1
1.1. Identifikasi Masalah ........................................................................ 2
1.2. Maksud dan Tujuan ......................................................................... 3
1.3. Batasan Masalah ............................................................................. 3
1.4. Metode Penelitian ........................................................................... 4
1.4.1 Pengumpulan data ...................................................................... 4
1.4.2 Rekayasa Perangkat Lunak ........................................................ 4
1.5. Tempat dan Waktu .......................................................................... 6
1.6. Sistematika Penulisan ..................................................................... 6
BAB II TINJAUAN PUSTAKA ........................................................................ 8
2.1. Sejarah Singkat Cafe Lekra Kopi................................................... 8
2.1.1 Visi dan Misi Cafe Lekra Kopi ................................................... 8
2.1.2 Struktur Organisasi Cafe Lekra Kopi ......................................... 9
2.1.3 Job Deskripsi .............................................................................. 9
2.2 Landasan Teori ............................................................................... 11
2.2.1 Definisi Kopi.......................................................................... 101
2.2.2 Definisi Kafe ............................................................................ 10
2.2.3 Definisi Penjualan .................................................................... 11
2.2.4 Definisi Pembelian ................................................................... 12
2.2.5 Definisi Data ............................................................................ 12
vii
2.2.6 Definisi Informasi .................................................................... 12
2.2.7 Definisi Database .................................................................... 13
2.2.8 Definisi DBMS ........................................................................ 13
2.2.9 Definisi Aplikasi ...................................................................... 14
2.2.10 Definisi Point of Sales (POS) ................................................. 14
2.2.11 Definisi Desktop ..................................................................... 15
2.2.12 Definisi ERD (Entity Relationship Diagram) ......................... 15
2.2.13 Unified modelling language (UML) ....................................... 16
2.3 Tools Pendukung ............................................................................... 29
2.3.1 Visual Paradigm ....................................................................... 29
2.3.2 XAMPP .................................................................................... 29
2.3.3 Sublime Text ............................................................................ 30
2.3.4 Codelgniter............................................................................... 30
2.3.5 Bootstrap .................................................................................. 31
2.3.6 PHP .......................................................................................... 32
2.3.7 Balsamiq Mockups .................................................................. 33
2.3.8 MySQL .................................................................................... 33
2.4 Metode Pengujian ............................................................................. 34
2.4.1 White Box Testing ................................................................... 34
2.4.2 Black Box Testing ................................................................... 34
BAB III ANALISIS DAN PERANCANGAN SISTEM ................................... 37
3.1 Analisis Sistem ................................................................................ 37
3.1.1 Analisis Sistem Yang Berjalan ................................................. 38
3.2 Analisis Kebutuhan Non Fungsional .............................................. 39
3.2.1 Analisis Perangkat Keras ......................................................... 39
3.2.2 Analisis Perangkat Lunak ......................................................... 40
3.2.3 Analisis Kebutuhan Fungsional ................................................ 40
3.2.3.1 Kebutuhan pengelolaan kategori .............................................. 40
3.3 Perancangan Sistem .......................................................................... 40
3.3.1 Use Case ........................................................................................... 41
3.3.2 Use Case Diagram .................................................................... 42
3.3.3 Use Case Scenario .................................................................... 43
v
iii
3.3.4 Activity Diagram ...................................................................... 47
3.3.5 Class Diagram ........................................................................... 56
3.3.6 Sequence Diagram .................................................................... 57
3.4 Perancangan Menu ............................................................................ 62
3.5 Perancangan Antarmuka ................................................................... 63
3.5.1 Antarmuka login ...................................................................... 63
3.5.2 Antarmuka Halaman Admin ..................................................... 64
3.5.3 Antarmuka Halaman Kasir ....................................................... 65
3.5.4 Antarmuka Kelola Penjualan .................................................... 65
3.5.5 Antarmuka Kelola Menu .......................................................... 66
3.5.6 Antarmuka Kelola kategori ....................................................... 66
3.5.7 Antarmuka Kelola Pengguna .................................................... 66
3.5.8 Antarmuka Kelola Grafik Penjualan......................................... 67
3.5.9 Antarmuka Kelola Laporan ...................................................... 67
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ............................. 68
4.1 Implementasi .................................................................................. 68
4.1.1 Kebutuhan Perangkat Keras..................................................... 68
4.1.2 Kebutuhan Perangkat Lunak .................................................... 68
4.2 Tampilan Antarmuka ..................................................................... 69
4.2.1 Tampilan Halaman Login ......................................................... 69
4.2.2 Tampilan Halaman Utama Admin ............................................ 70
4.2.3 Tampilan Halaman Utama Kasir .............................................. 70
4.2.3 Tampilan Kelola Penjualan ...................................................... 71
4.2.4 Tampilan Kelola Kategori ........................................................ 71
4.2.5 Tampilan Kelola Menu ............................................................. 72
4.2.6 Tampilan Kelola Pengguna ....................................................... 72
4.2.7 Tampilan Kelola Laporan ......................................................... 73
4.2.8 Tampilan Kelola Grafik Penjualan ........................................... 73
4.3 Pengujian ........................................................................................ 74
BAB V PENUTUP .............................................................................................. 78
5.1 Kesimpulan ...................................................................................... 78
5.2 Saran ................................................................................................ 78
ix
DAFTAR PUSTAKA .......................................................................................... 79
DAFTAR RIWAYAT HIDUP ........................................................................... 80
LAMPIRAN-LAMPIRAN.................................................................................. 81
x
DAFTAR TABEL
xi
DAFTAR GAMBAR
x
ii
Gambar 3.29 Antarmuka Perancangan Kelola Laporan ...................................... 67
Gambar 4.1 Form Login ........................................................................................ 69
Gambar 4.2 Halaman Utama Admin .................................................................... 70
Gambar 4.3 Halaman Utama Kasir ....................................................................... 70
Gambar 4.4 Halaman Kelola Penjualan ................................................................ 71
Gambar 4.4 Halaman Kelola Kategori .................................................................. 71
Gambar 4.5 Halaman Kelola Menu ...................................................................... 72
Gambar 4.7 Halaman Kelola Pengguna ................................................................ 72
Gambar 4.8 Halaman Kelola Laporan .................................................................. 73
Gambar 4.9 Halaman Kelola Grafik Penjualan..................................................... 73
xii
i
DAFTAR SIMBOL
A. Simbol Use Case
No Nama Simbol Gambar Keterangan
x
iv
1 Start State Menggambarkan awal dari suatu
aktivitas yang berjalan pada
sistem
4 Activity Menggambarkan
pembagian/pengelompokan
berdasarkan tugas dan
fungsi tersendiri.
xv
7 Decision Menggambarkan kondisi dari
sebuah aktivitas yang bernilai
benar/salah.
x
vi
1 Class • Nama menggambarkan
Diagram nama dari class/objek.
• Atribut menggambarkan
batasan dari nilai yang
dapat dimiliki oleh
property tersebut.
• Method menggambarkan
implementasi dari layanan
yang dapat diminta dari
beberapa object dari class
, yang
mempengaruhi
behaviour.
2 Association Menggambarkan
mekanisme komunikasi
suatu objek dengan objek
lainnya. Atau dapat juga
menggambarkan
ketergantungan antar kelas.
xv
ii
5 Multiplicity Menggambarkan
banyaknya object yang
terhubung satu
1 Tepat satu
x
viii
3 Control Menggambarkan “perilaku
mengatur”, mengkoordinasikan
perilaku sistem dan dinamika dari
suatu sistem, menangani tugas
utama dan mengontrol alur kerja
suatu sistem.
xi
x
7 Object Menggambarkan abstraksi dari
sebuah entitas nyata/tidak nyata
yang informasinya harus
disimpan.
x
x
DAFTAR LAMPIRAN
xx
i
BAB I
PENDAHULUAN
1
menyimpan data menjadi virtual yang di simpan melalui suatu aplikasi
desktop dengan harapan dapat mempermudah dalam proses transaksi penjualan,
pengelolaan menu makanan dan minuman, pengelolaan kategori, pengelolaan
pengguna, pembuatan laporan, grafik penjualan dan stok menu dan pencarian menu
makanan dan minuman. Dengan adanya sistem yang terkomputerisasi ini bertujuan
untuk meningkatkan fasilitas pelayanan kepada pelanggan dengan optimal dan
efisien.
1. Communication (Komunikasi)
Communication merupakan sebuah tahapan awal dari metode waterfall
sebagai penghubung antar penulis dengan pemilik cafe. Pada tahap ini penus
melakukan komunikasi dengan pemilik Cafe Lekra Kopi untuk mencari
masalh-masalah yang dihadapi dan juga untukmendapatkan informasi seputar
Cafe Lekra Kopi. Masalah dan informasi yang didapat dijadikan sebagai
acuan dalam pembuatan aplikasi.
2. Planning (Perencanaan)
Proses Planning ini merupakan proses lanjutan dari proses Communication
(Analysis requirement). Pada tahap ini penulis mulai menentukan target
waktu untuk menyelasaikan seluruh pekerjaannya, dengan cara
memeperkirakan beban pekerjaan, menjadwalkan pengerjaanya juga
mengamati pekerjaan yang telah dilakukan.
3. Modelling (Pemodelan)
Tahapan modeling ini menggunakan metode Unified Modelling language
(UML) yaitu pendeskripsian dan desain sistem perangkat lunak, khususnya
sistem yang dibangun menggunakan pemrograman PHP diaman dalam
tahapan model ini yaitu menggunakan Usecase Diagram, Activity Diagram,
Class Diagram, State Diagram dan Sequence Diagram.
4. Constructiont (Pembuatan)
Pada tahapan ini penulis mulai mengimplementasikan model yang telah
dibuat kedalam sebuah aplikasi nyata dengan menggunakna bahsa
pemrograman sampai menghasilkan sebuah aplikasi yang dapat digunakan.
5. Deployment
Pada tahap deployment penulis melakukan uji coba produk yang telah dibuat
diimplementasikan pada instansi tempat melakukan kerja praktek.
1. Rumusan
Masalah
2. Pengumpulan
Data
3. Analisis
4. Desain
5. Implementasi
6. Pengujian
7. Penyusunan
Laporan
8. Seminar
BAB I PENDAHULUAN
Bab ini penulis menjelaskan tentang latar belakang, rumusan masalah, tujuan dan
manfaat, batasan masalah, tempat dan waktu, metode pelaksanaan dan sistematika
penulisan.
BAB V SIMPULAN
Bab ini menjelaskan tentang kesimpulan dan saran yang bermanfaat.
BAB II
TINJAUAN PUSTAKA
8
4. Aktif dalam melakukan promosi terhadap masyarakat.
Pemilik
C. Pelayan
Job deskripsi dari Pelayan adalah sebagai berikut :
1. Menyambut kedatangan pelanggan serta mengantarkan makanan dan
minuman yang dioesan pelanggan
2. Bertanggung jawab atas semua pelayanan yang diberikan kepada
pelanggan Cafe Lekra Kopi.
b. Kafe adalah tempat untuk makan dan minum sajian cepat saji dan
menyuguhkan suasanan santai atau tidak resmi, selain itu juga merupakan suatu
tipe dari restoran yang biasanya menyediakan tempat duduk didalam dan diluar
restoran. Kebanyakan kafe tidak menyajikan makanan berat namun lebih
berfokus pada menu makanan ringan seperti kue, roti, sup, dan minuman. Kafe
pertama kali muncul di daerah barat (Marsum, 2005).
Dari pengertian diatas penulis menyimpulkan Kafe adalah tempat usaha di bidang
makanan dan minuman sajian cepat saji dengan harga yang terjangkau, biasanya
kafe beroperasi 24 jam.
penambahan data yang baru ke dalam suatu basis data, menghapus data pada seuatu
basis data dan mengubah data pada suatu basis data. Itulah definisi dar DML.
ERD untuk memodelkan struktur data dan hubungan antar data, untuk
menggambarkannya digunakan beberapa notasi dan simbol.
Menurut Verdi Yasin (2012) UML adalah sebuah "bahasa" yg telah menjadi
standar dalam industri untuk visualisasi, merancang dan mendokumentasikan
sistem piranti lunak. Dengan menggunakan UML kita dapat membuat model untuk
semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada
piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa
pemrograman apapun.
Menurut Verdi Yasin (2012) di dalam UML terdapat beberapa Diagram yaitu:
b. Class Diagram
Class Diagram adalah sebuah spesifikasi yang jika diinstansiasi akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan
desain berorientasi objek.
d. Activity Diagram
Activity Diagram menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing – masin (Yasin, 2012)g alir berawal,
decision yang mungkin terjadi, dan bagaimana mereka berakhir.
21
4 Activity Menggambarkan
pembagian/pengelompokan
berdasarkan tugas dan fungsi
tersendiri.
e. Sequence Diagram
Sequence Diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu.
f. Collaboration Diagram
Collaboration Diagram juga menggambarkan interaksi antar objek
sepertisequence diagram, tetapi lebih menekankan pada peran masing – masing
objek danbukan pada waktu penyampaian message. Simbol dan deskripsi
terdapat pada tabel 2.7.
g. Component Diagram
Component Diagram menggambarkan struktur dan hubungan antar
komponen piranti lunak, termasuk ketergantungan (dependency) diantaranya.
Simbol dan deskripsi terdapat pada tabel 2.8.
27
h. Deployment Diagram
Deployment Diagram menggambarkan detil bagaimana komponen di-deploy
dalam infrastruktur sistem, dimana komponen akan terletak (pada mesin,
serveratau piranti keras apa), bagaimana kemampuan jaringan pada lokasi
tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.
Tabel 2.9 Simbol Deployment Diagram
No Nama Simbol Gambar Keterangan
1.3.2 XAMPP
XAMPP adalah perangkat lunak yang menghubungkan tiga aplikasi kedalam satu
paket yaitu Apache, MySQL, dan PHPMyAdmin. XAMPP ini merupakan sebuah
perangkat lunak yang mudah digunakan dan mendukung instalasi di Linux dan
Windows. Keuntungan menggunakan XAMPP juga adalah hanya menginstal satu
kali sudah tersedia Apache Web Server, MySQL DatabaseServer, PHP Support dan
beberapa modul lainnya.
1.3.4 Codelgniter
Codelgniter (CI) adalah framework pengembangan aplikasi (Application
Development Framework) dengan menggunakan PHP, Pengembangan dapat
langsung menghasilkan program dengan cepat, dengan mengikuti kerangka kerja
membuat yang telah disiapkan oleh framework CI. Dengan menggunkan
framework kita tidak perlu membuat program dari awal, tetapi sudah diberikan
library fungsi-fungsi yang sudah diorganisasi untuk dapat membuat suatu program
dengan cepat. Kita hanya perlu memasukkan data yang akan diproses dan
bagaimana menampilkannya Codelgniter memiliki struktur direktori utama. Ada 3
direktori sertaan dari codelgniter yaitu:
1. Application
Direktori application adalah direktori tempat pemrogram membuat aplikasi
dengan menggunakan codelgniter, termasuk didalamnya pemrogram bisa
menambahkan library class dan fungsi tambahan, apabila library class dan
fungsi yang disediakan oleh codelgniter tidak memadai untuk kebutuhan
program yang dibuat
2. System
Direktori system adalah direktori inti dari semua library class dan fungsi yang
dimiliki oleh codelgniter untuk dapat digunakan untuk mengembangkan
aplikasi.
3. User guide
Direktori user guide adalah sekumpulan inti dari user guide dalam
penggunaan dan implementasi aplikasi dengan menggunakan codelgniter.
Direktori ini ada untuk membantu bagaimana cara menggunakan library class
dan fungsi yang di miliki oleh codelgniter tersebut.
1.3.5 Bootstrap
Bootstrap merupakan sebuah toolkit yang dikembangkan oleh Twitter untuk
mempermudah web developer dalam mendesain tampilan aplikasi. Platform ini
awalnya dikembangkan pada ajang Hackweek, sebuah perhelatan developer yang
28 diakan Twitter. Standarisasi platform tersebut sudah disempurnakan sejak saat
itu. Kini, disebutkan Twitter memiliki kerangka kerja yang konsisten untuk
32
1.3.6 PHP
PHP (hypertext preprocessor) adalah sebuah bahasa pemrograman di sisi
server. Ketika url diakses, web browser akan melakukan request kesebuah web
server. Awalnya Rasmus Lerdrof mengembangkan sebuah perkakas yang
digunakan sebagai engine parsing sebagai penerjemah atau interpreter beberapa
macro. Pada saat itu engine digunakan untuk pembuatan buku tamu, counter dan
beberapa homepage. Ia menamai engine parse tersebut dengan nama PHP/FI.
PHP dikenal sebagai Bahasa scripting yang menyatu dengan tag-tag HTML,
dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis
seperti halnya Active Server Pages (ASP) atau Java Server Pages (JSP). PHP versi
ketiga dirilis pertengahan 1997, pada versi ini pembuatannya tidak lagi leh Rasmus
sendiri, tetapi juga melibatkan beberapa programmer lain yang antusias untuk
mengembangkan PHP. Versi keempat PHP 4.0 dirilis bulan Oktober 2000, dan saat
ini telah pada versi terbaru yaitu PHP versi 5.0.
Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
a. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan
sebuah kompilasi dalam penggunaanya.
b. Web Server yang mendukung PHP dapat ditemukan dimana – mana dari mulai
apache, IIS, Lightpd, hingga Xitami dengan konfigurasi yang relatif mudah.
c. Dalam sisi pengembangan lebih mudah, karena banyaknya developer yang siap
membantu dalam pengembangan.
d. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah
karena memiliki referensi yang banyak.
33
e. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(Linux, Unix, Macintos, Windows) dan dapat dijalankan seara runtime melalui
console seta juga dapat menjalankan perintah-perintah sistem. Format
penulisan php terdapat pada gambar 2.3.6.
1.3.8 MySQL
MySQL adalah sebuah software atau perangkat lunak sistem manajemen berbasis
data SQL atau juga multi user dan DBMD Multithread. Pada dasarnya, MySQL ini
sebenarnya adalah turunan yang berasal dari salah satu konsep utama dalam
database yang memang telah ada sebelumnya yaitu SQL atau Structured Query
Language. Konsep ini digunakan untuk seleksi atau pemilihan dan pemasukan data
dimana hal ini memungkinkan pengerjaan operasi data yang otomatis lebih mudah.
MySQL sendiri diciptakan pada tahun 1979 oleh seorang programmer computer
yang berasal dari Swedia bernama Michael “Monty” Widenius.
Toko Kerudung ulmiyah merupakan salah satu took Kerudung yang menjual
berbagai jenis Kerudung. Semua kegiatan yang ada di took ulmiyah pastinya akan
ada proses transaksi dan pembuatan laporan dan pengelolaan stok. Akan tetapi
waktu yang dibutuhkan untuk proses transaksi dan pembuatan laporan
membutuhkan waktu yang cukup lama bisa menghabiskan waktu bermenit-menit
untuk satu proses transaksi dan untuk pembuatan laporan bisa menghabisakan
sampe berjam-jam karena proses yang ada di toko tersebut belum terintegrasi
dengan sistem penjualan.Tentu saja ini akan berdampak terhadap ketidak nyamanan
pengunjung yang sudah datang ke toko dan membuat proses penentuan strategi
penjualan menjadi sedikit kurang akurat karena informasi yang di hasilkan dari
laporan yang dibuat manual belum tentu seluruhnya sempurana.
37
38
2 Memory 1024 MB
39
3 VGA 128 MB
4 Harddisk 80 GB
Berikut adalah fungsi atau modul yang dibutuhkan oleh sistem yang nantinya
akan digunakan oleh user (pengguna) :
Keterangan :
Terdapat enam (6) function dan satu (1) aktor dalam use case diagram diatas,
dimana setiap function yang ada dalam use case diagram tersebut mempunyai
fungsi yang berbeda-beda pada sistem nantinya. Function login berguna untuk
melakukan login sehingga bisa masuk kehalaman aplikasi. Function kelola stok
Kerudung digunakan oleh admin untuk mendata stok Kerudung yang dijual.
Function kelola kategori digunakan oleh admin untuk pendataan perkategori
Kerudung. Function transaksi digunakan oleh admin untuk bertaransaksi dengan
pelanggan yang akan membayar Kerudung yang sudah dipilih atau dipesan.
Function laporan digunakan oleh admin untuk membuat laporan penjualan .
function logout digunak untuk admin keluar dari aplikasi.
3.3.3 Use Case Scenario
Use case Scenario mendeskripsikan urutan langkah-langkah dalam proses
yang dilakukan actor terhadap system maupun yang dilakukan oleh system terhadap
aktor.
Keterangan -
44
Pasca Kondisi Sistem akan secara otomatis menampilkan list kategori dan
admin bisa melakukan penambahan kategori baru
Keterangan -
Keterangan -
Keterangan:
Login merupakan sebuah proses yang harus dilalui oleh admin dan kasir untuk
masuk kehalaman aplikasi. Ketika admin dan kasir mengetikan URL di peramban
maka secara otomatis akan di arahkan ke halaman login dan menampilkan form
login, dimana form tersebut berisi username dan password yang harus di isi oleh
admin dan kasir. Apabila username dan passwrod yang dimasukan user benar maka
sistem akan secara otomatis menampilkan halaman sesuai dengan hak akses user
masing-masing, tetapi apabila username dan password yang dimasukan user salah
maka sistem akan menampilkan form login kembali.
47
Function ini merupakan function yang digunakan untuk kelola stock Kerudung.
Keterangan:
Untuk melakukan Kelola Stok Barang admin sudah login kedalam sistem dan
menampilkan halaman utama. Selanjutnya Admin memilih menu Kelola Stok
Barang lalu sistem menampilkan Sub Menu Kelola Stok Barang Keseluruhan dan
Sub Menu Kelola Stok Barang Habis dan Minim.
c. Activity Diagram Kelola Transaksi
Function ini merupakan function yang digunakan untuk melakukan proses
transaksi atau pembayaran.
48
Keterangan:
Untuk melakukan Kelola Data Transaksi admin sudah login kedalam sistem
dan menampilkan halaman utama. Selanjutnya Admin memilih menu Kelola Data
Transaksi lalu sistem menampilkan Sub Menu Kelola Data Transaksi. Kemudian
Admin memilih salah satu diantara Sub Menu Kelola Data Transaksi dan sistem
menampilkan halaman Kelola Data Transaksi yang dipilih admin. Pada halaman Sub
Menu Kelola Data Transaksi yaitu Penjualan ini admin dapat melakukan 4 aksi yaitu
tambah data transaksi, ubah data transaksi, hapus data transaksi, dan cari data
transaksi. Pada 1 halaman Sub Menu Kelola Data Transaksi yaitu Transaksi
Penjualan admin bisa melakukan cetak nota penjualan.
49
Keterangan:
Kelola kategori merupakan sebuah proses untuk melakukan penambahan
kategori dalam jenis Kerudung . Admin dapat melakukan penambahan dengan
mengisi form tambah data kategori . Setelah mengisi form kategori otomatis di form
tambah Kerudung akan bertambah kategori.
Keterangan :
Admin atau kasir dapat mencetak laporan penjualan pertanggal, perbulan, dan
pertahun.
Keterangan :
Untuk melakukan logout dari sistem admin memilih menu logout lalu sistem
akan menampilkan pesan konfirmasi, jika admin menekan tombol ya maka berhasil
keluar dan menampilkan halaman login kembali tetapi jika menekan tombol tidak
maka sistem akan menampilkan kembali halaman utama.
3.3.5 Class Diagram
Class Diagram adalah pandangan aplikasi yang statis. Class Diagram tidak
hanya menggambarkan visualisasi, menggambarkan dan mendokumentasikan
aspek yang berbeda dalam sistem, tetapi juga untuk kontruksi eksekusi kode dalam
software aplikasi. Class Diagram digunakan untuk mengelompokkan hal-hal inti
dari setiap proses yang ingin dilakukan. Semua proses dimasukkan ke dalam
tiaptiap Class dan saling dihubungkan pada Class-Class lainnya yang saling
berhubungan. Gambar 3.12 merupakan class diagram dari Aplikasi Penjualan
Kerudung berbasis Website di Toko Ulmiyah Hijab :
53
bar 18 Gambar 3.16 Sequence Diagram Log Out Aplikasi Penjualan Kerudung
berbasis Website di Toko Ulmiyah Hijab
2 Memory 1024 MB
3 VGA 128 MB
4 Harddisk 80 GB
68
Keterangan :
Keterangan :
Dalam tampilan antarmuka Halaman Utama Admin menampilkan halaman
utama sesuai dengan level pengguna. Jika login sebagai Admin, maka akan
menampilkan menu Kelola Menu, Kelola Kategori, Transaksi, Kelola Pengguna,
Kelola Grafik Penjualan dan Kelola Laporan.
63
Keterangan :
Dalam tampilan halaman kelola penjualan digunakan untuk mengelola transaksi
pembayaran
Keterangan :
Dalam tampilan halaman kelola kategori digunakan untuk mengatur kategori tiap
menu
65
Keterangan :
Dalam tampilan halaman kelola menu digunakan untuk menambah menu atau
resep yang baru
66
Keterangan :
Keterangan :
Dalam tampilan halaman kelola laporan digunakan untuk menmapilkan
halaman laporan-laporan penjualan dan stok menu
Keterangan :
Dalam tampilan halaman kelola grafik penjualan digunakan untuk melihat grafik
penjulan tiap per tanggal, bulan ,dan tahun
4.3 Pengujian
Pengujian merupakan bagian yang penting dalam siklus pengembangan
perangkat lunak. Pengujian dilakukan untuk menjamin kualitas dan juga
mengetahui kelemahan dari perangkat lunak. Tujuan dari pengujian ini adalah
untuk menjamin bahwa perangkat lunak yang dibangun memiliki kualitas yang
handal. Pengujian perangkat lunak ini menggunakan metode pengujian blackbox.
Metode uji coba blackbox memfokuskan pada keperluan fungsional dari
software. Karena itu ujicoba blackbox memungkinkan pengembang software untuk
membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat
fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari uji
coba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan
kesalahan lainnya. (Ayuliana, 2009).
10. Halaman Kelola Menu Pada halaman ini admin dapat Sesuai
menambahkan menu makanan dan
minuman yang baru, mengubah
dan menghapusnya.
5.1 Simpulan
Telah berhasil sebuah Aplikasi Point Of Sales (POS) Di Lekra Kopi dengan
menggunakan bahasa PHP dengan pendukung aplikasi Sublime text 3, Penulis
dapat menyimpulkan beberapa hal kesimpulan sebagai berikut :
1. Aplikasi ini dapat membantu bagian admin dan kasir untuk mempermudah
mengelola data penjualan dan melakukan transaksi
2. Aplikasi ini dapat membantu kasir dan admin untuk mempermudah pembuatan
laporan data penjualan, stok data menu , dan mem-preview grafik penjualan.
3. Aplikasi ini dapat membantu bagian admin untuk mempermudah pengelolaan
menu dan stok menu menjadi lebih terorganisir dan teratur
4. Aplikasi ini dapat membantu admin untuk mempermudah memonitoring grafik
penjualan dan stok menu menjadi lebih tepat dan akurat.
5.2 Saran
Berdasarkan hasil analisis yang dilakukan maka penulis mengajukan
beberapa saran kepada pihak yang akan mengembangkan sebagai pengembang
selanjutnya antara lain:
1. Aplikasi POS (Point Of Sales) Lekra Kopi ini dikembangkan apabila terdapat
kebutuhan fungsional yang dibutuhkan yaitu kelola suplier.
2. Akan lebih baik jika aplikasi POS (Point Of Sales) Lekra Kopi ini
dikembangkan dengan cakupan yang lebih luas diantaranya jaringan yang
saling terhubung apabila lekra kopi ini membuka cabang.
DAFTAR PUSTAKA
80
R. S. (2010). Software Engineering A Practitioner's Approach Seven Edition. New
York: The McGraw-Hill Companies, inc.
Sianipar, R.H. 2015. Membangun Web dengan PHP dan MySQL. Bandung :
Informatika.
Martin Fowler. 2005. UML Distilled Edisi 3. Yogyakarta: Andi.
Pressman, Roger S. 2010. Rekayasa Perangkat Lunak : Pendekatan Praktisi Edisi 7.
Yogyakarta: Andi Yogyakarta
Rosa, P. H. Prima, St Wisnu Wijaya dan Lilis Setiawati. 2008. Makalah-Makalah
Sistem Informasi. Yogyakarta: Universitas Sanata Dharma Yogyakarta
Verdi Yasin. 2012. Rekayasa Perangkat Lunak berorientasi Objek. Jakarta: Mitra
Wacana Media.
http://openlibrary.telkomuniversity.ac.id/pustaka/files/107489/jurnal_eproc/peran
cangan-point-of-sales-pos-untuk-sistem-biometric-payment.pdf, 1 April 2016.
Rokhman, Abdulatif. 2012. Apa itu software POS.
http://abdulatifrokhman.com/2012/05/apa-itu-software-pos/ , diakses 18 Juli 2013.
Simarmata Janner. 2010. Rekayasa Perangkat Lunak. Yogyakarta: Andi.
Binanto, Iwan. 2010. Multimedia Digital Dasar Teori dan Pengembanganya.
Yoyakarta: Andi Publisher.
Budi, R. 2011. Membuat Database Menggunakan MySQL. Bandung: Informatika
Bandung.
Hidayatulloh Priyanto dan Jauhari Khairul. 2014. Pemrograman Web. Bandung:
Informatika.
Riyanto, Slamet. 2014. Kupas Tuntas Web Responsif. Jakarta: PT Elex Media
Komputindo.
DAFTAR RIWAYAT HIDUP
a. Data Personal
NPM : 5520116016
81
Nama : HERDIANSYAH SETIAWAN
HERDIANSYAH SETIAWAN
82
LAMPIRAN-LAMPIRAN
NPM : 5520116016
83
4. Produk yang dihasilkan
Rata-rata
Keterangan Nilai :
1. Sangat baik = 80 s/d 100
2. Baik = 70 s/d 79
3. Cukup = 55 s/d 69
4. Kurang = 40 s/d 54
5. Buruk = < 39 Cianjur, Juli 2019
Pembimbing Lapangan,
M Riyadi Maskur
1. Barang.php
84
if($this->session->userdata('akses')=='1'){
$kobar=$this->m_barang->get_kobar();
$nabar=$this->input->post('nabar');
$cc=$this->m_barang->crosscek($nabar);
$kat=$this->input->post('kategori');
$satuan=$this->input->post('satuan');
$harpok=str_replace(',', '', $this->input-
>post('harpok'));
$harjul=str_replace(',', '', $this->input-
>post('harjul'));
$stok=$this->input->post('stok');
$min_stok=$this->input->post('min_stok');
if (count($cc)==1) {
$this->m_barang-
>tambahStok($nabar,$stok);
redirect('admin/barang');
}else{
$this->m_barang-
>simpan_barang($kobar,$nabar,$kat,$satuan,$harpok,$harjul,$stok
,$min_stok);
redirect('admin/barang');
}
}else{
echo "Halaman tidak ditemukan";
}
}
function edit_barang(){ if($this->session-
>userdata('akses')=='1'){ $kobar=$this->input-
>post('kobar');
$nabar=$this->input->post('nabar');
$kat=$this->input->post('kategori');
$satuan=$this->input->post('satuan');
$harpok=str_replace(',', '', $this->input-
>post('harpok'));
$harjul=str_replace(',', '', $this->input-
>post('harjul'));
$stok=$this->input->post('stok');
$min_stok=$this->input->post('min_stok');
$this->m_barang-
>update_barang($kobar,$nabar,$kat,$satuan,$harpok,$harjul,$harj
ul_grosir,$stok,$min_stok);
redirect('admin/barang');
}else{
85
echo "Halaman tidak ditemukan";
}
}
function hapus_barang(){ if($this->session-
>userdata('akses')=='1'){
$kode=$this->input->post('kode');
$this->m_barang->hapus_barang($kode);
redirect('admin/barang');
}else{ echo "Halaman tidak
ditemukan";
}
}
}
1. Penjualan <?php
class Penjualan extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata('masuk') !=TRUE){
$url=base_url();
redirect($url);
};
$this->load->model('m_kategori');
$this->load->model('m_barang');
$this->load->model('m_suplier');
$this->load->model('m_penjualan');
}
function index(){
if($this->session->userdata('akses')=='1' || $this->session-
>userdata('akses')=='2'){
$data['data']=$this->m_barang->tampil_barang();
$this->load->view('admin/v_penjualan',$data);
}else{
echo "Halaman tidak ditemukan";
}
}
function get_barang(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$kobar=$this->input->post('kode_brg');
$x['brg']=$this->m_barang->get_barang($kobar);
$this->load-
>view('admin/v_detail_barang_jual',$x);
86
}else{
echo "Halaman tidak ditemukan";
}
}
function add_to_cart(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$kobar=$this->input->post('kode_brg');
$produk=$this->m_barang->get_barang($kobar);
$i=$produk->row_array();
$data = array(
'id' => $i['barang_id'],
'name' => $i['barang_nama'],
'satuan' => $i['barang_satuan'],
'harpok' => $i['barang_harpok'],
'price' => str_replace(",", "", $this->input-
>post('harjul'))-$this->input->post('diskon'),
'disc' => $this->input->post('diskon'),
'qty' => $this->input->post('qty'),
'amount' => str_replace(",", "", $this->input-
>post('harjul'))
);
if(!empty($this->cart->total_items())){
foreach ($this->cart->contents() as $items){
$id=$items['id'];
$qtylama=$items['qty'];
$rowid=$items['rowid'];
$kobar=$this->input->post('kode_brg');
$qty=$this->input->post('qty');
if($id==$kobar){
$up=array(
'rowid'=> $rowid,
'qty'=>$qtylama+$qty
);
$this->cart->update($up);
}else{
$this->cart->insert($data);
}
}
}else{
$this->cart->insert($data);
} redirect('admin/penjualan');
87
}else{ echo "Halaman tidak
ditemukan";
}
}
function remove(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$row_id=$this->uri->segment(4);
$this->cart->update(array(
'rowid' => $row_id,
'qty' => 0
));
redirect('admin/penjualan');
}else{
echo "Halaman tidak ditemukan";
}
}
function simpan_penjualan(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$total=$this->input->post('total');
$jml_uang=str_replace(",", "", $this->input-
>post('jml_uang'));
$kembalian=$jml_uang-$total;
if(!empty($total) && !empty($jml_uang)){
if($jml_uang < $total){
echo $this->session-
>set_flashdata('msg','<label class="label label-danger">Jumlah
Uang yang anda masukan Kurang</label>');
redirect('admin/penjualan');
}else{
$nofak=$this->m_penjualan-
>get_nofak();
$this->session-
>set_userdata('nofak',$nofak);
$order_proses=$this->m_penjualan-
>simpan_penjualan($nofak,$total,$jml_uang,$kembalian);
if($order_proses){ $this->cart-
>destroy();
$this->session-
>unset_userdata('tglfak');
88
$this->session-
>unset_userdata('suplier');
$this->load-
>view('admin/alert/alert_sukses');
}else{
redirect('admin/penjualan');
}
}
}else{
echo "Halaman tidak ditemukan";
}
}
function cetak_faktur(){
$x['data']=$this->m_penjualan->cetak_faktur();
$this->load->view('admin/laporan/v_faktur',$x);
//$this->session->unset_userdata('nofak');
}
2. Kategori
<?php
class Kategori extends CI_Controller{ function __construct(){
parent::__construct(); if($this->session-
>userdata('masuk') !=TRUE){ $url=base_url();
redirect($url);
};
$this->load->model('m_kategori');
}
function index(){
if($this->session->userdata('akses')=='1'){
$data['data']=$this->m_kategori->tampil_kategori();
89
$this->load->view('admin/v_kategori',$data);
}else{
echo "Halaman tidak ditemukan";
}
}
function tambah_kategori(){ if($this->session-
>userdata('akses')=='1'){
$kat=$this->input->post('kategori'); $this-
>m_kategori->simpan_kategori($kat);
redirect('admin/kategori');
}else{
echo "Halaman tidak ditemukan";
}
}
function edit_kategori(){ if($this->session-
>userdata('akses')=='1'){
$kode=$this->input->post('kode');
$kat=$this->input->post('kategori'); $this-
>m_kategori->update_kategori($kode,$kat);
redirect('admin/kategori');
}else{
echo "Halaman tidak ditemukan";
}
}
function hapus_kategori(){ if($this->session-
>userdata('akses')=='1'){
$kode=$this->input->post('kode'); $this-
>m_kategori->hapus_kategori($kode);
redirect('admin/kategori');
}else{
echo "Halaman tidak ditemukan";
}
}
}
3. Pengguna
90
$url=base_url();
redirect($url);
};
$this->load->model('m_pengguna');
}
function index(){
if($this->session->userdata('akses')=='1'){
$data['data']=$this->m_pengguna->get_pengguna();
$this->load->view('admin/v_pengguna',$data);
}else{
echo "Halaman tidak ditemukan";
}
}
}else{
echo "Halaman tidak ditemukan";
}
}
function edit_pengguna(){ if($this->session-
>userdata('akses')=='1'){
$kode=$this->input->post('kode');
$nama=$this->input->post('nama');
91
$username=$this->input->post('username');
$password=$this->input->post('password');
$password2=$this->input->post('password2');
$level=$this->input->post('level'); if
(empty($password) && empty($password2)) {
$this->m_pengguna-
>update_pengguna_nopass($kode,$nama,$username,$level);
echo $this->session-
>set_flashdata('msg','<label class="label label-success">Pengguna
Berhasil diupdate</label>');
redirect('admin/pengguna');
}elseif ($password2 <> $password) {
echo $this->session-
>set_flashdata('msg','<label class="label label-danger">Password yang
Anda Masukan Tidak Sama</label>');
redirect('admin/pengguna');
}else{
$this->m_pengguna-
>update_pengguna($kode,$nama,$username,$password,$level);
echo $this->session-
>set_flashdata('msg','<label class="label label-success">Pengguna
Berhasil diupdate</label>');
redirect('admin/pengguna');
}
}else{
echo "Halaman tidak ditemukan";
}
}
function nonaktifkan(){ if($this->session-
>userdata('akses')=='1'){
$kode=$this->input->post('kode'); $this-
>m_pengguna->update_status($kode);
redirect('admin/pengguna');
}else{
echo "Halaman tidak ditemukan";
}
}
}
4. Grafik
<?php
92
class Grafik extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata('masuk') !=TRUE){
$url=base_url();
redirect($url);
};
$this->load->model('m_kategori');
$this->load->model('m_barang');
$this->load->model('m_pembelian');
$this->load->model('m_penjualan');
$this->load->model('m_laporan');
$this->load->model('m_grafik');
}
function index(){
if($this->session->userdata('akses')=='1'){
$data['data']=$this->m_barang->tampil_barang();
$data['kat']=$this->m_kategori->tampil_kategori();
$data['jual_bln']=$this->m_laporan-
>get_bulan_jual();
$data['jual_thn']=$this->m_laporan-
>get_tahun_jual();
$this->load->view('admin/v_grafik',$data);
}else{
echo "Halaman tidak ditemukan";
}
}
function graf_stok_barang(){
$x['report']=$this->m_grafik->statistik_stok();
$this->load-
>view('admin/grafik/v_graf_stok_barang',$x);
}
function graf_penjualan_perbulan(){
$bulan=$this->input->post('bln');
$x['report']=$this->m_grafik-
>graf_penjualan_perbulan($bulan);
$x['bln']=$bulan;
$this->load-
>view('admin/grafik/v_graf_penjualan_perbulan',$x);
}
93
function graf_penjualan_pertahun(){
$tahun=$this->input->post('thn');
$x['report']=$this->m_grafik-
>graf_penjualan_pertahun($tahun);
$x['thn']=$tahun;
$this->load-
>view('admin/grafik/v_graf_penjualan_pertahun',$x);
}
5. Penjualan
<?php
class Penjualan extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata('masuk') !=TRUE){
$url=base_url();
redirect($url);
};
$this->load->model('m_kategori'); $this-
>load->model('m_barang');
$this->load->model('m_suplier');
$this->load->model('m_penjualan');
}
function index(){
if($this->session->userdata('akses')=='1' || $this->session-
>userdata('akses')=='2'){
$data['data']=$this->m_barang->tampil_barang();
$this->load->view('admin/v_penjualan',$data);
}else{
echo "Halaman tidak ditemukan";
}
}
function get_barang(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$kobar=$this->input->post('kode_brg');
$x['brg']=$this->m_barang->get_barang($kobar);
$this->load-
>view('admin/v_detail_barang_jual',$x);
}else{
94
echo "Halaman tidak ditemukan";
}
}
function add_to_cart(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$kobar=$this->input->post('kode_brg');
$produk=$this->m_barang->get_barang($kobar);
$i=$produk->row_array();
$data = array(
'id' => $i['barang_id'],
'name' => $i['barang_nama'],
'satuan' => $i['barang_satuan'],
'harpok' => $i['barang_harpok'],
'price' => str_replace(",",
"", $this->input>post('harjul'))-$this->input->post('diskon'),
'disc' => $this->input->post('diskon'),
'qty' => $this->input->post('qty'),
'amount' => str_replace(",", "", $this->input>post('harjul'))
);
if(!empty($this->cart->total_items())){
foreach ($this->cart->contents() as $items){
$id=$items['id'];
$qtylama=$items['qty'];
$rowid=$items['rowid'];
$kobar=$this->input->post('kode_brg');
$qty=$this->input->post('qty');
if($id==$kobar){
$up=array(
'rowid'=> $rowid,
'qty'=>$qtylama+$qty
);
$this->cart->update($up);
}else{
$this->cart->insert($data);
}
}
}else{
$this->cart->insert($data);
}
redirect('admin/penjualan');
}else{
95
echo "Halaman tidak ditemukan";
}
}
function remove(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$row_id=$this->uri->segment(4);
$this->cart->update(array(
'rowid' => $row_id,
'qty' => 0
));
redirect('admin/penjualan');
}else{
echo "Halaman tidak ditemukan";
}
}
function simpan_penjualan(){
if($this->session->userdata('akses')=='1' || $this-
>session>userdata('akses')=='2'){
$total=$this->input->post('total');
$jml_uang=str_replace(",", "", $this->input-
>post('jml_uang'));
$kembalian=$jml_uang-$total;
if(!empty($total) && !empty($jml_uang)){
if($jml_uang < $total){
echo $this->session-
>set_flashdata('msg','<label class="label label-danger">Jumlah
Uang yang anda masukan Kurang</label>');
redirect('admin/penjualan');
}else{
$nofak=$this->m_penjualan-
>get_nofak();
$this->session-
>set_userdata('nofak',$nofak);
$order_proses=$this->m_penjualan-
>simpan_penjualan($nofak,$total,$jml_uang,$kembalian);
if($order_proses){
$this->cart->destroy();
$this->session-
>unset_userdata('tglfak');
$this->session-
>unset_userdata('suplier');
96
$this->load-
>view('admin/alert/alert_sukses');
}else{
redirect('admin/penjualan');
}
}
}else{
echo "Halaman tidak ditemukan";
}
}
function cetak_faktur(){
$x['data']=$this->m_penjualan->cetak_faktur();
$this->load->view('admin/laporan/v_faktur',$x);
//$this->session->unset_userdata('nofak');
}
CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata('masuk') !=TRUE){
$url=base_url();
redirect($url);
};
$this->load->model('m_kategori');
$this->load->model('m_barang');
97
$this->load->model('m_pembelian');
$this->load->model('m_penjualan'); $this->load-
>model('m_laporan');
function index(){
if($this->session->userdata('akses')=='1'){
$data['data']=$this->m_barang->tampil_barang();
$data['kat']=$this->m_kategori->tampil_kategori();
$data['jual_bln']=$this->m_laporan-
>get_bulan_jual();
$data['jual_thn']=$this->m_laporan-
>get_tahun_jual();
$this->load->view('admin/v_laporan',$data);
}else{
function lap_stok_barang(){
$x['data']=$this->m_laporan->get_stok_barang();
$this->load-
>view('admin/laporan/v_lap_stok_barang',$x);
function lap_data_barang(){
$x['data']=$this->m_laporan->get_data_barang();
$this->load-
>view('admin/laporan/v_lap_barang',$x);
98
$x['jml']=$this->m_laporan->get_total_penjualan();
$this->load-
>view('admin/laporan/v_lap_penjualan',$x);
function lap_penjualan_pertanggal(){
$tanggal=$this->input->post('tgl');
$x['jml']=$this->m_laporan-
>get_data__total_jual_pertanggal($tanggal);
$x['data']=$this->m_laporan-
>get_data_jual_pertanggal($tanggal);
$this->load-
>view('admin/laporan/v_lap_jual_pertanggal',$x);
function lap_penjualan_perbulan(){
$bulan=$this->input->post('bln');
$x['jml']=$this->m_laporan-
>get_total_jual_perbulan($bulan);
$x['data']=$this->m_laporan-
>get_jual_perbulan($bulan);
$this->load-
>view('admin/laporan/v_lap_jual_perbulan',$x);
function lap_penjualan_pertahun(){
$tahun=$this->input->post('thn');
$x['jml']=$this->m_laporan-
>get_total_jual_pertahun($tahun);
$x['data']=$this->m_laporan-
>get_jual_pertahun($tahun);
$this->load-
>view('admin/laporan/v_lap_jual_pertahun',$x);
99
function lap_laba_rugi(){
$bulan=$this->input->post('bln');
$x['jml']=$this->m_laporan-
>get_total_lap_laba_rugi($bulan);
$x['data']=$this->m_laporan-
>get_lap_laba_rugi($bulan);
$this->load-
>view('admin/laporan/v_lap_laba_rugi',$x);
7. Administrator
100
$user_nama=$xcadmin['user_nama'];
$this->session->set_userdata('idadmin',$idadmin);
$this->session->set_userdata('nama',$user_nama);
if($xcadmin['user_level']=='2'){ $this->session-
>set_userdata('akses','2');
$idadmin=$xcadmin['user_id'];
$user_nama=$xcadmin['user_nama'];
$this->session->set_userdata('idadmin',$idadmin);
$this->session->set_userdata('nama',$user_nama);
} //Front Office
if($this->session->userdata('masuk')==true){
redirect('administrator/berhasillogin');
}else{
redirect('administrator/gagallogin');
}
}
function berhasillogin(){
redirect('welcome');
}
function gagallogin(){
$url=base_url('administrator');
echo $this->session->set_flashdata('msg','Username Atau
Password Salah');
redirect($url);
}
function logout(){
$this->session->sess_destroy();
$url=base_url('administrator');
redirect($url);
}
}
101
102