laporan icl 27 (23 mei 2014) yg di print.pdf
TRANSCRIPT
1
BAB I PENDAHULUAN
1.1 Latar Belakang
Semakin berkembangnya jaman, berkembang pula teknologi. Teknologi yang
berkembangpun sudah semakin canggih dan kompleks. Namun sayang berkembangnya
teknologi tidak diiringi sumber daya manusia yang mampu menguasai ilmu dari teknologi
tersebut terutama di negara kita, Indonesia. Indonesia mempunyai sumber daya manusia
yang melimpah tapi secara kualitas belum cukup menguasai ilmu-ilmu dari teknologi
canggih. Maka dari itu perlu dilakukan peningkatan kualitas masyarakat agar mempunyai
kemampuan penguasaan teknologi terutama di bidang industri.
Pada umumnya masyarakat masih belum bisa membuat atau menerapkan program
pengolah data dalam mengolah keuangan usaha mereka. Masih banyak masyarakat yang
belum melek teknologi terutama untuk pemanfaatan teknologi dalam hal
mengkalkulasikan sebuah perhitungan keuangan yang akan dimasukkan ke dalam sebuah
jurnal harian dan digunakan untuk menghitung berapa laba dan rugi usaha mereka.
Pengolahan sistem laporan keuangan akan menggunakan pengolah data berbasis program
yaitu menggunakan Microsoft Excel 2013 dengan Visual Basic for Application. Program
yang menggunakan Microsoft Excel 2013 dengan Visual Basic for Applicaton ini dapat
dengan mudah dipahami oleh masyarakat dan mempunyai user interface yang baik dan
menarik. Penerapan program ini dapat digunakan untuk membantu mengolah data-data
keuangan suatu industri ataupun toko-toko kecil khususnya Pet Shop agar lebih mudah
dibaca, dipahami, dan dikelolah dengan cepat jika dibandingkan dengan sistem manual
atau tidak menggunakan program. Umumnya permasalahan saat ini Pet Shop masih
menggunakan sistem yang manual meskipun beberapa sudah menggunakan sistem
barcode contohnya saat administrator ingin melihat persediaan (stock), administrator
masih menggunakan checklist manual, contoh permasalahan yang lain adalah saat
administrator ingin menghitung transaksi jasa, administrator masih menggunakan
kalkulator. Maka dari itu untuk mengatasi beberapa permasalahan di atas, pada laporan
ini akan dibahas tentang penerapan program untuk mengolah data keuangan pada sebuah
Pet Shop yang akan lebih praktis dan mudah. Diharapkan program yang dibuat ini akan
semakin membantu masyarakat dalam membantu perkembangan usaha.
2
1.2 Tujuan
Adapun tujuan dari pembuatan program ini adalah :
1. Membuat algoritma dan flowchart yang mudah dipahami.
2. Membuat data flow diagram (DFD) yang terperinci.
3. Membuat program yang akan membantu mengelola keuangan dibidang Pet Shop.
4. Membuat user interface yang menarik dan user friendly bagi administrator (user).
1.3 Manfaat
Adapun manfaat dari pembuatan program ini adalah:
1. Dapat mengetahui cara kerja program dengan melihat algoritma dan flowchart
program.
2. Dengan adanya data flow diagram (DFD), user dapat mengetahui penggambaran sistem
yang ada dalam program Pet Shop sebagai sebuah proses timbal balik yang
dihubungkan satu sama lain dengan aliran (alur) data.
3. Dapat mempermudah administrator Pet Shop dalam melakukan pekerjaan mengelolah
keuangan dalam sebuah jurnal harian dan menghitung untung rugi yang didapat.
4. Dapat memberikan user interface yang menarik dan user friendly kepada user.
1.4 Batasan
Adapun batasan dari pembuatan program adalah:
1. Pembuatan program dengan menggunakan Microsoft Excel 2013 dengan Visual Basic
for Application.
2. Biaya upah bagi karyawan diabaikan sehingga tidak masuk dalam perhitungan dalam
jurnal harian.
3. Tidak muncul peringatan ketika inventori jasa habis.
1.5 Asumsi
Adapun asumsi dari pembuatan program adalah:
1. Harga untuk setiap jenis hewan yang sama dengan ukuran yang berbeda adalah sama.
2. Harga untuk setiap jenis hewan yang mempunyai umur atau warna bulu yang berbeda
adalah sama.
3
BAB II TINJAUAN PUSTAKA
2.1 Pemrograman Komputer Berorientasi Objek
Pemrograman komputer berorientasi objek adalah sebuah pendekatan untuk
pengembangan suatu software dimana dalam struktur software tersebut didasarkan
kepada interaksi object dalam penyelesaian suatu proses atau tugas. Interaksi yang
dimaksud yaitu mengambil form dari pesan-pesan dan dan mengirimkannya kembali
antar object tersebut dan kemudian akan direspon menjadi sebuah tindakan atau metode.
2.2 Algoritma
Algoritma adalah suatu prosedur yang jelas untuk menyelesaikan suatu persoalan
dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya. Langkah-langkah
dalam algoritma harus logis dan harus dapat ditentukan bernilai salah satu atau benar
yang dapat diterjemahkan secara bertahap dari awal hingga akhir. Algoritma sering
mempunyai langkah pengulangan iterasi atau memerlukan keputusan (logika Boolean dan
perbandingan) sampai tugasnya selesai. Setiap langkah harus didefinisikan dengan tepat
sehingga tidak memiliki arti ganda, tidak membingungkan (not ambiguous). Algoritma
mempunyai awal dan akhir, dimana suatu algoritma harus berhenti setelah mengerjakan
serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah yang terbatas.
2.3 Flowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urutan-urutan
prosedur dari penyelesaian suatu masalah atau program. Flowchart membantu analisis
untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan membantu
dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya
mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan
dievaluasi lebih lanjut.
2.3.1 Jenis-Jenis Flowchart
Berikut merupakan jenis-jenis flowchart:
1. Flowchart Sistem (System Flowchart)
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang
sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari
prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini
merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi
yang membentuk suatu sistem.
4
Contoh sederhana untuk flowchart sistem dapat dilihat pada Gambar 2.1 berikut ini:
Gambar 2.1 Flowchart Sistem (SystemFlowchart)
Sumber: Sudarsono (2005)
2. Flowchart Paperwork / Flowchart Dokumen (Document Flowchart)
Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart
Paperwork sering disebut juga dengan Flowchart Dokumen. Kegunaan utamanya
adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain
baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.
Contoh sederhana untuk flowchart sistem dapat dilihat pada Gambar 2.2 berikut ini:
5
Gambar 2.2 Flowchart Paperwork/Flowchart Dokumen (Document Flowchart)
Sumber: Sudarsono (2005)
3. Flowchart Skematik (Schematic Flowchart)
Flowchart Skematik merupakan bagan yang mirip dengan Flowchart Sistem yang
menggambarkan suatu sistem atau prosedur. Perbedaannya bukan hanya
menggunakan simbol-simbol flowchart standar, tetapi juga menggunakan gambar-
gambar komputer, peripheral, dan peralatan lain yang digunakan dalam sistem.
4. Flowchart Program (Program Flowchart)
Flowchart Program merupakan bagan yang menjelaskan keterangan lebih rinci tentang
langkah-langkah dari proses program. Flowchart Program juga dihasilkan dari
Flowchart Sistem. Suatu contoh flowchart program dapat dilihat pada Gambar 2.3
berikut ini:
6
Gambar 2.3 Flowchart Program (Program Flowchart)
Sumber: Sudarsono (2005)
5. Flowchart Proses (Process Flowchart)
Flowchart Proses merupakan bagan alir yang banyak digunakan di teknik industri.
Flowchart juga digunakan untuk memecah dan menganalisis langkah-langkah
selanjutnya dalam suatu prosedur atau sistem. Contoh sederhana untuk flowchart
sistem dapat dilihat pada Gambar 2.4 berikut ini:
7
Gambar 2.4 Flowchart Proses (Process Flowchart)
Sumber: Sudarsono (2005)
2.3.2 Simbol-Simbol Flowchart
Flowchart menggunakan simbol-simbol yang sangat mudah dipahami.
Simbol-simbol flowchart beserta fungsinya, yaitu:
Tabel 2.1 Simbol-simbol Flowchart
No. Simbol Keterangan
1.
Flow Direction
Symbol
Simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain. Simbol ini disebut juga connecting line.
2.
Terminator Symbol
Simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan.
3.
Connector Symbol
Simbol untuk keluar – masuk atau penyambungan proses dalam lembar atau halaman yang sama.
4.
Off-page Connector
Symbol
Simbol untuk keluar – masuk atau penyambungan proses pada lembar atau halaman yang berbeda.
5.
Processing Symbol
Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer.
8
Tabel 2.1 Simbol-simbol Flowchart (Lanjutan)
No. Simbol Keterangan
6.
Manual Operation Symbol
Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh computer
7.
Decision Symbol
Simbol pemilihan proses berdasarkan kondisi yang ada.
8.
Input-Output Symbol
Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya.
9.
Manual Input Symbol
Simbol untuk pemasukan data secara manual on-line keyboard.
10.
Preparation Symbol
Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage.
11.
Predefine Proses Symbol
Simbol untuk pelaksanaan suatu bagian (sub-program) atau procedure.
12.
Display Symbol
Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer dan sebagainya.
13.
Disk and On-line Storage Symbol
Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk.
14.
Punched Card
Symbol
Simbol yang menunjukkan input atau output yang menggunakan kartu plong (punched card).
15.
Document Symbol
Menunjukkan Dokumen input dan output baik untuk proses manual, mekanik atau komputer.
16.
Magnetic Symbol
Simbol yang menunjukkan input atau ouput menggunakan pita magnetik
Sumber: Kadir (2013)
2.4 Struktur Kontrol Pemrograman
Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan bentuk
(struktur) tertentu yang digunakan untuk mengatur atau mengontrol jalannya program.
Struktur kontrol pemrograman terbagi menjadi 2 struktur yaitu struktur kontrol
keputusan dan struktur kontrol pengulangan.
2.4.1 Struktur Kontrol Keputusan
Struktur kontrol keputusan adalah statemen yang mengijinkan user untuk memilih dan
mengeksekusi blok kode dan mengabaikan blok kode yang lain. Berikut merupakan jenis-
jenis struktur kontrol keputusan:
9
1. If... Then
Pernyataan percabangan bersyarat ini digunakan menjalankan suatu pilihan
pernyataan atau blok pernyataan jika suatu kondisi terpenuhi dan sebaliknya.
Bentuk flowchart:
Gambar2.5 Flowchart If…Then
Sumber: Andrea (2010)
2. If... Then... Else
Statemen ini akan menjalankan sebuah blok pernyataan jika kondisi bernilai true
dan blok pernyataan lain bernilai false.
Bentuk flowchart:
Kondisi
Pernyataan
Selesai
Pernyataan
No
Yes
Gambar2.6 Flowchart if… Then… Else
Sumber: Andrea (2010)
3. If... Then... ElseIf
Kondisi yang merupakan suatu ekspresi logika akan diuji perintah If yang pertama
ada di sebelah kirinya. Jika kondisi benar maka blok perintah yang yang terletak
dibawahnya akan dikerjakan sampai menerima perintah ElseIf atau Else lalu melompat
ke pernyataan End if.
Bentuk Flowchart:
Gambar 2.7Flowchart If Then Else If
Sumber: Andrea (2010)
10
4. Select Case
Select Case akan menguji ekspresi tunggal yang akan dievaluasi hanya sekali pada
bagian atas dari struktur keputusan, kemudian hasilnya dibandingkan dengan
beberapa nilai. Jika ada salah satu case yang cocok, maka program akan dijalankan.
Bentuk Flowchart:
Gambar2.8 Flowchart Select Case
Sumber: Andrea (2010)
2.4.1 Struktur Kontrol Perulangan
Struktur kontrol perulangan digunakan untuk melakukan pengulangan kode program.
Hal ini dilakukan untuk lebih mempersingkat perintah.
1. For...Next
Statement ini digunakan untuk melakukan penngulangan suatu blok program
dengan dibatasi nilai awal dan akhir. Variabelnya bernilai numerik dan mempunyai
nilai yang berurutan. Nilai perhitungan dari variabelnya dapat bertambah atau
berkurang pada setiap pengulangan yang dilakukan dengan menambahkan kata step.
Bentuk Flowchart:
Gambar2.9 Flowchart For … Next
Sumber: Andrea (2010)
2. For Each... Next
Pengulangan For Each... Next sama dengan For... Next, hanya saja pengulangannya
untuk suatu objek, seperti kelompok kontrol pada suatu form maupun objek pada Ms.
Excel.
11
3. Do ... Loop
Statemen ini mengulang blok statemen bila kondisi benar atau sampai kondisi ini
menjadi benar. Bila tidak ada perintah keluar, proses pengulangan akan terus
berlangsung. Statemen ini digunakan untuk kondisi yang mempunyai nilai tidak pasti
dan tidak berurutan.
a. Do While... Loop
Pengulangan Do While... Loop digunakan untuk menjalankan satu atau beberapa
pernyataan yang akan diulang selama kondisi terpenuhi.
Bentuk Flowchart:
Gambar2.10 Flowchart Do while… Loop
Sumber: Andrea (2010)
b. Do Loop While
Statmen ini akan mengerjakan pernyataan dalam blok statemen ketika kondisi
bernilai benar dan akan berhenti ketika kondisi sudah bernilai salah.
Bentuk Flowchart:
Gambar2.11 Flowchart Do …Loop While
Sumber: Andrea (2010)
c. Do Until... Loop
Pada pengulangan Do Until... Loop, pengulangan akan terus berjalan apabila
kondisi bernilai salah dan akan berhenti jika kondisi bernilai benar.
Bentuk Flowchart:
Gambar2.12 Flowchart Do Until…Loop
Sumber: Andrea (2010)
12
d. Do ... Loop Until
Statemen ini akan mengerjakan pernyataan dalam blok statemen ketika kondisi
bernilai salah dan akan berhenti jika kondisi bernilai benar.
Bentuk Flowchart:
Gambar2.13 Flowchart Do …Loop Until
Sumber: Andrea (2010)
4. While... Wend
Statemen ini digunakan apabila kita ingin pernyataan pada program dijalankan
selama kondisi ekspresi yang ditetapkan masih bernilai benar.
Bentuk Flowchart:
Gambar2.14 Flowchart While … Wend
Sumber: Andrea (2010)
2.5 Event, Property, Method, dan Objek
Dalam pemograman berbasis obyek (OOP), ada beberapa istilah yang perlu dipahami,
seperti istilah event, property, method dan object. Berikut ini adalah penjelasannya:
1. Event, adalah suatu aksi spesifik yang terjadi didalam atau terhadap suatu object,
misalnya saat mouse diklik, saat form dibuka, saat form aktif, saat form ditutup, saat
data berubah, dan lain-lain. Umumnya event terjadi karena adanya tindakan yang
dilakukan oleh user. Hampir kontrol-kontrol yang terdapat pada Microsoft Access,
seperti Text Box, Label, Combo Box, Check Box, dan kontrol lainnya sudah disertakan
event didalamnya.
2. Property, adalah atribut dari sebuah objek yang biasanya merupakan karakteristik
penampilan object, misalnya nama worksheet.
Contoh :
13
Jika ingin melah ngubah nama worksheet “Sheet1” menjadi “Home”, maka kodenya
adalah :
Sub AssignWorksheetName ()
Worksheets(“Sheet1”).Name = “Home”
End Sub
Dalam contoh tersebut, worksheets(“Sheet1”) adalah object, Name adalah property,
dan Home adalah value.
3. Method, adalah kegiatan/tindakan yang dilakukan oleh object, misalnya memilih satu
sel, menyisipkan worksheet, menghapus worksheet, dll.
Contoh :
Jika ingin memilih kisaran sel (A1:B10) dalam worksheet, maka kodenya adalah:
Sub SelectRange()
Range (“A1:B10”).Select
End Sub
4. Object, adalah suatu elemen didalam aplikasi yang dibuat, seperti form, text box, combo
box, line, report, dan lain-lain. Contoh:
Sub CloseAll()
Forms.Close
End Sub
2.6 Event Driven Programming
Event Driven Programming merupakan paradigma pemrogrman yang jalannya ini
ditentukan oleh event /peristiwa seperti sensor keluaran atau tindakan pengguna (mouse
klik, tombol yang ditekan) atau pesan dari program lain.
Konsep event-driven yaitu suatu program yang pengeksekusiannya didasarkan atas
kejadian (event) tertentu. Kejadian-kejadian itu sendiri, mempunyai kode program sendiri
yang disimpan dalam sebuah fungsi (yang dirancang untuk melaksanakan tugas khusus).
Pada dasarnya, konsep pemrograman visual ini sama dengan pemrograman procedural,
yaitu pemrograman yang memiliki input, proses dan output. Namun, ada satu
penambahan yang berbeda, yaitu konsep pemilihan untuk mengeksekusi proses
programnya. Konsep inilah yang digunakan untuk menjalankan eventnya. C++ Builder.
14
2.7 Visual Basic for Application (VBA) with Microsot Excel 2013
VBA with Microsoft Excel 2013 adalah sebuah bahasa pemograman yang dibuat oleh
Microsoft yang terintegrasi oleh Microsoft Office 2013 dan dapat digunakan untuk
meningkatkan kemampuan aplikasi itu sendiri.
2.7.1 Visual Basic for Application
Microsoft Visual Basic for Applications (VBA) adalah sebuah turunan bahasa
pemrograman Visual Basic yang dikembangkan oleh Microsoft, atau kombinasi yang
terintegrasi antara lingkungan pemrograman (Visual Basic Editor) dengan bahasa
pemrograman (Visual Basic) yang memudahkan user untuk mendesain dan membangun
program Visual Basic dalam aplikasi utama Microsoft Office yang ditujukan untuk
aplikasi-aplikasi tertentu.
2.7.2 Microsoft Excel 2013
Microsoft Excel 2013 adalah aplikasi spreadsheet canggih yang bisa digunakan untuk
menampilkan data, melakukan pengolahan data, kalkulasi, membuat diagram, laporan,
dan semua hal yang berkaitan dengan data yang berupa angka. Contoh aplikatif dari
penggunaan spreadsheet dalam kehidupan sehari-hari misalnya untuk keperluan sebagai
berikut:
1. Menghitung rata-rata atau nilai maksimum suatu data.
2. Membuat sebuah grafik yang memperlihatkan persentasi suatu penjualan dalam range
tertentu.
3. Memperlihatkan jumlah total suatu variable.
4. Memanajemen suatu database.
5. Terintegrasi dengan penyimpanan online Microsoft yaitu SkyDrive.
2.7.2.1 Macro Excel 2013
Macro merupakan rangkaian perintah-perintah dan fungsi yang tersimpan dalam
modul Visual Basic Editor dan dapat dijalankan sewaktu-waktu guna mengotomatisasi
pekerjaan dalam Microsoft Excel.
2.7.2.1.1 Perekaman Macro
Beberapa langkah untuk merekam macro antara lain :
1. Pilih tab menu Tools > Macro. Kemudian klik Record New Macro untuk menampilkan
kotak dialog Record Macro.
15
Gambar 2.15 Perekaman Macro
Sumber: Lee (2013)
2. Masukkan nama dari macro yang akan dibuat pada kotak teks Macro Name
3. Keterangan yang tertulis pada kotak teks Description secara otomatis akan dibuat oleh
Excel. Jika nama tidak sesuai dapat diganti dengan nama pembuat macro.
4. Untuk memulai merekam, maka klik OK. Kemudian lakukan perhitungan yang ingin
dilakukan. Excel akan merekam semua aksi yang dilakukan.
5. Jika sudah selesai, klik Tools> Macro> Stop Recording untuk menghentikan
perekaman.
2.7.2.1.2 Macro dengan VBE
Macro dengan VBE adalah kumpulan command dan procedure untuk melakukan tugas
tertentu dan disimpan dalam bentuk koding pada modul pada VBE, yang dimana VBE itu
sendiri adalah tempat membuat macro. Di dalam VBE kita juga dapat mengedit dan
menghapus macro. Bahasa yang digunakan dalam VBE adalah bahasa Visual Basic.
16
BAB III HASIL DAN PEMBAHASAN
3.1 Deskripsi Program
Sebuah program VBA berbasis Excel 2013 untuk memudahkan pekerjaan pada
bidang Pet Shop. Program ini tentang penjualan makanan hewan, aksesoris hewan dan
jasa hewan peliharaan. Hewan-hewan yang ada di Pet Shop ini meliputi berbagai jenis
anjing, kucing dan reptile. Di Pet Shop ini jasa yang diberikan kepada pelanggan untuk
hewan peliharaannya adalah mandi dan perawatan untuk hewan kucing dan anjing, serta
vaksin untuk hewan kucing, anjing dan reptil.
Program ini ditujukan untuk masyarakat yang ingin mengelola Pet Shop , agar dalam
pengelolaannya menjadi lebih mudah. Di dalam program ini terdapat berbagai macam
transaksi, meliputi transaksi masuk, transaksi keluar, transaksi jasa, persediaan dan jurnal
harian. Program ini juga membantu admin dalam hal mempermudah melihat persediaan,
keuntungan atau kerugian yang didapat dan kalkulasi uang kembalian.
Transaksi masuk merupakan tempat untuk mencatat transaksi saat ada pembeli
yang membeli barang di “ICL XXVII Pet Shop”. Saat pembeli ingin melakukan transaksi
masuk, admin membuka menu transaksi masuk. Kemudian memilih barang yang
diinginkan pelanggan dan memasukkan kuantitasnya. Submit data tersebut dan kalkulasi.
Setelah kalkulasi, print struknya.
Transaksi jasa untuk mencatat transaksi saat ada pembeli yang menggunakan jasa di
“ICL XXVII Pet Shop”. Sistem kerja dari transaksi jasa ini sama dengan transaksi masuk,
hanya saja dalam kolom “Nama Persediaan” yang muncul adalah jenis jasa yang ingin
digunakan.
Transaksi keluar untuk mencatat transaksi saat pembelian barang untuk stok di “ICL
XXVII Pet Shop”. Sistem kerja dari transaksi keluar ini sama dengan transaksi masuk dan
transaksi jasa, hanya saja tidak menggunakan struk.
Selain dari transaksi-transaksi tersebut, di dalam program ini juga terdapat menu
persediaan dan jurnal. Menu persediaan tersebut merupakan tempat untuk melihat
jumlah persediaan dari barang. Jika sewaktu-waktu barang yang ada di “ICL XXVII Pet
Shop” habis, dapat ditambah dengan mudah. Di dalam menu persediaan ini terdapat “form
item baru” yang digunakan untuk menambah jenis hewan baru.
Jurnal yang merupakan tempat pencatatan semua transaksi, dari transaksi masuk,
transaksi keluar dan transaksi jasa. Di dalam jurnal ini admin dapat dengan mudah
melihat apakah Pet Shop yang dikelolanya mendapat laba atau rugi.
17
3.2 Algoritma Program
Berikut ini akan dijelaskan tentang algoritma program yang telah dibuat dalam
memudahkan pekerjaan pada bidang Pet Shop.
1. Mulai.
2. Jika ingin melakukan transaksi masuk, lanjut kelangkah 3, jika tidak ingin melakukan
transaksi masuk maka lanjut kelangkah 9.
3. Jika ingin melakukan transaksi, lanjut kelangkah 4, jika tidak lanjut kelangkah 14.
4. Input data transaksi.
5. Pilih barang dan kuantitas.
6. Jika stok tersedia lanjut kelangkah 7, jika tidak kembali kelangkah 5.
7. Melakukan kalkulasi.
8. Print struk.
9. Jika ingin menambah stock barang baru maka lanjut kelangkah 10, jika tidak lanjut
kelangkah 11.
10. Daftarkan item baru.
11. Input-kan data transaksi.
12. Pilih barang dan kuantitas.
13. Melakukan kalkulasi.
14. Jika ingin melakukan transaksi jasa, inputkan data transaksi jasa.
15. Pilih jasa dan kuantitas.
16. Melakukan kalkulasi.
17. Print struk transaksi jasa.
18. Inputkan semua ketransaksi ke jurnal.
19. Melakukan update stok.
20. Selesai.
18
3.3 Diagram Alir Program
Adapun diagram alir program dapat dilihat pada gambar berikut:
Gambar 3.1 Digram Alir Program
19
3.4 User Interface
Berikut merupakan user interface program yang telah dibuat:
1. User Interface Home Password
Gambar 3.2 User interface Home Password
2. User Interface Home
Gambar 3.3 User interface Home
3. User Interface Jurnal
Gambar 3.4 User Interface Jurnal
20
4. User Interface Transaksi Masuk
Gambar 3.5 User Interface Transaksi Masuk
5. User Interface Transaksi Keluar
Gambar 3.6 User Interface Transaksi Keluar
6. User Interface Transaksi Jasa
Gambar 3.7 User Interface Transaksi Jasa
21
7. User Interface Transaksi Stock
Gambar 3.8 User Interface Transaksi Stock
8. User Interface Stock Form
Gambar 3.9 User Interface Stock Form
9. User Inteface Struk Barang
Gambar 3.10 User Interface Struk Barang
22
10. User Interface Struk Jasa
Gambar 3.11 User Interface Struk Jasa
11. User Interface Struk Form
Gambar 3.12 User Interface Struk Jasa
12. User Interface Struk Print
Gambar 3.12 User Interface Struk Print
23
3.5 Listing Kode Program
Berikut merupakan listing kode pada program yang telah dibuat:
1. Modul 1
Sub stok()
'Buka userform1
UserForm1.Show
End Sub
Private Sub Auto_Open()
'Buka Userform4
UserForm4.Show
End Sub
Sub Jurnal()
' Buka Sheet Jurnal
Protect_jurnal
Sheets("JURNAL").Select
End Sub
Sub T_masuk()
' Buka Sheet Transaksi Masuk
Protect_TransMasuk
Sheets("TRANSAKSI MASUK").Select
End Sub
Sub T_Jasa()
' Buka Sheet Transaksi Jasa
Protect_Transjasa
Sheets("TRANSAKSI JASA").Select
End Sub
Sub T_keluar()
' Buka Sheet Transaksi Keluar
Protect_TransKeluar
Sheets("TRANSAKSI KELUAR").Select
End Sub
Sub Stock_()
' Buka Sheet Stok
Protect_Stok
Sheets("STOK").Select
End Sub
Sub hal_Struk()
24
' Buka Sheet Struk Barang
Sheets("Struk").Select
UserForm2.Show
End Sub
Sub hal_Strukjasa()
' Buka Sheet Struk Barang
Sheets("Struk jasa").Select
UserForm6.Show
End Sub
Sub keHalaman_AWAL()
' Buka Sheet home
Protect_home
Sheets("HOME").Select
End Sub
2. Modul 2
Sub Protect_Jurnal()
Sheets("Jurnal").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_jurnal()
Sheets("jurnal").Unprotect Password = "icl27"
End Sub
Sub Protect_home()
Sheets("home").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_home()
Sheets("home").Unprotect Password = "icl27"
End Sub
Sub Protect_Stok()
Sheets("Stok").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_stok()
Sheets("stok").Unprotect Password = "icl27"
End Sub
25
Sub Protect_TransMasuk()
Sheets("Transaksi Masuk").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_TransMasuk()
Sheets("Transaksi Masuk").Unprotect Password = "icl27"
End Sub
Sub Protect_TransKeluar()
Sheets("Transaksi Keluar").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_Transkeluar()
Sheets("Transaksi Keluar").Unprotect Password = "icl27"
End Sub
Sub Protect_Transjasa()
Sheets("Transaksi Jasa").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_TransJasa()
Sheets("Transaksi Jasa").Unprotect Password = "icl27"
End Sub
Sub Protect_Struk()
Sheets("struk").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_struk()
Sheets("struk").Unprotect Password = "icl27"
End Sub
Sub Protect_Strukjasa()
Sheets("Struk jasa").Protect Password = "icl27",_
DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub Unprotect_StrukJasa()
Sheets("Struk Jasa").Unprotect Password = "icl27"
End Sub
26
3. Modul 3
Function NextTrans(LastTrans As String) As String
Dim HeaderPart, NumberPart As String
Dim TotalLength, NumberLength As Long
Dim LastNumber, NextNumber As Long
TotalLength = Len(LastTrans)
NumberLength = TotalLength - 3
HeaderPart = Left(LastTrans, 3)
NumberPart = Right(LastTrans, NumberLength)
LastNumber = Val(NumberPart)
NextNumber = LastNumber + 1
NumberPart = Str(NextNumber)
NumberPart = Mid(NumberPart, 2, Len(NumberPart) - 1)
Do While Len(NumberPart) < NumberLength
NumberPart = "0" + NumberPart
Loop
NextTrans = HeaderPart + NumberPart
End Function
Function FindLastTrans_Masuk() As String
Dim i As Long
Dim DetectedTrans, SuspectedLast As String
SuspectedLast = "TM-00000"
i = 6
Do While Sheets("Buku Besar").Cells(i, 1).Text <> ""
DetectedTrans = Sheets("Buku Besar").Cells(i, 1).Text
If Left(DetectedTrans, 3) = "TM-" Then
SuspectedLast = DetectedTrans
End If
i = i + 1
Loop
FindLastTrans_Masuk = SuspectedLast
End Function
Function FindLastTrans_Keluar() As String
Dim i As Long
Dim DetectedTrans, SuspectedLast As String
SuspectedLast = "TK-00000"
i = 6
27
Do While Sheets("Buku Besar").Cells(i, 1).Text <> ""
DetectedTrans = Sheets("Buku Besar").Cells(i, 1).Text
If Left(DetectedTrans, 3) = "TK-" Then
SuspectedLast = DetectedTrans
End If
i = i + 1
Loop
FindLastTrans_Keluar = SuspectedLast
End Function
Function FindLastTrans_Jasa() As String
Dim i As Long
Dim DetectedTrans, SuspectedLast As String
SuspectedLast = "TJ-00000"
i = 6
Do While Sheets("Buku Besar").Cells(i, 1).Text <> ""
DetectedTrans = Sheets("Buku Besar").Cells(i, 1).Text
If Left(DetectedTrans, 3) = "TJ-" Then
SuspectedLast = DetectedTrans
End If
i = i + 1
Loop
FindLastTrans_Jasa = SuspectedLast
End Function
Function Sekarang() As Date
Sekarang = Date
End Function
Public Function CekTextBox(obj As Variant) As Boolean
Dim i As Long
CekTextBox = True
For i = 0 To UBound(obj)
If obj(i).Text = "" Then
If obj(i).Enabled Then
obj(i).SetFocus
End If
MsgBox "Data Harus Terisi Semua", vbInformation,_
"Informasi"
CekTextBox = False
28
Exit Function
End If
Next i
End Function
4. Modul 4
Sub BukaTrans_Masuk()
If Sheets("Transaksi Masuk").Range("C3").Text <> "" Then
Exit Sub
End If
HapusTrans_Masuk
Unprotect_TransMasuk
' Tampilkan Nomor Transaksi Masuk
Sheets("Transaksi Masuk").Range("C3").Value = _
NextTrans(FindLastTrans_Masuk)
' Tampilkan Tanggal Sekarang
Sheets("Transaksi Masuk").Range("C4").Value = Sekarang _
Protect_TransMasuk
End Sub
Sub HapusTrans_Masuk()
'Hapus Di Transaksi Masuk
Sheets("Transaksi Masuk").Range("b7:b38").ClearContents
Sheets("Transaksi Masuk").Range("E7:E38").ClearContents
End Sub
Sub SubmitTrans_Masuk()
Unprotect_TransMasuk
Unprotect_Jurnal
Dim JurnalLine, TransLine As Long
Dim NoTrans As String
Dim Tanggal As Date
If Sheets("Transaksi Masuk").Range("C3").Text = "" Then
Exit Sub
End If
NoTrans = Sheets("Transaksi Masuk").Range("C3").Text
Tanggal = Sheets("Transaksi Masuk").Range("C4").Value
' Tempat Line Terisi Di Jurnal
JurnalLine = 6
29
Do While Sheets("Jurnal").Cells(JurnalLine, 1)._
Text <> ""
JurnalLine = JurnalLine + 1
Loop
TransLine = 7
Do While Sheets("Transaksi Masuk").Cells(TransLine,_
1).Text <> ""
' Tampilkan No Transaksi Di Jurnal
Sheets("Jurnal").Cells(Jurnal, 1).Value = _ NoTrans
' Tamplikan Tanggal Di Jurnal
Sheets("Jurnal").Cells(JurnalLine, 2).Value = _
Tanggal
' Tamplikan Kode Barang Di Jurnal
Sheets("Jurnal").Cells(JurnalLine, 3).Value = _
Sheets("Transaksi Masuk").Cells(TransLine, 1).Value
' Tamplikan Nama Barang Di Jurnal
Sheets("Jurnal").Cells(JurnalLine, 4).Value = _
Sheets("Transaksi Masuk").Cells(TransLine, 2).Value
' Tampilkan Kuantitas Di Jurnal (-)
Sheets("Jurnal").Cells(JurnalLine, 5).Value = _
Abs(Sheets("Transaksi Masuk").Cells(TransLine,_
5).Value)
' Tamplikan Harga Di Jurnal (+)
Sheets("Buku Besar").Cells(BukuBesarLine, 6).Value = _
Abs(Sheets("Transaksi Masuk").Cells(TransLine, 6).Value)_
TransLine = TransLine + 1
JurnalLine = JurnalLine + 1
Loop
Strukbarang
HapusTrans_Masuk
' Hapus Nomor Transaksi Di Transaksi Masuk
Sheets("Transaksi Masuk").Range("C3:F3").ClearContents
' Hapus Tanggal Di Transaksi Masuk
Sheets("Transaksi Masuk").Range("C4:F4").ClearContents
MsgBox "Transaksi Berhasil", vbInformation, "Informasi"
Protect_TransMasuk
Protect_Jurnal
30
hal_Struk
End Sub
Sub CancelTrans_Masuk()
HapusTrans_Masuk
' Hapus Nomor Transaksi Di Transaksi Masuk
Unprotect_TransMasuk
Sheets("Transaksi Masuk").Range("C3:F3").ClearContents
' Hapus Tanggal Di Transaksi Masuk
Sheets("Transaksi Masuk").Range("C4:F4").ClearContents _
MsgBox "Transaksi Dibatalkan", vbInformation, "Informasi"
Protect_TransMasuk
End Sub
Sub BukaTrans_Keluar()
If Sheets("Transaksi Keluar").Range("C3").Text <> "" Then
Exit Sub
End If
HapusTrans_Keluar
Unprotect_Transkeluar
' Tampilkan Nomor Transaksi Keluar
Sheets("Transaksi Keluar").Range("C3").Value = _
NextTrans(FindLastTrans_Keluar)
' Tampilkan Tanggal Sekarang
Sheets("Transaksi Keluar").Range("C4").Value = Sekarang _
Protect_TransKeluar
End Sub
Sub HapusTrans_Keluar()
'Hapus Di Transaksi Keluar
Sheets("Transaksi Keluar").Range("B7:B38").ClearContents
Sheets("Transaksi Keluar").Range("E7:E38").ClearContents
End Sub
Sub SubmitTrans_Keluar()
Unprotect_Transkeluar
Unprotect_Jurnal
Dim JurnalLine, TransLine As Long
Dim NoTrans As String
Dim Tanggal As Date
If Sheets("Transaksi Keluar").Range("C3").Text = "" Then_
31
Exit Sub
End If
NoTrans = Sheets("Transaksi Keluar").Range("C3").Text
Tanggal = Sheets("Transaksi Keluar").Range("C4").Value
' Tempat Line Terisi Di Buku Besar
BukuBesarLine = 6
Do While Sheets("Buku Besar").Cells _
(BukuBesarLine,1).Tex <> ""
JurnalLine = JurnalLine + 1
Loop
TransLine = 7
Do While Sheets("Transaksi Keluar").Cells(TransLine, _
1).Text <> ""
' Tampilkan No Transaksi Di Jurnal
Sheets("Jurnal").Cells(JurnalLine, 1).Value =_ NoTrans
' Tamplikan Tanggal Di Jurnal
Sheets("Jurnal").Cells(JurnalLine, 2).Value = _
Tanggal
' Tamplikan Kode Barang Di Jurnal
Sheets("Jurnal").Cells(JurnalLine, 3).Value =_
Sheets("Transaksi Keluar").Cells(TransLine, 1).Value
' Tamplikan Nama Barang Di Jurnal
Sheets("Jurnal").Cells(JurnalLine, 4).Value =_
Sheets("Transaksi Keluar").Cells(TransLine, 2).Value
' Tampilkan Kuantitas Di Jurnal(+)
Sheets("Jurnal").Cells(JurnalLine, 5).Value = _
Abs(Sheets("Transaksi Keluar").Cells(TransLine,_
5).Value)
' Tamplikan Harga Di Jurnal (-)
Sheets("Buku Besar").Cells(BukuBesarLine, 6).Value =_
Abs(Sheets("Transaksi Keluar").Cells(TransLine, 6).Value)
TransLine = TransLine + 1
BukuBesarLine = BukuBesarLine + 1
Loop
HapusTrans_Keluar
' Hapus Nomor Transaksi Di Transaksi keluar
Sheets("Transaksi Keluar").Range("C3:F3").ClearContents
32
' Hapus Tanggal Di Transaksi Keluar
Sheets("Transaksi Keluar").Range("C4:F4").ClearContents
MsgBox "Transaksi Berhasil", vbInformation, "Informasi"_
Protect_TransKeluar
Protect_BukuBesar
End Sub
Sub CancelTrans_Keluar()
HapusTrans_Keluar
' Hapus Nomor Transaksi Di Transaksi Keluar
Unprotect_Transkeluar
Sheets("Transaksi Keluar").Range("C3:F3").ClearContents
' Hapus Tanggal Di Transaksi Keluar
Sheets("Transaksi Keluar").Range("C4:F4").ClearContents
MsgBox "Transaksi Dibatalkan", vbInformation, "Informasi"
Protect_TransKeluar
End Sub
Sub BukaTrans_Jasa()
If Sheets("TRANSAKSI Jasa").Range("C3").Text <> "" Then _
Exit Sub
End If
HapusTrans_Jasa
Unprotect_TransJasa
' Tampilkan Nomor Transaksi Jasa
Sheets("TRANSAKSI JASA").Range("C3").Value = _
NextTrans(FindLastTrans_Jasa)
' Tampilkan Tanggal Sekarang
Sheets("TRANSAKSI Jasa").Range("C4").Value = Sekarang _
Protect_Transjasa
End Sub
Sub HapusTrans_Jasa()
'Hapus Di Transaksi Keluar
Sheets("Transaksi Jasa").Range("B7:B38").ClearContents
Sheets("Transaksi Jasa").Range("C7:C38").ClearContents
End Sub
Sub SubmitTrans_Jasa()
Unprotect_TransJasa
Unprotect_BukuBesar
33
Dim BukuBesarLine, TransLine As Long
Dim NoTrans As String
Dim Tanggal As Date
If Sheets("Transaksi Jasa").Range("C3").Text = "" Then
Exit Sub
End If
NoTrans = Sheets("Transaksi Jasa").Range("C3").Text
Tanggal = Sheets("Transaksi Jasa").Range("C4").Value
' Tempat Line Terisi Di Buku Besar
BukuBesarLine = 6
Do While Sheets("Buku Besar").Cells(BukuBesarLine,1).Text_
<> ""
BukuBesarLine = BukuBesarLine + 1
Loop
TransLine = 7
Do While Sheets("Transaksi Jasa").Cells(TransLine,1).Text_
<> ""
' Tampilkan No Transaksi Di Buku Besar
Sheets("Buku Besar").Cells(BukuBesarLine,1).Value= _
NoTrans
' Tamplikan Tanggal Di Buku Besar
Sheets("Buku Besar").Cells(BukuBesarLine, 2).Value = _
Tanggal
' Tamplikan Kode Jasa Di Buku Besar
Sheets("Buku Besar").Cells(BukuBesarLine, 3).Value = _
Sheets("Transaksi Jasa").Cells(TransLine, 1).Value
' Tamplikan Nama Jasa Di Buku Besar
Sheets("Buku Besar").Cells(BukuBesarLine, 4).Value = _
Sheets("Transaksi Jasa").Cells(TransLine, 2).Value
' Tampilkan Kuantitas Di Buku Besar (+)
Sheets("Buku Besar").Cells(BukuBesarLine, 5).Value = _
Abs(Sheets("Transaksi Jasa").Cells(TransLine,
3).Value)
' Tamplikan Harga Di Buku Besar (+)
Sheets("Buku Besar").Cells(BukuBesarLine, 6).Value = _
Abs(Sheets("Transaksi Jasa").Cells(TransLine, 5).Value)_
TransLine = TransLine + 1
34
BukuBesarLine = BukuBesarLine + 1
Loop
StrukJasa
HapusTrans_Jasa
' Hapus Nomor Transaksi Di Transaksi Jasa
Sheets("Transaksi jasa").Range("C3:F3").ClearContents
' Hapus Tanggal Di Transaksi Jasa
Sheets("Transaksi Jasa").Range("C4:F4").ClearContents
MsgBox "Transaksi Berhasil", vbInformation, "Informasi"
Protect_Transjasa
Protect_BukuBesar
hal_Strukjasa
End Sub
Sub CancelTrans_Jasa()
HapusTrans_Jasa
' Hapus Nomor Transaksi Di Transaksi Jasa
Unprotect_TransJasa
Sheets("Transaksi jasa").Range("C3:F3").ClearContents
' Hapus Tanggal Di Transaksi Jasa
Sheets("Transaksi Jasa").Range("C4:F4").ClearContents
MsgBox "Transaksi Dibatalkan", vbInformation, "Informasi"
Protect_Transjasa
End Sub
Sub Strukbarang()
Dim BukuBesarLine, TransLine As Long
Dim NoTrans As String
Dim Tanggal As Date
If Sheets("Transaksi masuk").Range("C3").Text = "" Then
Exit Sub
End If
NoTrans = Sheets("Transaksi Masuk").Range("C3").Text
Tanggal = Sheets("Transaksi Masuk").Range("C4").Value
' Tamplikan Tanggal Di Struk Barang
If Sheets("Transaksi Masuk").Range("A7").Text <> "" Then_
Sheets("struk").Cells(6, 3).Value = Tanggal
End If
' Tampilkan No Transaksi Di Struk Barang
35
If Sheets("Transaksi Masuk").Range("A7").Text <> "" Then_
Sheets("struk").Cells(7, 3).Value = NoTrans
End If
' Tempat Line Terisi Di Struk Barang
strukline = 10
Do While Sheets("struk").Cells(strukline, 1).Text <> _
""
strukline = strukline + 1
Loop
TransLine = 7
Do While Sheets("Transaksi Masuk").Cells(TransLine,_
1).Text <> ""
' Tamplikan Kode Barang Di Struk Barang
Sheets("struk").Cells(strukline, 1).Value = _
Sheets("Transaksi Masuk").Cells(TransLine, 1).Value
' Tamplikan Nama Barang Di Struk Barang
Sheets("struk").Cells(strukline, 2).Value =_
Sheets("Transaksi Masuk").Cells(TransLine, 2).Value
' Tampilkan Kuantitas Di Struk Barang (+)
Sheets("struk").Cells(strukline, 4).Value = _
Abs(Sheets("Transaksi Masuk").Cells(TransLine, 5).Value)
TransLine = TransLine + 1
strukline = strukline + 1
Loop
End Sub
Sub StrukJasa()
Dim BukuBesarLine, TransLine As Long
Dim NoTrans As String
Dim Tanggal As Date
If Sheets("Transaksi Jasa").Range("C3").Text = "" Then
Exit Sub
End If
NoTrans = Sheets("Transaksi Jasa").Range("C3").Text
Tanggal = Sheets("Transaksi Jasa").Range("C4").Value
' Tamplikan Tanggal Di Struk Jasa
If Sheets("Transaksi Jasa").Range("A7").Text <> "" Then
Sheets("struk jasa").Cells(6, 3).Value = Tanggal
36
End If
' Tampilkan No Transaksi Di Struk Jasa
If Sheets("Transaksi Jasa").Range("A7").Text <> "" Then
Sheets("struk jasa").Cells(7, 3).Value = NoTrans
End If
' Tempat Line Terisi Di Struk Jasa
strukline = 10
Do While Sheets("struk jasa").Cells(strukline, 1).Text _
<> ""
strukline = strukline + 1
Loop
TransLine = 7
Do While Sheets("Transaksi Jasa").Cells(TransLine, _
1).Text <> ""
' Tamplikan Kode Jasa Di Struk Jasa
Sheets("struk jasa").Cells(strukline, 1).Value=_
Sheets("Transaksi jasa").Cells(TransLine, 1).Value
' Tamplikan Nama Jasa Di Struk Jasa
Sheets("struk jasa").Cells(strukline, 2).Value=_
Sheets("Transaksi jasa").Cells(TransLine, 2).Value
' Tampilkan Kuantitas Di Struk Jasa (+)
Sheets("struk jasa").Cells(strukline, 4).Value =_
Abs(Sheets("Transaksi jasa").Cells(TransLine,_
3).Value)
TransLine = TransLine + 1
strukline = strukline + 1
Loop
End Sub
Sub S_KodeBarang()
' Sort Stok
Unprotect_stok
ActiveWindow.SmallScroll Down:=0
Range("A5:F38").Select
ActiveWorkbook.Worksheets("STOK").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("STOK").Sort.SortFields.Add
Key:=Range("B6:B38"), _
37
SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("STOK").Sort
.SetRange Range("A5:F38")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Protect_Stok
End Sub
5. Form 1
Private Sub CommandButton1_Click()
Unprotect_stok
If Not CekTextBox(Array(TextBox1, TextBox2, TextBox3,
TextBox4, TextBox5)) Then
Else
Dim i As Integer
i = 6
While ThisWorkbook.Worksheets("STOK").Range("A" & i).Value<>_
""
i = i + 1
Wend
ThisWorkbook.Worksheets("STOK").Range("A" & i).Value =_
TextBox1.Value
ThisWorkbook.Worksheets("STOK").Range("B" & i).Value =_
TextBox2.Value
ThisWorkbook.Worksheets("STOK").Range("C" & i).Value =_
TextBox3.Value
ThisWorkbook.Worksheets("STOK").Range("D" & i).Value =_
TextBox4.Value
ThisWorkbook.Worksheets("STOK").Range("E" & i).Value =_
TextBox5.Value
TextBox1.Value = ""
TextBox2.Value = ""
38
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
Protect_Stok
End If
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As_
MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As_
MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
6. Form 2
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
MsgBox "Anda Belum Memasukan Pembayaran", 16 + _
vbInformation, "Informasi"
Else
ThisWorkbook.Worksheets("Struk").Range("E18").Value =_
TextBox1.Value
Unload UserForm2
39
Unload Me
If Sheets("Struk").Range("E18").Text <> "" Then
Sheets("struk").Range("E19").Value = Range("E18") _
Range("E17")
End If
Sheets("Struk").PrintPreview
Sheets("struk").Range("a10:a16").ClearContents
Sheets("struk").Range("d10:d16").ClearContents
Sheets("struk").Range("b10:b16").ClearContents
Sheets("struk").Range("e18:e19").ClearContents
Sheets("struk").Range("C6:C7").ClearContents
Sheets("Home").Activate
End If
End Sub
Private Sub CommandButton2_Click()
Label5.Caption = Val(TextBox1.Value) - Val(Label3.Caption)
End Sub
Private Sub Label4_Click()
End Sub
Private Sub Label5_Click()
End Sub
Private Sub UserForm_Activate()
Label3.Caption = Sheets("struk").Range("E17")
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As_
MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
Label5.Caption = ""
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode_
As Integer)
40
If CloseMode <> 1 Then Cancel = True
End Sub
7. Form 4
Private Sub CommandButton1_Click()
If TextBox1 = "icl27" Then
Unload UserForm4
Else
MsgBox "Password Anda Tidak Valid", 16 + vbInformation,
"Informasi"
End If
End Sub
Private Sub CommandButton2_Click()
Application.ActiveWorkbook.Close savechanges = True
End Sub
Private Sub Label2_Click()
End Sub
Private Sub Label3_Click()
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode_
As Integer)
If CloseMode <> 1 Then Cancel = True
End Sub
8. Form 6
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then
MsgBox "Anda Belum Memasukan Pembayaran", 16 + _
vbInformation, "Informasi"
Else
ThisWorkbook.Worksheets("Struk jasa").Range("E18").Value = _
TextBox1.Value
Unload UserForm6
Unload Me
If Sheets("Struk jasa").Range("E18").Text <> "" Then
Sheets("struk jasa").Range("E19").Value = Range("E18")_
Range("E17")
41
End If
Sheets("Struk jasa").PrintPreview
Sheets("struk jasa").Range("a10:a16").ClearContents
Sheets("struk jasa").Range("d10:d16").ClearContents
Sheets("struk jasa").Range("b10:b16").ClearContents
Sheets("struk jasa").Range("e18:e19").ClearContents
Sheets("struk jasa").Range("C6:C7").ClearContents
Sheets("Home").Activate
End If
End Sub
Private Sub CommandButton2_Click()
Label5.Caption = Val(TextBox1.Value) - Val(Label3.Caption)
End Sub
Private Sub Label3_Click()
End Sub
Private Sub Label4_Click()
End Sub
Private Sub Label5_Click()
End Sub
Private Sub UserForm_Activate()
Label3.Caption = Sheets("struk jasa").Range("E17")
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
Label5.Caption = ""
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode_
As Integer)
If CloseMode <> 1 Then Cancel = True
End Sub
42
3.6 Cara Kerja Program
Berikut ini akan dijelaskan tentang cara kerja progam yang telah dibuat:
1. Buka program “ICL XXVII Pet Shop”, kemudian muncul form login untuk konfirmasi
akses masuk. Masukan password pada textbox yang terdapat pada form login. Jika
password salah maka tidak bisa masuk, dan jika benar akan masuk ke sheet “Home”.
2. Kemudian akan muncul 5 pilihan menu yaitu menu stok, transaksi keluar, transaksi
masuk, transaksi jasa, dan buku besar.
Fungsi dari 5 menu yang terdapat pada sheet “Home” yaitu :
a. Stok sebagai database yang bisa diambil sewaktu waktu dan jumlah kuantitas bisa
berubah sesuai transaksi masuk dan transaksi keluar.
b. Transaksi Keluar untuk mencatat transaksi saat pembelian barang untuk stok.
c. Transaksi Masuk untuk mencatat transaksi saat ada pembeli yang membeli barang
di “ICL XXVII Pet Shop”
d. Transaksi Jasa untuk mencatat transaksi saat ada pembeli yang menggunakan jasa
di “ICL XXVII Pet Shop”.
e. Jurnal untuk mencatat semua transaksi, sehingga terlihat apakah mendapatkan laba
atau malah rugi.
2. Admin memilih transaksi barang atau jasa sesuai permintaan pelanggan. Jika memilih
transaksi barang, akan masuk ke transaksi masuk. Untuk melakukan transaksi masuk
pilih menu transaksi baru pada sheet “transaksi masuk”, lalu pilih barang yang telah
tersedia di list dan tentukan jumlah barang yang akan dijual. Jika stok tidak tersedia
maka akan keluar peringatan stok habis. Jika salah memilih barang, pilih hapus, namun
jika ingin membatalkan transaksi pilih cancel. Jika barang sudah dikonfirmasi pilih
submit lalu data secara otomatis akan tersimpan pada buku besar dan masuk pada
sheet struk.
3. Jika pelanggan ingin menggunakan jasa, maka pilih menu transaksi jasa. Untuk
melakukan transaksi jasa pilih menu transaksi baru, lalu pilih jasa yang telah tersedia
di list dan tentukan kuantitas jasa yang dipilih. Jika salah memilih jasa, pilih hapus,
namun jika ingin membatalkan transaksi pilih cancel. Jika jasa sudah dikonfirmasi pilih
submit lalu data secara otomatis akan tersimpan pada jurnal dan masuk ke sheet struk.
4. Setelah semua barang atau jasa yang dipilih telah di submit, akan masuk ke sheet struk.
Kemudian inputkan jumlah uang yang dibayarkan oleh pelanggan dan dikurangi
dengan total pembelian barang atau jasa. Setelah melakukan kalkulasi, print struk.
5. Jika transaksi masuk dilakukan, secara otomatis stok yang terdapat pada menu stok
akan berkurang. Ketika stok berkurang dan admin ingin menambahkan stoknya maka
akan masuk ke transaksi keluar.
43
6. Untuk melakukan transaksi keluar pilih menu transaksi baru, lalu pilih barang yang
telah tersedia di list dan tentukan jumlah barang yang akan dibeli. Jika salah memilih
barang, pilih hapus, namun jika ingin membatalkan transaksi pilih cancel. Jika barang
sudah dikonfirmasi pilih submit lalu data secara otomatis akan tersimpan pada buku
jurnal.
7. Untuk melihat rekapan dari semua transaksi yang dilakukan dan melihat keuntungan
atau kerugian dapat melihat pada buku jurnal.
44
BAB IV PENUTUP
4.1 Kesimpulan
Adapun kesimpulan yang didapat dari praktikum pemrograman ini adalah:
1. Algoritma adalah urutan perintah atau langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis dan logis. Algoritma sering memerlukan keputusan
(logika Boolean dan perbandingan) sampai tugasnya selesai. Sedangkan flowchart
adalah penggambaran secara grafik (simbol) dari langkah-langkah dan urutan
prosedur dari penyelesaian suatu masalah atau program. Dengan adanya flowchart,
dapat menghasilkan pemecahan masalah ke dalam segmen-segmen kecil dan
membantu dalam menganalisis alternatif lain dalam pengoperasian. Flowchart
mempermudah penyelesaian suatu masalah.
2. Data flow diagram (DFD) digunakan untuk menggambarkan suatu sistem yang telah
ada atau sistem yang baru akan dikembangkan secara logika dan menjelaskan arus data
dari mulai pemasukan sampai dengan keluaran data. Tingkatan diagram arus data
dimulai dari diagram yang menjelaskan secara umum suatu sistem dari level 0
dikembangkan lagi menjadi level 1 sampai sistem tergambarkan secara rinci (level 2).
3. Program Pet Shop memiliki beberapa fungsi yang dapat digunakan oleh user yaitu
transaksi masuk, transaksi keluar, transaksi jasa, persediaan (stock) dan jurnal.
Transaksi masuk digunakan untuk transaksi yang dilakukan antara pelanggan dan
administrator Pet Shop, transaksi keluar digunakan untuk melakukan pembelian stock,
transaksi jasa digunakan untuk melakukan pembelian jasa, persediaan digunakan
untuk memberitahukan kepada user mengenai stock yang tersisa dan jurnal adalah
tempat untuk mengelolah semua keuangan yang keluar dan masuk sehingga dapat
mengetahui untung atau rugi yang didapat. Dengan fungsi-fungsi tersebut, user akan
mampu melakukan pengolahan data dengan lebih mudah dan lebih teliti.
4. User interface yang menarik dan user friendly dapat memberikan nilai lebih bagi user.
Dengan user interface yang menarik dan mudah dipahami, user akan lebih mudah
dalam mengoperasikan program dan tidak akan bosan dengan user interface program
Pet Shop ini dibanding user interface program lain yang cenderung kurang menarik.
4.2 Saran
Adapun saran yang dapat diberikan terhadap praktikum pemrograman ini adalah:
1. Untuk pengembangan program selanjutnya dapat dilakukan penyesuaian harga lagi
dengan turut memasukkan biaya upah bagi karyawan dalam proses perhitungan
keuangan.
45
2. Perlu dilakukannya penyesuaian harga untuk hewan-hewan yang mempunyai umur
dan ukuran yang berbeda sehingga program selanjutnya akan lebih terperinci dan jelas.
3. Untuk pengembangan sarana praktikum, dapat dilakukan penambahan unit komputer
dan memperluas ruangan agar praktikan dapat lebih leluasa untuk melakukan
praktikum komputer.