Aplikasi Point Of Sales pada Toko Buku Sarana Hidayah Solo Binder2
APLIKASI POINT OF SALES PADA TOKO BUKU SARANA HIDAYAH SOLO
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Ilmu Komputer
Disusun Oleh :
ARUM TRISNAWATI NIM. M3208011
PROGRAM DIPLOMA III ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET
(2)
HALAMAN PERSETUJUAN
APLIKASI POINT OF SALES PADA TOKO BUKU SARANA HIDAYAH SOLO
Disusun Oleh : ARUM TRISNAWATI
NIM : M3208011
Tugas Akhir ini telah disetujui untuk dipertahankan di hadapan dewan penguji pada tanggal 13 Juli 2011
Pembimbing Utama
Winarno, S.Si
(3)
HALAMAN PENGESAHAN
PEMBUATAN APLIKASI POINT OF SALES PADA TOKO BUKU
SARANA HIDAYAH SOLO
Disusun Oleh : ARUM TRISNAWATI
NIM. M3208011
Dibimbing oleh: Pembimbing Utama
Winarno, S.Si
NIP. 198205202006041001
Tugas Akhir ini telah diterima dan disahkan oleh dewan penguji Tugas Akhir Program D III Ilmu Komputer
Pada hari Rabu tanggal 13 Juli 2011 Dewan Penguji:
1. Penguji 1 Winarno, S.Si ( )
NIP. 198205202006041001
2. Penguji 2 Retno Wulandari, S.Si ( )
NIDN. 0604128202
3. Penguji 1 Nanang Maulana, S.Si ( ) Disahkan Oleh:
Dekan Ketua Program Studi Diploma III Fakultas MIPA UNS Ilmu Komputer FMIPA UNS
(4)
ABSTRACT
Arum Trisnawati. 2011. Developing of point of sales at Sarana Hidayah
Bookstore Solo. Computer Science Diploma III. Informatics Management.
Faculty of Mathematics and Natural Science. University of Sebelas Maret Surakarta.
An information system integrated into technology required in an organization in giving more timely information than that the manual system gave. Sarana Hidayah Bookstrore Solo had become an information system. However, such the system still has some weaknesses inappropriate inventory calculation and manual pricing. The objective of final project is to develop a point of sales application in Sarana Hidayah Solo.
The system was designed by UML. And this application was built using the PHP programming language using the codeigniter framework. Database used in this application was a MySQL database.
Existing facilities in this application include data collection of books, suppliers registration, sale transaction, purchasing both in cash and non cash inventory information and purchasing return. In this application the users enter the data in the forms consistent with the positions, so that this the point of sales is expected to be able to cope with the weaknesses avaliable.
(5)
HALAMAN INTISARI
Arum Trisnawati. 2011. PEMBUATAN APLIKASI POINT OF SALES PADA
TOKO BUKU SARANA HIDAYAH SOLO. Program Diploma III Ilmu
Komputer. Manajemen Informatika. Fakultas Matematika dan Ilmu Pengetahuan Alam. Universitas Sebelas Maret Surakarta.
Suatu sistem informasi yang dipadukan dengan teknologi diperlukan dalam sebuah organisasi dalam memberikan informasi yang lebih tepat waktu daripada secara manual.Toko Buku Sarana Hidayah solo sudah terdapat suatu sistem informasi. Akan tetapi sistem tersebut masih ada kekurangan seperti menghitung persediaan (inventory) yang ada belum tepat, penentuan harga jual yang manual. Tujuan tugas akhir ini adalah untuk membuat aplikasi point of sales pada toko buku Sarana Hidayah Solo.
Sistem ini di rancang dengan UML. Dan aplikasi ini dibangun menggunakan bahasa pemrograman PHP dengan menggunakan framework codeigniter. Database yang digunakan dalam aplikasi ini adalah database MySQL. Fasilitas yang ada pada aplikasi ini antara lain pendataan buku, pendataan supplier, transaksi pernjualan, pembelian baik secara cash maupun noncash, informasi stok barang dan serta retur pembelian. Dalam aplikasi ini pengguna memasukan data dengan form – form yang disesuaikan dengan jabatannya, sehingga dengan aplikasi point of sales ini diharapkan dapat mengatasi kekurangan yang ada.
(6)
KATA PENGANTAR
Segala puji syukur bagi Allah SWT Yang Maha Mengetahui, atas segala rahmat hidayah dan kemudahan yang telah diberikan, sehingga dapat menyelesaikan laporan Tugas Akhir ini.
Laporan Tugas Akhir ini disusun untuk memenuhi sebagian persyaratan kelulusan Diploma III Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret Surakarta.
Dalam penulisan laporan tugas akhir ini, tidak lepas dari peranan dan bantuan dari berbagai pihak. Oleh karena itu, dalam kesempatan ini perkenankan menyampaikan ucapan terima kasih kepada :
1. Drs. YS. Palgunadi, M.Sc., selaku Ketua Program Diploma III Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.
2. Winarno, S.Si selaku Dosen Pembimbing Tugas Akhir atas arahan dan bimbingannya dalam pembuatan laporan ini.
3. Bapak dan Ibu tercinta yang selalu mendukung dan mendoakan. 4. Teman – teman D3 Ilmu Komputer angkatan 2008, terima kasih atas
dukungannya.
5. Semua pihak yang tidak dapat disebutkan satu persatu yang telah membantu dalam pelaksanaan dan penyusunan laporan Tugas Akhir ini, terima kasih banyak.
Semoga laporan ini dapat bermanfaat bagi semua pihak terutama bagi mahasiswa Diploma III Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret Surakarta.
Surakarta, Juli 2011
(7)
DAFTAR ISI
Halaman
HALAMAN JUDUL …... i
HALAMAN PERSETUJUAN ... ii
HALAMAN PENGESAHAN ... iii
ABSTRACT ... iv
ABSTRAK ………... v
KATA PENGANTAR ... vi
DAFTAR ISI ... vii
DAFTAR TABEL ... x
DAFTAR GAMBAR ... xi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan dan Manfaat ... 2
1.4.1 Tujuan ... 2
1.4.2 Manfaat ... 2
1.5 Metodologi Penelitian ... 3
1.6 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 5
2.1 Gambaran Umum Toko ... 5
2.2 Konsep Point Of Sales (POS) ... 5
(8)
2.4 Unfied Modeling Language (UML)... 7
2.5 Use Case Diagram ... 7
2.5.1 Notasi Use Case ... 8
2.5.2 Tipe Relasi/stereotype ... 9
2.6 Activity Diagram ... 10
2.7 Sequence Diagram ... 12
2.8 Class Diagram ... 13
2.9 CodeIgniter ... 15
2.9.1 Konsep Model-View-Controller ... 15
2.9.2 Struktur file CI ... ………... 17
BAB III DESAIN DAN RANCANGAN ... 18
3.1. Spesifikasi Sistem ... 18
3.2 Rancangan Sistem ... 18
3.3 Use Case ... 18
3.4 Activity Diagram ... 21
3.5 Sequence Diagram ... 27
3.6 Class Diagram ... 42
3.7 Rancangan Database ... 43
3.8 Rancangan Relasi Tabel... 52
3.8 Rancangan Antarmuka ... 53
BAB IV IMPLEMENTASI DAN ANALISIS ... 54
4.1. Analisis Keperluan Sistem ... 54
4.1.1. Software ... 54
4.1.2. Hardware ... 54
4.2. Implementasi Antarmuka …... 54
4.3 Analisis... 62
(9)
5.1 Kesimpulan ... 63 5.2 Saran ... 63 DAFTAR PUSTAKA ... 64
(10)
DAFTAR TABEL
Halaman
Tabel 2.1. Simbol Komponen Activity Diagram………….…………..….. 10
Tabel 2.2. Simbol Komponen Sequence Diagram ……...……….. 12
Tabel 2.3. Komponen Class Diagram ……… 14
Tabel 3.1. Aktor ……… 18
Tabel 3.2. Tabel User ………. 43
Tabel 3.3. Tabel Customer …...………...……...……… 43
Tabel 3.4. Tabel Supplier ……...…...……… 44
Tabel 3.5. Tabel Data_Buku …………...…...……… 44
Tabel 3.6. Tabel Beli_Header ………..………. 45
Tabel 3.7. Tabel Beli_Detail ……….………..………... 46
Tabel 3.8. Tabel Harga ………...……… 46
Tabel 3.9. Tabel Hutang ….………..……… 47
Tabel 3.10. Tabel Stok ………...……….. 47
Tabel 3.11. Tabel Retur_Header .…..……….……….……… 48
Tabel 3.12 .Tabel Retur_Detail …….………..……… 48
Tabel 3.13. Tabel Jual_Header ………...…..……….... 49
Tabel 3.14. Tabel Jual_Detail ………. 49
Tabel 3.15. Tabel Piutang ………...…..………. 50
Tabel 3.16. Tabel Biaya ………...…………...……… .. 50
Tabel 3.17. Tabel Retur_Jual_Header ……..……..…………..……… 51
(11)
DAFTAR GAMBAR
Halaman
Gambar 2.1. Contoh Use Case Diagram ………...……… 8
Gambar 2.2. Contoh Tipe Relasi ……… 9
Gambar 2.3. Contoh Activity Diagram ……… 11
Gambar 2.4. Contoh Sequence Diagram ……… 13
Gambar 2.5. Contoh Class Diagram ………... 14
Gambar 2.6. MVC Pada Halaman Web …………..……… 16
Gambar 2.7. Struktur File ci……...………... 17
Gambar 3.1. Use Case Diagram ………...………. 20
Gambar 3.2. Activity Diagram Login ……….……… 21
Gambar 3.3. Activity Diagram Mendata User …….……… 22
Gambar 3.4. Activity Diagram Mencata Data Supplier…………...………… 22
Gambar 3.5. Activity Diagram Mencatat Data Customer ……..……… 23
Gambar 3.6. Activity Diagram Mencatat Data Buku ……… 23
Gambar 3.7. Activity Diagram Mencatat Pembelian Cash dan Noncash ..… 24
Gambar 3.8. Activity Diagram Mencatat Pelunasan Hutang ………...……. 24
Gambar 3.9. Activity Diagram Mencatat Biaya ………... 25
Gambar 3.10. Activity Diagram Mencatat Penjualan Cash dan Noncash ... 25
Gambar 3.11. Activity Diagram Mencatat Retur Penjualan ……….... 26
Gambar 3.12. Activity Diagram Mencatat Pelunasan Piutang ………. 26
Gambar 3.13. Activity Diagram Laporan ………. 27
Gambar 3.14. Sequence Diagram Login ……….. 27
Gambar 3.15. Sequence Diagram Mendata User ………...……….. 28
Gambar 3.16. Sequence Diagram Mencatat Data Supplier …….………….... 29
Gambar 3.17. Sequence Diagram Mencatat Data Customer ……….……….. 30
Gambar 3.18. Sequence Diagram Mencatat Data Buku …………..………… 31
(12)
Gambar 3.21. Sequence Diagram Mencatat Retur Pembelian ………..…... 34
Gambar 3.22. Sequence Diagram Mencatat Biaya ………...……... 35
Gambar 3.23. Sequence Diagram Mencatat Penjualan Cash …….…………. 36
Gambar 3.24. Sequence Diagram Mencatat Penjualan Noncash ……..…..… 37
Gambar 3.25. Sequence Diagram Mencatat Pelunasan Piutang ……...……... 38
Gambar 3.26. Sequence Diagram Laporan Pembelian Cash………..…. 39
Gambar 3.27. Sequence Diagram Laporan Hutang ………..…….. 39
Gambar 3.28. Sequence Diagram Laporan Retur ……….. 40
Gambar 3.29. Sequence Diagram Laporan Biaya ……...….……….. 40
Gambar 3.30. Sequence Diagram Laporan Penjualan Cash……...………… 41
Gambar 3.31. Sequence Diagram Laporan Piutang ...……… 41
Gambar 3.32. Class Diagram ………..………... 42
Gambar 3.33. Rancangan Relasi Tabel …….….………. 52
Gambar 3.34. Rancangan Login ………..………. 53
Gambar 3.35. Rancangan Menu Utama……….……….. 53
Gambar 3.36. Rancangan antarmuka tabel ……….. 53
Gambar 4.1. Form Login ………...……… 55
Gambar 4.2. Form Menu Utama ………..………. 55
Gambar 4.3. Form File ………..……… 56
Gambar 4.4. Form Data Buku……….………. 56
Gambar 4.5. Form Pembelian ……….………... 57
Gambar 4.6. Form Retur Pembelian ……….. 57
Gambar 4.7. Menu Hutang ……….………. 58
Gambar 4.8. Form Stok ………. 58
Gambar 4.9. Menu Laporan Pengelola ………... 59
Gambar 4.10. Form Laporan Pembelian ……… 59
Gambar 4.11. Cetak Laporan Bentuk Excel ……… 59
Gambar 4.12. Laporan Pembelian Noncash ………...……...………... 60
Gambar 4.13. Form Penjualan Cash……….……… 60
Gambar 4.14. Form Penjualan Noncash ……….. 61
(13)
(14)
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Suatu sistem informasi sangat diperlukan dalam suatu organisasi. Informasi yang relevan sangat mendukung upaya-upaya teknologi informasi membuat perusahaan berusaha untuk memanfaatkan teknologi secara maksimal. Kecepatan dan ketepatan dalam menyajian informasi sangat membantu perusahaan dalam pengembangan usaha dan mengatasi permasalahan yang ada. Untuk itu sangat diperlukan informasi yang akurat, tepat waktu dan relavan. Sistem informasi bukan merupakan suatu hal yang baru, tapi bagaimana suatu sistem itu agar dapat dikomputerisasikan.
Toko buku Sarana Hidayah Solo merupakan sebuah anak cabang dari toko buku Sarana Hidayah di Yogyakarta yang khusus menjual buku-buku agama. Sistem informasi point of sales menjadi hal yang penting pada toko buku ini. Sistem informasi point of sales pada toko ini telah dikomputerisasi dengan menggunakan sebuah aplikasi, yang tujuan lainnya juga untuk meningkatkan pelayanan kepada pembeli. Akan tetapi sistem tersebut memiliki banyak kekurangan seperti perhitungan persediaan barang masih belum tepat setelah dilakukan transaksi penjualan, penentuan harga jual yang masih manual. Dengan kekurangan ini membuat pengelola enggan untuk memasukan data persediaan barang selain itu juga jenis buku yang sudah terlalu banyak. Maka dari itu diperlukan sebuah sistem penjualan yang sekaligus dapat menghitung persediaan dengan tepat dan begitu pula dengan laporan secara otomatis.
Sistem informasi yang dibuat akan melakukan fungsi pengolahan data barang, mengontrol jumlah persediaan barang, mempermudah proses transaksi jual beli barang, serta mempermudah pembuatan laporan sehingga menghasilkan informasi yang lebih informatif. Sehingga membuat administrasi toko lebih tertata.
(15)
1.2 Perumusan Masalah
Berdasarkan latar belakang masalah yang telah diuraikan sebelumnya, didapatkan perumusan masalah yaitu bagaimana membuat aplikasi point of sales pada toko buku Sarana Hidayah.
1.3 Batasan Masalah
Dari perumusan masalah yang ada dapat dijabarkan poin-poin batasan masalah. Fungsi dari adanya batasan masalah tersebut adalah agar pembahasan difokuskan pada permasalahan yang ada dan tidak menyimpang dari permasalahan yang lain, yang akan membuat ketidakjelasan permasalahan inti yang seharusnya dibahas. Dalam penulisan Tugas Akhir ini akan membatasi pokok pembahasan pada :
1. membuat aplikasi yang berbasis desktop yang sesuai dengan kebutuhan inventori hingga barang terjual,
2. pembuatan aplikasi yang memfasilitasi pengelola dalam input data barang dan data supplier,
3. pembuatan aplikasi yang melayani penjualan tunai (retail),
4. pembuatan perangkat lunak yang mampu membuat sistem pelaporan pendataan barang, pembelian barang, dan penjualan barang ,
5. aplikasi ini dilenghkapi dengan adanya pengembalian barang yang telah dibeli dari supplier (retur).
Pada pokok pembahasan diatas meliputi proses transaksi pembelian dan penjualan barang, informasi stok barang, dan output laporan pembelian barang, penjualan barang, retur pembelian barang.
1.4 Tujuan dan Manfaat
1.4.1 Tujuan
Tujuan dari penelitian ini adalah membangun aplikasi point of sales yang di toko buku Sarana Hidayah Solo.
(16)
1.5 Metode Penelitian
1. Metode Observasi
Metode Observasi merupakan suatu metode pengumpulan data dengan cara melakukan pengamatan secara langsung dan mencatat berbagai hal yang akan digunakan dalam objek penelitian.
2. Wawancara
Metode pengumpulan data dengan melakukan wawancara atau tanya jawab secara langsung dengan pihak-pihak yang terkait dengan objek yang diteliti. Dengan metode ini didapatkan data atau keterangan yang lebih jelas dan lengkap sesuai dengan tujuan penelitian.
3. Studi Pustaka
Metode pengumpulan ini menggunakan pustaka-pustaka yang telah ada untuk digunakan sebagai referensi atau acuan, serta sebagai bahan pembanding.
1.6 Sistematika Penulisan
Dalam penulisan Tugas Akhir ini menggunakan sistematika penulisan sebagai berikut :
BAB I PENDAHULUAN
Bab ini menjelaskan secara umum latar belakang masalah, perumusan masalah, tujuan dan manfaat, metode penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini menjelaskan landasan teoritis yang digunakan oleh penulis dalam pembuatan Tugas Akhir. Landasan teori ini diperoleh pada saat penelitian studi pustaka. Dasar-dasar teori tersebut berdasarkan penjelasan mengenai sistem yang akan dibuat dan metode pemecahan masalah pada sistem yang diterapkan pada Tugas Akhir ini. Bab ini juga berisikan tentang kajian pustaka.
BAB III DESAIN DAN PERANCANGAN
Bab ini menerangkan mengenai perancangan dan desain sistem dari Tugas Akhir yang akan dibangun. Perancangan dan desain sistem tersebut meliputi Use Case Diagram, Activity Diagram, Sequence Diagram, dan Class Diagram.
(17)
BAB IV IMPLEMENTASI DAN EVALUASI PROGRAM
Bab ini menjelaskan mengenai implementasi perancangan dalam hal cara kerja sistem dan analisis dari sistem tersebut. Pada bab ini berisikan dua subbab yaitu subbab implementasi sistem dan subbab analisis sistem. Subbab impelementasi sistem berisikan mengenai penjelasan dari desain antarmuka sistem. Subbab analisis sistem berisikan mengenai kinerja sistem tersebut setelah sistem tersebut diimplementasikan.
BAB V PENUTUP
Bab ini berisikan kesimpulan yang berisi tentang pernyataan singkat yang didapatkan dari analisis mengenai keterkaitan antara tujuan pembuatan sistem dan saran-saran berkaitan mengenai penyempurnaan sistem atau pengembangan sistem ini untuk masa yang akan datang.
(18)
LANDASAN TEORI 2.1 Gambaran Umum Toko
Toko buku Sarana Hidayah Solo merupakan anak cabang dari toko buku Sarana Hidayah Yogyakarta. Toko buku ini beralamatkan di jl. Kartika 19, Ngoresan, Jebres, Solo. Jam buka toko ini mulai dari hari Senin - Jumat pukul 08.00 - 16.00. Dan Toko buku ini hanya menjual buku-buku agama. Toko buku Sarana Hidayah Solo sekarang dikelola oleh bapak Arif S. dengan seorang pegawai. Selain melayani penjualan tunai/cash toko ini juga melayani penjualan noncash dengan customer-nya agen.
2.2 Konsep Point of Sales (POS)
Point of sales adalah sebuah sistem yang terdiri dari hardware dan software
yang didesain sesuai dengan keperluan dan dapat diintegrasikan dengan beberapa alat pendukung agar dapat membantu mempercepat proses transaksi. Untuk perusahaan yang bergerak dalam bidang perdagangan pada umumnya menggunakan sistem POS dalam menunjang kegiatan usahanya. Secara umum bahwa POS adalah sebuah sistem yang memungkinkan diadakannya transaksi yang didalamnya termasuk juga penggunaan mesin kasir (Hendry,2010).
Dalam lingkup POS sebuah mesin kasir tidak berdiri sendiri, namun sudah termasuk didalamnya software penunjang dan piranti lain. Sistem POS melakukan lebih dari sekedar tugas transaksi jual beli, di dalamnya bisa terintegrasi juga perhitungan akuntansi, manajemen barang dan stok, modul penggajian karyawan, perhitungan hutang piutang dan lainnya.
2.3 Inventory
Inventory meliputi semua barang yang dimiliki perusahaan pada saat tertentu,
dengan tujuan untuk dijual kembali atau dikonsumsikan dalam siklus operasi normal perusahaan sebagai barang yang dimiliki untuk dijual atau diasumsikan untuk dimasa
(19)
yang akan datang, semua barang yang berwujud dapat disebut sebagai inventory, tergantung dari sifat dan jenis usaha perusahaan.
Menurut Koher,Eric L.A. Inventory adalah : Bahan baku dan penolong, barang jadi dan barang dalam proses produksi dana barang-barang yang tersedia, yang dimiliki dalam perjalanan dalam tempat penyimpanan atau konsinyasikan kepada pihak lain pada akhir periode".
Diantara pengertian diatas maka inventory dapat diklasifikasikan yang ditentukan oleh perusahaan, apabila jenis perusahaan yang membeli barang akan dijual lagi, maka klasifikasi hanya ada satu macam saja persedian barang dagangan. Sedangkan bila jenis perusahaan adalah pabrikasi yaitu perusahaan yang mengolah bahan mentah menjadi bahan jadi, maka klasifikasi inventory dibagi menjadi 3 kelompok yaitu:
1. Persediaan bahan baku 2. Persediaan dalam proses 3. Persediaan barang jadi 2.3.1 Pencatatan Inventory
Masalah akuntansi yang penting muncul jika unit-unit barang dagangan sejenis yang dibeli dengan harga yang berbeda-beda dalam satu periode. Dalam kasus semacam itu, pada saat barang dagangan dijual perusahaan perlu menentukan biaya per unit agar jurnal akuntansi yang tepat dapat dibuat. Ada tiga asumsi arus biaya persediaan yang digunakan dalam bisnis. Masing-masing asumsi ini dihubungkan dengan satu metode perhitungan biaya persediaan. Jika perusahaan menggunakan metode masuk pertama keluar pertama(FIFO), persediaan akhir terdiri atas harga pokok yang berasal dari pembelian terakhir. Jika perusahaan menggunakan metode masuk terakhir keluar pertama(LIFO), persediaan akhir terdiri atas biaya atau harga pokok yang berasal dari pembelian paling awal. Jika yang digunakan adalah metode
(20)
biaya rata-rata maka biaya unit dalam persediaan adalah rata-rata dari biaya pembelian( L.Carl S Warren dkk, 2006).
2.4 Unfied Modeling Language (UML)
Unfied Modeling Language (UML) merupakan suatu bahasa yang digunakan
untuk menentukan, menvisualisasikan, membangun dan mendokumentasi suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk menganalisis dan desain berorintasi objek oleh Grady Booch, Jim Rumbaugh dan Ivar Jacobson. Namun demikian, UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industi terus meningkat. Ini merupakan standar terbuka yang menjadikannnya bahasa pemodelan yang umum dalam industri perangkat lunak dan pengembangan sistem. Standar tersebut terus dikembangkan dan diperbaharui dengan pengawasan dan control dari Object
Management Group (OMG), sebuah keanggotaan terbuka, konsorsium yang tidak
berorientasi laba. Alasan lain memilih UML karena UML menyediakan pilihan diagram untuk mendokumentasikan proses bisnis dan sistem informasi. Dan diagram yang digunakan disini antara lain use case diagram, activity diagram, sequence diagram dan class diagram
2.5 Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan
(21)
rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang
di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara
normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan
behaviour-nya sendiri. Sementara hubungan generalisasi antar use case
menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain(Dharwiyanti, dan Wahono, 2003)
2.5.1 Notasi Use Case
Diagram use case menunjukkan 3 aspek dari sistem yaitu : aktor, use case,
dan sistem/sub sistem boundary. Aktor mewakili peran orang, sistem yang lain atau alat berkomunikasi dengan use case. Contoh use case terlihat seperti gambar berikut.
(22)
2.5.2 Tipe Relasi/stereotype
Tipe relasi/stereotype yang mungkin terjadi pada use case diagram adalah :
1. Relasi include (<<include>>) memungkinkan suatu use case menggunakan fungsionalitas yang disediakan oleh use case lainnya. Relasi ini dapat digunakan dengan alasan dari dua hal berikut:
Pertama jika dua atau lebih use case mempunyai bagian besar fungsionalitas yang identik, maka fungsionalitas inidapat dipecah kedalam use case tersendiri. Masing - masing use case kemudian menggunakan relasi include terhadap use case yang baru dibuat tadi.
Masalah kedua adalah relasi include bermanfaat untuk situasi jika sebuah use case mempunyai fungsionalitas yang terlalu besar, kemudian fungsionalitas yang besar tersebut dipecah menjadi dua buah
use case yang lebih kecil, relasi include digunakan untuk
menghubungkan dua buah use case hasil pemecahan.
2. Relasi extend (<<extend>>)memungkinkan satu use case secara opsional menggunakan fungsionalitas yang disediakan oleh use case lainnya(Sholiq, 2006).
(23)
2.6 Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram
merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal
processing). Oleh karena itu activity diagram tidak menggambarkan behaviour
internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object
swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas
tertentu(Dharwiyanti, dan Wahono, 2003).
Tabel 2.1 Simbol Komponen Activity Diagram
Bentuk Komponen Keterangan
Start state
menunjukkan dimulainya suatu workflow
(24)
End state
menggambarkan akhir dari pada sebuah
activity diagram.
State
menggambarkan sebuah pekerjaan/tugas dalam workflow.
State transition
menunjukkan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya.
Decision
suatu titik/point pada activity diagram
yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi
(25)
2.7 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. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah 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. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message
(Dharwiyanti, dan Wahono, 2003).
Tabel 2.2 Simbol Komponen Sequence Diagram
No. Simbol Nama Deskripsi
1 Object
Menggambarkan pos-pos obyek yang pengirim dan penerima message
2 Message
Menggambarkan aliran pesan yang dikirim oleh pos-pos obyek
(26)
Gambar 2.4 Contoh Sequence Diagram
2.8 Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.
Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class
diagram menggambarkan struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok :
1. Nama (dan stereotype) 2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
• Private, tidak dapat dipanggil dari luar class yang bersangkutan dinotasikan “-“
• Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak
(27)
• Public, dapat dipanggil oleh siapa saja dinotasikan ”+” (Dharwiyanti, dan Wahono, 2003)
Tabel 2.3 Komponen Class Diagram
Bentuk Komponen Keterangan
kelas
deskripsi dari sekumpulan objek yangterdiri dari daftar atribut dan daftar operasi
generalisasi
hubungan antara yang lebih umum dan elemen yang lebih spesifik Depedensi
hubungan antara dua elemen pemodelan, di mana perubahan ke satu elemen pemodelan (elemen independen) akan mempengaruhi simulasi elemen lainnya
(28)
2.9 CodeIgniter
Codeigniter adalah sebuah framework PHP. Framework itu sendiri adalah
suatu kerangka kerja yang berupa sekumpulan folder yang memuat file-file php yang menyediakan class libraries, helpers, plugins dan lainnya . Framework menyediakan konfigurasi dan teknik coding tertentu(Sofwan Akhmad , 2007).
2.9.1 Konsep Model-View-Controller (MVC)
Framework codeigniter adalah framework berbasis MVC. Konsep MVC
adalah konsep pemisahan antara logic dengan tampilan dan database. Manfaat konsep ini adalah membuat coding logic lebih simple, karena sudah di pisah dengan kode untuk tampilan dan membuat programmer dapat bekerja secara terpisah dengan
designer. Programmer mengerjakan logic, sedangkan designer berkutat dengan desain
dan tampilan.
Model → Merupakan struktur data. Secara spesifik class model akan
mengandung fungsi kode yang akan membantu dalam segala proses yang berhubungan dengan database seperti memasukan, mengedit mendapatkan dan menghapus data dalam sebuah database. Script Sql masuk di sini.
View → Merupakan informasi yang disampaikan ke pengguna sebuah
view biasanya sebuah halaman web, tetapi dalam codeigniter
sebuah view juga bisa berupa sebuah fragmen halaman seperti header dan footer. View juga bisa berupa halaman RSS atau sejenis halaman web yang lain.
Controller → Merupakan code untuk logic, algoritma dan sebagai
penghubung antara model, view, dan sumber lain yang di perlukan untuk mengolah HTTP request dan generate web page.
(29)
Gambar 2.6 MVC Pada Halaman Web
Dalam menggunakan framework codeigniter kehadiran bagian model tidak sering dibutuhkan. Dapat bekerja dengan bagian controller dan view sudah dapat membangun fungsi sendiri secara minimal menggunakan dua bagian tersebut (Wiswakarma Komang, 2010).
Model
Controller View
user update
menggunakan dimanipulasi
(30)
2.9.2 Struktur file CI
CI adalah sebuah php framework yang berupa kumpulan folder dan file php, java
script,css,txt dan file berbasis web lainnya dengan setting tertentu untuk
menggunakannya dan menyediakan library dan helper yang dapat manfaatkan di dalam pemrograman php. CI di jalankan under web dan harus dengan web server. Program CI cukup di letakkan di bawah folder directory web server. Berikut adalah struktur file CI :
(31)
BAB III
DESAIN DAN RANCANGAN
3.1. Spesifikasi Sistem
Perangkat lunak ini dirancang untuk memudahkan user dalam mengelola transaksi – transaksi terjadi seperti penjualan baik secara cash maupun noncash, pencatatan pengadaan barang termasuk stok, pencatatan hutang piutang, dan pendaftaran customer .
3.2 Rancangan Sistem
Pengembangan aplikasi berorientasi objek memerlukan beberapa tahapan rancangan yang harus dilalui, pada tahap ini dilakukan pemodelan menggunakan UML, untuk menggunakan UML ada beberapa hal yang harus dilakukan antara lain :
1. Membuat daftar skenario dari level tertinggi untuk mendefinisikan aktifitas dan proses yang mungkin terjadi.
2. Menentukan use case dari skenario untuk mendefinisikan secara tepat fungsionalitas yang haru dimiliki sistem.
3. Berdasarkan dari use case diagram dibuat activity diagram.
4. Membuat sequence diagram.
5. Berdasarkan diagram yang sudah dibuat, maka dibuat class diagram.
3.3 Use Case
1. Definisi Aktor
Dalam sistem ini terdapat 3 aktor yaitu pengelola, admin dan kasir. Tabel 3.1. Aktor
Nama Aktor Diskripsi
(32)
Pengelola Pengelola adalah orang yang memiliki tugas antara lain:
- mendata barang (buku) - mendata supplier
- mendata customer
- mendata pembelian barang - mencatat retur
- mencatat pembayaran hutang kepada
supplier.
- mencatat retur yang terjadi. - mencatat stok.
- membuat laporan pembelian, retur, pembayaran hutang dan stok.
Kasir Kasir adalah orang yang memiliki tugas untuk
- mencatat sekaligus melayani penjualan
cash dan penjualan noncash.
- mencatat pembayaran piutang dari
customer noncash
- membuat laporan penjualan cash,
noncash dan pembayaran piutang
2. Use Case Diagram
Sebuah use case dimulai dengan masukan/input dari seorang aktor.
Use case merupakan urutan lengkap kejadian-kejadian yang diajukan oleh
seorang aktor dan spesifikasi interaksi antara aktor dengan sistem. Use case yang lebih kompleks melibatkan beberapa interaksi dengan actor. Use case
(33)
yang lebih kompleks juga melibatkan lebih dari satu actor. Untuk menjabarkan use case dalam sistem, sangat baik bila dimulai dengan memperhatikan aktor dan action/aksi yang mereka lakukan dalam sistem.
(34)
3.4 Activity Diagram
Activity Diagram menggambarkan berbagai alur aktifitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alur berawal, decision yang terjadi, dan bagaimana sistem akan berakhir. Activity Diagram juga menggambarkan proses parallel yang mungkin terjadi pada beberapa eksekusi. Berikut Activity Diagram dari
point if sales :
1. Activity Diagram Login
Activity diagram dari rancangan login adalah seperti pada Gambar 3.2.
(35)
2. Activity Diagram Mendata User
Activity diagram dari rancangan mendata user adalah seperti pada
Gambar 3.3.
Gambar 3.3. Activity Diagram Mendata User
3. Activity Diagram Mencatat Data Supplier
Activity diagram dari rancangan mencatat data supplier adalah seperti pada Gambar 3.4.
(36)
4. Activity Diagram Mencatat Data Customer
Activity diagram dari rancangan mencatat data customer adalah seperti pada
Gambar 3.5.
Gambar 3.5 Activity Diagram Mencatat Data Customer
5. Activity Diagram Mencatat Data Buku
Activity diagram dari rancangan mencatat data buku adalah seperti pada Gambar 3.6.
(37)
6. Activity Diagram Mencatat Pembelian Cash dan NonCash
Activity diagram dari rancangan pembelian cash dan noncash adalah seperti
pada Gambar 3.7.
Gambar 3.7. Activity Diagram Mencatat Pembelian Cash dan NonCash
7. Activity Diagram Mencatat Pelunasan Hutang
Activity diagram dari rancangan mencatat pelunasan hutang adalah seperti
pada Gambar 3.8.
login menu hutang mencari data pembelian
mengupdate data pembelian
memanipulasi database Tidak
ditemukan
(38)
8. Activity Diagram Mencatat Biaya
Activity diagram dari rancangan mencatat biaya adalah seperti pada
Gambar 3.9.
Gambar 3.9. Activity Diagram Mencatat Biaya
9. Activity Diagram Mencatat Penjualan Cash dan NonCash
Activity diagram dari rancangan penjualan cash dan noncash adalah seperti
pada Gambar 3.10.
login Menu penjualan
mencatatpenjualan cash
manipulasi database mencetak penjualan
mencatat penjualan noncash
validasi data
Tidak valid Tidak valid
valid
(39)
10. Activity Diagram Mencatat Retur Penjualan
Activity diagram dari rancangan mencatat retur penjualan adalah seperti pada
Gambar 3.11.
Gambar 3.11. Activity Diagram Mencatat Retur Penjualan
11. Activity Diagram Mencatat Pelunasan Piutang
Activity diagram dari rancangan mencatat pelunasan piutang adalah seperti
pada Gambar 3.12.
(40)
12. Diagram Activity Laporan
Activity diagram dari rancangan laporan adalah seperti pada Gambar 3.13.
Gambar 3.13 Activity Diagram Laporan
3.5 Sequence Diagram
Setelah menganalisa activity diagram maka sequence diagram dari perangkat lunak inventory dapat digambar, berikut sequence diagram yang dapat diambil dari penggambaran activity diagram :
1. Sequence Diagram Login
Sequence Diagram Login berfungsi untuk menjelaskan secara detail dari
proses login.
(41)
2. Sequence Diagram Mendata User
Sequence Diagram dari rancangan mendata user adalah seperti gambar 3.15.
(42)
3. Sequence Diagram Mencatat Data Supplier
Sequence Diagram dari rancangan mencatat data supplier adalah seperti
gambar 3.16.
(43)
4. Sequence Diagram Mencatat Data Customer
Sequence Diagram dari rancangan mencatat data customer adalah seperti
gambar 3.17. tambah() view() flashdata() add() return() set_flashdata() tidak valid
v_customer c_customer m_customer
pengelola lihat_semua() get_all() return() set_template() set_heading() update() result() edit get_data_customerr_by_id() set_userdata() view() proses_update form_validation() set_flashdata() result() tidak valid hapus() delete() return() konfirmasi() set_flashdata() proses_tambah() form_validation() valid
(44)
5. Sequence Diagram Mencatat Data Buku
Sequence Diagram dari rancangan mencatat data buku adalah seperti gambar
3.18.
(45)
6. Sequence Diagram Mencatat Pembelian Cash dan NonCash
Sequence Diagram dari rancangan mencatat pembelian cash dan noncash
(46)
7. Sequence Diagram Mencatat Pelunasan Hutang
Sequence Diagram dari rancangan mencatat pelunasan hutang adalah seperti
gambar 3.20.
(47)
8. Sequence Diagram Mencatat Retur Pembelian
Sequence Diagram dari rancangan mencatat retur pembelian adalah seperti
gambar 3.21.
(48)
9. Sequence Diagram Mencatat Biaya
Sequence Diagram dari rancangan mencatat biaya adalah seperti gambar 3.22.
tambah() view() flashdata() add() return() set_flashdata() tidak valid
v_biaya c_biaya M_biaya
pengelola lihat_semua() get_all() return() set_template() set_heading() update() result() edit get_biaya_by_id() set_userdata() view() proses_update form_validation() set_flashdata() result() tidak valid hapus() delete() return() konfirmasi() set_flashdata() proses_tambah() form_validation() valid
(49)
10. Sequence Diagram Mencatat Penjualan Cash
Sequence Diagram dari rancangan mencatat penjualan cash adalah seperti
gambar 3.23.
kasir V_penjualan_cash C_penjualan_cash m_jual add_header() view() add() result() add_detail() view() view() simpan_detail() set_flashdata() form_validation() valid= false add_detail() result() set_flashdata() transit() ambil_nota() result() view() hitung() set_flashdata() cetak()
(50)
11.Sequence Diagram Mencatat Penjualan NonCash
Sequence Diagram dari rancangan mencatat penjualan noncash adalah seperti
gambar 3.24.
(51)
12. Sequence Diagram Mencatat Pelunasan Piutang
Sequence Diagram dari rancangan mencatat pelunasan piutang adalah seperti
gambar 3.25.
pengelola v_piutang c_piutang m_piutang m_jual
cari_penjualan() view() set_userdata() ambil_data_nota() return() add_process() form_validation() tidak valid set_flashdata() valid set_flashdata() add() update() return() return() lihat() ambil_nota() resut() set_heading() set_template() view()
(52)
13. Sequence Diagram Laporan Pembelian
Sequence diagram laporan pembelian berfungsi untuk menjelaskan detail
laporan transaksi pembelian yang terjadi baik secara cash maupun noncash
dengan menentukan periodenya. Rancangannya seperti pada gambar 3.26
Gambar 3. 26. Sequence diagram Laporan Pembelian.
14. Sequence Diagram Laporan Hutang
Sequence diagram laporan hutang berfungsi menjelaskan secara detail proses
laporam pembayaran hutang/pelunasan yang ditimbulkan dari transaksi pembelian noncash dengan menentukan periodenya. Rancangannya seperti pada gambar 3.27.
(53)
15. Squence Diagram Laporan Retur
Squence diagram laporan retur berfungsi untuk menjelaskan detail proses
laporan dari transaksi retur yang timbul dari pembelian barang dengan menentukan periodenya. Rancangannya seperti pada gambar 3.28
Gambar 3.28. Squence Diagram Laporan Retur.
16. Squence Diagram Laporan Biaya
Squence diagram laporan biaya berfungsi untuk menjelaskan lebih detail dari
laporan biaya yang timbul dari transaksi biaya dengan menetukan periodenya. Rancangannya seperti pada gambar 3.29.
(54)
17. Squence Diagram Laporan Penjualan Cash
Squence diagram laporan penjualan cash berfungsi untuk menjelaskan lebih
detail dari laporan penjualan cash dengan menetukan periodenya. Rancangannya seperti pada gambar 3.30.
Gambar 3.30 Squence Diagram Laporan Penjualan Cash
18. Squence Diagram Laporan Piutang
Squence diagram laporan piutang berfungsi untuk menjelaskan lebih detail
dari laporan penjualan piutang dengan menetukan periodenya. Rancangannya seperti pada gambar 3.31.
(55)
3.6 Class Diagram
Class diagram dibuat setelah objek, properti dan method pada sequence
diagram teranalisa, berikut ini adalah class diagram dari hasil analisa seperti terlihat
(56)
3.7 Rancangan Database
Dalam membuat sistem Point of Sales ini diperlukan sebuah rancangan database yaitu sebagai berikut :
1. Tabel user
Tabel user digunakan sebagai autentifikasi pengguna saat akan memasuki sistem . Data yang disimpan pada tabel ini adalah username, password, status. Struktur tabel user digambarkan pada tabel 3.2
Primary Key : username
Tabel 3.2 Tabel user
Field Type Length Null Keterangan username varchar 10 not null Nama pengguna password varchar 100 not null password
status varchar 10 not null Status berisi 3 pengguna yaitu admin, kasir dan pengelola
2. Tabel customer
Tabel customer digunakan untuk menyimpan data-data dari customer yang dibutuhkan saat penjualan noncash. Struktur tabel customer digambarkan pada tabel 3.3
Primary Key : kdcust
Tabel 3.3. Tabel customer
Field Type Length Null Keterangan kdcust varchar 15 not null Berisi kode dari customer
sebagai primary key nmcust varchar 20 not null Nama lengkap dari
customer
(57)
telp varchar 14 not null No telp dari customer
email varchar 50 null Berisi alamat email dari
customer
3. Tabel supplier
Tabel supplier berfungsi untuk mencatat data supplier yang berhubungan dengan pembelian barang di toko. Struktur tabel supplier digambarkan pada tabel 3.4
Primary Key : Kdsupplier
Tabel 3.4. Tabel Supplier
Field Type Length Null Keterangan kdsupplier varchar 15 not null Kode dari masing-masing
supplier
nama varchar 30 not null Nama lengkap dari supplier
alamat varchar 50 not null Alamat dari supplier
kota varchar 20 not null Kota supplier berada no_telp varchar 14 not null No telp dari supplier
email varchar 50 null Alamat email valid dari
supplier
4. Tabel data_buku
Tabel data_buku berfungsi untuk mencatat data-data dari buku yang dijual. Struktur tabel data_buku digambarkan pada tabel 3.5
Primary Key : kdbrg
Tabel 3.5 Tabel data_buku
Field Type Length Null Keterangan kdbrg varchar 10 not null Kode dari setiap masing –
masing judul buku
(58)
penerbit varchar 30 not null Menyimpan nama penerbit dari buku
5. Tabel beli_header
Tabel beli_header berfungsi untuk mencatat data –data awal dari sebuah transaksi pembelian yang terjadi antara toko dan supplier.
Primary Key : nopo
Tabel 3.6 Tabel beli_header
Field Type Length Null Keterangan
nopo varchar 15 not null Berisi nomor pembelian dari transaksi sesuai dengan tanggal.
tanggal date not null Berisi tanggal transaksi kdsupplier varchar 10 not null Berisi kode dari supplier
yang melakukan transaksi saat itu
terbayar int null Berisi tentang jumlah yang telah dibayarkan dari pembelian noncash
tot_hutang int null Berisi tentang jumlah hutang yang terjadi dari pembelian noncash
keterangan varchar 11 null Berisi keterangan lunas atau belum lunas dari pembelian
noncash
status varchar 6 not null Berisi tentang status
pembelian yang terjadi tunai atau kredit
uang_cash int null Berisi uang yang dibayarkan untuk pembelian secara cash
username varchar 10 not null Berisi nama petugas yang menginputkan data pembelian
(59)
6. Tabel beli_detail
Tabel beli_detail ini berfungsi untuk menyimpan data – data pembelian secara rinci dan merupakan kelanjutan dari tabel beli_header.
Primary Key : nourut, nopo
Tabel 3.7 Tabel beli_detail
Field Type Length Null Keterangan
nourut int not null Berisi nomor urut dari detail pembelian per-barang nopo varchar 15 not null Berisi nomor pembelian kdbrg varchar 10 not null Berisi kode barang yang
dibeli
jmlbeli int not null Berisi jumlah barang yang dibeli
hrg_beli int not null Berisi harga beli dari sebuah barang
diskon_beli int null Berisi jumlah diskon yang diberikan supplier kepada toko untuk sebuah
barang(buku).
hrg_akhir int not null Berisi harga akhir dari total harga semua dikurangi diskon untuk sebuah jenis barang(buku).
7. Tabel harga
Tabel harga berfungsi untuk menentukan harga jual sebuah barang(buku) yang ditentukan dengan harga beli terbaru dengan diskon dan laba yang di inginkan.
Primary Key : nourut
Tabel 3.8 Tabel harga
(60)
tgl_proses date not null Berisi tanggal memproses harga jual baru
harga_jual int not null Berisi harga jual dari sebuah buku
status varchar 15 not null Berisi status dari harga jual yang digunakan
8. Tabel hutang
Tabel hutang berfungsi untuk menyimpan data pembayaran atau pelunasan dari pembelian noncash.
Primary Key : nokwi
Tabel 3.9 Tabel hutang
Field Type Length Null Keterangan nokwi varchar 15 not null Berisi no kwitansi dari
pembayaran
tgl_kwi date not null Berisi tanggal dari kwitansi pembayaran
nopo varchar 15 not null Berisi nomor pembelian angsuran _ke int not null Berisi data jumlah angsuran
yang akan dibayar
username varchar 10 not null Berisi nama dari petugas yang menginputkan data
9. Tabel stok
Tabel stok berfungsi sebagai penghitung jumlah stok yang ada pada akhir bulan untuk stok awal bulan berikutnya dari suatu judul.
Primary Key : nourut
Tabel 3.10 Tabel stok
Field Type Length Null Keterangan nourut int not null Nomor urut
(61)
tanggal date not null Berisi bulan dan tahun peng
update tan harga
stokawal int not null Berisi stok awal dari sebuah barang (judul buku).
10.Tabel retur_header
Tabel retur_header berfungsi untuk mencatat data awal dari sebuah retur pembelian.
Primary Key : noret
Tabel 3.11 Tabel retur_header
Field Type Length Null Keterangan noret varchar 18 not null Berisi nomor retur tgl_ret date not null Berisi tanggal dari retur nopo varchar 15 not null Berisi nomor pembelian dari
barang
username varchar 10 not null Berisi nama petugas yang menginputkan data 11.Tabel retur_detail
Tabel retur_detail berfungsi untuk menyimpan data detail dari sebuah retur pembelian.
Primary Key : noret
Tabel 3.12 Tabel retur_detail
Field Type Length Null Keterangan nourut int not null Berisi nomor urut dari data
retur
noret varchar 18 not null Berisi nomor retur dari data sebelumnya
(62)
12.Tabel jual_header
Tabel jual_header berfungsi untuk mencatat data – data awal dari sebuah transaksi penjualan yang terjadi antara toko dan pembeli(customer)
Primary Key : nota
Tabel 3.13 Tabel jual_header
Field Type Length Null Keterangan nota varchar 15 not null Nomor tansaksi tgl_nota data not null Tanggal transaksi
kdcust varchar 15 not null Kode dari setiap customer
jenis varchar 10 not null Jenis dari transaksi
penjualan cash atau noncash
username varchar 10 not null Nama dari petugas yang menginputkan data
13.Tabel jual_detail
Tabel jual_detail berfungsi untuk menyimpan data penjualan rinci sebagai kelanjutan dari penyimpanan pada jual_header.
Primary Key : nourutnota
Tabel 3.14 Tabel jual_detail
Field Type Length Null Keterangan nota varchar 15 not null Nomor transaksi yang
berkaitan dengan
penyimpanan sebelumnya. nourutnota int not null Nomor urut penjualan
barang
(63)
jmljual int not null Jumlah item yang dijual diskon_khusus int null Diskon khusus yang
diberikan untuk pembelian agen.
total_akhir int not null Total harga dari item yang dijual setelah pengurangan diskon jika ada.
14.Tabel piutang
Tabel piutang berfungsi untuk mencatat pembayaran piutang yang muncul dari transaksi penjualan noncash. Struktur tabel piutang digambarkan pada tabel 3.15
Primary Key: nokwi_piutang
Tabel 3.15 Tabel piutang
Field Type Length Null Keterangan nokwi_piutang varchar 15 not null Nomor kwitansi dari pembayaran piutang tglkwi date not null Tanggal dari kwitansi
diproses
nota varchar 15 not null Nomor transaksi penjualan
noncash
angsuran_ke int not null Jumlah angsuran
bayar int not null Jumlah nominal pembayan piutang
username varchar 10 not null Nama dari petugas yang menginputkan data
15.Tabel biaya
(64)
Tabel 3.16 Tabel biaya
Field Type Length Null Keterangan
kdbiaya varchar 10 not null Kode dari biaya jenis varchar 30 not null Jenis dari biaya
tanggal date not null Tanggal pemrosesan biaya bayar int not null Jumlan nominal yang
dibayarkan
username varchar 10 not null Nama dari petugas yang menginputkan data
16.Tabel retur_jual_header
Tabel retur_jual_header berfungsi untuk mencatat data – data awal dari sebuah retur penjualan yang terjadi. Struktur tabel retur_jual_header digambarkan pada tabel 3.17
Primary Key : noret_jual
Tabel 3.17 Tabel retur_jual_header
Field Type Length Null Keterangan
noret_jual varchar 15 not null Nomor retur penjualan tgl_ret date not null Tanggal retur diproses nota varchar 15 not null Nomor transaksi pembelian username varchar 10 not null Nama dari petugas yang
menginputkan data
17.Tabel retur_jual_detail
Tabel retur_jual_detail berfungsi untuk menyimpan data detail dari sebuah retur penjualan.
Primary Key: nourut
Tabel 3.18 Tabel retur_jual_header
(65)
noret_jual varchar 15 not null Nomor retur penjualan kdbrg varchar 10 not null Kode barang yang diretur jumlah int not null Jumlah barang yang diretur
3.8. Rancangan Relasi Tabel
Relasi tabel untuk mempermudah dalam pengelolaan data yang ada. Sedangkan gambar dari relasi tabel sistem point of sales adalah seperti terlihat pada Gambar 3.36.
(66)
3.9 Rancangan Antarmuka
Rancangan antarmuka digunakan sebagai pedoman pembuatan antarmuka system
1. Rancangan antarmuka form login.
Gambar 3.34 Rancangan Login 2. Rancangan menu utama.
Rancangan menu utama untuk tiap user hampir sama hanya beberapa menu saja yang membedakan.
Gambar 3.35 Rancangan Menu Utama 3. Rancangan antarmuka tabel.
No Tabel1 Tabel2 Tabel3 Tabel4
Gambar 3.36 Rancangan Antarmuka Tabel. Username
Password
Header
Login
Header
Menu1 Menu2 Menu3 Menu4
(67)
(68)
(69)
(70)
(71)
BAB IV
IMPLEMENTASI DAN ANALISIS
4.1. Analisis Keperluan Sistem 4.1.1. Software
Perangkat lunak yang digunakan untuk mendukung dalam pengoperasian aplikasi ini adalah sebagai berikut :
1. Web server menggunakan appserv.
2. Web browser menggunakan Mozilla Firefox.
Semua aplikasi diatas dijalankan dengan menggunakan sistem operasi windows. 4.1.2. Hardware
Untuk mengoperasikan sistem ini dibutuhkan perangkat keras agar program aplikasi yang diibuat dapat berjalan dengan baik spesifikasi minimal yang digunakan sebagai berikut :
1. Prosesor Intel Pentium IV. 2. Memori 512 MB
3. HDD 10 GB
4. Motherboard (VGA dan Soundcard on board)
4.2. Implementasi Antarmuka 1. Halaman Login
Halaman login merupakan tampilan pertama kali saat user hendak menggunakan aplikasi. Halaman ini digunakan hanya didalam lingkup toko jadi
(72)
aplikasi ini sebagai pengamanan. Jika terjadi kesalahan memasukan data maka akan memuncul pesan dan menggulang kembali login.
Gambar 4.1 Form login
2. Menu Utama
Menu utama dapat diakses setelah username dan password diverifikasi benar. Menu yang ditampilkan akan berbeda sesuai dengan status pengaksesan saat login sehingga hak yang diberikan lebih fokus.
(73)
3. Menu File
Pada submenu file berisi tentang supplier, customer dan data buku. Fasilitas yang ada dari setap submenu sama yaitu dapat menambah data, edit data dan hapus data. Berikut contoh gambar data buku yang merupkan salah satu submenu file.
Gambar 4.3 Form File
(74)
4. Menu Pembelian
Pada menu pembelian berfungsi untuk mencatat pembelian barang yang terjadi antara toko dan supplier. Fasilitas yang ada pada menu pembelian adalah tambah data pembelian, hapus data pembelian. Berikut ini tampilan dari menu pembelian, seperti terlihat pada gambar 4.5
Gambar 4.5 Form Pembelian 5. Menu Retur Pembelian
Menu Retur berfungsi untuk mencatat pengembalian barang dikarenakan barang yang tidak sempurna / cacat. Fasilitas yang ada pada menu ini yaitu menambah data, mengedit data dan menghapus data. Berikut ini tampilan dari menu retur, seperti terlihat pada gambar 4.6
(75)
6. Menu Hutang
Menu hutang berfungsi untuk mencatat pembayaran hutang dan pelunasan yang terjadi karena pembelian noncash. Fasilitas yang ada pada menu ini yaitu menambah data. Dengan inputan awal berupa no pembelian. Berikut ini tampilan dari menu hutang, seperti terlihat pada gambar 4.7
Gambar 4.7 Menu Pembayaran Hutang.
7. Menu Stok
Menu stok berfungsi untuk menghitung stok akhir suatu barang untuk dijadikan stok awal bulan berikutnya. Penghitungan dengan memasukan periodenya berupa bulan dan tahun dan akan langsung mengghitung stok. Berikut ini tampilan dari menu stok, seperti terlihat pada gambar 4.8..
Gambar 4.8 Form Stok 8. Menu Laporan Pengelola
(76)
berdasarkan periode yang sudah ditentukan berupa bulan dan tahun. Berikut ini tampilan dari menu laporan, seperti terlihat pada gambar 4.9.
Gambar 4.9 Menu Laporan Pengelola.
Gambar 4.10 Form Laporan Pembelian.
Setelah menampilkan pembelian pada periode tersebut, ditampilkan juga link untuk mencetak laporan. Cetak laporan disini dalam bentuk excel.
(77)
Gambar 4.12 Laporan Pembelian NonCash.
9. Menu Penjualan Cash
Menu penjualan cash berfungsi untuk mencatat transaksi penjualan secara
cash yang terjadi. Berikut ini tampilan dari awal menu penjualan cash, seperti terlihat pada gambar 4.13
(78)
10. Menu Penjualan NonCash
Menu penjualan noncash berfungsi untuk mencatat transaksi penjualan non
cash. Dan dari transaksi ini menimbulkan piutang. Berikut ini tampilan dari menu penjualan noncash, seperti terlihat pada gambar 4.14
Gambar 4.14 Form Penjualan Noncash
11. Menu Piutang
Menu piutang berfungsi untuk mencatat pembayaran atau pelunasan piutang. Menu ini dijalankan dengan menu penjualan noncash sebagai acuannya. Berikut ini tampilan dari menu piutang, seperti terlihat pada gambar 4.15
(79)
12. Menu Laporan Kasir
Pada menu laporan kasir ini terdiri dari beberapa sub menu antara lain laporan penjualan cash, laporan penjualan noncash dan laporan piutang . Semua laporan dapat dilihat dan dicetak dengan menentukan periodenya berupa bulan dan tahun. Berikut ini tampilan dari menu laporan, seperti terlihat pada gambar 4.16.
Gambar 4.16 Menu Laporan Kasir
4.3 Analisis
Aplikasi ini memiliki fungsi utama untuk melakukan transaksi pembelian, penjualan baik cash maupun noncash, pencatatan stok serta pelaporan dari masing – masing transaksi. Pembuatan aplikasi ini menggunakan kode pemrograman PHP melalui framework codeigniter, sehingga implementasinya mudah digunakan. Dengan sistem yang ada dapat mengetahui jumlah stok dan menentukan harga barang secara otomatis.
(80)
BAB V PENUTUP
5.1 Kesimpulan
Kesimpulan yang dapat diambil dari pembahasan sebelumnya adalah telah dibuat aplikasi Poin Of Sales dengan menggunakan bahasa pemrograman PHP dengan framewok codeigniter , web server Apache dan databse MySql.
Aplikasi point of sales pada toko buku Sarana Hidayah Solo diharapkan dapat mengatasi kekurangan yang ada sesuai dengan kebutuhan toko dan meningkatkan pelayanannya.
5.2 Saran
Aplikasi ini masih belum sempurna, sehingga perlu dilakukan pengembangan lebih lanjut diantaranya adalah :
1. Tampilan dari laporan yang masih belum sempurna. 2. Perlu adanya penambahan jenis laporan yang dibuat. 3. Beberapa validasi yang masih belum berfungsi.
(81)
DAFTAR PUSTAKA
Dharwiyanti S, dan Wahono R S, 2003, Pengantar Unified Modeling Language. www.ilmukomputer.com, diakses pada tanggal 30 Maret 2011 jam 8:53 PM.
Hendry, 2010, Membangun Aplikasi Inventory dan Penjualan Terintegrasi, Penerbit Elex Media Computindo, Yogyakarta.
L.Carl S Warren, james M Reeve, Philip E.Fress, 2006, Pengantar Akuntansi, Penerbit Salemba Empat.
Sholiq, 2006, Pemodelan Sistem Informasi Berorientasi Objek dengan UML. Graha Ilmu . Yogyakarta, Edisi pertama.
Sofwan, Akhmad. 2007, Belajar PHP dengan Framework Code Igniter, www.ilmukomputer.com, diakses pada tanggal 5 Mei 2011 jam 8:53 PM. Wiswakarma, Komang. 2010, 9 Langkah Menjadi Master Framework
(1)
berdasarkan periode yang sudah ditentukan berupa bulan dan tahun. Berikut ini tampilan dari menu laporan, seperti terlihat pada gambar 4.9.
Gambar 4.9 Menu Laporan Pengelola.
Gambar 4.10 Form Laporan Pembelian.
Setelah menampilkan pembelian pada periode tersebut, ditampilkan juga link untuk mencetak laporan. Cetak laporan disini dalam bentuk excel.
(2)
commit to user
60
Gambar 4.12 Laporan Pembelian NonCash.
9. Menu Penjualan Cash
Menu penjualan cash berfungsi untuk mencatat transaksi penjualan secara cash yang terjadi. Berikut ini tampilan dari awal menu penjualan cash, seperti terlihat pada gambar 4.13
(3)
10. Menu Penjualan NonCash
Menu penjualan noncash berfungsi untuk mencatat transaksi penjualan non cash. Dan dari transaksi ini menimbulkan piutang. Berikut ini tampilan dari menu penjualan noncash, seperti terlihat pada gambar 4.14
Gambar 4.14 Form Penjualan Noncash
11. Menu Piutang
Menu piutang berfungsi untuk mencatat pembayaran atau pelunasan piutang. Menu ini dijalankan dengan menu penjualan noncash sebagai acuannya. Berikut ini tampilan dari menu piutang, seperti terlihat pada gambar 4.15
(4)
commit to user
62
12. Menu Laporan Kasir
Pada menu laporan kasir ini terdiri dari beberapa sub menu antara lain laporan penjualan cash, laporan penjualan noncash dan laporan piutang . Semua laporan dapat dilihat dan dicetak dengan menentukan periodenya berupa bulan dan tahun. Berikut ini tampilan dari menu laporan, seperti terlihat pada gambar 4.16.
Gambar 4.16 Menu Laporan Kasir
4.3 Analisis
Aplikasi ini memiliki fungsi utama untuk melakukan transaksi pembelian, penjualan baik cash maupun noncash, pencatatan stok serta pelaporan dari masing – masing transaksi. Pembuatan aplikasi ini menggunakan kode pemrograman PHP melalui framework codeigniter, sehingga implementasinya mudah digunakan. Dengan sistem yang ada dapat mengetahui jumlah stok dan menentukan harga barang secara otomatis.
(5)
BAB V PENUTUP
5.1 Kesimpulan
Kesimpulan yang dapat diambil dari pembahasan sebelumnya adalah telah dibuat aplikasi Poin Of Sales dengan menggunakan bahasa pemrograman PHP dengan framewok codeigniter , web server Apache dan databse MySql.
Aplikasi point of sales pada toko buku Sarana Hidayah Solo diharapkan dapat mengatasi kekurangan yang ada sesuai dengan kebutuhan toko dan meningkatkan pelayanannya.
5.2 Saran
Aplikasi ini masih belum sempurna, sehingga perlu dilakukan pengembangan lebih lanjut diantaranya adalah :
1. Tampilan dari laporan yang masih belum sempurna. 2. Perlu adanya penambahan jenis laporan yang dibuat. 3. Beberapa validasi yang masih belum berfungsi.
(6)
commit to user 64
DAFTAR PUSTAKA
Dharwiyanti S, dan Wahono R S, 2003, Pengantar Unified Modeling Language.
www.ilmukomputer.com, diakses pada tanggal 30 Maret 2011 jam 8:53
PM.
Hendry, 2010, Membangun Aplikasi Inventory dan Penjualan Terintegrasi, Penerbit Elex Media Computindo, Yogyakarta.
L.Carl S Warren, james M Reeve, Philip E.Fress, 2006, Pengantar Akuntansi,
Penerbit Salemba Empat.
Sholiq, 2006, Pemodelan Sistem Informasi Berorientasi Objek dengan UML.
Graha Ilmu . Yogyakarta, Edisi pertama.
Sofwan, Akhmad. 2007, Belajar PHP dengan Framework Code Igniter,
www.ilmukomputer.com, diakses pada tanggal 5 Mei 2011 jam 8:53 PM.
Wiswakarma, Komang. 2010, 9 Langkah Menjadi Master Framework