laporan icl 27 (23 mei 2014) yg di print.pdf

45
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.

Upload: sisiliaagustin16

Post on 24-Jan-2016

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 2: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 3: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 4: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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:

Page 5: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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:

Page 6: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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:

Page 7: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 8: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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:

Page 9: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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)

Page 10: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 11: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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)

Page 12: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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 :

Page 13: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 14: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 15: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 16: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 17: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 18: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

18

3.3 Diagram Alir Program

Adapun diagram alir program dapat dilihat pada gambar berikut:

Gambar 3.1 Digram Alir Program

Page 19: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 20: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 21: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 22: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 23: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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()

Page 24: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 25: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 26: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 27: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 28: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 29: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 30: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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_

Page 31: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 32: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 33: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 34: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 35: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 36: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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"), _

Page 37: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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 = ""

Page 38: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 39: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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)

Page 40: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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")

Page 41: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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

Page 42: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 43: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 44: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.

Page 45: Laporan ICL 27 (23 Mei 2014) yg di print.pdf

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.