Aplikasi Penjualan dan Persediaan Barang Menggunakan PHP dan MySQL: Studi Kasus Koperasi Karyawan Universitas Mercu Buana Sarwati Rahayu 1, Kodarullah 2, Sabar Rudiarto 3 Jurusan Sistem Informasi, Fakultas Ilmu Komputer, Universitas Mercu Buana 1 Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana 2 JL. Raya Meruya Selatan, Kembangan, Jakarta, 11650 E-mail : sarwati@mercubuana.ac.id 1, regaandaresta@ymail.com 2 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 masalahmasalah 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 469
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 langkahlangkah 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. 470
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 6 7 Fork; digunakan untuk menunkukkan kegiatan yang dilakukan secara parallel atau untuk menggabungkan dua kegiatan parallel menjadi satu Rake; menunjukkan adanya dekomposisi 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 ini dapat dilihat pada gambar 2 berikut ini. 471
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 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 5. ERD sistem aplikasi penjualan dan persediaan barang IV. HASIL IMPLEMENTASI DAN PENGUJIAN 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. 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 `harga` int(8) NOT NULL, `stok` int(10) NOT NULL, `jenis` varchar(30) collate `barcode` varchar(255) collate PRIMARY KEY (`kd_brg`) Gambar 4. Sistem aplikasi penjualan dan persediaan barang 472
2. SQL Pembuatan Tabel Kasir CREATE TABLE `kasir` ( `nama` varchar(100) collate `alamat` varchar(100) collate `j_klmin` varchar(30) collate `telepon` int(30) NOT NULL, `password` varchar(30) collate PRIMARY KEY (`id`) 3. SQL Pembuatan Tabel Menjual CREATE TABLE `menjual` ( `no_kwi` int(10) NOT NULL, `kd_brg` int(10) NOT NULL, `nm_brg` varchar(100) collate `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`) 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. 4. SQL Pembuatan Tabel Supplier CREATE TABLE `menjual` ( `no_kwi` int(10) NOT NULL, `kd_brg` int(10) NOT NULL, `nm_brg` varchar(100) collate `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`) 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). 5. SQL Pembuatan Tabel Users CREATE TABLE `users` ( `nama_user` varchar(100) collate `level` varchar(20) collate `password` varchar(30) collate PRIMARY KEY (`id`) Di bawah ini merupakan tampilan database penjualan dan persediaan barang pada phpmyadmin 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. 473
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 Yogyakarta. 474