Anda di halaman 1dari 105

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/329388874

RANCANG BANGUN SISTEM INFORMASI KASIR BERBASIS CLIENT SERVER


(Studi kasus Optik Limpung Batang)

Thesis · December 2018


DOI: 10.13140/RG.2.2.20920.39687

CITATIONS READS

0 7,712

1 author:

Miftakhul Aninnia
Universitas Teknologi Yogyakarta
2 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Sistem Informasi Kasir berbasis Client-Server Studi kasus Optical Limpung View project

SIG Pemetaan Daerah Rawan Tanah Longsor View project

All content following this page was uploaded by Miftakhul Aninnia on 04 December 2018.

The user has requested enhancement of the downloaded file.


HALAMAN JUDUL

RANCANG BANGUN SISTEM INFORMASI APLIKASI


KASIR BERBASIS CLIENT SERVER
(Studi kasus Optik Limpung Batang)

KERJA PRAKTIK

Diajukan untuk memenuhi salah satu syarat


Mencapai derajat Sarjana S-1 Program Studi Sistem Informasi

Disusun oleh:
Miftakhul Aninnia
5150311023

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS TEKNOLOGI INFORMASI DAN ELEKTRO
UNIVERSITAS TEKNOLOGI YOGYAKARTA
2018
HALAMAN PENGESAHAN
RANCANG BANGUN SISTEM INFORMASI APLIKASI
KASIR BERBASIS CLIENT SERVER
(Studi kasus Optik Limpung Batang)

KERJA PRAKTIK

Disusun oleh:
Miftakhul Aninnia
5150311023

Telah dipertanggungjawabkan di dalam Presentasi Kerja Praktik


pada tanggal, 25 September 2018

Pembimbing

Dr. Arief Hermawan, M.T

Kerja Praktik ini telah diterima sebagai salah satu syarat untuk mencapai derajat
Sarjana S-1 Program Studi Sistem Informasi

Yogyakarta ,…………….
Ketua Program Studi Sistem Informasi
Fakultas Teknologi Informasi & Elektro, Universitas Teknologi Yogyakarta
Mengetahui

Sutarman, M.Kom., PH.D.

ii
LEMBAR PERNYATAAN

Saya yang bertanda tangan dibawah ini:


Nama : Miftakhul Aninnia
NIM : 5150311023
Program Studi : Sistem Informasi
Menyatakan bahwa Kerja Praktik yang berjudul:
Rancang Bangun Sistem Informasi Kasir Berbasis Client Server
(Studi Kasus: Optik Limpung)
merupakan karya ilmiah asli saya dan belum pernah dipublikasikan oleh orang
lain, kecuali yang tertulis sebagai acuan dalam naskah ini dan disebutkan dalam
daftar pustaka. Apabila di kemudian hari, karya saya disinyalir bukan merupakan
karya asli saya, maka saya bersedia menerima konsekuensi apa yang diberikan
Program Studi Sistem Informasi Fakultas Teknologi Informasi dan Elektro
Universitas Teknologi Yogyakarta kepada saya.

Demikian surat pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Yogyakarta
Pada tanggal : 30 Juli 2018
Yang menyatakan

Miftakhul Aninnia
NIM 5150311023

iii
ABSTRAK

Pada umumnya sebuah toko ingin usahanya tetap eksis dan berkembang, untuk itu
diperlukan strategi dan pengelolaan yang baik. Strategi yang dimaksud berupa
peningkatan kualitas marketing, manajemen, pelayanan dan lain-lain termasuk
penerapan teknologi informasi didalamnya. Berdasarkan observasi dan
wawancara, adanya sistem informasi mempengaruhi berbagai aspek termasuk
aspek penjualan, yang biasanya sistem penjulannya masih konvensional hanya
menggunakan buku untuk perekapan data penjualan dan nota yang ditulis
peetugas kasir. Petugas kasir terkadang melakukan kesalahan ketika banyak
konsumen datang bersamaan. Maka dari suatu permasalahan tersebut dibuatkan
sistem informasi penjualan secara komputerisasi yang akan membuat lebih efisien
dan keakuratan data penjualan. Oleh karena itu penulis akan Merancang Bangun
Sistem Infromasi Aplikasi Kasir berbasis Client Server sebagai obyek kerja
praktik. Dengan adanya sistem informasi penjualan tersebut dapat membantu
petugas kasir dalam pengelolaan data penjualan yang lebih efisien dan akurat.

Kata Kunci: Sistem Informasi, Kasir

iv
ABSTRACT

In general a store wants its business still exist and develop. Therefore a good
strategy and management are required. Strategy is in the form of marketting
quality improvement, management, service, etc. Including the application of
information technology in it. Based of observation and interview, the existence of
sales information system is still conventional only use the book for the cashier.
Therefore, from its problem, the authors will be made a computerized sales
information system that will made more efficient and accurate sales data.
Therefore the authors will be designing the build system application information
cashier based on server client as the object of practical work. With the existence
of sales information system can help the cashier in the management of sales data
more efficient and accurate.

Keywords: Information System, Cashier

v
KATA PENGANTAR

Puji syukur dipanjatkan atas kehadirat Allah SWT, karena dengan


limpahan karunia-Nya penulis dapat menyelesaikan Kerja Praktik dengan
judul Rancang Bangun Sistem Informasi Kasir berbasis Client Server pada Optik
Limpung.
Penyusunan Kerja Praktik diajukan sebagai salah satu syarat untuk
memperoleh gelar sarjana pada Program Studi Sistem Informasi Fakultas
Teknologi Informasi dan Elektro Universitas Teknologi Yogyakarta.
Kerja Praktik ini dapat diselesaikan tidak lepas dari segala bantuan,
bimbingan, dorongan dan doa dari berbagai pihak, yang pada kesempatan ini
penulis ingin menyampaikan ucapan terima kasih kepada:
1. Dr. Bambang Moertono, MM, Akt.Ca Selaku Rektor Universitas
Teknologi Yogyakarta.
2. Dr. Erik Imam HU,ST., M.Kom Selaku Dekan Fakultas Teknologi
Informasi dan Elektro Universitas Teknologi Yogyakarta.
3. Drs. Damar Prasetyo, M.Kom. Selaku Ketua Program Studi Sistem
Informasi Fakultas Teknologi Informasi dan Elektro Universitas
Teknologi Yogyakarta.
4. Dr. Arief Hermawan, M.T. Selaku dosen pembimbing.
5. Mohammad Alfin Baehaqi, AMd.RO. selaku pemilik Optik Limpung.
Akhir kata, penulis menyadari bahwa sepenuhnya akan terbatasnya
pengetahuan penyusun, sehingga tidak menutup kemungkinan jika ada
kesalahan serta kekurangan dalam penyusunan Kerja Praktik, untuk itu
sumbang saran dari pembaca sangat diharapkan sebagai bahan pelajaran
berharga dimasa yang akan datang.
Yogyakarta,30 Juli 2018

Miftakhul Aninnia

vi
DAFTAR ISI

HALAMAN JUDUL .............................................................................................. i


HALAMAN PENGESAHAN ............................................................................... ii
LEMBAR PERNYATAAN ................................................................................. iii
ABSTRAK ............................................................................................................ iv
ABSTRACT ........................................................................................................... v
KATA PENGANTAR .......................................................................................... vi
DAFTAR ISI ........................................................................................................ vii
DAFTAR GAMBAR ........................................................................................... vii
DAFTAR TABEL ............................................................................................... xii
BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang .............................................................................................. 1
1.2 Rumusan Masalah ......................................................................................... 2
1.3 Batasan Masalah............................................................................................ 2
1.4 Tujuan penelitian ........................................................................................... 2
1.5 Manfaat Penelitian ........................................................................................ 2
1.6 Metode Penelitian ......................................................................................... 3
1.7 Sistematika Penulisan ................................................................................... 4
BAB II KAJIAN PUSTAKA DAN LANDASAN TEORI ................................. 6
2.1 Kajian Pustaka............................................................................................... 6
2.2 Dasar Teori .................................................................................................... 7
2.2.1 Sistem ...................................................................................................... 7
2.2.2 Informasi ................................................................................................. 8
2.2.3 Pengertian Aplikasi ................................................................................. 8
2.2.4 Pengertian Kasir ...................................................................................... 9
2.2.5 Pengertian Server .................................................................................... 9
2.2.6 Pengertian Client Server ......................................................................... 9
2.2.7 Database ................................................................................................ 10
2.2.8 Database Server..................................................................................... 10
2.2.9 Optik...................................................................................................... 11
2.2.10 Entity Relationship Diagram (ERD) ................................................... 12
2.2.11 Kardinalitas ......................................................................................... 12
2.2.12 Data Flow Diagram (DFD) ................................................................. 13
BAB III TINJAUAN UMUM INSTANSI ......................................................... 15
3.1 Sekilas tentang instansi ............................................................................... 15
3.2 Visi dan misi ............................................................................................... 16
3.3 Struktur Organisasi ..................................................................................... 17
3.4 Lokasi Instansi ............................................................................................ 17
BAB IV ANALISIS DAN PERANCANGAN SISTEM ................................... 19
4.1 Analisis Sistem yang Berjalan .................................................................... 19
4.2 Analisis Kebutuhan Sistem yang akan dikembangkan ............................... 21
4.2.2 Kebutuhan user/pemakai sistem............................................................ 21
4.2.3 Kebutuhan admin .................................................................................. 22
vii
4.3 Analisis Pengembangan sistem ................................................................... 22
4.4 Rancangan Sistem ....................................................................................... 22
4.4.1 Diagram Konteks .................................................................................. 23
4.4.2 Diagram Jenjang ................................................................................... 24
4.4.3 Data Flow Diagram Level 1 .................................................................. 24
4.4.4 Data Flow Diagram Level 2 Proses 1 ................................................... 26
4.4.5 Data Flow Diagram Level 2 proses 2 .................................................... 26
4.4.6 Data Flow Diagram Level 2 proses 3 .................................................... 27
4.4.7 Entity Relation Diagram (ERD) ............................................................ 28
4.5 Tabel dan Relasi Tabel ................................................................................ 29
4.5.1 Relasi Tabel........................................................................................... 29
4.5.2 Tabel...................................................................................................... 30
4.6 Rancangan Menu Dan Antar Muka............................................................. 34
4.6.1 Halaman Utama..................................................................................... 34
4.6.2 Login ..................................................................................................... 34
4.6.3 Data Barang........................................................................................... 35
4.6.4 Data Pelanggan ..................................................................................... 35
4.6.5 Data Karyawan ...................................................................................... 36
4.6.6 Data Pemesanan .................................................................................... 38
BAB V IMPLEMENTASI SISTEM .................................................................. 39
5.1 Implementasi ............................................................................................... 39
5.2 Perangkat Keras (Hardware) yang Digunakan ........................................... 39
5.3 Perangkat Lunak (Software) yang digunakan ............................................. 39
5.4 Implementasi Program ................................................................................ 40
5.4.1 Form Login ........................................................................................... 40
5.4.2 Tampilan Halaman Home ..................................................................... 42
5.5 Data Master ................................................................................................. 43
5.5.1 Data Barang........................................................................................... 43
5.5.2 Data Karyawan ...................................................................................... 45
5.5.3 Data Pelanggan ..................................................................................... 46
5.5.4 Data Faset .............................................................................................. 48
5.6 Transaksi ..................................................................................................... 51
5.6.1 Penjualan ............................................................................................... 51
5.6.2 Data Pembelian ..................................................................................... 53
5.6.3 Data Pemesanan .................................................................................... 55
5.7 Laporan ....................................................................................................... 58
5.7.1 Laporan Penjualan................................................................................. 58
5.7.2 Laporan Pembelian ............................................................................... 59
5.7.3 Laporan Stok Barang ............................................................................ 61
5.7.4 Laporan Laba ........................................................................................ 63
BAB VI PENUTUP ............................................................................................. 64
6.1 Kesimpulan ................................................................................................. 64
6.2 Saran ............................................................................................................ 64
DAFTAR PUSTAKA .......................................................................................... 65

viii
DAFTAR GAMBAR

Gambar 2.1 Topologi Database Server .................................................... 11


Gambar 2.2 Kardinalitas Relasi One to One ............................................ 13
Gambar 2.3 Kardinalitas Relasi One to Many .......................................... 13
Gambar 2.4 Kardinalitas Relasi many to many ......................................... 13
Gambar 6.1 Flowchart Sistem Lama ........................................................ 20
Gambar 7.1 Antarmuka Halaman Login ................................................... 40
Gambar 2.1 Topologi Database Server .................................................... 11
Gambar 2.2 Kardinalitas Relasi One to One ............................................ 13
Gambar 2.3 Kardinalitas Relasi One to Many .......................................... 13
Gambar 2.4 Kardinalitas Relasi many to many ......................................... 13
Gambar 3.5 Toko Optik Limpung............................................................. 16
Gambar 3.6 Struktur Organisasi Instansi .................................................. 17
Gambar 3.7 Lokasi Optik Limpung .......................................................... 17
Gambar 4.8 Flowchart Sistem Lama ....................................................... 20
Gambar 4.9 Dokumen Nota Transaksi Penjualan ..................................... 20
Gambar 4.10 Dokumen Rekap data transaksi penjualan .......................... 21
Gambar 4.11 Flowchart Sistem baru ........................................................ 23
Gambar 4.12 Diagram Konteks................................................................. 24
Gambar 4.13 Diagram Jenjang .................................................................. 24
Gambar 4.14 Data Flow Diagram Level 1 ................................................ 25
Gambar 4.15 Data Flow Diagram Level 2 proses 1 .................................. 26
Gambar 4.16 Data Flow Diagram Level 2 proses 2 .................................. 27
Gambar 4.17 Data Flow Diagram Level 2 proses 3 .................................. 28
Gambar 4.18 ERD Sistem Informasi Apliaksi Kasir ................................ 29
Gambar 4.19 Relasi Tabel ......................................................................... 29
Gambar 4.20 Antar Muka Halaman Utama .............................................. 34
Gambar 4.21 Desain Form Login ............................................................. 35
Gambar 4.22 Desain Form Data Barang ................................................... 35

ix
Gambar 4.23 Desain Pendataan Pelanggan ............................................... 36
Gambar 4.24 Desain Pendataan Karyawan ............................................... 36
Gambar 4.25 Desain Form Penjualan ....................................................... 37
Gambar 4.26 Desain Form Pemesanan ..................................................... 38
Gambar 4.27 Desain Form Pemesanan ..................................................... 38
Gambar 5.28 Antarmuka Halaman Login ................................................. 40
Gambar 5.29 Peringatan Gagal Login ....................................................... 41
Gambar 5.30 Syntax Tampilan Login........................................................ 41
Gambar 5.31 Tampilan Home ................................................................... 42
Gambar 5.32 Syntax menampilkan form User .......................................... 42
Gambar 5.33 Syntax menampilkan form Master....................................... 43
Gambar 5.34 Syntax menampilkan form transaksi .................................... 43
Gambar 5.35 Syntax menampilkan laporan .............................................. 43
Gambar 5.36 Tampilan Data Barang ........................................................ 44
Gambar 5.37 Syntax Simpan untuk data barang ....................................... 44
Gambar 5.38 Tampilan Data User ............................................................ 45
Gambar 5.39 Syntax Simpan untuk data user ........................................... 46
Gambar 5.40 Tampilan Data Pelanggan ................................................... 47
Gambar 5.41 Syntax Simpan untuk data pelanggan .................................. 47
Gambar 5.42 Tampilan Data Faset............................................................ 48
Gambar 5.43 Syntax Simpan untuk data faset ........................................... 49
Gambar 5.44 Tampilan Data Faset............................................................ 50
Gambar 5.45 Syntax Simpan untuk data faset ........................................... 50
Gambar 5.46 Tampilan Data Penjualan .................................................... 51
Gambar 5.47 Syntax Simpan untuk data penjualan ................................... 52
Gambar 5.48 Nota Transaksi Penjualan .................................................... 53
Gambar 5.49 Tampilan Data Pembelian ................................................... 54
Gambar 5.50 Syntax Simpan untuk data pembelian.................................. 55
Gambar 5.51 Tampilan Data Pemesanan .................................................. 56
Gambar 5.52 Syntax Simpan untuk data pemesanan ................................ 57
Gambar 5.53 Nota Pengambilan Barang................................................... 58
x
Gambar 5.54 Tampilan Sortir Tanggal Laporan Penjualan ...................... 59
Gambar 5.55 Tampilan Laporan Penjualan .............................................. 59
Gambar 5.56 Tampilan Sortir Tanggal Laporan Pembelian ..................... 60
Gambar 5.57 Tampilan Laporan Pembelian ............................................. 61
Gambar 5.58 Tampilan Laporan Stok Barang .......................................... 62
Gambar 5.59 Tampilan Laporan Pendapatan Penjualan ........................... 63

xi
DAFTAR TABEL

Tabel 2.1. Notasi dalam ERD ................................................................... 12


Tabel 2.2. DFD (Data Flow Diagram) ...................................................... 14
Tabel 4.1 Struktur Tabel Barang................................................................30
Tabel 4.2 Struktur Tabel User ................................................................... 30
Tabel 4.3 Struktur Tabel Pelanggan .......................................................... 31
Tabel 4.4 Struktur Tabel Faset .................................................................. 31
Tabel 4.5 Struktur Tabel Supplier ............................................................. 31
Tabel 4.6 Struktur Tabel Detail Pembelian ............................................... 31
Tabel 4.7 Struktur Tabel Detail Penjualan ................................................ 32
Tabel 4.8 Struktur Tabel Pembelian.......................................................... 32
Tabel 4.9 Struktur Tabel Penjualan ........................................................... 33
Tabel 4.10 Struktur Tabel Pemesanan ...................................................... 33

xii
BAB I
PENDAHULUAN

1.1 Latar Belakang


Optik Limpung yang berlokasi di Jl. Raya Kios Pasar Limpung No.5
Kecamatan Limpung Kabupaten Batang merupakan salah satu toko kacamata di
daerah Kabupaten Batang Jawa Tengah. Toko ini termasuk yang paling lengkap
dalam penyediaan barang, sehingga toko ini dijadikan prioritas utama oleh
masyarakat sekitar, tetapi toko ini masih belum ditunjang dengan fasilitas
penunjang yang baik. Seperti halnya dalam pengolahan data barang dan
pelanggan masih menggunakan sistem yang kurang efisien.
Mekanisme transaksi yang berlangsung sampai saat ini masih
menggunakan cara yang sederhana, yaitu petugas menuliskan nota untuk produk
yang terjual, sehingga menyulitkan dalam pengelolaan data dan pembuatan
laporan penjualan karena masih dilakukan dengan cara konvesional
mengumpulkan nota penjualan yang berasal dari proses transaksi penjualan yang
dilakukan setiap harinya dan dicatat dalam buku transaksi penjualan sehingga
membutuhkan waku yang cukup lama.
Mengenai proses pembayaran konsumen kepada pimpinan melalui petugas
kasir, pihak pimpinan mempunyai wewenang dalam proses penerimaan laporan
dan pengelolaannya. Petugas kasir betanggung jawab dalam pembuatan nota
transaksi penjualan juga membuat laporan transaksi yang dilakukan dan
mengelola administrasi keuangan berdasarkan perintah pimpinan.
Mengacu pada latar belakang, maka permasalahan-permasalahan yang
terjadi perlu diatasi dengan diterapkannya suatu sistem yang memiliki fungsi-
fungsi pendukung penjualan dan pembelian barang yang terkomputerisasi dan
terstruktur yang diharapkan dapat membantu pemilik dalam meningkatkan
bisnisnya. Oleh karena itu, penulis tertarik untuk mengangkatnya menjadi materi
kerja praktik dengan judul “Rancang Bangun Sistem Informasi Aplikasi Kasir
berbasis Client Server pada Optik Limpung Batang”.

1
2

1.2 Rumusan Masalah


Berdasarkan latar belakang diatas maka rumusan masalah kerja praktik ini
adalah sebagai berikut:
1. Bagaimana merancang sistem informasi aplikasi kasir pada Optik Limpung?
2. Bagaimana mengimplementasikan sistem informasi aplikasi kasir untuk
mengatasi permasalahan yang dihadapai dalam proses penjualan dan
pengolahan data pada Optik Limpung?

1.3 Batasan Masalah


Mengingat luasnya cakupan bahasan aplikasi kasir, maka penulis akan
membuat batasan terhadap masalah tersebut agar penulisan terfokus pada masalah
yang diangkat menjadi judul kerja praktik. Adapun batasan masalah dari
pembangunan aplikasi kasir ini adalah sebagai berikut:
1. Pada sistem ini inputan berupa data barang, data transaksi, dan data pelanggan.
2. Sistem akan menghasilkan berupa nota penjualan, laporan penjualan dan
laporan persediaan barang.

1.4 Tujuan penelitian


Adapun tujuan dari penulisan kerja praktik ini adalah sebagai berikut:
1. Merancang sistem informasi aplikasi kasir pada Optik Limpung.
2. Mengimplementasikan sistem informasi aplikasi kasir untuk mengatasi
permasalahan yang dihadapai dalam proses penjualan dan pengolahan data
pada Optik Limpung.

1.5 Manfaat Penelitian


Manfaat perancangan ini diharapkan dapat memberikan manfaadalah
sebagai at baik secara langsung maupun secara tidak langsung bagi puhak terkait:
1. Mempermudah kasir dalam melakukan pembuatan nota penjualan, perhitungan
jumlah harga penjualan dan mempermudah admin dalam perekapan data
penjualan secara terkomputerisasi sehingga akan lebih efisien dan akurat.
3

2. Untuk mengurangi tingkat kesalahan yang dilakukan kasir dalam pembuatan


nota penjualan, perhitungan jumlah harga penjualan dan admin dalam
perekapan data penjualan secara terkomputerisasi sehingga akan lebih efisien
dan akurat.

1.6 Metode Penelitian


Untuk membangun sistem Informasi pendataan surat masuk dan surat
keluar pada Dinas Lingkungan Hidup Kabupaten Sleman penulis menerapkan
berbagai metode penelitian. Antara lain:
1. Metode Pengumpulan Data
a. Pengamatan (Observasi)
Pengamatan merupakan salah satu pengumpulan data secara langsung yang
cukup efektif untuk mempelajari sistem. Observasi adalah pengamatan
langsung dengan melihat objek kegiatan penjualan pada Optik Limpung.
b. Wawancara (Interview)
Interview (wawancara) merupakan salah satu metode mengumpulkan data
dengan melakukan tanya jawab secara tatap muka dengan pihak yang
bersangkutan. Wawancara dilakukan terhadap pemilik toko Optik Limpung
yaitu bapak Mohammad Alfin Baehaqi. Wawancara ini dilakukan agar
mendapatkan informasi kebutuhan sistem.
2. Metode Pengembangan Sistem
Metode yang kedua merupakan metode yang digunakan untuk
mengembangkan sistem secara terstruktur yang terdiri dari beberapa langkah,
yaitu :
a. Analisis Sistem
Adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem
yang sudah ada menjadi komponen-komponen atau subsistem dengan tujuan
mempelajari seberapa baik bagian-bagian komponen tersebut bekerja dan
berinteraksi untuk meraih sistem tersebut. Dengan adanya analisis ini
diharapkan akan didapat sebuah kesimpulan untuk pengembangan sistem
ataupun untuk peralihan dari sistem lama ke sistem yang baru.
4

b. Perancangan Sistem
Pada pembahasan ini, perancangan sistem yang digunakan adalah
merancang Data Flow Diagram (DFD) dan Entity Relationship Diagram
(ERD) serta merancang tampilan interface meliputi: menu utama, form
login, form data barang, form data petugas, form data pelanggan, form
pembelian, form pemesanan, form penjualan, form laporan data barang,
form laporan pembelian dan form laporan penjualan.
c. Implementasi
Dalam membangun sistem informasi aplikasi kasir, bahasa pemrograman
yang digunakan adalah Delphi dengan penyimpanan database
menggunakan MySql. Proses implementasi yaitu menerapkan rancangan
sistem yang sudah dibuat kedalam kode-kode program lalu kemudian
menguji sistem apakah sudah layak digunakan atau masih perlu perbaikan.

1.7 Sistematika Penulisan


Sistematika penulisan yang digunakan dalam penulisan laporan ini adalah
sebagai berikut:
BAB I PENDAHULUAN
Berisi tentang uraian latar belakang masalah, rumusan masalah, batasan masalah,
tujuan penelitian, manfaat penelitian, sistematika penelitian dan metode penelitian
yang berisi metode pengumpulan data dan metode pengembangan sistem meliputi:
pengamatan, wawancara, analisis sistem, perancangan sistem dan implementasi
sistem.
BAB II KAJIAN PUSTAKA DAN LANDASAN TEORI
Memuat tentang kajian pustaka, dasar teori. Dasar teori berisi tentang pengertian
sistem, pengertian server, pengertian client server, pengertian database, pengertian
database server, pengertian optik, entity relationship diagram dan data flow
diagram.
BAB III TINJAUAN UMUM INSTANSI
Berisi tentang sekilas instansi seperti sejarah, visi dan misi, dan struktur organisasi
instansi.
5

BAB IV ANALISIS DAN PERANCANGAN SISTEM


Berisi tentang analisis sistem yang berjalan, analisis kebutuhan (kebutuhan
penjualan, kebutuhan input, kebutuhan proses, kebutuhan output), analisis
pengembangan sistem, rancangan sistem. Analisis kebutuhan berisi kebutuhan
pengguna sedangkan rancangan sistem berisi tentang diagram alir.
BAB V IMPLEMENTASI SISTEM
Berisi tentang implementasi, perangkat keras (hardware), perangkat lunak
(software), implementasi database, implementasi form, implementasi koneksi, dan
tampilan sistem.
BAB VI PENUTUP
Berisi kesimpulan dan saran yang berkaitan dengan analisis dan optimalisasi
sistem bersasarkan yang telah diuraikan pada bab-bab sebelumnya.
DAFTAR PUSTAKA
Berisi tentang daftar pustaka yang digunakan dalam pembuatan sistem informasi
yang telah dibuat
BAB II

KAJIAN PUSTAKA DAN LANDASAN TEORI

2.1 Kajian Pustaka


Beberapa hasil penelitian yang pernah dilakukan oleh peneliti sebelumnya
yang memiliki bidang dan tema yang sama dengan penelitian yang akan
dilakukan.
Siregar, R., (2015), dalam dunia penjualan banyak permasalahan yang
ditemukan dalam pelayanan informasi penjualan seperti pendataan barang,
pendataan pelanggan, pembayaran dan penyediaan informasi penjualan lainnya
yang ternyata dalam penyampaiannya masih kurang efisien. Dalam sistem yang
akan dibangun input yang dibutuhkan adalah: master dimana pada menu master
membutuhkan data lensa, data frame, data pelanggan dan data transaksi. Dengan
kebutuhan sistem tersebut menghasilkan output berupa nota penjualan, laporan
penjualan, laporan data frame, laporan data lensa, dan laporan data pelanggan.
Dalam penelitian ini membangun Sistem Informasi Toko Optik menggunakan
bahasa pemrograman Java Netbeans dan MySQL sebagai basis datanya.
Prianto, N., (2014), melakukan penelitian yang berjudul “Sistem Informasi
Penjualan Pada Optik Karya Abadi berbasis Client Server”, pada penelitian ini
terdapat pengolahan data barang, data frame, data lensa, data supplier, data
pelanggan, data transaksi pembelian barang dan data transaksi penjualan barang, yang
nantinya akan menghasilkan keluaran berupa laporan semua barang, laporan semua
pembelian barang, laporan semua penjualan barang. Aplikasi yang akan dibuat
berbasis client server sehingga nantinya transaksi-transaksi yang terjadi dapat
langsung di masukkan dari beberapa komputer ke dalam program aplikasi, sistem
dibuat menggunakan software Visual Basic 2008 dan SQL Server 2005.
Wibowo, S., (2015), dengan judul Sistem Penjualan Pada Optik Tegal.
Penelitian tersebut bertujuan untuk membantu dalam mempermudah proses transaksi
penjualan dan mengurangi permasalahan ketidak cocokan data yang disebabkan

6
7

akibat kesalahan manusia (human error). Dalam sistem yang akan dibangun input
yang dibutuhkan adalah: data produk, data member, data pengguna, dan data
transaksi. Dengan kebutuhan sistem tersebut menghasilkan output berupa nota
penjualan, laporan penjualan, laporan persediaan barang.
Tabel 2.1 Perbandingan Tinjauan Pustaka
No Judul Penulis Tahun Hasil/ Kesimpulan
1 Sistem Informasi Rustam Siregar 2015 Penelitian ini bertujuan untuk
Toko Optik Nina mengembangkan Sistem
Informasi pada toko Optik Nina
agar dapat memberikan
informasi yang lebih spesifik,
sehingga diharapkan dapat
memperlancar kinerja dari
seluruh kegiatan penjualan.
2 Sistem Informasi Novan Prianto 2014 Penelitian ini bertujuan untuk
Penjualan PadaOptik mengembangkan sistem
Karya Abadi informasi penjualan agar dapat
berbasis Client membantu petugas kasir dalam
Server proses pengelolaan data
penjualan yang lebih efisien
dan akurat.
3 Sistem Informasi Sasono 2015 Menghasilkan analisis dan
Penjualan Pada Wibowo informasi yang akurat dan
Optik Tegal cepat terlihat dibandingkan
dengam perhitungan manual
sehingga Optik Tegal dapat
mempergunakannya sebagai
alat bantu dalam kegiatan
penjualan.

Seperti terlihat pada tabel 2.1. perbedaan dari ketiga referensi dengan judul
yang diangkat oleh penulis terletak pada metode, design, database, dan implementasi
sistem pada masing-masing perancangan sistem.

2.2 Dasar Teori


2.2.1 Sistem
Sistem adalah sekumpulan elemen yang saling terkait atau terpadu yang
dimaksudkan untuk mencapai suatu kesatuan yang terdiri dari dua atau lebih
8

komponen atau subsistem yang berinteraksi untuk mencapai suatu tujuan


(Jogiyanto, H. M., 2006).
Menurut (Yakub, 2012), sistem adalah suatu jaringan kerja dari prosedur-
prosedur yang saling berhubungan, terkumpul, bersama – sama untuk melakukan
suatu kegiatan atau untuk mencapai tujuan tertentu.

2.2.2 Informasi
Informasi adalah suatu data yang telah diproses sehingga dapat
mengurangi ketidakjelasan tentang keadaan atau suatu kejadian. Sedangkan kata
data adalah fakta atau kenyataan yang sebenarnya Kadir (2013).
Menurut Hartono, J., (2005), Informasi adalah data yang diolah menjadi
bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Menurut
Sutabri (2012) , Informasi adalah data yang telah diklasifikasikan atau diolah atau
diinterpretasikan untuk digunakan dalam proses pengambiilan keputusan.
Sedangkan menurut Kristanto, A., (2008), Informasi adalah kumpulan data yang
diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerima.

2.2.3 Pengertian Aplikasi


Aplikasi adalah program siap pakai yang dapat digunakan untuk
menjalankan printah-printah dari pengguna aplikasi tersebut dengan tujuan
mendapatkan hasil yang lebih akurat sesuai dengan tujuan pembuatan aplikasi
tersebut, aplikasi mempunyai arti yaitu pemecahan masalah yang menggunakan
salah satu teknik pemrosesan data aplikasi yang biasanya berpacu pada sebuah
komputansi yang diinginkan atau diharapkan maupun pemrosesan data yang
diharapkan.
Menurut Jogiyanto, H. M., (2006) adalah penggunaan dalam suatu
komputer, instruksi (instruction) atau pernyataan (statement) yang disusun
sedemikian rupa sehingga komputer dapat memproses input menjadi output.
Pengertian aplikasi secara umum adalah alat terapan yang difungsikan
secara khusus dan terpadu sesuai kemampuan yang dimilikinya aplikasi
merupakan suatu perangkat komputer yang siap pakai bagi user.
9

2.2.4 Pengertian Kasir


Kasir menurut kamus besar bahasa Indonesia adalah seorang pemegang
kas (uang) atau orang yang bertugas menerima dan membayarkan uang. Selain
istilah kasir, ada juga istilah kassa. Keduanya mempunyai perbedaan. Kasir adalah
orangnya, sedangkan kassa adalah tempatnya. Profesi kasir di toko retail atau
minimarket adalah seseorang yang pekerjaannya menerima uang pembayaran
saat pembelian produk barang atau jasa dan melakukan pengembalian uang sisa
pembayaran, sekaligus menyerahkan produk barang atau jasa kepada pelanggan
(customer) di loket-loket kasir di suatu toko, super market, mini market, hotel,
mall, restoran, rumah sakit, ataupun departement store. Selain itu, tugas kasir juga
melakukan penghitungan jumlah total penjualan per hari, per minggu, ataupun
per bulan serta mengenali barang yang paling laris terjual.

2.2.5 Pengertian Server


Server merupakan sebuah tempat yang dipenuhi dengan berbagai macam
informasi, dimana server memiliki tugas utama untuk memberikan sebuah service
atau layanan bagi para klien yang terhubung dengannya. Terdapat berbagai macam
jenis server yang ada dengan fungsi yang berbeda-beda, misalnya saja web server
yang digunakan untuk menyimpan data dalam sebuah web, FTP server yang
menangani perpindahan file (transfer file), mail server yang melayani urusan email
para klien, database server untuk menyimpan berbagai macam data atau file dan lain
sebagainya.
Sebuah komputer dapat memiliki peran sebagai server, klien, atau bahkan
keduanya. Contohnya seorang pengguna A memakai sebuah komputer A untuk
mengakses website milik pengguna B, maka kini pengguna A berperan sebagai klien.
Sebaliknya, jika pengguna B menggunakan komputernya untuk mengakses website
pengguna A, maka kini pengguna A berperan sebagai server. Konsep tersebut lebih
dikenal dengan sebutan konsep peer to peer.

2.2.6 Pengertian Client Server


Client Server adalah suatu bentuk arsitektur, dimana client adalah
perangkat yang menerima yang akan menampilkan dan menjalankan aplikasi
10

(software komputer) dan server adalah perangkat yang menyediakan dan


bertindak sebagai pengelola aplikasi, data, dan keamanannya.
Dalam teknologi informasi, client-server merujuk kepada cara
mendistribusikan aplikasi ke pihak client dan pihak server. Dalam model client-
server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah (tetapi masih
dalam sebuah kesatuan) yakni komponen client dan komponen server.
Komponen client dijalankan pada sebuah workstation. Pemakai
workstation memasukkan data dengan menggunakan teknologi pemrosesan
tertentu, kemudian mengirimkannya ke komponen server, umumnya berupa
permintaan layanan tertentu yang dimiliki oleh server. Komponen server akan
menerima permintaan layanan tersebut dan langsung memprosesnya serta
mengembalikan hasil pemrosesan kepada client. Client pun menerima informasi
hasil pemrosesan data tadi dan menampilkannya kepada pemakai dengan
menggunakan aplikasi yang digunakan oleh pemakai.

2.2.7 Database
Menurut Waljiyanto (2003), database atau memiliki istilah basis data
merupakan suatu kumpulan data yang saling berhubungan dan berkaitan dengan
subjek tertentu pada tujuan tertentu pula, hubungan antardata ini dapat dilihat oleh
adanya field ataupun kolom.
Sedangkan menurut Prahasta (2002), database itu didefinisikan sebagai
kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data
tersebut dapat dimanipulasi, diambil, dan dicari secara cepat.
Menurut Kusrini (2007), basis data adalah kumpulan data yang saling
berelasi. Data merupakan fakta mengenai obyek, orang, dan lain-lain. Data
dinyatakan dengan nilai (angka, deretan karakter, atau simbol).

2.2.8 Database Server


Database Server adalah sebuah program komputer yang menyediakan
layanan data untuk diakses oleh komputer lain atau program pada komputer lain,
11

jadi istilahnya layanan dari komputer database diakses oleh komputer lain dengan
kode program komputer yang sudah ditentukan. Fungsi dari database server yaitu:
1. Untuk menyimpan beberapa data yang bisa dilakukan dalam satu lokasi.
2. Data yang disimpan dalam database server akan aman karena memiliki
beberapa fasilitas yang tidak terdapat pada komputer biasa.
3. Menyediakan manejemen sistem yang artinya pengguna dapat melakukan
beberapa susunan unik untuk membuat data.
4. Mempermudah pengguna untuk menyimpan dan mencari dalam lingkup
database.
5. Setiap klien dapat mengakses secara bersamaan tanpa harus mengganggu
satu sama lain dalam kurun waktu bersamaan.
Adapun topologi dari model database server dapat dilihat pada Gambar 2.1.

Gambar 2.1 Topologi Database Server

2.2.9 Optik
Kata optik berasal dari bahasa Latin, yang berarti tampilan. Benda optik
adalah benda yang menggunakan lensa optik untuk melakukan fungsinya dalam
membantu kegiatan tertentu. Salah satu benda optik yang banyak digunakan
adalah kacamata, sebuah lensa tipis untuk mata untuk menormalkan dan
mempertajam pengelihatan.
12

2.2.10 Entity Relationship Diagram (ERD)


Menurut Fatansyah (2012), ERD adalah model yang memanfaatkan
sejumlah perangkat konseptual menjadi sebuah diagram data. Hubungan antara
entitas akan menyangkut dua komponen yang menyatakan jalinan ikatan yang
terjadi, yaitu derajat hubungan dan partisipasi hubungan. Sedangkan menurut
Ladjamudin (2013), ERD adalah suatu model jaringan yang menggunakan
susunan data yang disimpan dalam sistem abstrak. Adapun beberapa simbol
dalam ERD dapat dilihat pada Tabel 2.1.

Tabel 2.1. Notasi dalam ERD

No. Gambar Keterangan


1. Entitas atau bentuk persegi panjang
merupakan sesuatu objek data yang ada di
Entitas dalam sistem, nyata maupun abstrak
dimana data tersimpan atau dimana terdapat
data.
2. Relationship merupakan hubungan alamiah
Relasi yang terjadi antar entitas. Umumnya diberi
nama dengan kata kerja dasar

3. Atribut atau bentuk elips adalah sesuatu


yang menjelaskan apa sebenarnya yang
Attribut dimaksud entitas atau relationship dan
mewakili atribut dari masing-masing
entitas.
4. Garis merupakan penghubung antar entitas

sumber: Waljiyanto (2003).

2.2.11 Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat
berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi yang
terjadi diantara dua himpunan entitas dapat berupa:
a. One to One
Relasi satu ke satu berarti setiap entitas pada himpunan entitas A
13

berhubungan dengan paling banyak dengan satu entitas pada himpunan


entitas B, begitu pula sebaliknya.
Contoh:
1 1
Entitas A Hubungan Entitas B

Gambar 2.2 Kardinalitas Relasi One to One

b. One to Many
Relasi satu ke banyak berarti setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak
berlaku untuk sebaliknya. Entitas B hanya dapat berhubungan dengan satu
entitas pada himpunan A.
Contoh:
1 N
Entitas A Hubungan Entitas B

Gambar 2.3 Kardinalitas Relasi One to Many


c. Many to many
Relasi banyak ke banyak berarti setiap entitas pada himpunan entitas A
dapat berhubungan dengan banyak entitas pada himpunan entitas B, begitu
pula sebaliknya.
Contoh:
N N
Entitas A Hubungan Entitas B

Gambar 2.4 Kardinalitas Relasi many to many

2.2.12 Data Flow Diagram (DFD)


Menurut Sukamto dan Shalahuddin (2015), DFD adalah representasi
grafik yang menggambarkan aliran informasi dan transformasi informasi yang
diaplikasikan sebagai data yang mengatur dari input (masukan) dan output
(keluaran). DFD tidak sesuai untuk memodelkan sistem yang menggunakan
pemograman berorientasi objek.
14

DFD merupakan dokumentasi grafik yang menggunakan simbol


penomoran didalam mengilustrasikan arus data yang saling berhubungan diantara
pemrosesan data untuk diubah menjadi informasi. Tabel 2.3 menggambarkan
simbol yang digunakan dalam DFD.

Tabel 2.2. DFD (Data Flow Diagram)


No. Gambar Keterangan
1 External entity (entitas luar) atau
input (masukan) atau output
(keluaran) atau orang yang
memakai atau berinteraksi dengan
perangkat lunak yang dimodelkan
atau sistem lain yang terkait
dengan aliran data dari sistem yang
dimodelkan.

2. Aliran data, merupakan data yang


dikirim antar proses, dari
penyimpanan ke proses, atau dari
proses ke input (masukan) atau
output (keluaran).
3. Proses atau fungsi atau prosedur
pada pemodelan perangkat lunak
yang akan diimplementasikan
dengan pemograman terstruktur,
maka pemodelan notasi inilah yang
harusnya menjadi fungsi atau
prosedur di dalam kode program

4. File atau basis data atau storage


(penyimpanan).

Sumber: ( Edward Yourdon dan Tom DeMarco).


BAB III
TINJAUAN UMUM INSTANSI

3.1 Sekilas tentang instansi


Optik Limpung berlokasi di Jl. Raya Kios Pasar Limpung No.5
Kecamatan Limpung Kabupaten Batang merupakan salah satu toko kacamata di
daerah Kabupaten Batang Jawa Tengah. Berdiri pada tahun 1989. Pada mulanya
pemilik Optik Limpung adalah bapak Abu Hanifah, namun karena tidak banyak
pelanggan yang tertarik membeli maka Optik Limpung hampir akan ditutup,
namun kemudian karyawannya yaitu bapak Mohammad Fikri berminat untuk
membelinya karena beliau percaya bahwa Optik Limpung suatu saat akan berjaya
di daerah Limpung Batang, maka Optik Limpung resmi hak milik bapak
Mohammad Fikri pada tahun 1993. Dengan modal memberanikan diri bapak
Mohammad Fikri merintisnya dari nol hingga sekarang Optik Limpung menjadi
pioner optik terlama di Limpung Batang dan menjadi salah satu optik yang sukses
dan bisa bertahan di iklim usaha daerah Limpung Batang yang kurang
mendukung.

15
16

Gambar 3.5 Toko Optik Limpung


3.2 Visi dan misi
a) Visi
Visi Optik Limpung adalah meningkatkan kualitas dan kualitas ketajaman
mata yang terjadi di masyarakat akibat kelainan refraksi.
b) Misi
1. Menyediakan kebutuhan optik untuk masyarakat Limpung Batang.
2. Memberikan pelayanan yang terbaik kepada masyarakat Limpung
Batang.
3. Memberikan kualitas harga yang terbaik.
17

3.3 Struktur Organisasi

Gambar 3.6 Struktur Organisasi Instansi


3.4 Lokasi Instansi
Optik Limpung terletak di Jl. Raya Kios Pasar Limpung No.5 Limpung,
Kabupaten Batang, Provinsi Jawa Tengah.

Gambar 3.7 Lokasi Optik Limpung


(Sumber: http://maps.google.com)
18
BAB IV

ANALISIS DAN PERANCANGAN SISTEM

4.1 Analisis Sistem yang Berjalan


Keamanan data yang ada pada sistem saat ini masih sangat rentan terhadap
kehilangan data, dikarenakan proses penyimpanan data yang sudah berjalan masih
menggunakan buku sebagai tempat pencatatan data transaksi penjualan, yang
mana hal tersebut belum memiliki fasilitas penyimpanan data yang baik.
Sementara itu ketika pimpinan meminta data penjualan pada bulan-bulan
sebelumnya, petugas kasir kesulitan bila permintaan tersebut dilakukan secara
mendadak karena harus mencari data transaksi penjualan yang diinginkan pada
bulan tersebut.
Karena sistem yang digunakan saat ini masih sederhana, maka perlu dibuat
sistem informasi yang dapat mempermudah petugas dalam melakukan
pengelolaan data transaksi penjualan. Data yang diproses dalam sistem informasi
ini meliputi proses pemasukan data barang, data transaksi dan data pelanggan.
Berikut flowchart dengan menggunakan sistem yang lama dapat dilihat pada
gambar 4.1

19
20

Gambar 4.8 Flowchart Sistem Lama

Gambar 4.9 Dokumen Nota Transaksi Penjualan


21

Gambar 4.10 Dokumen Rekap data transaksi penjualan

4.2 Analisis Kebutuhan Sistem yang akan dikembangkan


Kebutuhan sistem yang dibangun pada penelitian adalah sebagai berikut:
1. Manajemen data penjualan yang mencakup input data, batal, simpan, edit,
hapus dan cetak. Data-data penjualan seperti data barang, data transaksi dan
data pelanggan.
2. Manajemen login dan hak akses petugas terhadap sistem informasi penjualan.
3. Membuat dan mencetak laporan-laporan terkait penjualan.

4.2.2 Kebutuhan user/pemakai sistem


Dalam proses pengembangan sistem informasi penjualan pada Optik
Limpung terdapat beberapa hal yang menjadi kebutuhan untuk user antara lain:
1. Proses input data penjualan sekaligus mencetak nota penjualan.
2. Proses input data barang.
3. Pencetakan laporan sesuai dengan waktu yang diinginkan.
22

4.2.3 Kebutuhan admin


Didalam pengembangan sistem informasi pengolahan data penjualan pada
Optik Limpung, admin mempunyai hak akses untuk melakukan input data barang
yang kemudian disimpan dan dicetak dalam bentuk laporan. Selain itu, admin
juga mempunyai hak akses untuk mengubah maupun menghapus data.

4.3 Analisis Pengembangan sistem


Pengembangan sistem informasi yang berbasis komputer merupakan tugas
kompleks yang membutuhkan banyak sumber daya dan dapat memakan waktu
yang relatif cukup lama dalam menyelesaikannya. Proses pengembangan suatu
sistem melalui beberapa tahapan mulai dari sistem itu direncanankan sampai
sistem tersebut diterapkan, dioperasikan dan dijalankan. Tujuan pengembangan
sistem pada pengolahan data penjualan seperti input data barang, data petugas,
data pembelian, data penjualan dan data pelanggan.

4.4 Rancangan Sistem


Perancangan sistem dapat diartikan sebagai gambaran atau sketsa dari alur
proses sistem pengolahan data. Dalam rancangan satu sistem terdapat proses
Diagram Konteks, Entity Relationship Diagram (ERD) dan Data Flow Diagram
(DFD).
Perancangan sistem adalah gambaran atau sketsa dari alur proses
pengolahan data. Perancangan ini dilakukan sebelum proses implementasi sistem,
sehingga sesuai dengan kebutuhan sistem pengolahan data penjualan Optik
Limpung. Dalam rancangan suatu sistem dapat menggunakan DFD (Data Flow
Diagram).
DFD adalah suatu network yang menggambarkan suatu sistem
komputerisasi, manualisasi atau gabungan dari keduanya, yang penggambarannya
disusun dalam bentuk kumpulan komponen sistem yang saling berhubungan
sesuai dengan aturan mainnya, Tata (2010).
23

Proses perancangan aliran data menggunakan DFD yang terbagi menjadi


lima yaitu DFD level 0, DFD level 1, DFD level 2 proses 1, DFD level 2 proses 2,
DFD level 2 proses 3. Berikut adalah flowchart dari sistem informasi pengelolaan
data penjualan pada Optik Limpung. Berikut adalah flowchart dengan
menggunakan sistem yang baru dapat dilihat pada gambar 4.4.

Gambar 4.11 Flowchart Sistem baru

4.4.1 Diagram Konteks


Diagram konteks adalah suatu diagram yang menggambarkan keseluruhan
sistem. Diagram ini menggambarkan masukan dan keluaran dari sebuah sistem
yang berasal dari dan untuk entitas yang terlibat dalam sebuah sistem. Dalam
diagram konteks hanya membuat suatu proses yang mewakili keseluruhan proses
yang ada di dalam sistem.
24

Gambar 4.12 Diagram Konteks

4.4.2 Diagram Jenjang

Gambar 4.13 Diagram Jenjang

4.4.3 Data Flow Diagram Level 1


DFD level 1 merupakan gambaran aliran data dalam sebuah sistem yang
terstruktur. Admin memasukkan data barang, data pelanggan, data karyawan,
25

sedangkan kasir memasukkan data penjualan dan data pembelian. Data penjualan
dan data pembelian nanatinya akan diproses oleh sistem guna meendapatkan
laporan penjualan dan pembelian.

Gambar 4.14 Data Flow Diagram Level 1


26

4.4.4 Data Flow Diagram Level 2 Proses 1


DFD level 2 proses 1 merupakan detail dari gambaran yang ada pada
proses 1, yaitu input data pada level ini dapat dijelaskan bahwa ada beberapa
masukan yang di input kedalam sistem.

Gambar 4.15 Data Flow Diagram Level 2 proses 1

4.4.5 Data Flow Diagram Level 2 proses 2


DFD level 2 proses 2 ini merupakan gambaran dari proses kedua, yaitu
tahap pemprosesan laporan. Dalam proses ini dapat diketahui bahwa data-data
yang ada nantinya akan diproses menjadi bentuk laporan.
27

Gambar 4.16 Data Flow Diagram Level 2 proses 2

4.4.6 Data Flow Diagram Level 2 proses 3


DFD level 2 proses 3 merupakan detail gambaran dari data pada proses
ketiga yaitu proses pada laporan. Pada proses ini dapat diketahui bahwa data yang
nantinya yang akan dijadikan output pada laporan.
28

Gambar 4.17 Data Flow Diagram Level 2 proses 3

4.4.7 Entity Relation Diagram (ERD)


Berikut merupakan ERD atau hubungan antar entitas dari sistem informasi
apliaksi kasir yang akan dirancang.
29

Gambar 4.18 ERD Sistem Informasi Apliaksi Kasir

4.5 Tabel dan Relasi Tabel


4.5.1 Relasi Tabel
Relasi tabel adalah data yang menggambarkan hubungan antara tabel yang
satu dengan yang lainnya.

Gambar 4.19 Relasi Tabel


30

4.5.2 Tabel
Dalam pengembangan sistem informasi apliaksi kasir ini, nantinya akan
ada beberapa tabel yang digunakan untuk menyimpan data-data yang diperlukan
oleh sistem. Tabel-tabel tersebut diantaranya adalah sebagai berikut:
1. Tabel Barang
Nama tabel : barang
Primary key : kd_barang
Berikut adalah struktur tabel barang seperti pada tabel 4.1.
Tabel 4.1 Struktur Tabel Barang

2. Tabel User
Nama Tabel : tb_user
Primary key : kd_user
Berikut adalah struktur tabel karyawan seperti pada tabel 4.2.
Tabel 4.2 Struktur Tabel User

3. Tabel Pelanggan
Nama tabel : pelanggan
Primary key : id_pelanggan
Berikut adalah struktur tabel pelanggan seperti pada tabel 4.3.
31

Tabel 4.3 Struktur Tabel Pelanggan

4. Tabel Faset
Nama tabel : faset
Primary key: id_faset
Berikut adalah struktur tabel pelanggan seperti pada tabel 4.4
Tabel 4.4 Struktur Tabel Faset

5. Tabel Supplier
Nama tabel : supplier
Primary key: kd_supp
Berikut adalah struktur tabel pelanggan seperti pada tabel 4.5
Tabel 4.5 Struktur Tabel Supplier

6. Tabel Detail Pembelian


Nama tabel : detailpembelian
Foreign key : kd_beli, kd_barang
Berikut adalah struktur tabel detail pembelian seperti pada tabel 4.6.
Tabel 4.6 Struktur Tabel Detail Pembelian
32

7. Tabel Detail Penjualan


Nama tabel : detailpenjualan
Foreign key : kd_jual, kd_barang
Berikut adalah struktur tabel detail penjualan seperti pada tabel 4.7.
Tabel 4.7 Struktur Tabel Detail Penjualan

8. Tabel Pembelian
Nama tabel : pembelian
Primary key : kd_beli
Foreign key : kd_user
Berikut adalah struktur tabel pembelian seperti pada tabel 4.8.
Tabel 4.8 Struktur Tabel Pembelian

9. Tabel Penjualan
33

Nama tabel : penjualan


Primary key : kd_jual
Foreign key : kd_user, id_pelanggan, no_pemesanan
Berikut adalah struktur tabel penjualan seperti pada tabel 4.9.
Tabel 4.9 Struktur Tabel Penjualan

10. Tabel Pemesanan


Nama tabel : pemesanan
Primary Key : no_pemesanan
Foreign key : kd_jual, kd_barang, id_pelanggan
Berikut adalah struktur tabel pemesanan seperti pada tabel 4.10.
Tabel 4.10 Struktur Tabel Pemesanan
34

4.6 Rancangan Menu Dan Antar Muka


Rancangan form bertujuan untuk membuat sebuah antarmuka sistem.
Rancangan form dibuat sebelum membuat desain input output sistem, dimana
rancangan form ini didesain dari tampilan aplikasi yang dibuat, seperti form
ataupun menu-menu yang nantinya akan diperlukan dalam aplikasi atau sistem.

4.6.1 Halaman Utama


Antarmuka menu utama ini berisi menu-menu yang terletak dalam menu
utama yang berada pada bagian menu bar dan toolbar, yang didalamnya terdapat
sub-sub menu. Pada menu home ini hanya terdapat sebuah gambar instansi.

Gambar 4.20 Antar Muka Halaman Utama

4.6.2 Login
Antarmuka menu login ini yaitu digunakan untuk masuk ke menu utama
supaya bisa mengakses menu yang ada di dalam form utama. Dalam antarmuka
form login ini berisi logo optik atau instansi, kolom nama pengguna, kata sandi
dan ada juga tombol login yang digunakan untuk mengecek apakah nama dan kata
sandi sudah benar, untuk digunakan masuk ke halaman utama.
35

Gambar 4.21 Desain Form Login

4.6.3 Data Barang


Pada antarmuka ini, merupakan antamuka yang didalamnya terdapat
sebuah form untuk mengelola data barang, seperti menyimpan dan mengedit..

Gambar 4.22 Desain Form Data Barang


4.6.4 Data Pelanggan
Pada antarmuka ini, merupakan antamuka yang didalamnya terdapat
sebuah form untuk mengelola data pelanggan, seperti menyimpan dan mengedit.
36

Gambar 4.23 Desain Pendataan Pelanggan

4.6.5 Data Karyawan


Pada antarmuka ini, merupakan antamuka yang didalamnya terdapat
sebuah form untuk mengelola data karyawan, seperti menyimpan dan mengedit.

Gambar 4.24 Desain Pendataan Karyawan


37

4.6.6 Data Penjualan


Pada antarmuka ini, merupakan antamuka yang didalamnya terdapat
sebuah form untuk mengelola data penjualan, seperti menyimpan dan mengedit.

Gambar 4.25 Desain Form Penjualan

4.6.7 Data Pembelian


Pada antarmuka ini, merupakan antamuka yang didalamnya terdapat sebuah
form untuk mengelola data pembelian dari supplier, seperti menyimpan dan
mengedit.
38

Gambar 4.26 Desain Form Pemesanan

4.6.8 Data Pemesanan

Gambar 4.27 Desain Form Pemesanan


39

BAB V

IMPLEMENTASI SISTEM

5.1 Implementasi
Sistem informasi Kasir Optik ini merupakan sebuah aplikasi desktop, yang
dibuat untuk membantu dalam pendataan dan proses penjualan, sehingga
pekerjaan yang dilakukan menjadi lebih mudah dan cepat. Beberapa komponen
yang digunakan untuk melakukan penjualan dalam aplikasi ini di antaranya,
penjualan, pembelian dan pemesanan.
Sistem ini didalamnya juga terdapat beberapa menu dengan sub-sub menu,
misalnya dalam menu master terdapat sub menu data user, data barang, data
pelanggan, data faset. Kemudian dalam menu transaksi terdapat sub menu
penjualan, pembelian dan pemesanan. Dan menu laporan terdapat sub menu
laporan penjualan, laporan pembelian, laporan stok barang, laporan laba
penjualan.
Desain aplikasi ini juga dibuat sesederhana mungkin sesuai kebutuhan
sistem pada Optik Limpung ini. Dengan aplikasi ini diharapkan proses
pengolahan data barang dan proses penjualan barang dapat lebih cepat dan mudah,
sehingga pekerjaan lebih efektif dan efisien.

5.2 Perangkat Keras (Hardware) yang Digunakan


Perangkat keras yang digunakan untuk mengoperasikan Sistem
Informasi Kasir Optik berbasis Client Server ini adalah:
a. Notebook Acer Aspire E1-471
b. Processor Intel(R) Core(TM) i3-2348M CPU 2.30GHz
c. RAM 4GB
d. Hardisk 500 GB
5.3 Perangkat Lunak (Software) yang digunakan
Perangkat lunak yang digunakan dalam membangun Sistem Informasi
Kasir Optik berbasis Client Server ini adalah:
40

a. Delphi 2010
b. Sqlyog
c. XAMPP
Berisikan uraian sebagai alat bantu untuk tahapan implementasi, sistem
operasi, perangkat implementasi, algoritma program, tampilan interaksi input-
output aplikasi dan pengujian implementasi tahapan awal. Untuk bidang network,
implementasi berisi hasil rancangan network yang dibangun, infrastrukur
pendukung network dan pengujian awal network.

5.4 Implementasi Program


5.4.1 Form Login
Halaman login ini digunakan untuk masuk kedalam sistem. Jika username
dan password yang di masukkan benar maka akan muncul pemberitahuan bahwa
“username dan password benar, anda berhak masuk”, maka pengguna akan
langsung masuk dan dapat menjalankan sistem.

Gambar 5.28 Antarmuka Halaman Login


Pengguna akan diminta memasukkan username dan password yang sesuai,
setelah itu memilih tombol login. Namun apabila salah satunya tidak terpenuhi
pengguna dapat memilih tombol Esc-Close.
Apabila password dan username yang dimasukkan tidak sesuai maka akan
muncul peringatan. berikut adalah tampilan peringatan
41

Gambar 5.29 Peringatan Gagal Login


Pengguna akan diminta kembali memasukkan username dan password
yang sesuai, setelah itu memilih tombol login. Berikut adalah syntax login:
procedure TForm2.BitBtnLoginClick(Sender: TObject);
begin
{if (edtUsername.Text='') or (edtPasswd.Text='') then
Application.MessageBox('Data tidak
valid!','Peringatan!',MB_OK+MB_ICONWARNING)
else
begin}
with DM.ADOLogin do
begin
Active:=False;
Close;
SQL.Clear;
SQL.Text:='select*from tb_user where
username='+QuotedStr(edtUsername.Text)+' and
password='+QuotedStr(edtPasswd.Text);
Open;
end;
if DM.ADOLogin.RecordCount = 0 then
begin
MessageDlg('Username/password salah!'+#13+'silahkan
ulangi', mtWarning, [mbOK], 0);
edtUsername.SetFocus;
end

Gambar 5.30 Syntax Tampilan Login


42

5.4.2 Tampilan Halaman Home


Halaman Home merupakan halaman utama dari Sistem Informasi
Kasir Berbasis Client Server . Halaman ini berfungsi sebagai tempat untuk
menampilkan informasi-informasi tentang Sistem ini. Adapun Tampilan Home
sebagai berikut:

Gambar 5.31 Tampilan Home


Bagian atas tampilan ada beberapa menu yang memiliki fungsi yang
berbeda. Saat awal running sistem, secara default akan mengarah ke menu Home
yang akan menampilkan tulisan nama instansi dan ada label pengguna sistem
serta label Masuk untuk login. Pada menu kedua dan seterusnya akan berganti
tampilan panel-nya. Berikut syntax fungsi menu :
a. Syntax User
c Sementara fitur yang lain disembunyikan.
procedure TForm1.dxBarLargeButton1Click(Sender: TObject);
begin
Form2.ShowModal;
end;

Gambar 5.32 Syntax menampilkan form User


43

b. Syntax form Master


Syntax ini berfungsi menampilkan data form master.
procedure TForm1.dxBarLargeButton4Click(Sender: TObject);
begin
Form10.ShowModal
end;

Gambar 5.33 Syntax menampilkan form Master


c. Syntax form transaksi
Syntax ini berfungsi menampilkan data form transaksi.
procedure TForm1.dxBarLargeButton8Click(Sender: TObject);
begin
Form12.ShowModal;
end;

Gambar 5.34 Syntax menampilkan form transaksi


d. Syntax form Laporan
Syntax ini berfungsi menampilkan data form transaksi.
procedure TForm1.dxBarLargeButton13Click(Sender: TObject);
begin
Form13.frxReport1.ShowReport();
end;

Gambar 5.35 Syntax menampilkan laporan

5.5 Data Master


5.5.1 Data Barang
Implementasi halaman data barang merupakan form yang berisi data barang.
Halaman data barang adalah inputan awal dalam sistem yaitu dengan cara
memasukkan data barang sesuai kriteria yang harus di isi. Berikut adalah tampilan
implementasi halaman data barang dapat terlihat pada gambar 5.9
44

Gambar 5.36 Tampilan Data Barang


Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
procedure TForm4.BtnSimpanBrgClick(Sender: TObject)
begin
if MessageDlg('Yakin akan hapus data?
'+DM.ADOBarang.Fieldbyname('kd_barang').AsString+'?',mt
Confirmation,[mbYes,mbNo],0)=mrYes then
with DM.ADOBarang do
begin
Append;
FieldByname('kd_barang').AsString :=
EditKdBrg.Text;
FieldByName('namabarang').AsString :=
EditNmBrg.Text;
FieldByName('jenis_barang').AsString :=
CbbJenisBrg.Text;
FieldByName('stok').AsInteger :=
strtoint(EditStok.Text);
FieldByName('harga_beli').AsInteger :=
strtoint(EditHrgBeli.Text);
FieldByName('harga_jual').AsInteger
:=Strtoint(Edithrgjl.Text);

Gambar 5.37 Syntax Simpan untuk data barang


45

5.5.2 Data User


Implementasi halaman data user merupakan form yang berisi data diri karyawan.
Halaman data user adalah inputan awal dalam sistem yaitu dengan cara
memasukkan data user sesuai kriteria yang harus di isi. Berikut adalah tampilan
implementasi halaman data user.

Gambar 5.38 Tampilan Data User


Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
46

procedure TForm10.BtnSimpanBrgClick(Sender: TObject);


begin
if (EditKdUser.Text='') or (cbbLevel.Text='') or
(EditNama.Text='') or (EditUsername.Text='') then
Application.MessageBox('Inputan tidak
valid!','Peringatan!',MB_OK+MB_ICONWARNING)
else
begin
with DM.ADOUser do
begin
Append;
FieldByName('kd_user').AsString:=EditKdUser.Text;
FieldByName('nama').AsString:=EditNama.Text;
FieldByName('jk').AsString:=cbbJK.Text;
FieldByName('level').AsString:=cbbLevel.Text;
FieldByName('alamat').AsString:=MemoAlamat.Text;
FieldByName('nomor_telp').AsString:=EditTelp.Text;
FieldByName('username').AsString:=EditUsername.Text;
FieldByName('password').AsString:=EditPasswd.Text;
post;

Gambar 5.39 Syntax Simpan untuk data user

5.5.3 Data Pelanggan


Implementasi halaman data pelanggan merupakan form yang berisi data diri
pelanggan. Halaman data pelanggan adalah inputan awal dalam sistem yaitu
dengan cara memasukkan data pelanggan sesuai kriteria yang harus di isi. Berikut
adalah tampilan implementasi halaman data pelanggan.
47

Gambar 5.40 Tampilan Data Pelanggan


Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
procedure TFormPelanggan.ButtonSimpanClick(Sender:
TObject);
begin
with DM.ADOPelanggan do
begin
Append;
FieldByName('id_pelanggan').AsString:=EditID.Text;
FieldByName('namapelanggan').AsString:=EditNama.Text;
FieldByName('alamat').AsString:=MemoAlamat.Text;
FieldByName('no_telp').AsString:=EditTelp.Text;
post;
Application.MessageBox('Yakin Data
Disimpan?','Informasi',MB_OK+MB_ICONINFORMATION);
end;
bersih;
KodeOtomatis;
EditID.SetFocus;
end;end;
bersih;
KodeOtomatis;
EditKdUser.SetFocus;
Gambar 5.41 Syntax Simpan untuk data pelanggan
48

5.5.4 Data Faset


Form faset digunakan untuk menampilkan data-data faset. Pada halaman
ini pengguna diminta untuk memasukkan data faset dengan lengkap.

Gambar 5.42 Tampilan Data Faset


Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
49

procedure TForm15.BtnSimpanClick(Sender: TObject);


begin
if (EditKdFaset.Text='') or (cbbJK.Text='') or
(EditNama.Text='') or (EditNama.Text='') then
Application.MessageBox('Inputan tidak
valid!','Peringatan!',MB_OK+MB_ICONWARNING)
else
begin
with DM.ADOFaset do
begin
Append;
FieldByName('id_faset').AsString:=EditKdFaset.Text;
FieldByName('namafaset').AsString:=EditNama.Text;
FieldByName('jk').AsString:=cbbJK.Text;
FieldByName('alamat').AsString:=MemoAlamat.Text;
FieldByName('no_telp').AsString:=EditTelp.Text;
post;
Application.MessageBox('Yakin Data
Disimpan?','Informasi',MB_OK+MB_ICONINFORMATION);
end;
bersih;
Gambar 5.43 Syntax Simpan untuk data faset
5.5.5 Data Supplier
Form Supplier digunakan untuk menampilkan data-data supplier. Pada
halaman ini pengguna diminta untuk memasukkan data supplier dengan lengkap.
50

Gambar 5.44 Tampilan Data Supplier


Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
procedure TForm18.BtnSimpanClick(Sender: TObject);
begin
if (EditKdSup.Text='') or (EditNama.Text='') or
(EditKeterangan.Text='') or (EditTelp.Text='') then
Application.MessageBox('Inputan tidak
valid!','Peringatan!',MB_OK+MB_ICONWARNING)
else
begin
with DM.ADOSupplier do
begin
Append;
FieldByName('kd_supp ').AsString:=EditKdSup.Text;
FieldByName('namasupp').AsString:=EditNama.Text;
FieldByName('alamat').AsString:=MemoAlamat.Text;
FieldByName('no_telp').AsString:=EditTelp.Text;
FieldByName('keterangan').AsString:=EditKeterangan.Text
;
post;
Application.MessageBox('Yakin Data
Disimpan?','Informasi',MB_OK+MB_ICONINFORMATION);

Gambar 5.45 Syntax Simpan untuk data supplier


51

5.6 Transaksi
5.6.1 Data Penjualan
Halaman penjualan merupakan bagian transaksi yang digunakan untuk
menghitung data penjualan barang. Berikut adalah gambar implementasi data
penjualan.

Gambar 5.46 Tampilan Data Penjualan

Setelah sistem dijalankan secara otomatis pengguna akan diminta untuk


mengisi data-data yang dimasukkan ke dalam database. Halaman ini merupakan
form yang digunakan untuk mengetahui total penjualan. Dimana halaman ini
terdapat fungsi simpan untuk menyimpan data, hapus, dan ubah.
Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
52

procedure TForm12.btnsimpanClick(Sender: TObject);


begin
with DM.ADOPenjualan do
begin
Append;
FieldByName('kd_jual').AsString:=Edit1.Text;
FieldByName('no_pemesanan').AsString:=Edit2.Text;
FieldByName('tanggaltransaksi').AsDateTime:=DateTimePic
ker1.Date;
FieldByName('faset').AsString:=Edit3.Text;
FieldByName('kd_user').AsString:=Edit8.Text;
FieldByName('id_pelanggan').AsString:=Edit9.Text;
FieldByName('totalkeseluruhan').AsString:=Edit19.Text;
FieldByName('bayar').AsString:=Edit11.Text;
FieldByName('kembalian').AsString:=Edit12.Text;

post;
Application.MessageBox('Yakin Data
Disimpan?','Informasi',MB_OK+MB_ICONINFORMATION);
end;
ref2;
Gambar 5.47 Syntax Simpan untuk data penjualan
Adapun button cetak nota, cetak nota akan keluar saat transaksi disimpan,
berikut adalah hasil output cetak nota.
53

Gambar 5.48 Nota Transaksi Penjualan

5.6.2 Data Pembelian


Halaman pembelian merupakan bagian transaksi yang digunakan untuk
menghitung data pembelian barang. Berikut adalah gambar implementasi data
pembelian.
54

Gambar 5.49 Tampilan Data Pembelian


Setelah sistem dijalankan secara otomatis pengguna akan diminta untuk
mengisi data-data yang dimasukkan ke dalam database. Halaman ini merupakan
form yang digunakan untuk mengetahui total pembelian. Dimana halaman ini
terdapat fungsi simpan untuk menyimpan data dan hapus.
Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
55

procedure TForm5.btnSimpanClick(Sender: TObject);


begin
{if (EditNotaBeli.Text='') or (EditSupp.Text='') or
(EditIdKrywn.Text='') or (EditKdBrg.Text='') then
Application.MessageBox('Inputan tidak
valid!','Peringatan!',MB_OK+MB_ICONWARNING)
else }
with DM.ADOPembelian do
begin
Append;
FieldByName('kd_beli').AsString:=EditNotaBeli.Text;
FieldByName('kd_sup').AsString:=EditSupp.Text;
FieldByName('kd_user').AsString:=EditIdKrywn.Text;
FieldByName('tanggal').AsDateTime:=DateTimePicker1.Date
;
FieldByName('totalkeseluruhan').AsString:=EditTotbel.Te
xt;
post;
Application.MessageBox('Yakin Data
Disimpan?','Informasi',MB_OK+MB_ICONINFORMATION);
end;
Gambar 5.50 Syntax Simpan untuk data pembelian

5.6.3 Data Pemesanan


Pada halaman pemesanan, pengguna mengisi data pemesanan, pemesanan
merupakan bagian transaksi yang digunakan untuk mendata siapa saja yang
melakukan pemesanan suatu barang. Berikan adalah gambar implementasi data
pemesanan.
56

Gambar 5.51 Tampilan Data Pemesanan


Setelah sistem dijalankan secara otomatis pengguna akan diminta untuk
mengisi data-data yang dimasukkan ke dalam database. Halaman ini merupakan
form yang digunakan untuk mengetahui item yang dipesan. Dimana halaman ini
terdapat fungsi simpan untuk menyimpan data, ubah dan hapus.
Untuk menyimpan data yang sudah diinputkan maka berikut syntaxnya:
57

procedure TForm8.btnSimpanClick(Sender: TObject);


begin
with DM.ADOPemesanan do
begin
Append;
FieldByName('no_pemesanan').AsString:=EditNoPmsn.Text;
FieldByName('kd_user').AsString:=Edit4.Text;
FieldByName('id_pelanggan').AsString:=EditIdPlgn.Text;
FieldByName('kd_barang').AsString:=EditKdBrg.Text;
FieldByName('tanggalpesan').AsDateTime:=DateTimePicker1
.Date;
FieldByName('faset').AsString:=Edit1.Text;
FieldByName('nilaikananSPH').AsString:=EditSPh.Text;
FieldByName('nilaikananCYL').AsString:=EditCyl.Text;
FieldByName('nilaikananAS').AsString:=EditAs.Text;
FieldByName('nilaikiriSPH').AsString:=EditSphKiri.Text;
FieldByName('nilaikiriCYL').AsString:=EditCylKiri.Text;
FieldByName('nilaikiriAS').AsString:=EditAsKiri.Text;
FieldByName('totalharga').AsString:=EditHarga.Text;
FieldByName('uangmuka').AsString:=Edit2.Text;
FieldByName('kekurangan').AsString:=Edit3.Text;
post;
ShowMessage('Data Pemesanan Sudah Tersimpan');
end;
bersih;
Refresh;
KodeOtomatis;
EditNoPmsn.Enabled:=False;
Edit4.Text:=DM.ADOLogin.FieldValues['kd_user'];
EditIdPlgn.SetFocus;

end;
bersih;
Gambar 5.52 Syntax Simpan untuk data pemesanan
Adapun button cetak nota pengambilan barang, cetak nota pengambilan
barang akan keluar saat transaksi disimpan, berikut adalah hasil output cetak nota.
58

Gambar 5.53 Nota Pengambilan Barang

5.7 Laporan
5.7.1 Laporan Penjualan
Pada halaman laporan ada pilihan periode tanggal yang ingin ditampilkan,
berikut tampilannya:
59

Gambar 5.54 Tampilan Sortir Tanggal Laporan Penjualan

Pada halaman laporan menampilkan laporan sesuai dengan tanggal yang sudah
ditentukan pada inputan Filter tanggal, berikut tampilan laporan.

Gambar 5.55 Tampilan Laporan Penjualan


60

5.7.2 Laporan Pembelian


Pada halaman laporan ada pilihan periode tanggal yang ingin ditampilkan,
berikut tampilannya:

Gambar 5.56 Tampilan Sortir Tanggal Laporan Pembelian


61

Gambar 5.57 Tampilan Laporan Pembelian

5.7.3 Laporan Stok Barang


Pada halaman ini akan menampilkan stok barang yang tersedia. Berikut adalah
tampilan dari laporan stok barang.
62

Gambar 5.58 Tampilan Laporan Stok Barang


63

5.7.4 Laporan Pendapatan


Pada halaman ini akan menampilkan pendapatan penjualan yang didapat. Berikut
adalah tampilan dari laporan pendapatan penjualan.

Gambar 5.59 Tampilan Laporan Pendapatan Penjualan


BAB VI

PENUTUP

6.1 Kesimpulan
Penelitian kerja praktik ini telah menghasilkan sistem informasi aplikasi
kasir berbasis client server pada studi kasus di Optical Limpung Batang. Berikut
beberapa kesimpulan dari hasil penelitian kerja praktik ini:
a. Sistem memberikan kemudahan penanganan dan pendataan untuk barang
penjualan maupun pembelian dengan menggantikan sistem lama yang
masih manual dan memanfaatkan komputer yang sudah ada sehingga
dapat digunakan oleh bagian kasir dalam membantu proses pendataan
barang.
b. Sistem mampu memberikan hasil perhitungan penjualan yang benar.
c. Sistem dapat menghasilkan laporan hasil laba yang didapat dari
penjualan.

6.2 Saran
Adapun saran-saran yang dapat penulis berikan adalah sebagai berikut:
1. Dalam pendataan penjualan ini masih sederhana karena kurangnya sistem
diskon otomatis saat melakukan penjualan.
2. Tampilan untuk program sendiri masih sederhana, karena kendala dalam
pengetahuan desain. Harusnya tampilan pada program ini bisa dibuat
lebih elegan sehingga pengguna akan lebih nyaman.
3. Dalam sistem client servernya masih sederhana karena hanya digunakan
untuk menghubungkan client dengan server saja, harusnya untuk fitur
client server dapat dibuat lebih bagus lagi dengan menambahkan fitur
pelayanan pelanggan artinya pelanggan dapat menservice dirinya sendiri.

64
DAFTAR PUSTAKA

Fatansyah (2012), Basis Data, Bandung: Informatika.

Hartono, J. (2005), Analisis dan Desain Sistem Informasi: Pendekatan Terstruktur


Teori dan Praktek Aplikasi Bisnis, Yogyakarta: ANDI Publisher.

Jogiyanto, H.M. (2006), Analisis dan Desain Sistem Informasi: Pendekatan


Terstruktur Teori dan Praktek Aplikasi Bisnis, Yogyakarta: ANDI Publisher.

Kristanto, A. (2008), Perancangan Sistem Informasi dan Aplikasinya,


Yogyakarta: Gava Media.

Ladjamudin, A.-B. Bin (2013), Analisis dan Desain Sistem Informasi,


Yogyakarta: Graha Ilmu, .

Prianto, N. (2014), Sistem Informasi Penjualan PadaOptik Karya Abadi berbasis


Client Server, , 7.

Siregar, R. (2015), Sistem Informasi Toko Optik Nina, Politeknik Negeri Batam.

Sukamto, R.A. dan Shalahuddin, M. (2015), Rekayasa Perangkat Lunak


Terstruktur dan Beorientasi Objek, Bandung: Informatika.

Wibowo, S. (2015), Sistem Informasi Penjualan Pada Optik Tegal, Universitas


Dian Nuswantoro.

Yakub (2012), Pengantar Sistem Informasi, Yogyakarta: Graha Ilmu.

65
LAMPIRAN

Source code Login begin


//Form1.show;

procedure Form1.dxBarLargeButton1.Ena
TForm2.BitBtnLoginClick(Sen bled:=false;
der: TObject);
begin Form1.dxBarLargeButton2.Ena
{if (edtUsername.Text='') bled:=true;
or (edtPasswd.Text='') then
Application.MessageBox('Dat Form1.dxBarLargeButton3.Ena
a tidak bled:=true;
valid!','Peringatan!',MB_OK
+MB_ICONWARNING) Form1.dxBarLargeButton4.Ena
else bled:=true;
begin}
with DM.ADOLogin do Form1.dxBarLargeButton5.Ena
begin bled:=true;
Active:=False;
Close; Form1.dxBarLargeButton6.Ena
SQL.Clear; bled:=true;

SQL.Text:='select*from Form1.dxBarLargeButton7.Ena
tb_user where bled:=true;
username='+QuotedStr(edtUse
rname.Text)+' and Form1.dxBarLargeButton8.Ena
password='+QuotedStr(edtPas bled:=true;
swd.Text);
Open; Form1.dxBarLargeButton9.Ena
end; bled:=true;
if
DM.ADOLogin.RecordCount = 0 Form1.dxBarLargeButton10.En
then abled:=true;
begin
Form1.dxBarLargeButton11.En
MessageDlg('Username/passwo abled:=true;
rd salah!'+#13+'silahkan
ulangi', mtWarning, [mbOK], Form1.dxBarLargeButton12.En
0); abled:=true;
edtUsername.SetFocus;
end Form1.dxBarLargeButton13.En
else abled:=true;
begin
if Form1.dxBarLargeButton14.En
DM.ADOLogin.FieldByName('le abled:=true;
vel').AsString='Admin' then
Form1.StatusBar1.Panels.Ite
66
67

ms[0].Text:=DM.ADOLogin.Fie
ldValues['nama']; Form1.dxBarLargeButton14.En
Close; abled:=true;
end
else Form1.StatusBar1.Panels[1].
if Text:=DM.ADOLogin.FieldValu
DM.ADOLogin.FieldByName('le es['nama'];
vel').AsString='Karyawan' Form2.Close;
then end
begin else
Form1.show; if
DM.ADOLogin.FieldByName('le
Form1.dxBarLargeButton1.Ena vel').AsString='Pemilik'
bled:=false; then
begin
Form1.dxBarLargeButton2.Ena Form1.show;
bled:=true;
Form1.dxBarLargeButton1.Ena
Form1.dxBarLargeButton3.Ena bled:=false;
bled:=true;
Form1.dxBarLargeButton2.Ena
Form1.dxBarLargeButton4.Ena bled:=true;
bled:=true;
Form1.dxBarLargeButton3.Ena
Form1.dxBarLargeButton5.Ena bled:=true;
bled:=true;
Form1.dxBarLargeButton11.En
Form1.dxBarLargeButton6.Ena abled:=true;
bled:=true;
Form1.dxBarLargeButton12.En
Form1.dxBarLargeButton7.Ena abled:=true;
bled:=true;
Form1.dxBarLargeButton13.En
Form1.dxBarLargeButton8.Ena abled:=true;
bled:=true;
Form1.dxBarLargeButton14.En
Form1.dxBarLargeButton9.Ena abled:=true;
bled:=true;
Form1.StatusBar1.Panels[1].
Form1.dxBarLargeButton10.En Text:=DM.ADOLogin.FieldValu
abled:=true; es['nama'];
Form2.Close;
Form1.dxBarLargeButton11.En end
abled:=true; else
begin
Form1.dxBarLargeButton12.En ShowMessage('Maaf
abled:=true; anda tidak memiliki izin
untuk menggunakan
Form1.dxBarLargeButton13.En aplikasi');
abled:=true; end;
end;
68

{end;}
end; procedure
TForm2.FormKeyPress(Sender:
procedure TObject; var Key: Char);
TForm2.btnConnectSetClick(S begin
ender: TObject); if key = #27 then
begin Application.Terminate;
Form3.ShowModal;
end; end;

procedure procedure
TForm2.btnEscClick(Sender: TForm2.FormShow(Sender:
TObject); TObject);
begin begin
application.Terminate; edtUsername.Clear;
end; edtPasswd.Clear;

edtUsername.SetFocus;
end; Source code Barang

end.
procedure TForm4.bersih; head:='KC';
begin end
EditKdBrg.Clear; else if CbbJenisBrg.Text =
EditNmBrg.Clear; 'Frame' then
EditStok.Clear; begin
EditHrgJual.Clear; head:='FR';
end; end
else if CbbJenisBrg.Text =
procedure TForm4.ref; 'Softlens' then
begin begin
With DM.ADOBarang do head:='SL';
begin end;
Active:=False; begin
Close; nol:='0000';
SQL.Clear; with DM.ADOBarang do
begin
SQL.Text:='select*from Close;
barang order by kd_barang'; //id_barang like
Open; '+QuotedStr('%'+edit4.Text+
end; '%')+' and
end; SQL.Text:='select *
from barang where
procedure jenis_barang='+QuotedStr(Cb
TForm4.KodeOtomatis; bJenisBrg.Text)+' order by
var kode,kode_jadi,nol, kd_barang';
head:string; Open;
begin if recordcount >0
if CbbJenisBrg.Text = then
'Kacamata' then begin
begin Last;
69

procedure
kode:=Fieldbyname('kd_baran TForm4.btnCariBrgClick(Send
g').AsString; er: TObject);
begin
kode_jadi:=RightStr(kode,4) with DM.ADOBarang do
; begin
active:=false;
kode:=IntToStr(StrToInt(kod close;
e_jadi)+1); SQL.Clear;
if
kode_jadi:=LeftStr(nol,4- cbbBerdasar.ItemIndex=0
length(kode))+kode; then SQL.Text:='select*from
barang where kd_barang
EditKdBrg.Text:=head+kode_j like'+QuotedStr('%'+Edit1.T
adi; ext+'%');
end if
else cbbBerdasar.ItemIndex=1
begin then SQL.Text:='select*from
barang where namabarang
EditKdBrg.Text:=head+'0001' like'+QuotedStr('%'+Edit1.T
; ext+'%');
end; if
end; cbbBerdasar.ItemIndex=2
end; then SQL.Text:='select*from
barang where jenis_barang
end; like'+QuotedStr('%'+Edit1.T
ext+'%');
procedure if
TForm4.btnCancelClick(Sende cbbBerdasar.ItemIndex=3
r: TObject); then SQL.Text:='select*from
begin barang where stok
EditKdBrg.Enabled:=False; like'+QuotedStr('%'+Edit1.T
EditNmBrg.Enabled:=False; ext+'%');
EditStok.Enabled:=False; if
EditHrgJual.Enabled:=False; cbbBerdasar.ItemIndex=4
CbbJenisBrg.Enabled:=False; then SQL.Text:='select*from
EditKdBrg.Text:=''; barang where harga_jual
EditNmBrg.Text:=''; like'+QuotedStr('%'+Edit1.T
EditStok.Text:=''; ext+'%');
EditHrgJual.Text:=''; Active:=true;
Edit1.Text:=''; if IsEmpty then
EditKdBrg.SetFocus; ShowMessage('Data tidak
BtnSimpanBrg.Enabled:=False ditemukan');
; end;
btnUbahBrg.Enabled:=False; end;
btnHapusBrg.Enabled:=False;
btnTambah.Enabled:=True; procedure
end; TForm4.btnHapusBrgClick(Sen
der: TObject);
begin
70

if if EditHrgJual.Text =''
Application.MessageBox('Apa then
kah anda yakin ingin begin
menghapus data yang showmessage('harga jual
dipilih','konfirmasi',MB_YE masih kosong');
SNO or EditHrgJual.SetFocus;
MB_ICONINFORMATION)=idyes end;
then begin
begin if MessageDlg('Yakin akan
DM.ADOBarang.Delete; hapus data?
end; '+DM.ADOBarang.Fieldbyname(
end; 'kd_barang').AsString+'?',m
tConfirmation,[mbYes,mbNo],
procedure 0)=mrYes then
TForm4.btnRefreshBrgClick(S with DM.ADOBarang do
ender: TObject); begin
begin Append;
ref;
FieldByname('kd_barang').As
end; String := EditKdBrg.Text;

procedure FieldByName('namabarang').A
TForm4.BtnSimpanBrgClick(Se sString := EditNmBrg.Text;
nder: TObject);
begin FieldByName('jenis_barang')
if EditKdBrg.Text = '' then .AsString :=
begin CbbJenisBrg.Text;
Showmessage('Kode
barang masih kosong'); FieldByName('stok').AsInteg
EditKdBrg.SetFocus; er :=
end else strtoint(EditStok.Text);
if EditNmBrg.Text = ''
then FieldByName('harga_jual').A
begin sInteger
Showmessage('nama :=Strtoint(EditHrgJual.Text
barang masih kosong'); );
EditNmBrg.SetFocus; Post;
end else MessageDlg('Data
if CbbJenisBrg.Text ='' telah
then tersimpan',mtinformation,[m
begin bok],0);
Showmessage(' Kategori SQL.Text := 'SELECT *
masih kosong'); FROM barang';
CbbJenisBrg.SetFocus; Open;
end else end;
if EditStok.Text ='' then KodeOtomatis;
begin ref;
Showmessage('stok masih end;
kosong'); end;
EditStok.SetFocus;
end else
71

procedure end;
TForm4.btnTambahClick(Sende bersih;
r: TObject); KodeOtomatis;
begin ref;
EditKdBrg.SetFocus; end;
BtnSimpanBrg.Enabled:=True;
btnHapusBrg.Enabled:=False;
btnUbahBrg.Enabled:=False; procedure
Bersih; TForm4.CbbJenisBrgChange(Se
nder: TObject);
end; begin
KodeOtomatis;
procedure end;
TForm4.btnUbahBrgClick(Send
er: TObject); procedure
begin TForm4.DBGrid1DblClick(Send
DBGrid1.SetFocus; er: TObject);
With DM.ADOBarang do begin
begin EditKdBrg.Text:=DBGrid1.Fie
EditKdBrg.Enabled:=true; lds[0].AsString;
EditNmBrg.Enabled:=true; EditNmBrg.Text:=DBGrid1.Fie
EditStok.Enabled:=true; lds[1].AsString;
CbbJenisBrg.Text:=DBGrid1.F
CbbJenisBrg.Enabled:=true; ields[2].AsString;
EditStok.Text:=DBGrid1.Fiel
EditHrgJual.Enabled:=true; ds[3].AsString;
EditHrgJual.Text:=DBGrid1.F
ields[5].AsString;
with DM.ADOBarang do EditNmBrg.Enabled:=True;
begin CbbJenisBrg.Enabled:=True;
Close; EditStok.Enabled:=True;
SQL.Text := 'UPDATE barang EditHrgJual.Enabled:=True;
SET
namabarang="'+EditNmBrg.Tex end;
t+'",
jenis_barang="'+CbbJenisBrg procedure
.Text+'", TForm4.FormShow(Sender:
stok="'+EditStok.Text+'", TObject);
harga_jual="'+EditHrgJual.T begin
ext+'" WHERE btnHapusBrg.Enabled:=True;
kd_Barang='+QuotedStr(EditK btnUbahBrg.Enabled:=True;
dBrg.Text); KodeOtomatis;
ExecSQL; ref;
MessageDlg('Data Berhasil end;
Diubah',mtinformation,[mbok
],0); end.
SQL.Text := 'SELECT * FROM
barang';
Open; Source code karyawan

end; procedure TForm10.bersih;


72

begin procedure
EditKdUser.Clear; TForm10.btnCariBrgClick(Sen
EditNama.Clear; der: TObject);
EditTelp.Clear; begin
EditUsername.Clear; with DM.ADOUser do
EditPasswd.Clear; begin
Edit1.Clear; active:=false;
MemoAlamat.Clear; close;
end; SQL.Clear;
if
procedure cbbBerdasar.ItemIndex=0
TForm10.KodeOtomatis; then SQL.Text:='select*from
var hasil,no:string; tb_user where kd_user
nilai:string; like'+QuotedStr('%'+Edit1.T
i,n:integer; ext+'%');
begin if
if DM.ADOUser.RecordCount cbbBerdasar.ItemIndex=1
= 0 then then SQL.Text:='select*from
n:=1 else tb_user where nama
begin like'+QuotedStr('%'+Edit1.T
DM.ADOUser.Last; ext+'%');
if
no:=DM.ADOUser['kd_user']; cbbBerdasar.ItemIndex=2
for i:=3 to 6 do then SQL.Text:='select*from
begin tb_user where jk
nilai:=nilai+no[i]; like'+QuotedStr('%'+Edit1.T
n:=StrToInt(nilai)+1; ext+'%');
end; if
end; cbbBerdasar.ItemIndex=3
then SQL.Text:='select*from
case length tb_user where level
(Trim(IntToStr(n))) of like'+QuotedStr('%'+Edit1.T
1: hasil ext+'%');
:='U'+'000'+Trim(IntToStr(n if
)); cbbBerdasar.ItemIndex=4
2: hasil then SQL.Text:='select*from
:='U'+'00'+Trim(IntToStr(n) tb_user where alamat
); like'+QuotedStr('%'+Edit1.T
3: hasil ext+'%');
:='U'+'0'+Trim(IntToStr(n)) if
; cbbBerdasar.ItemIndex=5
4: hasil then SQL.Text:='select*from
:='U'+Trim(IntToStr(n)); tb_user where nomor_telp
end; like'+QuotedStr('%'+Edit1.T
EditKdUser.Text:=hasil; ext+'%');
EditKdUser.SelStart:=length Active:=true;
(Trim(hasil)); if IsEmpty then
ShowMessage('Data tidak
ditemukan');
end; end;
end;
73

FieldByName('nama').AsStrin
procedure g:=EditNama.Text;
TForm10.btnHapusBrgClick(Se FieldByName('jk').AsString:
nder: TObject); =cbbJK.Text;
begin FieldByName('level').AsStri
if ng:=cbbLevel.Text;
Application.MessageBox('Apa FieldByName('alamat').AsStr
kah anda yakin ingin ing:=MemoAlamat.Text;
menghapus data yang FieldByName('nomor_telp').A
dipilih','konfirmasi',MB_YE sString:=EditTelp.Text;
SNO or FieldByName('username').AsS
MB_ICONINFORMATION)=idyes tring:=EditUsername.Text;
then FieldByName('password').AsS
begin tring:=EditPasswd.Text;
DM.ADOUser.Delete; post;
end; Application.MessageBox('Yak
end; in Data
Disimpan?','Informasi',MB_O
procedure K+MB_ICONINFORMATION);
TForm10.btnRefreshBrgClick( end;
Sender: TObject); bersih;
begin KodeOtomatis;
DM.ADOUser.Close; EditKdUser.SetFocus;
DM.ADOUser.SQL.Clear; //FormShow(Sender);
DM.ADOUser.SQL.Append('sele end;
ct * from tb_user order by
kd_user desc');
DM.ADOUser.Open; end;
end;
procedure
procedure TForm10.btnUbahBrgClick(Sen
TForm10.BtnSimpanBrgClick(S der: TObject);
ender: TObject); begin
begin DBGrid1.SetFocus;
if (EditKdUser.Text='') or With DM.ADOUser do
(cbbLevel.Text='') or begin
(EditNama.Text='') or EditKdUser.Enabled:=true;
(EditUsername.Text='') then EditNama.Enabled:=true;
cbbJK.Enabled:=true;
Application.MessageBox('Inp cbbLevel.Enabled:=true;
utan tidak EditTelp.Enabled:=true;
valid!','Peringatan!',MB_OK MemoAlamat.Enabled:=true;
+MB_ICONWARNING)
else EditUsername.Enabled:=true;
begin EditPasswd.Enabled:=true;
with DM.ADOUser do
begin with DM.ADOUser do
Append; begin
FieldByName('kd_user').AsSt Close;
ring:=EditKdUser.Text; SQL.Text := 'UPDATE tb_user
SET
74

nama="'+EditNama.Text+'", EditTelp.Enabled:=True;
jk="'+cbbJK.Text+'", MemoAlamat.Enabled:=True;
level="'+cbbLevel.Text+'", EditUsername.Enabled:=True;
alamat="'+MemoAlamat.Text+' EditPasswd.Enabled:=True;
", end;
nomor_telp="'+EditTelp.Text
+'",
username="'+EditUsername.Te procedure
xt+'", TForm10.FormShow(Sender:
password="'+EditPasswd.Text TObject);
+'" WHERE begin
kd_user='+QuotedStr(EditKdU bersih;
ser.Text); KodeOtomatis;
ExecSQL; end;
MessageDlg('Data Berhasil
Diubah',mtinformation,[mbok end.
],0);
SQL.Text := 'SELECT * FROM //Source code Pelanggan
tb_user';
Open; procedure
end; TFormPelanggan.bersih;
end; begin
bersih; EditID.clear;
KodeOtomatis; EditNama.clear;
EditTelp.clear;
end; MemoAlamat.clear;
EditSPh.Clear;
procedure EditCyl.Clear;
TForm10.DBGrid1DblClick(Sen EditAs.Clear;
der: TObject); EditSphKiri.Clear;
begin EditCylKiri.Clear;
EditKdUser.Text:=DBGrid1.Fi EditAsKiri.Clear;
elds[0].AsString; end;
EditNama.Text:=DBGrid1.Fiel
ds[1].AsString; procedure
cbbJK.Text:=DBGrid1.Fields[ TFormPelanggan.KodeOtomatis
2].AsString; ;
cbbLevel.Text:=DBGrid1.Fiel var hasil,no:string;
ds[3].AsString; nilai:string;
EditTelp.Text:=DBGrid1.Fiel i,n:integer;
ds[4].AsString; begin
MemoAlamat.Text:=DBGrid1.Fi if
elds[5].AsString; DM.ADOPelanggan.RecordCount
EditUsername.Text:=DBGrid1. = 0 then
Fields[6].AsString; n:=1 else
EditPasswd.Text:=DBGrid1.Fi begin
elds[6].AsString; DM.ADOPelanggan.Last;
EditKdUser.Enabled:=True;
EditNama.Enabled:=True; no:=DM.ADOPelanggan['id_pel
cbbJK.Enabled:=True; anggan'];
cbbLevel.Enabled:=True; for i:=3 to 6 do
75

begin end;
nilai:=nilai+no[i];
n:=StrToInt(nilai)+1; procedure
end; TFormPelanggan.ButtonCariCl
end; ick(Sender: TObject);
begin
case length with DM.ADOPelanggan do
(Trim(IntToStr(n))) of begin
1: hasil active:=false;
:='P'+'000'+Trim(IntToStr(n close;
)); SQL.Clear;
2: hasil if cbbCari.ItemIndex=0
:='P'+'00'+Trim(IntToStr(n) then SQL.Text:='select*from
); pelanggan where
3: hasil id_pelanggan
:='P'+'0'+Trim(IntToStr(n)) like'+QuotedStr('%'+EditKtK
; unci.Text+'%');
4: hasil if cbbCari.ItemIndex=1
:='P'+Trim(IntToStr(n)); then SQL.Text:='select*from
end; pelanggan where
EditID.Text:=hasil; namapelanggan
EditID.SelStart:=length(Tri like'+QuotedStr('%'+EditKtK
m(hasil)); unci.Text+'%');
if cbbCari.ItemIndex=2
then SQL.Text:='select*from
end; pelanggan where alamat
like'+QuotedStr('%'+EditKtK
procedure unci.Text+'%');
TFormPelanggan.Refresh1Clic if cbbCari.ItemIndex=3
k(Sender: TObject); then SQL.Text:='select*from
begin pelanggan where no_telp
TsPelanggan.Show; like'+QuotedStr('%'+EditKtK
end; unci.Text+'%');
Active:=true;
procedure if IsEmpty then
TFormPelanggan.ButtonHapusC ShowMessage('Data tidak
lick(Sender: TObject); ditemukan');
begin end;
if end;
Application.MessageBox('Apa
kah anda yakin ingin procedure
menghapus data yang TFormPelanggan.ButtonRefCli
dipilih','konfirmasi',MB_YE ck(Sender: TObject);
SNO or begin
MB_ICONINFORMATION)=idyes DM.ADOPelanggan.Close;
then DM.ADOPelanggan.SQL.Clear;
begin DM.ADOPelanggan.SQL.Append(
DM.ADOPelanggan.Delete; 'select * from pelanggan
end; order by id_pelanggan
bersih; desc');
KodeOtomatis; DM.ADOPelanggan.Open;
76

end; id_pelanggan='+QuotedStr(Ed
itID.Text);
procedure ExecSQL;
TFormPelanggan.ButtonSimpan MessageDlg('Data Berhasil
Click(Sender: TObject); Diubah',mtinformation,[mbok
begin ],0);
with DM.ADOPelanggan do SQL.Text := 'SELECT * FROM
begin pelanggan';
Append; Open;
FieldByName('id_pelanggan') end;
.AsString:=EditID.Text; end;
FieldByName('namapelanggan' bersih;
).AsString:=EditNama.Text; KodeOtomatis;
FieldByName('alamat').AsStr end;
ing:=MemoAlamat.Text;
FieldByName('no_telp').AsSt procedure
ring:=EditTelp.Text; TFormPelanggan.DBGrid1DblCl
post; ick(Sender: TObject);
Application.MessageBox('Yak begin
in Data TsPelanggan.Show;
Disimpan?','Informasi',MB_O
K+MB_ICONINFORMATION); EditID.Text:=DBGrid1.Fields
end; [0].AsString;
bersih; EditNama.Text:=DBGrid1.Fiel
KodeOtomatis; ds[1].AsString;
EditID.SetFocus; MemoAlamat.Text:=DBGrid1.Fi
end; elds[2].AsString;
EditTelp.Text:=DBGrid1.Fiel
procedure ds[3].AsString;
TFormPelanggan.ButtonUbahCl EditID.Enabled:=True;
ick(Sender: TObject); EditNama.Enabled:=True;
begin MemoAlamat.Enabled:=True;
With DM.ADOPelanggan do EditTelp.Enabled:=True;
begin end;
EditID.Enabled:=true;
EditNama.Enabled:=true; procedure
MemoAlamat.Enabled:=true; TFormPelanggan.FormShow(Sen
EditTelp.Enabled:=true; der: TObject);
begin
with DM.ADOPelanggan do TsPelanggan.Show;
begin bersih;
Close; KodeOtomatis;
SQL.Text := 'UPDATE end;
pelanggan SET
namapelanggan="'+EditNama.T procedure
ext+'", TFormPelanggan.Hapus1Click(
alamat="'+MemoAlamat.Text+' Sender: TObject);
", begin
no_telp="'+EditTelp.Text+'" if
WHERE Application.MessageBox('Apa
kah anda yakin ingin
77

menghapus data yang


dipilih','konfirmasi',MB_YE no:=DM.ADOFaset['id_faset']
SNO or ;
MB_ICONINFORMATION)=idyes for i:=3 to 6 do
then begin
begin nilai:=nilai+no[i];
DM.ADOPelanggan.Delete; n:=StrToInt(nilai)+1;
end; end;
end;
end;
case length
procedure (Trim(IntToStr(n))) of
TFormPelanggan.tampil; 1: hasil
begin :='FS'+'000'+Trim(IntToStr(
with DM.ADOPelanggan do n));
begin 2: hasil
sql.clear; :='FS'+'00'+Trim(IntToStr(n
sql.add('select * from ));
pelanggan'); 3: hasil
Active := false; :='FS'+'0'+Trim(IntToStr(n)
Active := true; );
end; 4: hasil
end; :='FS'+Trim(IntToStr(n));
end;
end. EditKdFaset.Text:=hasil;
EditKdFaset.SelStart:=lengt
h(Trim(hasil));
//Source code Data Faset
end;
procedure TForm15.bersih;
begin procedure
EditKdFaset.Clear; TForm15.btnCariClick(Sender
EditNama.Clear; : TObject);
EditTelp.Clear; begin
Edit1.Clear; with DM.ADOFaset do
MemoAlamat.Clear; begin
end; active:=false;
close;
procedure SQL.Clear;
TForm15.KodeOtomatis; if
var hasil,no:string; cbbBerdasar.ItemIndex=0
nilai:string; then SQL.Text:='select*from
i,n:integer; faset where id_faset
begin like'+QuotedStr('%'+Edit1.T
if ext+'%');
DM.ADOFaset.RecordCount = 0 if
then cbbBerdasar.ItemIndex=1
n:=1 else then SQL.Text:='select*from
begin faset where namafaset
DM.ADOFaset.Last; like'+QuotedStr('%'+Edit1.T
ext+'%');
78

if DM.ADOFaset.Open;
cbbBerdasar.ItemIndex=2 end;
then SQL.Text:='select*from
faset where jk procedure
like'+QuotedStr('%'+Edit1.T TForm15.BtnSimpanClick(Send
ext+'%'); er: TObject);
if begin
cbbBerdasar.ItemIndex=4 if (EditKdFaset.Text='') or
then SQL.Text:='select*from (cbbJK.Text='') or
faset where alamat (EditNama.Text='') or
like'+QuotedStr('%'+Edit1.T (EditNama.Text='') then
ext+'%');
if Application.MessageBox('Inp
cbbBerdasar.ItemIndex=5 utan tidak
then SQL.Text:='select*from valid!','Peringatan!',MB_OK
faset where no_telp +MB_ICONWARNING)
like'+QuotedStr('%'+Edit1.T else
ext+'%'); begin
Active:=true; with DM.ADOFaset do
if IsEmpty then begin
ShowMessage('Data tidak Append;
ditemukan'); FieldByName('id_faset').AsS
end; tring:=EditKdFaset.Text;
end; FieldByName('namafaset').As
String:=EditNama.Text;
procedure FieldByName('jk').AsString:
TForm15.btnHapusClick(Sende =cbbJK.Text;
r: TObject); FieldByName('alamat').AsStr
begin ing:=MemoAlamat.Text;
if FieldByName('no_telp').AsSt
Application.MessageBox('Apa ring:=EditTelp.Text;
kah anda yakin ingin post;
menghapus data yang Application.MessageBox('Yak
dipilih','konfirmasi',MB_YE in Data
SNO or Disimpan?','Informasi',MB_O
MB_ICONINFORMATION)=idyes K+MB_ICONINFORMATION);
then end;
begin bersih;
DM.ADOFaset.Delete; KodeOtomatis;
end; end;
end; end;

procedure procedure
TForm15.btnRefreshClick(Sen TForm15.btnUbahClick(Sender
der: TObject); : TObject);
begin begin
DM.ADOFaset.Close; DBGrid1.SetFocus;
DM.ADOFaset.SQL.Clear; With DM.ADOFaset do
DM.ADOFaset.SQL.Append('sel begin
ect * from faset order by
id_faset desc'); EditKdFaset.Enabled:=true;
79

EditNama.Enabled:=true;
cbbJK.Enabled:=true; procedure
EditTelp.Enabled:=true; TForm15.FormShow(Sender:
MemoAlamat.Enabled:=true; TObject);
begin
with DM.ADOFaset do bersih;
begin KodeOtomatis;
Close; EditKdFaset.Enabled:=False;
SQL.Text := 'UPDATE faset end;
SET
namafaset="'+EditNama.Text+ end.
'",
jk="'+cbbJK.Text+'",no_telp
="'+EditTelp.Text+'", //Source Code Transaksi Penjualan
alamat="'+MemoAlamat.Text+'
" WHERE procedure TForm12.ref;
id_faset='+QuotedStr(EditKd begin
Faset.Text); with DM.ADOPenjualan do
ExecSQL; begin
MessageDlg('Data Berhasil active:=false;
Diubah',mtinformation,[mbok Close;
],0); sql.Clear;
SQL.Text := 'SELECT * FROM sql.Text:='select *
faset'; from penjualan';
Open; Open;
end; end;
end; end;
bersih;
KodeOtomatis; procedure TForm12.ref2;
end; begin
with DM.ADODetPenjualan
procedure do
TForm15.DBGrid1DblClick(Sen begin
der: TObject); Active:=False;
begin Close;
EditKdFaset.Text:=DBGrid1.F SQL.Clear;
ields[0].AsString; SQL.Text:='select*from
EditNama.Text:=DBGrid1.Fiel vdetjual';
ds[1].AsString; Open;
cbbJK.Text:=DBGrid1.Fields[ end;
2].AsString; end;
EditTelp.Text:=DBGrid1.Fiel
ds[3].AsString; procedure TForm12.bersih;
MemoAlamat.Text:=DBGrid1.Fi begin
elds[4].AsString; Edit1.Clear;
EditKdFaset.Enabled:=True; Edit2.Clear;
EditNama.Enabled:=True; Edit8.Clear;
cbbJK.Enabled:=True;
EditTelp.Enabled:=True; DateTimePicker1.Date:=Now;
MemoAlamat.Enabled:=True; Edit9.Clear;
end; Edit10.Clear;
80

Edit5.Clear; if Edit19.Text='' then e:=0


Edit6.Clear; else
Edit7.Clear; e:=StrToInt(Edit19.Text);
Edit12.Clear;
Edit11.Clear; Edit18.Text:=IntToStr(a+b);
Edit13.Clear; Edit19.Text:=IntToStr(a+b-
Edit14.Clear; c);
Edit15.Clear; end;
Edit16.Clear;
Edit17.Clear; procedure
Edit18.Clear; TForm12.btnhapusClick(Sende
Edit19.Clear; r: TObject);
end; begin

procedure TForm12.hitung; z:=DM.ADODetPenjualan.Field


var a,b,c,d,e,f:integer; Values['no'];
begin with DM.ADODetPenjualan do
With DM.ADOSumJual do begin
begin Active:=False;
Active:=False; Close;
Close; sql.Clear;
SQL.Clear; sql.Text:='delete from
detailpenjualan where
SQL.Text:='select*from no='+QuotedStr(z);
vdetjual_sum where ExecSQL;
kd_jual='+QuotedStr(Edit1.T end;
ext); KodeOtomatis;
Open; ref2;
if IsEmpty then end;
begin
Edit18.Text:='0'; procedure
end TForm12.btnsimpanClick(Send
else er: TObject);
begin begin
with DM.ADOPenjualan do
Edit18.Text:=DM.ADOSumJual. begin
FieldValues['totalkeseluruh Append;
an']; FieldByName('kd_jual').AsSt
end; ring:=Edit1.Text;
end; FieldByName('no_pemesanan')
if Edit17.Text='' then a:=0 .AsString:=Edit2.Text;
else FieldByName('tanggaltransak
a:=StrToInt(Edit17.Text); si').AsDateTime:=DateTimePi
if Edit18.Text='' then b:=0 cker1.Date;
else FieldByName('faset').AsStri
b:=StrToInt(Edit18.Text); ng:=Edit3.Text;
if Edit6.Text='' then c:=0 FieldByName('kd_user').AsSt
else ring:=Edit8.Text;
c:=StrToInt(Edit6.Text); FieldByName('id_pelanggan')
.AsString:=Edit9.Text;
81

FieldByName('totalkeseluruh
an').AsString:=Edit19.Text; Edit6.Text:=FieldByName('ua
FieldByName('bayar').AsStri ngmuka').AsString;
ng:=Edit11.Text;
FieldByName('kembalian').As Edit7.Text:=FieldByName('ke
String:=Edit12.Text; kurangan').AsString;
Panel1.Hide;
post; DBGrid4.Hide;
Application.MessageBox('Yak end;
in Data
Disimpan?','Informasi',MB_O PageControl1.ActivePage:=Ta
K+MB_ICONINFORMATION); bSheet1;
end;
bersih; end;
ref;
KodeOtomatis; procedure
end; TForm12.DBGrid5DblClick(Sen
der: TObject);
procedure begin
TForm12.DBGrid3DblClick(Sen with DM.ADOBarang do
der: TObject); begin
begin
with DM.ADOPelanggan do Edit13.Text:=FieldByName('k
begin d_barang').AsString;

Edit9.Text:=FieldByName('id Edit14.Text:=FieldByName('n
_pelanggan').AsString; amabarang').AsString;
Panel2.Hide;
DBGrid3.Hide; Edit15.Text:=FieldByName('h
end; arga_jual').AsString;
PageControl1.ActivePage:=Ta Panel4.Hide;
bSheet1; DBGrid5.Hide;
end; end;
end;
procedure
TForm12.DBGrid4DblClick(Sen procedure
der: TObject); TForm12.Edit12Exit(Sender:
begin TObject);
with DM.ADOPemesanan do var a,b,c:Integer;
begin begin
a:=StrToInt(Edit19.Text);
Edit2.Text:=FieldByName('no b:=StrToInt(Edit11.Text);
_pemesanan').AsString; c:=a-b;
Edit12.Text:=IntToStr(c);
Edit3.Text:=FieldByName('fa end;
set').AsString;
procedure
Edit9.Text:=FieldByName('id TForm12.Edit16Exit(Sender:
_pelanggan').AsString; TObject);
var a,b,c:Integer;
begin
82

a:=StrToInt(Edit15.Text); begin
b:=StrToInt(Edit16.Text); Panel1.Show;
c:=a*b; Panel1.Enabled:=True;
Edit17.Text:=IntToStr(c); DBGrid4.Visible:=True;
end; end;

procedure procedure
TForm12.FormShow(Sender: TForm12.sBitBtn2Click(Sende
TObject); r: TObject);
begin begin
DateTimePicker1.Date:=Now; with DM.ADOPenjualan do
bersih; begin
KodeOtomatis; active:=false;
PageControl1.ActivePage:=Ta close;
bSheet1; SQL.Clear;
Edit1.Enabled:=False; if
Panel1.Enabled:=False; ComboBox2.ItemIndex=0 then
Panel2.Enabled:=False; SQL.Text:='select*from '+'
Panel3.Enabled:=False; vjual where no_pemesanan
Panel4.Enabled:=False; like'+QuotedStr('%'+Edit5.T
DBGrid3.Visible:=False; ext+'%');
DBGrid4.Visible:=False; if
DBGrid5.Visible:=False; ComboBox2.ItemIndex=1 then
Edit8.Enabled:=False; SQL.Text:='select*from '+'
Edit8.Text:=DM.ADOLogin.Fie vjual where kd_jual
ldValues['kd_user']; like'+QuotedStr('%'+Edit5.T
ext+'%');
end; if
ComboBox2.ItemIndex=2 then
procedure SQL.Text:='select*from '+'
TForm12.Hapus1Click(Sender: vjual where namabarang
TObject); like'+QuotedStr('%'+Edit5.T
begin ext+'%');
n:=DM.ADOPenjualan.FieldVal if
ues['kd_jual']; ComboBox2.ItemIndex=3 then
with DM.ADOPenjualan do SQL.Text:='select*from '+'
begin vjual where kd_barang
Active:=False; like'+QuotedStr('%'+Edit5.T
Close; ext+'%');
sql.Clear; Active:=true;
sql.Text:='delete from if IsEmpty then
penjualan where ShowMessage('Data tidak
kd_jual='+QuotedStr(n); ditemukan');
ExecSQL; end;
end; end;
ref;
end; procedure
TForm12.sBitBtn3Click(Sende
procedure r: TObject);
TForm12.sBitBtn1Click(Sende begin
r: TObject); ref;
83

ComboBox2.ItemIndex:=0; FieldByName('jumlah').AsStr
Edit5.Text:=''; ing:=Edit16.Text;
end; FieldByName('totaljual').As
String:=Edit17.Text;
procedure post;
TForm12.sBitBtn4Click(Sende ShowMessage('Data berhasil
r: TObject); ditambahkan!');
begin hitung;
Panel3.Show; Panel3.Hide;
panel3.Enabled:=True; Ref2;
end; end;
end;
procedure
TForm12.sBitBtn5Click(Sende procedure
r: TObject); TForm12.sBitBtn9Click(Sende
begin r: TObject);
ref2; begin
end; Panel4.Show;
Panel4.Enabled:=True;
procedure DBGrid5.Visible:=True;
TForm12.sBitBtn6Click(Sende end;
r: TObject);
begin //Source Code Transaksi Pembelian
Panel3.Hide;
end; procedure TForm5.bersih;
begin
procedure EditNotaBeli.Clear;
TForm12.sBitBtn7Click(Sende EditKdBrg.Clear;
r: TObject); EditJml.Clear;
begin EditHarga.Clear;
Panel2.Show;
Panel2.Enabled:=True; DateTimePicker1.Date:=Now;
DBGrid3.Visible:=True; EditTotbel.Clear;
end; EditIdKrywn.Clear;
EditSupp.Clear;
procedure EditKtKunci.Clear;
TForm12.sBitBtn8Click(Sende end;
r: TObject);
begin procedure
with DM.ADODetPenjualan do TForm5.KodeOtomatis;
var
begin kd,kode_jadi,kode_tgl,nol:s
Append; tring;
begin
FieldByName('kd_jual').AsSt nol:='000';
ring:=Edit13.Text; with DM.ADOPembelian do
FieldByName('kd_barang').As begin
String:=Edit14.Text; Close;
FieldByName('hargajual').As SQL.Text:='select *
String:=Edit15.Text; from pembelian order by
kd_beli';
84

Open; begin
if recordcount >0 then with DM.ADODetPembelian
begin do
Last; begin
Active:=False;
kd:=Fieldbyname('kd_beli'). Close;
AsString; SQL.Clear;
SQL.Text:='select*from
kode_jadi:=RightStr(kd,3); vdetailbeli';
Open;
kd:=IntToStr(StrToInt(kode_ end;
jadi)+1); end;

kode_tgl:=FormatDateTime('m procedure
mddyy', TForm5.sBitBtn1Click(Sender
DateTimePicker1.Date); : TObject);
begin
kode_jadi:=LeftStr(Nol,3- ref2;
length(kd))+kd; end;

EditNotaBeli.text:='PMBL'+k procedure
ode_tgl+kode_jadi; TForm5.tambahhilang;
end begin
else EditNotaBeli.Text:='';
begin EditKdBrg.Text:='';
EditJml.Text:='';
kode_tgl:=FormatDateTime('m EditHarga.Text:='';
mddyy', EditTotbel.Text:='';
DateTimePicker1.Date); EditIdKrywn.Text:='';
EditSupp.Text:='';
EditNotaBeli.text:='PMBL'+k end;
ode_tgl+'001';
end; procedure TForm5.totbar;
end; begin
end; with DM.ADODetPembelian
do
begin
procedure TForm5.ref; sql.Clear;
begin sql.Text:='select
with DM.ADOPembelian do SUM(total) as totalnya from
begin detailpembelian';
active:=false; ExecSQL;
Close;
sql.Clear; EditTotbel.Text:=FieldByNam
sql.Text:='select * e('totalnya').AsString;
from vbeli'; ref;
Open; end;
end; end;
end;

procedure TForm5.ref2;
85

procedure procedure
TForm5.btnCariKodebrgClick( TForm5.btnTambahClick(Sende
Sender: TObject); r: TObject);
begin begin
Panel1.Show; with DM.ADODetPembelian do
Panel1.Enabled:=True;
end; begin
Append;
procedure
TForm5.btnSimpanClick(Sende FieldByName('kd_beli').AsSt
r: TObject); ring:=EditNotaBeli.Text;
begin FieldByName('kd_barang').As
{if (EditNotaBeli.Text='') String:=EditKdBrg.Text;
or (EditSupp.Text='') or FieldByName('harga').AsStri
(EditIdKrywn.Text='') or ng:=EditHarga.Text;
(EditKdBrg.Text='') then FieldByName('jumbeli').AsSt
ring:=EditJml.Text;
Application.MessageBox('Inp FieldByName('totalbeli').As
utan tidak String:=EditTotbel.Text;
valid!','Peringatan!',MB_OK post;
+MB_ICONWARNING) ShowMessage('Data berhasil
else } ditambahkan!');
with DM.ADOPembelian do Ref2;
begin end;
Append; end;
FieldByName('kd_beli').AsSt
ring:=EditNotaBeli.Text; procedure
FieldByName('kd_sup').AsStr TForm5.btnHapusClick(Sender
ing:=EditSupp.Text; : TObject);
FieldByName('kd_user').AsSt begin
ring:=EditIdKrywn.Text; z:=DM.ADODetPembelian.Field
FieldByName('tanggal').AsDa Values['No'];
teTime:=DateTimePicker1.Dat with DM.ADODetPembelian do
e; begin
FieldByName('totalkeseluruh Active:=False;
an').AsString:=EditTotbel.T Close;
ext; sql.Clear;
post; sql.Text:='delete from
Application.MessageBox('Yak detailpembelian where
in Data No='+QuotedStr(z);
Disimpan?','Informasi',MB_O ExecSQL;
K+MB_ICONINFORMATION); end;
end; KodeOtomatis;
bersih; ref2;
ref; end;
KodeOtomatis;
procedure
//FormShow(Sender); TForm5.Button1Click(Sender:
end; TObject);
begin
Panel2.Show;
86

Panel2.Enabled:=True; ref;
DBGrid4.Visible:=True; cbbCari.ItemIndex:=0;
end; EditKtKunci.Text:='';
end;
procedure
TForm5.Button2Click(Sender: procedure
TObject); TForm5.CariData1Click(Sende
begin r: TObject);
frxReport1.ShowReport(); begin
end; FCaripembelian.ShowModal;
end;
procedure
TForm5.ButtonCariClick(Send procedure
er: TObject); TForm5.DataPembelian1Click(
begin Sender: TObject);
with DM.ADOPembelian do begin
begin FormPembelian1.ShowModal;
active:=false; end;
close;
SQL.Clear; procedure
if cbbCari.ItemIndex=0 TForm5.DBGrid1DblClick(Send
then SQL.Text:='select*from er: TObject);
'+' vbeli where kd_beli begin
like'+QuotedStr('%'+EditKtK TabSheetPembelian.Show;
unci.Text+'%'); EditNotaBeli.Text:=DBGrid1.
if cbbCari.ItemIndex=1 Fields[0].AsString;
then SQL.Text:='select*from EditIdKrywn.Text:=DBGrid1.F
'+' vbeli where kd_sup ields[1].AsString;
like'+QuotedStr('%'+EditKtK EditSupp.Text:=DBGrid1.Fiel
unci.Text+'%'); ds[2].AsString;
if cbbCari.ItemIndex=2 DateTimePicker1.Date:=DBGri
then SQL.Text:='select*from d1.Fields[3].AsDateTime;
'+' vbeli where kd_user EditJml.Text:=DBGrid1.Field
like'+QuotedStr('%'+EditKtK s[4].AsString;
unci.Text+'%'); EditTotbel.Text:=DBGrid1.Fi
if cbbCari.ItemIndex=3 elds[5].AsString;
then SQL.Text:='select*from EditNotaBeli.Enabled:=True;
'+' vbeli where tanggal EditIdKrywn.Enabled:=True;
like'+QuotedStr('%'+EditKtK EditSupp.Enabled:=True;
unci.Text+'%'); DateTimePicker1.Enabled:=Tr
Active:=true; ue;
if IsEmpty then EditJml.Enabled:=True;
ShowMessage('Data tidak EditTotbel.Enabled:=True;
ditemukan');
end; end;
end;

procedure procedure
TForm5.ButtonRefreshClick(S TForm5.DBGrid3DblClick(Send
ender: TObject); er: TObject);
begin begin
87

with DM.ADOBarang do PageControl1.ActivePage:=Ta


begin bSheetPembelian;
EditNotaBeli.Enabled:=False
EditKdBrg.Text:=FieldByName ;
('kd_barang').AsString; bersih;
Panel1.Hide; KodeOtomatis;
end; Panel1.Enabled:=False;
Panel2.Enabled:=False;
PageControl1.ActivePage:=Ta EditIdKrywn.Enabled:=False;
bSheetPembelian; EditIdKrywn.Text:=DM.ADOLog
in.FieldValues['kd_user'];
end; end;

procedure procedure
TForm5.DBGrid4DblClick(Send TForm5.HapusClick(Sender:
er: TObject); TObject);
begin begin
with DM.ADOSupplier do n:=DM.ADOPembelian.FieldVal
begin ues['kd_beli'];
with DM.ADOPembelian do
EditSupp.Text:=FieldByName( begin
'kd_sup').AsString; Active:=False;
Panel2.Hide; Close;
DBGrid4.Hide; sql.Clear;
end; sql.Text:='delete from
pembelian where
PageControl1.ActivePage:=Ta kd_beli='+QuotedStr(n);
bSheetPembelian; ExecSQL;
end;
end; ref;
end;
procedure
TForm5.EditJmlExit(Sender: //Source Code Pemesanan
TObject);
var a,b,c,d:Integer; procedure
begin TForm8.DBGrid3DblClick(Send
a:=StrToInt(EditHarga.Text) er: TObject);
; begin
b:=StrToInt(EditJml.Text); with DM.ADOBarang do
c:=a*b; begin
EditTotbel.Text:=IntToStr(c
); EditKdBrg.Text:=FieldByName
('kd_barang').AsString;
end;
EditHarga.Text:=FieldByName
procedure ('harga_jual').AsString;
TForm5.FormShow(Sender: Panel2.Hide;
TObject); DBGrid3.Hide;
begin end;
DateTimePicker1.Date:=Now; end;
88

procedure begin
TForm8.DBGrid4DblClick(Send
er: TObject); kode_tgl:=FormatDateTime('m
begin mddyy',
with DM.ADOFaset do DateTimePicker1.Date);
begin
EditNoPmsn.text:='PMS'+kode
Edit1.Text:=FieldByName('id _tgl+'001';
_faset').AsString; end;
Panel3.Hide; end;
DBGrid4.Hide; end;
end;
end; procedure TForm8.cetaknota;
begin
procedure with DM.ADOPemesanan do
TForm8.KodeOtomatis; begin
var close;
kd,kode_jadi,kode_tgl,nol:s SQL.Clear;
tring; SQL.Add('select * from
begin pemesanan where
nol:='000'; no_pemesanan="'+EditNoPmsn.
with DM.ADOPenjualan do Text+'"');
begin open;
Close; end;
SQL.Text:='select *
from pemesanan order by frxReport1.ShowReport();
no_pemesanan'; end;
Open;
if recordcount >0 then
begin
Last;
procedure
kd:=Fieldbyname('no_pemesan TForm8.sBitBtn1Click(Sender
an').AsString; : TObject);
begin
kode_jadi:=RightStr(kd,3); Panel1.Show;
Panel1.Enabled:=True;
kd:=IntToStr(StrToInt(kode_ DBGrid2.Visible:=True;
jadi)+1); end;

kode_tgl:=FormatDateTime('m procedure
mddyy', TForm8.sBitBtn2Click(Sender
DateTimePicker1.Date); : TObject);
begin
kode_jadi:=LeftStr(Nol,3- Panel2.Show;
length(kd))+kd; Panel2.Enabled:=True;
DBGrid3.Visible:=True;
EditNoPmsn.text:='PMS'+kode end;
_tgl+kode_jadi;
end
else
89

procedure MessageDlg('Data Berhasil


TForm8.sBitBtn3Click(Sender Diubah',mtinformation,[mbok
: TObject); ],0);
begin SQL.Text := 'SELECT * FROM
DBGrid1.SetFocus; pemesanan';
With DM.ADOPemesanan do Open;
begin end;
EditIdPlgn.Enabled:=true; end;
EditKdBrg.Enabled:=true; bersih;
EditHarga.Enabled:=true; KodeOtomatis;
EditSPh.Enabled:=true; end;
EditCyl.Enabled:=true;
EditAs.Enabled:=true; procedure
TForm8.sBitBtn4Click(Sender
EditSphKiri.Enabled:=true; : TObject);
begin
EditCylKiri.Enabled:=true; Panel3.Show;
EditAsKiri.Enabled:=true; Panel3.Enabled:=True;
Edit1.Enabled:=true; DBGrid4.Visible:=True;
Edit2.Enabled:=true; end;
Edit3.Enabled:=true;
{procedure TForm8.hitung;
with DM.ADOPemesanan do var a,b,c,d,e,f:integer;
begin begin
Close; With DM.ADOPemesanan do
SQL.Text := 'UPDATE begin
pemesanan SET Active:=False;
kd_barang="'+EditKdBrg.Text Close;
+'", SQL.Clear;
totalharga="'+EditHarga.Tex
t+'", SQL.Text:='select*from
faset="'+Edit1.Text+'", pemesanan where
nilaikananSPH="'+EditSPh.Te no_pemesanan='+QuotedStr(Ed
xt+'", itNoPmsn.Text);
nilaikananCYL="'+EditCyl.Te Open;
xt+'", if IsEmpty then
nilaikananAS="'+EditAs.Text begin
+'",
nilaikiriSPH="'+EditSphKiri EditHarga.Text:='0';
.Text+'", end
nilaikiriCYL="'+EditCylKiri else
.Text+'", begin
nilaikiriAS="'+EditAsKiri.T
ext+'", EditHarga.Text:=DM.ADOPemes
uangmuka="'+Edit2.Text+'", anan.FieldValues['totalharg
kekurangan="'+Edit3.Text+'" a'];
WHERE end;
no_pemesanan='+QuotedStr(Ed end;
itNoPmsn.Text); if EditHarga.Text='' then
ExecSQL; a:=0 else
90

a:=StrToInt(EditHarga.Text) Edit4.Text:=DM.ADOLogin.Fie
; ldValues['kd_user'];
if Edit2.Text='' then b:=0 end;
else
b:=StrToInt(Edit2.Text); procedure
Edit3.Text:=IntToStr(a-b); TForm8.btnSimpanClick(Sende
r: TObject);
end; } begin
with DM.ADOPemesanan do
procedure TForm8.bersih; begin
begin Append;
EditNoPmsn.clear; FieldByName('no_pemesanan')
EditIdPlgn.clear; .AsString:=EditNoPmsn.Text;
EditKdBrg.clear; FieldByName('kd_user').AsSt
EditHarga.clear; ring:=Edit4.Text;
EditSPh.Clear; FieldByName('id_pelanggan')
EditCyl.Clear; .AsString:=EditIdPlgn.Text;
EditAs.Clear; FieldByName('kd_barang').As
EditSphKiri.Clear; String:=EditKdBrg.Text;
EditCylKiri.Clear; FieldByName('tanggalpesan')
EditAsKiri.Clear; .AsDateTime:=DateTimePicker
Edit1.Clear; 1.Date;
Edit2.Clear; FieldByName('faset').AsStri
Edit3.Clear; ng:=Edit1.Text;
Edit4.Clear; FieldByName('nilaikananSPH'
end; ).AsString:=EditSPh.Text;
FieldByName('nilaikananCYL'
procedure ).AsString:=EditCyl.Text;
TForm8.btnCetakClick(Sender FieldByName('nilaikananAS')
: TObject); .AsString:=EditAs.Text;
begin FieldByName('nilaikiriSPH')
cetaknota; .AsString:=EditSphKiri.Text
end; ;
FieldByName('nilaikiriCYL')
procedure .AsString:=EditCylKiri.Text
TForm8.btnHapusClick(Sender ;
: TObject); FieldByName('nilaikiriAS').
begin AsString:=EditAsKiri.Text;
if FieldByName('totalharga').A
Application.MessageBox('Apa sString:=EditHarga.Text;
kah anda yakin ingin FieldByName('uangmuka').AsS
menghapus data yang tring:=Edit2.Text;
dipilih','konfirmasi',MB_YE FieldByName('kekurangan').A
SNO or sString:=Edit3.Text;
MB_ICONINFORMATION)=idyes post;
then ShowMessage('Data Pemesanan
begin Sudah Tersimpan');
DM.ADOPemesanan.Delete; end;
end; bersih;
bersih; Refresh;
KodeOtomatis; KodeOtomatis;
91

EditNoPmsn.Enabled:=False; Edit2.Enabled:=True;
Edit4.Text:=DM.ADOLogin.Fie Edit3.Enabled:=True;
ldValues['kd_user']; end;
EditIdPlgn.SetFocus;
procedure
end; TForm8.DBGrid2DblClick(Send
er: TObject);
procedure begin
TForm8.DBGrid1DblClick(Send with DM.ADOPelanggan do
er: TObject); begin
begin
EditNoPmsn.Text:=DBGrid1.Fi EditIdPlgn.Text:=FieldByNam
elds[0].AsString; e('id_pelanggan').AsString;
EditIdPlgn.Text:=DBGrid1.Fi
elds[1].AsString; EditSPh.Text:=FieldByName('
EditKdBrg.Text:=DBGrid1.Fie sphkanan').AsString;
lds[2].AsString;
Edit4.Text:=DBGrid1.Fields[ EditCyl.Text:=FieldByName('
3].AsString; cylkanan').AsString;
DateTimePicker1.Date:=DBGri
d1.Fields[4].AsDateTime; EditAs.Text:=FieldByName('a
Edit1.Text:=DBGrid1.Fields[ skanan').AsString;
5].AsString;
EditSPh.Text:=DBGrid1.Field EditSphKiri.Text:=FieldByNa
s[6].AsString; me('sphkiri').AsString;
EditCyl.Text:=DBGrid1.Field
s[7].AsString; EditCylKiri.Text:=FieldByNa
EditAs.Text:=DBGrid1.Fields me('cylkiri').AsString;
[8].AsString;
EditSphKiri.Text:=DBGrid1.F EditAsKiri.Text:=FieldByNam
ields[9].AsString; e('askiri').AsString;
EditCylKiri.Text:=DBGrid1.F Panel1.Hide;
ields[10].AsString; DBGrid2.Hide;
EditAsKiri.Text:=DBGrid1.Fi end;
elds[11].AsString; end;
EditHarga.Text:=DBGrid1.Fie
lds[12].AsString; procedure
Edit2.Text:=DBGrid1.Fields[ TForm8.Edit3Exit(Sender:
13].AsString; TObject);
Edit3.Text:=DBGrid1.Fields[ var a,b,c:Integer;
14].AsString; begin
EditKdBrg.Enabled:=True; a:=StrToInt(EditHarga.Text)
DateTimePicker1.Enabled:=Tr ;
ue; b:=StrToInt(Edit2.Text);
EditSPh.Enabled:=False; c:=a-b;
EditCyl.Enabled:=False; Edit3.Text:=IntToStr(c);
EditAs.Enabled:=False; end;
EditSphKiri.Enabled:=False;
EditCylKiri.Enabled:=False; procedure
EditAsKiri.Enabled:=False; TForm8.FormShow(Sender:
EditHarga.Enabled:=True; TObject);
92

begin EditAs.Enabled:=False;
bersih; EditSphKiri.Enabled:=False;
refresh; EditAsKiri.Enabled:=False;
KodeOtomatis; EditSPh.Enabled:=False;
Edit4.Text:=DM.ADOLogin.Fie Panel1.Enabled:=False;
ldValues['kd_user']; Panel2.Enabled:=False;
DateTimePicker1.Date:=Now; Panel3.Enabled:=False;
EditNoPmsn.Enabled:=False; DBGrid2.Visible:=False;
Edit4.Enabled:=False; DBGrid3.Visible:=False;
Edit4.Text:=DM.ADOLogin.Fie DBGrid4.Visible:=False;
ldValues['kd_user'];
EditSPh.Enabled:=False;
EditCyl.Enabled:=False; end;

View publication stats

Anda mungkin juga menyukai