469
Aplikasi Penjualan dan Persediaan Barang
Menggunakan PHP dan MySQL: Studi Kasus
Koperasi Karyawan Universitas Mercu Buana
Sarwati Rahayu1, Kodarullah 2 , Sabar Rudiarto 3
Jurusan Sistem Informasi, Fakultas Ilmu Komputer, Universitas Mercu Buana1 Jurusan Teknik Informatika, Fakultas Ilmu Komputer , Universitas Mercu Buana2
JL. Raya Meruya Selatan, Kembangan, Jakarta, 11650
E-mail : sarwati@mercubuana.ac.id1, regaandaresta@ymail.com2
Abstrak -- Sebuah koperasi sudah tentu memiliki keinginan untuk membuat para pelanggan merasa aman dan nyaman dalam bertransaksi. Namun dibalik keinginan tersebut banyak terdapat hambatan dan masalah yang sering dihadapi oleh karyawan dalam bertransaksi dengan konsumen, seperti tidak tersedianya barang yang diinginkan oleh konsumen dan penghitungan jumlah pembelian barang yang masih memakan waktu. Aplikasi ini dibuat untuk mempermudah proses transaksi penjualan dan pengelolaan barang di dalam koperasi menggunakan PHP dan MySQL. Metode yang digunakan dalam perancangan ini menggunakan rekayasa perangkat lunak yaitu air terjun (waterfall). Model air terjun mengusulkan
sebuah pendekatan kepada perkembangan
perangkat lunak yang sistematik dan sekuensial yang dimulai dari tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Penelitian dilakukan dengan terlebih dahulu menganalisa sistem yang berjalan, dilanjutkan dengan analisa kebutuhan sistem dan perancangan sistem. Hasil pengujian yang dilakukan adalah dengan mengimplementasikan DBMS MySQL serta pengujian aplikasi yang dibuat menggunakan bahasa pemrograman PHP Kata kunci : Koperasi, Penjualan, Persediaan Barang, DBMS MySql, Php
I. PENDAHULUAN
Seiring dengan perkembangan teknologi sekarang ini, maka banyak para pengembang (programmer
software) dengan berbagai macam idenya untuk
berkarya sehingga dapat menghasilkan sesuatu yang dapat digunakan oleh banyak para pemakai komputer khususnya perusahaan penjualan secara retail (ecer), sudah tidak heran lagi begitu banyaknya para pengusaha jasa retail (ecer) menggunakan transaksi penjualannya menggunakan program aplikasi point of sales (POS) dan inventory. Namun tidak jarang pula ada yang masih manual dalam proses transaksinya, bahkan perusahaan yang sudah menggunakan aplikasi
point of sales dan inventory pun masih terbatas dalam pengolahan data yang sifatnya lokal saja.
Perkembangan software dan pengolahan
database yang terus maju diimbangi dengan
networking (jaringan) yang begitu luas jangkauannya
maka akan cukup menarik apabila aplikasi point of
sales (POS) dan inventory dikombinasikan dengan
tersedianya teknologi tersebut. Sehingga jangkauan aksesnya bisa lebih luas, mudah terhubung dengan aplikasi modul lainnya, dan basis data yang handal dapat mencapai penyimpanan data yang sangat besar.
Pada Koperasi Karyawan Universitas Mercu Buana adalah sebuah koperasi yang bergerak di bidang penjualan barang-barang konsumsi. Sebuah koperasi sudah tentu memiliki keinginan untuk membuat para pelanggan merasa aman dan nyaman dalam bertransaksi. Namun dibalik keinginan tersebut banyak terdapat hambatan-hambatan atau masalah-masalah yang sering dihadapi oleh karyawan dalam bertransaksi dengan konsumen, sehingga membuat konsumen tidak merasa aman, nyaman, efisien, cepat dan tepat dalam bertransaksi, seperti tidak tersedianya barang yang diinginkan oleh konsumen dan penghitungan jumlah pembelian barang yang masih memakan waktu.
Tujuan Penelitian
Tujuan Penelitian ini adalah menghasilkan suatu aplikasi point of sales (penjualan) dan inventory
(persediaan barang). Batasan Masalah
Adapun batasan masalah dalam penelitian ini adalah:
1. Desain prototype dari aplikasi sistem penjualan dan persediaan barang.
2. Dalam membangun aplikasi ini, peneliti menggunakan PHP sebagai skrip pemrograman dan MySQL sebagai basis data dalam penyimpanan data serta menggunakan piranti perangkat lunak Adobe Dreamwaver untuk perancangan aplikasi ini.
3. Pemodelan sistem diagram UML (Unified Modelling Language) yang digunakan adalah use
470 case diagram, Activity diagram dan Sequence Diagram
Metodologi
Metode yang digunakan dalam perancangan ini menggunakan rekayasa perangkat lunak yaitu air terjun (waterfall) yang disebut sebagai model
sekuensial linier atau siklus kehidupan klasik (classic life cycle). Model air terjun mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang dimulai dari tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan [6].
II. TINJAUAN PUSTAKA System Development Life Cycle (SDLC)
SDLC adalah fase pendekatan untuk analisa dan desain untuk suatu sistem yang dikembangkan melalui daur tertentu dari analisis dan aktifitas pengguna (user). Siklus kehidupan klasik (The classic life cycle) merupakan salah satu metode penerapan dari SDLC dan sering juga disebut sebagai “waterfall model”. Dengan menerapkan metode ini diharapkan bisa mendapatkan pendekatan dan pengembangan perangkat lunak yang sistematis dan sekuensial, Pressman (2002:36) membagi model waterfall ke dalam beberapa tahap, yaitu: tahap rekayasa sistem, tahap analisis, desain, pengkodean, pengujian, dan pemeliharaan [6].
Gambar1. Model Waterfall Unified Modelling Language (UML)
UML adalah keluarga notasi grafis yang didukung meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman beroreintasi objek.
Diagram Use Case
Diagram use case adalah menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang berada di luar sistem (aktor) diagram ini menunjukan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar [9].
Tabel 1. Notasi pemodelan diagram use case
Notasi Keterangan
Aktor
Merupakan sebuah peran yang dimainkan seorang pengguna dalam kaitannya dengan sistem.
Use Case
Adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah actor. Use Case digunakan untuk membentuk tingkah laku benda/things dalam sebuah model serta di realisasikan oleh sebuah collaboration.
Generalization
Adalah menggambarkan hubungan khusus dalam obyek anak/child yang menggambarkan obyek parent/induk. Dependency
Adalah hubungan semantic antara dua benda/things yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula.
Realization
Merupakan hubungan semantic antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara
interface dan kelas atau elements. Diagram Sequence
Diagram sequence biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian (event) untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan masig-masing objek, termasuk actor, memiliki lifeline vertical. Notasi-notasi yang digunakan dalam permodelan
sequence diagram. (Lihat table 3).
Tabel 2. Notasi permodelan diagram sequence
Notasi Keterangan
Aktor
Merupakan sebuah peran yang dimainkan seorang pengguna dalam kaitannya dengan sistem. Activation
Menggambarkan waktu yang dibutuhkan suatu obyek untuk menyelesaikan suatu aktifitas. Kelas boundary
Adalah yang memodelkan interaksi antara satu atau lebih aktor dengan sistem. Kelas control
Digunakan untuk memodelkan “perilaku mengatur”, khusus untuk satu atau beberapa use case saja.
Kelas entitas
Memodelkan infromasi yang harus disimpan oleh sistem. Lifeline
Digambarkan dengan garis putus-putus, yang
menggambarkan bahwa hadirnya obyek terhadap waktu.
471 Aliran pesan
Digambarkan dengan tanda panah, yang menggambarkan komunikasi antar obyek. Diagram Aktifitas
Diagram aktivitas adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus, diagram akivitas mempunyai peran seperti halnya diagram alur
(flowchart), akan tetapi perbedaaannya dengan
flowchart, adalah diagram aktivitas bisa mendukung perilaku parallel sedangkan flowchart tidak bisa.
Berikut pada table.4 adalah simbol-simbol yang sering digunakan pada saat pembuatan diagram aktivitas.
Tabel 3 Simbol-simbol pada activity diagram
No Simbol Keterangan
1 Titik awal
2 Titik akhir
3 Activity
4 Pilihan untuk pengambilan
keputusan
5
Fork; digunakan untuk menunkukkan kegiatan yang dilakukan secara parallel atau untuk menggabungkan dua kegiatan parallel menjadi satu
6 Rake; menunjukkan adanya dekomposisi
7 Tanda waktu
8 Tanda pengiriman
9 Tanda penerimaan
10 Aliran akhir (flow final)
Perancangan Basis Data
Menurut Date (1995:3) basis data dapat dianggap sebagai tempat untuk sekumpulan berkas data terkomputerisasi. Sistem basis data pada dasarnya adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara informasi dan membuat informasi tersebut saat dibutuhkan.
Proses perancangan basis data, terlepas dari masalah yang ditangani dibagi menjadi 3 tahapan, yaitu :
1. Perancangan basis data secara konseptual. 2. Perancangan basis data secara logis. 3. Perancangan basis data secara fisis.
Perancangan basis data secara konseptual merupakan upaya untuk membuat model yang bersifat konsep.
Perancangan basis data secara logis merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai, seperti model relasional, hirarki, atau jaringan . namun sebagaimana halnya perancangan basis data secara konseptual, Perancangan ini tidak tergantung pada DBMS (Database Management System) yang dipakai. Itulah sebabnya perancangan basis data secara logis terkadamg disebut pemetaan model data.
Perancangan basis data secara fisis merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpanan eksternal. Penjualan Barang dan Persediaan Barang(Point of Sales dan Inventory)
Penjualan adalah sebuah proses jual-beli suatu barang yang saling menguntungkan diantara kedua belah pihak [5]. Persediaan barang (inventory) adalah barang dagangan yang disimpan untuk dijual dalam operasi normal perusahaan. Jadi teori penjualan barang dan persediaan barang adalah jika keinginan pembelian barang mengalami peningkatan sedang ketersediaan barang merosot, maka harga akan naik. Di sisi lain jika ketersediaan barang bertambah sedang permintaan turun, maka harga akan turun [5].
III. METODOLOGI PERANCANGAN
SISTEM
Agar aplikasi ini mudah dipahami peneliti membuat pemodelan diagram Use Case untuk menunjukkan fungsionalitas suatu sistem, pemodelan
Diagram Sequence untuk Sequence menggambarkan
interaksi antar objek didalam dan sekitar sistem, pemodelan diagram aktifitas untuk mengurutkan aktifitas dalam suatu proses, Entity Relationship
Diagram (ERD) untuk mengetahui gambaran
terhadap rancangan database yang dibuat dan Data
Flow Diagram (DFD) untuk mengetahui arus data
yang disertai dengan kamus data. Diagram Use Case
Diagram use case pada aplikasi ini adalah diagram use case transaksi penjualan, update data pelanggan, update data barang, update laporan karyawan, update data karyawan dan mengisi konfigurasi. Untuk lebih jelasnya, diagram use case
472 Gambar 2. Diagram usecase sistem aplikasi penjualan
dan persediaan barang Diagram Sequence
Diagram sequence menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display dan sebagainya berupa message
yang digambarkan terhadap waktu. Sequence diagram daftar untuk anggota digambarkan pada gambar 3.
Gambar 3. Diagram Sequence sistem aplikasi penjualan dan persediaan barang Diagram Aktifitas
Diagram aktifitas merupakan state diagram khusus, di mana sebagian besar state adalah action
dan sebagian besar transisi oleh selesainya state
sebelumnya internal processing.
Gambar 4. Sistem aplikasi penjualan dan persediaan barang
Perancangan Basis Data Diagram ERD
Karena terdapat entitas yang saling tergantung degan entitas lain maka peneliti akan menggambarkan diagram hubungan antar entitas ( Entity Relationship
Diagram / ERD).
Gambar 5. ERD sistem aplikasi penjualan dan persediaan barang
IV. HASIL IMPLEMENTASI DAN
PENGUJIAN
Implementasi Data Base Manajemen System (DBMS) menggunakan My SQL
Berikut ini akan dijelaskan pengimplementasian
database dari aplikasi sistem penjualan dan
persediaan barang dalam bentuk SQL (Structure
Query Language) dan tampilan database-nya yang
berada di phpMyAdmin.
Berikut adalah bentuk SQL dari database penjualan dan persediaan barang:
1. SQL Pembuatan Tabel Barang CREATE TABLE `barang` ( `kd_brg` int(10) NOT NULL, `nm_brg` varchar(100) collate latin1_general_ci NOT NULL, `harga` int(8) NOT NULL, `stok` int(10) NOT NULL, `jenis` varchar(30) collate latin1_general_ci NOT NULL, `barcode` varchar(255) collate latin1_general_ci NOT NULL, PRIMARY KEY (`kd_brg`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
473 2. SQL Pembuatan Tabel Kasir
3. SQL Pembuatan Tabel Menjual
4. SQL Pembuatan Tabel Supplier
5. SQL Pembuatan Tabel Users
Di bawah ini merupakan tampilan database penjualan dan persediaan barang pada phpMyAdmin
Gambar 6. Tampilan Database Penjualan dan Persediaan Barang
Implementasi Aplikasi Penjualan dan Persediaan Barang
Pada tampilan login administrator ini akan terdapat form login yang harus diisi berupa user id
dan password ketika seorang administrator ingin
masuk ke menu halaman utama administrator ini.
Gambar 7. Tampilan Login Administrator Tampilan Halaman berikut ini merupakan halaman utama administrator. Dimana terdapat menu tambah data barang, tambah data supplier, ubah data karyawan, ubah password, lihat laporan penjualan dan tombol logout (untuk menutup aplikasi).
Gambar 8. Tampilan Halaman Utama Administrator
Pada menu berikut ini seorang administrator dapat mengelola data-data barang, sehingga jumlah persediaan barang bisa di kontrol dalam pengadaannya.
CREATE TABLE `kasir` ( `id` int(10) NOT NULL, `nama` varchar(100) collate latin1_general_ci NOT NULL, `alamat` varchar(100) collate latin1_general_ci NOT NULL, `j_klmin` varchar(30) collate latin1_general_ci NOT NULL, `telepon` int(30) NOT NULL, `password` varchar(30) collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
-- ---
CREATE TABLE `menjual` ( `no_kwi` int(10) NOT NULL, `id` int(10) NOT NULL, `kd_brg` int(10) NOT NULL, `nm_brg` varchar(100) collate latin1_general_ci NOT NULL, `harga` int(8) NOT NULL, `jml_brg` int(10) NOT NULL, `ttl_bayar` int(10) NOT NULL, `wkt_jual` datetime NOT NULL, PRIMARY KEY (`no_kwi`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Dumping data for table `menjual` -- -- --- -- ---
CREATE TABLE `menjual` ( `no_kwi` int(10) NOT NULL, `id` int(10) NOT NULL, `kd_brg` int(10) NOT NULL, `nm_brg` varchar(100) collate latin1_general_ci NOT NULL, `harga` int(8) NOT NULL, `jml_brg` int(10) NOT NULL, `ttl_bayar` int(10) NOT NULL, `wkt_jual` datetime NOT NULL, PRIMARY KEY (`no_kwi`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Dumping data for table `menjual` -- -- --- -- ---
CREATE TABLE `users` ( `id` int(10) NOT NULL,
`nama_user` varchar(100) collate latin1_general_ci NOT NULL, `level` varchar(20) collate latin1_general_ci NOT NULL, `password` varchar(30) collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
474 Gambar 9. Tampilan Form Tambah Data Barang Pada menu berikut ini, administrator dapat memasukan dan melihat data-data pensuplai barang.
Gambar 9. Tampilan Form Data Suplier Menu POS pada gambar 10 ini digunakan untuk melihat laporan penjualan karyawan kepada administrator, sehingga administrator dapat melihat data-data penjualan dan data transaksi penjualan bisa dipertanggung jawabkan keakuratannya. Seorang administrator juga bisa menikmati aplikasi ini, apabila staff koperasi (kasir) tidak ada (hadir).
Gambar 10. Tampilan Menu Point of Sales (POS) Analisis Hasil Pengujian
1. Koneksi program dengan database telah terpenuhi, dimana jika program memanggil database maka program langsung terkoneksi dengan database.
2. Keterkaitan antara form yang satu dengan form
yang lain telah terpenuhi, jika user memanggil salah satu form yang terdapat pada program sebagai contoh form insert data maka yang akan tampil di layar adalah form insert data, ini membuktikan keterkaitan antara form yang stu dengan form yang lain telah terpenuhi.
3. Autentifikasi user login terpenuhi, program akan menampilkan kotak isian login sebagai autentifikasi user. Contohnya jika user login
sebagai karyawan (kasir) maka form menu utama tidak akan mengaktifkan submenu data barang, sedangkan jika user login sebagai administrator
user dapat melakukan tanpa batasan apapun. 4. Form insert dan update data dapat digunakan
sesuai tujuan program, dimana form insert data
dan update data berfungsi untuk melakukan
penyimpanan data ke dalam database. Selain itu, dapat juga digunakan untuk melakukan pencarian data, mengubah data maupun proses penghapusan.
5. Pencetakan laporan harian dan bulanan transaksi penjualan dan persediaan barang berhasil dicetak, dimana program akan menampilkan dan melakukan pencetakan laporan terhadap seluruh
record yang diinginkan oleh user berdasarkan tanggal dan bulan.
V. PENUTUP
Kesimpulan
1. Aplikasi dapat dipergunakan untuk mengelola proses transaksi penjualan pada Koperasi Karyawan Universitas Mercu Buana serta dapat membuat laporan untuk data-data yang terdapat pada database.
2. Koperasi UMB mempunyai beberapa supplier yang terekam dalam database pada aplikasi ini. 3. Perhitungan penjualan dan persediaan barang
menjadi lebih cepat dan akurat. Saran
1. Aplikasi dapat dikembangkan menjadi sistem
Client-Server, sehingga data dapat di bagi ke beberapa pengguna.
2. Untuk Melakukan penyimpanan data password ke dalam data base MySql dapat dilakukan enkrip data sehingga nama password tidak ada yang mengetahui selain user
3. Untuk report atau informasi data persediaan barang, sebaiknya dilengkapi dengan komponen
chart (diagram) untuk mengetahui data-data
statistik dari jumlah barang pada pergudangan, sehingga tidak terjadi penumpukkan barang. VI. DAFTAR PUSTAKA
[1] Firdaus (2007), PHP dan MySql dengan
Dreamweaver, Penerbit Maxikom,
Palembang.
[2] Kusrini, M.Kom (2007), Strategi Perancangan & Pengelolaan Basis Data, Penerbit ANDI Yogyakarta.
[3] MADCOMS (2005), Membuat Aplikasi DataBase Karyawan Online Berbasis Web
dengan PHP dan MySQL, Penerbit ANDI