Anda di halaman 1dari 115

APLIKASI DESKTOP DATA NIAGA TOKO GANDRUNG

ELEKTRIK & ELEKTRONIK BERBASIS C#

SKRIPSI

Disusun Guna Memenuhi Persyaratan Untuk Mencapai Derajat


Strata-1 Pada Prodi Teknik Informatika Fakultas Teknik
Universitas Muhammadiyah Yogyakarta

Disusun Oleh :
Juang Firman Haq
20110140070

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH YOGYAKARTA
YOGYAKARTA
2018
HALAMAN PENGESAHAN I

SKRIPSI

PERANCANGAN APLIKASI DESKTOP DATA NIAGA TOKO


GANDRUNG ELEKTRIK & ELEKTRONIK

Disusun Oleh:
JUANG FIRMAN HAQ
20110140070

Dosen Pembimbing I Dosen Pembimbing II

Haris Setyawan, S.T., M.Eng. Asroni, S.T., M.Eng.


NIK. 19691111200004123043 NIK. 19740426201504123072

1
HALAMAN PENGESAHAN II

SKRIPSI

PERANCANGAN APLIKASI DESKTOP DATA NIAGA TOKO


GANDRUNG ELEKTRIK & ELEKTRONIK

Disusun Oleh:
JUANG FIRMAN HAQ
20110140070

Telah Dipertahankan Didepan Tim Penguji


Pada Tanggal 30 Agustus 2018
Susunan Tim Penguji:

Dosen Pembimbing I Dosen Pembimbing II

Haris Setyawan, S.T., M.Eng. Asroni, S.T., M.Eng.


NIK. 19691111200004123043 NIK. 19740426201504123072

Penguji

Aprilia Kurnianti, S.T., M.Eng


19840418201504123069

Skripsi Ini Telah Dinyatakan Sah Sebagai Salah Satu Persyaratan


Untuk Memperoleh Gelar Sarjana Teknik

Mengesahkan
Ketua Program Studi Teknik Informatika

Chayadi Oktomy N S, S.T., M.Eng.


NIK. 19841007201504123074

2
PRAKATA

Puji syukur kami panjatkan kehadirat Allah SWT, karena berkat


Rahmat-Nya lah kami dapat menyelesaikan skripsi dengan judul “Perancangan
Aplikasi Data Niaga Toko Gandrung Elektrik & Elektronik ”. Laporan skripsi
ini disusun untuk memenuhi salah satu syarat dalam memperoleh gelar Sarjana
Teknik (S.T) pada Program Studi S1 Teknologi Informasi Universitas
Muhammadiyah Yogyakarta.

Dalam melakukan penelitian dan penyusunan laporan skripsi ini penulis


telah mendapatkan banyak dukungan dan bantuan dari berbagai pihak. Penulis
mengucapkan terima kasih yang tak terhingga kepada:

1. Bapak Asroni, S.T., M.Eng. selaku pembimbing utama yang telah


membimbing penulis dengan kesabaran dan ketulusan dalam
pengembangan sistem.

2. Bapak Ir. Haris Setyawan, S.T., M.Eng.. selaku pembimbing


pendamping yang telah meluangkan waktu dan sangat sabar
membimbing penulis dalam pembuatan skripsi.

3. Mbak Aprilia Kurnianti, S.T., M.Eng., selaku dosen penguji


yang mau meluangkan waktu untuk memberikan kritik dan saran
kepada penulis dalam pembuatan skripsi.

4. Bapak Chayadi Oktomy N S, S.T., M.Eng., ITILF. selaku Ketua


Program Studi S1 Teknologi Informasi yang memberikan izin
kepada penulis untuk belajar.
5. Para dosen Jurusan Teknologi Informasi Universitas
Muhammadiyah Yogyakarta, Bapak Asroni, Bapak Eko, Bapak
Giga, Bapak Slamet, dan Mas Okto yang telah memberikan
tambahan pengetahuan dan mengajarkan ilmunya kepada penulis
selama perkuliahan.

3
6. Para Staf Jurusan Teknologi Informasi UMY, Mbak Lilis, Mas
Andi, dan Mas Haris yang senantiasa membantu penulis dalam
urusan administrasi.
7. Mba Umi selaku pemilik Toko andrun Elektrik dan Elektonik yang
selalu bersedia meluangkan waktu dan membantu memberikan
informasi sebagai bahan penelitian skripsi.
8. Bapak, Ibu, Adek Galih, Adek Lulus, Adek Uda, dan Keluarga
Besar saya yang selalu mengingatkan dalam ibadah, kedisiplinan,
kemandirian, memberi semangat dan mendoakan penulis di setiap
waktu.
9. Saudara Bryan, A’la, Mas Danang yang sudah meluangkan
waktunya untuk mengajari coding.
10. Semua teman-teman 2011 A dan B, serta semua pihak yang telah
menemani dan membantu yang tidak bisa disebutkan satu per satu.

Hanya doa yang dapat penulis panjatkan semoga Allah SWT


berkenan membalas semua kebaikan Bapak, Ibu, Saudara dan teman-teman.
Semoga penelitian ini dapat bermanfaat bagi pihak-pihak yang berkepentingan.

4
DAFTAR ISI

HALAMAN PENGESAHAN I................................................................................i


HALAMAN PENGESAHAN II..............................................................................ii
PRAKATA..............................................................................................................iii
DAFTAR ISI............................................................................................................v
DAFTAR GAMBAR............................................................................................viii
INTISARI.................................................................................................................x
ABSTRACT............................................................................................................xi
BAB I PENDAHULUAN........................................................................................1
1.1 Latar Belakang Masalah............................................................................1
1.2 Perumusan Masalah...................................................................................4
1.3 Tujuan Penelitian.......................................................................................4
1.4 Manfaat Penelitian.....................................................................................5
1.5 Lokasi Penelitian.......................................................................................5
1.6 Sistematika Penulisan................................................................................6
BAB II STUDI PUSTAKA.....................................................................................8
2.1 Tinjauan Pustaka.......................................................................................8
2.2 Landasan Teori..........................................................................................9
2.2.1 Aplikasi Pembukuan Toko.................................................................9
2.2.2 Bagian-bagian Pembukuan Toko.....................................................10
2.2.3 Aplikasi Data Niaga.........................................................................11
2.2.4 Aplikasi Berbasis Desktop...............................................................11
2.2.5 Arsitektur Perangkat Lunak.............................................................12
2.26 Bahasa Pemrograman C#.....................................................................13
2.2.6 Microsoft SQL Server......................................................................15
BAB III METODOLOGI PENELITIAN..............................................................17
3.1 Alat dan Bahan........................................................................................17
3.1.1 Alat...................................................................................................17
3.1.2 Bahan...............................................................................................17

5
3.2 Alur Penelitian.........................................................................................18
3.2.1 System or Information Engineering and Modelling........................19
3.2.2 Software Requirement Analysis.......................................................20
3.2.3 System Design..................................................................................20
3.2.4 Coding..............................................................................................20
3.2.5 Testing..............................................................................................20
3.2.6 Maintenance.....................................................................................21
3.3 Analisis Prosedur.....................................................................................21
3.4 Rancangan Perangkat Lunak...................................................................22
3.4.1 Diagram UML (Unified Modeling Language).................................22
3.4.2 Use Case Diagram.................................................................................23
3.4.3 Activity Diagram..............................................................................24
3.4.4 Class Diagram..................................................................................31
3.4.5 ER Diagram......................................................................................32
3.5 Rancangan Antarmuka (User Interface)..................................................32
3.5.1 Form Login......................................................................................32
3.5.2 Form Utama.....................................................................................33
3.5.3 Form Penjualan Barang....................................................................35
3.5.4 Form Pengembalian Barang.............................................................35
3.5.5 Form Pengembalian Langsung.........................................................36
3.5.6 Form Pembelian Barang...................................................................37
3.5.7 Form Jatuh Tempo Pembelian..........................................................38
3.5.8 Form Laporan Pembelian.................................................................39
3.5.9 Form Pembelian Pembayaran..........................................................40
3.5.10 Form Barang Datang........................................................................41
3.5.11 Form Tambah Barang.......................................................................42
3.5.12 Form Admin Edit Data Barang........................................................43
3.5.13 Form Admin Tambah Data Barang..................................................44
3.5.14 Form Admin Edit User.....................................................................46
3.5.15 Form Admin Tambah User...............................................................47
3.6 Metode Pengujian....................................................................................48
BAB IV HASIL DAN PEMBAHASAN...............................................................49

6
4.1 Implementasi User Interface...................................................................49
4.1.1 Form Login......................................................................................49
4.1.2 Form Menu Utama...........................................................................51
4.1.3 Form Penjualan Barang....................................................................53
4.1.4 Form Pengembalian Barang.............................................................55
4.1.5 Form Pembelian Barang...................................................................55
4.2 Pembahasan.............................................................................................60
4.3 Pengujian Sistem.....................................................................................61
4.3.1 Pengujian User Interface.................................................................61
4.3.2 Pengujian Dasar Sistem...................................................................62
4.3.2 Pengujian Validasi............................................................................63
BAB V KESIMPULAN DAN SARAN.................................................................64
5.2 Kesimpulan..............................................................................................64
5.2 Saran........................................................................................................65
DAFTAR PUSTAKA.............................................................................................66
LAMPIRAN...........................................................................................................67

7
DAFTAR GAMBA
Gambar 3. 1 Metode waterfall...............................................................................18

Gambar 3. 2 Use case diagram aplikasi toko.........................................................22

Gambar 3. 3 Activity login.....................................................................................23

Gambar 3. 4 Activity penjualan barang.................................................................24

Gambar 3. 5 Activity pengembalian barang...........................................................25

Gambar 3. 6 Activity pembelian barang................................................................26

Gambar 3. 7 Activity manajemen admin...............................................................27

Gambar 3. 8 Activity history..................................................................................28

Gambar 3. 9 Class diagram....................................................................................29

Gambar 3. 10 ER Diagram aplikasi toko...............................................................31

Gambar 3. 11 Rancangan form login.....................................................................32

Gambar 3. 13 Rancangan menu utama..................................................................33

Gambar 3. 14 Rancangan menu utama karyawan..................................................34

Gambar 3. 15 Rancangan form penjualan..............................................................35

Gambar 3. 16 Rancangan form pengembalian.......................................................36

Gambar 3. 17 Rancangan pengembalian langsung................................................37

Gambar 3. 18 Rancangan form pembelian.............................................................38

Gambar 3. 19 Rancangan pembelian jatuh tempo.................................................39

Gambar 3. 20 Rancangan laporan pembelian........................................................40

Gambar 3. 21 Rancangan form pembelian pembayaran........................................41

Gambar 3. 22 Rancangan form pembelian barang datang.....................................42

Gambar 3. 23 Rancangan form tambah barang......................................................43

8
Gambar 3. 24 Rancangan admin data barang........................................................44

Gambar 3. 25 Rancangan admin tambah data barang............................................45

Gambar 3. 26 Rancangan admin edit user.............................................................47

Gambar 3. 27 Rancangan form admin tambah user............................................48Y

Gambar 4. 1 Form login.........................................................................................49

Gambar 4. 2 Notifikasi eror...................................................................................50

Gambar 4. 3 Salah password..................................................................................51

Gambar 4. 4 Menu utama aplikasi admin..............................................................52

Gambar 4. 5 Menu utama aplikasi karyawan........................................................53

Gambar 4. 6 Form penjualan..................................................................................53

Gambar 4. 7 Form tambah barang.........................................................................54

Gambar 4. 8 Form penjualan barang......................................................................54

Gambar 4. 9 Form pengembalian barang...............................................................55

Gambar 4. 10 Form pembelian barang...................................................................56

Gambar 4. 11 Messagebox ada yang belum diisi pada data..................................56

Gambar 4. 12 Tambah beli barang.........................................................................57

Gambar 4. 13 Admin bisa melakukan input data barang datang...........................58

Gambar 4. 14 Admin dapat melakukan input data pembayaran barang................58

Gambar 4. 15 Admin dapat melihat tanggal jatuh tempo......................................59

Gambar 4. 16 Admin dapat melihat laporan pembelian.........................................59

Gambar 4. 17 Admin dapat melihat laporan data pembayaran..............................60

9
DAFTAR TABEL

Tabel 4.1 Pengujian User Interface.......................................................................60

Tabel 4.2 Pengujian dasar sistem...........................................................................61

Tabel 4.3 Pengujian Validasi.................................................................................62

10
INTISARI

Toko Gandrung Eletrik dan Eletronik yang berlokasi di Kecamatan


Kasihan, Bantul, Yogyakarta ini, sistem pengolahan dan peng-input-an data masih
dilakukan secara manual. Pencatatan barang masuk dan barang keluar, jumlah
utang dan piutang, dan transaksi jual beli masih terpusat pada pencatatan manual
(tulis) dan hal tersebut hanya mengandalkan ingatan dan catatan-catatan (nota)
yang dimiliki oleh pemilik toko itu sendiri. Sehinga tanpa disadari hutang muncul
tanpa perhitungan yang pas dan tidak tranparansi-nya karyawan jadi permasalah
serius di toko ini.
Aplikasi ini dirancang menggunakan bahasa pemrograman C# berbasis
desktop application, dengan metode Software Development Life Cycle (SDLC)
atau waterfall. Aplikasi desktop ini dapat membantu pemilik toko untuk
mengkoordinir dan mengelola data penjualan secara efektif dan efisien.
Disamping itu, pemilik toko juga dapat melakukan pengawasan terhadap segala
aktivitas input dan output data penjualan yang tidak dibatasi oleh jarak dan waktu
sehingga diharapkan lebih fleksibel dalam penataaan dan terwujudnya manajemen
penjualan yang lebih rapi. Hasil pengujian sistem telah sesua dengan fungsi –
fungsi dasar untuk melakukan untuk melakukan pencatatan transaksi data niaga.
pemilik toko bisa dengan mudah mengetahui dengan detail data harga dari setiap
item barang. Meliputi harga modal, harga jual untuk toko, untuk grosir, dan untuk
eceran. Bukan lagi dengan hanya mengandalkan daya ingat semata.

Kata Kunci: Input Data Niaga, Dekstop Application, bahasa pemrograman


C#

11
ABSTRACT

Gandrung Electric and Electronic Store which located at district Kasian,


Bantul, Yogyakarta , still had manual processing and inputing data. Item
recording input and output, amount of debt and credit, and also item transaction
still centered onto manual record ( by writing) and that only rely on memory and
notes that the owner had itself. So that without realized, debt rise without exact
calculation, and not transparable employe became a serious problem in this store.
This Application designed using C# programming languange based
desktop application, and with Software development life cycle (SDLC) method.
This Desktop application can help the owner to organtize and processing sales
data effectively and efisienly. Beside that, the owner also can do supervision on
any input and output activity whenever and wherever they were, so its become
more fleksibility onto arrangement and created a neater selling management.

Keywords: Input Data, Desktop Application, C# Programming Language

12
BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Komputer memegang peran yang sangat penting dalam membantu proses

aktivitas kerja di instansi pemerintahan, instansi swasta maupun di bidang

perniagaan. Penggunaan perangkat komputer sebagai perangkat pendukung

manajemen dan pengolahan data sangat tepat. Di Toko Gandrung Eletrik dan

Eletronik yang berlokasi di Kecematan Kasihan, Bantul, Yogyakarta,

pengolahan dan peng-input-an data masih dilakukan secara manual.

Pencatatan barang masuk dan barang keluar, harga modal dan penjualan, serta

transaksi jual beli masih terpusat pada pencatatan manual (tulis) dan hal

tersebut hanya mengandalkan ingatan dan catatan-catatan (nota) yang dimiliki

oleh pemilik toko itu sendiri.

Pada awalnya hal tersebut tidak dianggap sebagai masalah. Toko

Gandrung Elektrik dan Elektronik berdiri sejak tahun 2007. Seiring berjalan

waktu karena semua pengolahan data masih secara manual, pemilik toko

menemui beberapa permasalahan yang berujung pada usaha tersebut gulung

tikar sebanyak dua kali dalam kurun sembilan tahun. Namun, karena semangat

yang tinggi, usaha tersebut dapat dirintis kembali. Masalah-masalah yang

muncul antara lain:

1. Rentan terjadi kecurangan yang dilakukan oleh karyawan.

31
2. Daftar barang masuk dan keluar masih tidak beraturan sehingga

menyulitkan karyawan dalam perhitungan barang (Gambar 1.1, 1.2).

3. Keluar masuknya barang tidak terkoordinir dengan baik sehingga

pemilik toko tidak memiliki data yang jelas dalam menganalisis laba

dan keuntungan.

4. Kasir dan karyawan sering mengalami kesulitan dalam mengecek

harga barang karena hanya mengandalkan daya ingatan semata.

Gambar 1. 1 Item barang masih berantakan

31
Gambar 1. 2 Item barang sangat banyak

31
Dengan munculnya permasalahan tersebut sudah selayaknya dibangun

suatu aplikasi yang dapat mengelola dokumen dan data usaha yang lebih efisien,

efektif serta praktis. Pemiilik toko sudah memahami bahwa penyebab utama

terhadap masalah-masalah di atas adalah tidak adanya aplikasi khusus untuk

mewujudkan pengolahan data yang lebih terkoordinir. Salah satunya yaitu aplikasi

desktop untuk mengatasi permasalahan-permasalahan tersebut. Aplikasi desktop

input data niaga yang menggunakan bahasa pemrograman C# dengan database

SQL Server. Aplikasi desktop ini dapat membantu pemilik toko untuk

mengkoordinir dan mengelola data penjualan secara efektif dan efisien.

Disamping itu, pemilik toko juga dapat melakukan pengawasan terhadap segala

aktivitas input dan output data penjualan yang tidak dibatasi oleh jarak dan waktu

sehingga lebih fleksibel dalam penataaan dan terwujudnya manajemen penjualan

yang lebih rapi.

1.2 Perumusan Masalah

Berdasarkan uraian latar belakang di atas, maka dapat dirumuskan pokok

permasalahan sebagai berikut:

1. Pemilik toko kesulitan dalam mencatat barang masuk dan barang

keluar. Selama ini pendataan dilakukan secara manual saja.

2. Pemilik toko kesulitan dalam mengawasi kinerja karyawan.

31
3. Karyawan mengalami kesulitan untuk mengetahui harga penjualan

barang dan jumlah stok barang.

4. Pemilik toko mengalami kesusahan dalam mengingat harga barang

awal dari pabrik, harga untuk tokonya, dan harga untuk grosiran karena

jumah item yang sangat banyak.

1.3 Tujuan Penelitian

Berdasarkan rumusan masalah di atas, maka tujuan pembuatan aplikasi

desktop dirumuskan sebagai berikut:

1. Diharapkan dapat mempermudah pemilik toko dalam mencatat barang

masuk dan barang keluar toko dengan lebih tertata.

2. Diharapkan dapat mempermudah pemilik toko dalam mengawasi

transparansi kinerja karyawan.

3. Diharapkan dapat mempermudah karyawan dalam melakukan input

output data penjualan sehari-hari.

4. Diharapkan dapat mempermudah pemilik toko dalam mencatat

perubahan harga sewaktu-waktu sesuai keadaan harga pasar.

1.4 Manfaat Penelitian

Manfaat yang didapat dari penelitian adalah sebagai berikut:


1. Dengan adanya aplikasi pengelolaan data usaha maka segala pengolahan

data tidak perlu lagi dilakukan dengan cara manual.

31
2. Pengelolaan data penjualan lebih tertata karena sudah menggunakan

sistem komputerisasi.
3. Memudahkan pengecekan jumlah barang masuk dan barang keluar, data

harga retail, dan harga barang.


4. Pencarian informasi tentang sisa stok barang dan harganya menjadi lebih

cepat dan tepat.

1.5 Lokasi Penelitian

Lokasi tempat penulis melaksanakan penelitian berada di Toko Gandrung

Elektik dan Elektronik yang berlokasi Kecematan Kasihan, Bantul, Daerah

Istimewa Yogyakarta

1.6 Sistematika Penulisan

BAB I : PENDAHULUAN

Bab I menjelaskan tentang latar belakang pemilihan judul, perumusan

masalah, tujuan penelitian, manfaat penelitian, lokasi penelitian, serta

sistematika penulisan.

BAB II : TINJAUAN PUSTAKA DAN LANDASAN TEORI

Bab II berisi tentang uraian sistematis tentang hasil-hasil penelitian yang

didapat oleh peneliti terdahulu dan ada hubungannya dengan penelitian

yang akan dilakukan. Bab ini juga menjelaskan tentang arsitektur

perangkat lunak yang digunakan serta teori – teori penunjang yang

31
digunakan sebagai dasar dalam penelitian serta segala sesuatu yang

berhubungan dengan topik penelitian.

BAB III : METODE PENELITIAN

Bab III berisi analisis kebutuhan dalam membangun aplikasi. Analisis

sistem yang sedang berjalan pada aplikasi apakah sesuai dengan metode

pembangunan perangkat lunak yang digunakan. Selain itu, terdapat juga

rancangan antarmuka untuk aplikasi.

BAB IV : HASIL DAN PEMBAHASAN


Bab IV menjelaskan mengenai implementasi sistem dan hasil pengujian
sistem yang telah dibuat.

BAB V : KESIMPULAN DAN SARAN

Bab V menjelaskan tentang kesimpulan dan saran yang dibutuhkan dari hasil
penelitian yang telah dibuat.

31
BAB II

TINJAUAN PUSTAKA DAN LANDASAN TEORI

2.1 Tinjauan Pustaka

Sistem aplikasi dekstop sebelumnya sudah pernah dibuat dan digunakan,

namun dengan jenis yang berbeda-beda dan tergantung pada jenis kebutuhan.

Beberapa skripsi pengembangan aplikasi yang pernah disusun adalah sebagai

berikut:
Maulani (2012) menyusun skripsi dengan judul “Sistem Informasi

Penjualan Retail pada Swalayan Diyan Sukoharjo”. Sistem dirancang

menggunakan metode pengembangan sistem SDLC (System Development

Life Cycle) yaitu dengan melakukan analisa terhadap kebutuhan sistem,

pembuatan sistem, penerapan sistem sampai melakukan pemeliharaan sistem.

Sistem akan dibangun menggunakan Lazarus dan pengelolaan database

menggunakan MySQL. Sistem informasi penjualan retail berbasis desktop di

Swalayan diyakini dapat meningkatkan kinerja dalam hal waktu, mampu

beradaptasi terhadap perkembangan teknologi sistem informasi sekarang ini,

serta agar lebih memberikan kepuasan kepada pelanggan.


Adi (2013) meyusun skripsi dengan judul “Perancangan Sistem Aplikasi

Penjualan Toko Komputer Mascom Berbasis Desktop”. Struktur pengolahan

data dan sistem informasi yang masih manual pada toko komputer MasCom

membuat sistem berjalan tidak efektif, sehingga hal tersebut menimbulkan

berbagai masalah. Masalah yang lain adalah sistem penjualan, pembelian,

pemesanan barang, dan penyetokan barang yang masih sulit dalam

31
pengorganisasiannya, sehingga menimbulkan kesalahan dalam penghitungan.

Untuk itu dibuatlah sistem aplikasi penjualan berbasis desktop yang bertujuan

agar pengelolaan dan pengolahan datanya tersimpan dengan sistem database

untuk mencegah terjadinya redudansi data yang menyebabkan kerugian pada

toko. Sistem ini menggunakan metode SDLC. Metode SDLC adalah metode

dengan proses pengembangan dan perancangan sistem hingga pengoperasian

dan pemeliharaan. Penyimpanan data menggunakan database jenis MySQL.

Perancangan sistem menggunakan aplikasi Netbeans IDE dengan seperangkat

JDK, dan untuk pembuatan laporan atau nota menggunakan aplikasi

iReport.Sistem Aplikasi Penjualan Toko MasCom ini memiliki fasilitas

pengolahan data pembelian, penjualan, pemesanan barang, dan penyetokan

barang beserta data laporan. Sehingga adanya sistem baru tersebut diperoleh

jumlah sebanyak 83,3% peserta yang menyatakan keseluruhan sistem layak

dan baik untuk digunakan dalam membantu toko MasCom untuk mengolah

data, pembuatan laporan, serta memudahkan dalam mendapatkan informasi

tentang data yang diolah baik untuk toko MasCom itu sendiri.

2.2 Landasan Teori

2.2.1 Aplikasi Pembukuan Toko

Aplikasi pembukuan toko adalah aplikasi yang mempermudah proses

transaksi pada toko. Menurut beberapa ahli ada beberapa definisi, diantaranya

adalah :

31
a. Pranama (2012). Aplikasi adalah satu unit perangkat lunak yang dibuat

untuk melayani kebutuhan akan beberapa aktivitas seperti sistem

perniagaan, game, pelayanan masyarakat, periklanan, atau semua

proses yang hampir dilakukan manusia.

b. Verman (2009). Aplikasi adalah perangkat intruksi khusus dalam

computer yang di rancang agar kita menyelesaikan tugas-tugas

tertentu.

c. Yuhefizar (2012). Aplikasi merupakan program yang dikembangkan

untuk memenuhi kebutuhan pengguna dalam menjalankan pekerjaan

tertentu.

d. Hendrayudi (2009). Aplikasi adalah kumpulan perintah program yang

dibuat untuk melakukan pekerjaan-pekerjaan tertentu atau khusus.

2.2.2 Bagian-bagian Pembukuan Toko

Sri Warni (2014). Pada umumnya pembukuan toko terdiri dari beberapa

komponen utama yaitu harga modal, harga eceran, harga per lusin, dan harga

grosir. Grosir atau mendisribusikan diartikan sebagai penjualan barang kepada

pengecer, pengguna bisnis industri, komersial, institusi, atau kepada penggrosir

lainnya / penjualan barang kepada siapa saja selain konsumen biasa.

31
2.2.3 Aplikasi Data Niaga

Nadipos (2018). Aplikasi Data Niaga merupakan aplikasi yang bertujuan

untuk memudahkan pemilik toko atau karyawan dari sebuah toko dalam

melakukan proses pengecekan dan pengadaan barang di dalam tokonya. Melalui

aplikasi ini, pemilik toko dapat memantau jenis barang yang stoknya telah

berkurang dan membuat rencana untuk pengadaan barang dengan segera sebelum

kehabisan stock. Tidak hanya itu saja, disini pemilik toko juga dapat menginput

data secara komputerisasi sehingga lebih efektif dalam pengecekan harga awal,

jumlah barang masuk, jumlah barang keluar, bisa dengan mudah mengetahui

harga modal, harga ecer dan grosir di toko. Dengan sistem ini tranparansi data

akan mudah tercipta, karena sebelumnya cuma mengandalkan daya ingat saja.

Kejanggalan jumlah item barang akan mudah terdeteksi sehingga meminimalisasi

kecurangan oleh karyawan terhadap pemilik toko.

2.2.4 Aplikasi Berbasis Desktop

Hilman (2016). Aplikasi berbasis desktop merupakan aplikasi yang dapat

berjalan sendiri atau independen tidak menggunakan browser. Tidak perlu koneksi

internet, karena semua file yang diperlukan untuk menjalankan aplikasinya sudah

ter-install sebelumnya. Dapat dengan mudah memodifikasi setting-nya dan

prosesnya lebih cepat. Tetapi aplikasi berbasis desktop apabila akan menjalankan

aplikasi harus diinstal terlebih dahulu di komputer. Bermasalah dengan lisensi, hal

ini membutuhkan lisensi yang banyak pada setiap komputer. Dan biasanya

memerlukan hardware dengan spesifikasi tinggi.

31
2.2.5 Arsitektur Perangkat Lunak

Rinanti (2014). Dalam membangun sebuah aplikasi, diperlukan rancangan

arsitektur perangkat lunak yang berutujuan untuk menggambarkan bagaimana

sistem ini akan dibangun dan dijalankan. Arsitektur perangkat lunak pada aplikasi

dapat dilihat pada Gambar 2.1

Gambar 1.1 Arsitektur perangkat lunak aplikasi

a. Admin

Admin merupakan orang yang mengoperasikan aplikasi. Admin dapat

mengakses aplikasi input output data ini dengan memasukkan login user yang

benar.

31
b. Komputer

Komputer merupakan sebuah perangkat keras sebagai alat untuk

menjalankan aplikasi. Sebelum dijalankan, aplikasi harus di-install terlebih

dahulu di dalam komputer tersebut.

c. Perangkat Lunak

Melalui aplikasi admin dapat melakukan bebrapa aktivitas yaitu

menambah data, mengubah data, membatalkan data, mencetak disposisi dan

mencetak laporan.

d. Basis Data

Basis data digunakan untuk menampung data-data yang telah dimasukkan

oleh admin.

e. Printer

Printer merupakan alat pendukung dari aplikasi yang digunakan

sebagai perangkat untuk mencetak disposisi dan laporan.

2.26 Bahasa Pemrograman C#

Teo Filus (2014). C# adalah bahasa pemrograman baru yang diciptakan

oleh Microsoft. Dikembangkan dibawah kepemimpinan Anders Hejlsberg yang

telah menciptakan berbagai macam bahasa pemrograman termasuk Borland

Turbo C++ dan orland Delphi. Bahasa C# juga telah distandarisasi secara

internasional oleh ECMA. Seperti halnya bahasa pemrograman yang lain, C#

31
bisa digunakan untuk membangun berbagai macam jenis aplikasi, seperti aplikasi

berbasis windows (desktop) dan aplikasi berbasis web, serta aplikasi berbasis web

servis. Ada beberapa kelebihan bahasa pemrograman C# yaitu :

1. Sederhana
C# bersifat sederhana, karena bahasa ini didasarkan kepada bahasa C

dan C++. Jika anda familiar dengan C dan C++ atau bahkan Java, anda

akan menemukan aspek-aspek yang begitu familiar, seperti

pernyataan, ekspresi, operator, dan beberapa fungsi yang diadopsi

langsung dari C dan C++, tetapi dengan berbagai perbaikan yang

membuat bahasanya menjadi lebih sederhana.


2. Bahasa Berorientasi Obyek

C# memenuhi syarat-syarat sebagai sebuah bahasa pemrograman yang

bersifat berorientasi obyek, yaitu enkapsulasi, pewarisan dan

polimorfisme.

3. Powerfull dan Fleksibel

C# bisa digunakan untuk membuat berbagai macam aplikasi, seperti

aplikasi pengolah kata, grafik, spreadsheets, atau bahkan membuat

bahasa untuk sebuah bahasa pemrograman.

a. Efisien

C# tidak memiliki terlalu banyak kata kunci, sehingga dapat

mengurangi kerumitan.

b. Modular

31
Kode C# ditulis dengan pembagian masing Class-Class (classes) yang

terdiri dari beberapa rutinitas yang disebut sebagai anggota metode.

Metode-metode ini dapat digunakan kembali oleh program atau aplikasi

lain. Hanya dengan memberikan informasi yang dibutuhkan oleh kelas

dan metode yang dimaksud, maka kita akan dapat membuat suatu kode

yang dapat digunakan oleh satu atau beberapa aplikasi dan program (kode

yang dapat digunakan kembali).

2.1.6 Microsoft SQL Server

Microsoft (2017). Microsoft SQL Server merupakan produk RDBMS

(Relational Database Management System) yang dibuat oleh Microsoft. Orang

sering menyebutnya dengan SQL Server saja. Microsoft SQL Server juga

mendukung SQL sebagai bahasa untuk memproses query ke dalam database.

Microsoft SQL Server Mirosoft SQL Server banyak digunakan pada dunia bisnis,

pendidikan atau juga pemerintahan sebagai solusi database atau penyimpanan

data. Pada tahun 2000 Microsoft mengeluarkan SQL Server 2000 yang merupakan

versi yang banyak digunakan. Berikut ini adalah beberapa fitur yang dari sekian

banyak fitur yang ada pada SQL Server 2000.

a. XML Suport. Dengan fitur ini, Anda bisa menyimpan dokumen

XML dalam suatu tabel, meng-query data ke dalam format XML

melalui Transact-SQL dan lain sebagainya.

31
b. Multi-Instance Support. Fitur ini memungkinkan Anda untuk

menjalankan beberapa database SQL Server pada mesin yang

sama.

c. Peningkatan Data Warehouse dan Bisnis Inteljensi (BI). SQL

Server dilengkapi dengan fungsi-fungsi untuk keperluan Bisnis

Inteljensi melalui analisis servis. Selain itu, SQL Server 2000 juga

ditambahi dengan alat untuk keperluan penambahan data.

d. Peningkatan Kinerja dan Skalabilitas. SQL Server menerapkan

tampilan terpartisi terdistribusi yang memungkinkan untuk

membagi beban kerja ke beberapa server sekaligus. Peningkatan

lainnya juga dicapai di sisi DBCC, tampilan terindeks, dan

reorganisasi indeks.

e. Perbaikan Queri Analisis. Fitur yang dihadirkan antara lain adalah

integrasi debugger, browser objek, dan fasilitas pencarian objek.

f. DTS Peningkatan. Fasilitas ini sekarang sudah mampu untuk

memperhatikan kunci utama dan batasan kunci asing. Ini berguna

pada saat migrasi tabel dari RDBMS lain.

Penyempurnaan Transaksi SQL. Salah satu peningkatan disini adalah T-

SQL sudah mendukung UDF (User-Definable Function). Ini memungkinkan

Anda untuk menyimpan rutin-rutin ke dalam mesin database.

31
BAB III

METODOLOGI PENELITIAN

3.1 Alat dan Bahan

Dalam penelitian ini dibutuhkan beberapa alat dan bahan sebagai

penunjang keberhasilan penelitian. Alat dan bahan tersebut adalah sebagai berikut:

3.1.1 Alat

Hardware berupa:
a. Laptop
b. Perangkat Input dan Outut( Keyboard, Mouse, Scanner, dan Printer)
Software berupa:
a. Sistem Operasi (Windows 8.1)
b. SQL Server 2014
c. Visual Studio 2014
d. Microsoft Visio 2010
e. Balsamiq

3.1.2 Bahan

Dalam penelitian ini bahan yang akan digunakan adalah:

a. Data yang diperoleh melalui studi literature berdasarkan penelitian

sebelumnya, yang masih memiliki keterkaitan dengan penelitian yang

akan dikembangkan. Dari data tersebut dapat diperoleh pemahaman

mengenai kebutuhan atau persyaratan aplikasi yang akan

dikembangkan pada penelitian ini.

b. Data-data yang diperoleh dari proses penjualan dan pembelian.

c. Hasil wawancara langsung dengan pemilik toko.

d. Item yang diperjual belikan di toko.

31
e. Maka akan dibuat aplikasi dengan spesifikasi sebagai berikut:

1. Login Owner ataupun Karyawan.

2. Input Output Data Penjualan dan Pengembalian.

3. Cek Stok Barang

4. Cek Harga Barang

5. Cek History Penjualan.

3.2 Alur Penelitian

Untuk pengembangan sistem, metode yang digunakan adalah model

SDLC (Software Development Life Cycle). Model SDLC yang dipakai

adalah model Waterfall. Waterfall Model atau Classic Life Cycle merupakan

model yang paling banyak dipakai dalam Software Engineering (SE). Disebut

waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap

sebelumnya dan berjalan berurutan. Dengan mengikuti pendapat Roger

S.Pressman, tahapan pada model SDLC Waterfall dalam pembuatan aplikasi dapat

dilihat pada Gambar 3.1

31
Gambar 3. 1 Metode waterfall

3.2.1 System or Information Engineering and Modelling

Langkah pertama adalah mencari kebutuhan dari keseluruhan sistem yang

diaplikasikan ke dalam bentuk software. Seperti komponen hardware yang

dibutuhkan dan basis data yang digunakan.

31
3.2.2 Software Requirement Analysis

Proses pencarian kebutuhan diintensifkan dan difokuskan pada software,

seperti bagaimana tampilan user interface dan kebutuhan fungsi-fungsi yang

digunakan dalam aplikasi.

3.2.3 System Design

System Design merupakan proses yang digunakan untuk mengubah

kebutuhan-kebutuhan sebelumya menjadi representasi ke dalam bentuk

“blueprint” software sebelum coding dimulai. Desain harus dapat

mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya.

3.2.4 Coding

Untuk dapat dimengerti oleh mesin yang dalam hal ini adalah komputer,

maka desain aplikasi harus diubah bentuknya menjadi bentuk yang dapat

dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses

coding, dalam hal ini bahasa pemrograman yang digunakan adalah bahasa

pemrograman C#.

3.2.5 Testing

Dalam tahap testing dilakukan pengujian software yang sudah dibuat.

Semua fungsi-fungsi software harus diuji coba agar software bebas dari error atau

kesalahan dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah

didefinisikan sebelumnya.

31
3.2.6 Maintenance

Pemeliharaan dalam aplikasi diperlukan, termasuk di dalamnya adalah

pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.

Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan

sebelumnya atau ada penambahan fitur-fitur yang belum ada pada software.

3.3 Analisis Prosedur

Prosedur penerimaan barang masuk yang sedang berjalan di Toko

Gandrung Elektrik dan Elektronik ada beberapa tahapan antara lain:

1. Pemilik Toko memesan barang-barang yang diperlukan toko.


2. Kemudian Pemilik Toko menentukan apakah barang yang dipesan mau

dibayar langsung atau kredit.


3. Tanda tangan nota.
4. Setelah itu pemilik toko mencatat harga modal, harga satuan di toko, harga

grosir dan eceran dari setiap item yang telah dibeli. Jika konsumen

membeli barang 12 atau lebih, maka akan mendapat diskon dari toko.
5. Mengirim barang ke toko lain dengan menyiapkan barang yang di order

(diluar barang yang masuk ke toko). Lalu membuat nota penjualan keluar

disertai tanda tangan dan stempel.


6. Bawa pulang nota asli apabila sistem pembayarannya menggunakan

tempo.
7. Kalau penjualannya menggunakan cash maka nota asli dipegang oleh toko

tujuan tersebut.

Prosedur input dan output data yang sedang berjalan di Toko Gandrung

Elektrik dan elektronik melalui beberapa tahapan antara lain:

31
1. Admin akan login seebagai owner atau sebagai karyawan

2. Ketika login sebagai owner, fungsi yang bisa dijalankan adalah input

penjualan, pengembalian, pembelian, cek history, dan pengelolaan sistem

password untuk admin.

3. Ketika login sebagai karyawan maka fungsi yang bisa dijalankan hanya

menu penjualan dan pengembalian barang saja.

4. Pada form penjualan, admin dapat mengelola data penjualan, melihat sisa

stok barang, dan laporan penjualan harian.

5. Pada form pengembalian admin dapat mengedit barang yang di return

berdasarkan alasan konsumen.

3.4 Rancangan Perangkat Lunak

Metode perancangan yang dilakukan untuk mengembangkan perangkat

lunak ini adalah dengan menggunakan UML.

3.4.1 Diagram UML (Unified Modeling Language)

UML adalah sebuah bahasa yang telah menjadi standar dalam industry

untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak

(Afif, 2002). Pada penelitian ini, diagram-diagram yang digunakan untuk

memodelkan aplikasi berorientasi objek dalam UML meliputi use case diagram,

activity diagram dan class diagram.

3.4.2 Use Case Diagram

Use Case diagram merupakan teknik pemodelan untuk menjelaskan setiap

31
aktifitas yang mungkin terjadi dengan menggunakan sudut pandang dari aktor

sebagai pengguna sistem. Use case diagram lebih menekankan pada “siapa”

melakukan “apa” dalam lingkungan sistem perangkat lunak yang akan dibangun.

Use Case diagram untuk aplikasi toko ini dapat dilihat pada Gambar 3.2

Gambar 3. 2 Use case diagram aplikasi toko

Gambar 3.2 menunjukkan use case seorang administrator. Seorang

administrator harus melakukan login untuk dapat menjalankan fungsinya. Fungsi-

fungsi yang dimiliki administrator adalah untuk melakukan input, output, edit

item

31
3.4.3 Activity Diagram

Activity diagram menggambarkan berbagai alur aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang

mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses parallel yang mungkin terjadi pada beberapa eksekusi.

A. Login

Activity diagram berikut memaparkan bagaimana admin melakukan login

ke sistem seperti pada Gambar 3.3

31
Gambar 3. 3 Activity login

B. Mengelola Data Penjualan Barang

Activity diagram mengelola data penjualan barang menggambarkan

proses admin melakukan penambahan data, mengedit data ataupun melihat data

barang yang masuk. Activity diagram mengelola data penjualan barang dapat

dilihat pada Gambar 3.4

31
Gambar 3. 4 Activity penjualan barang

C. Mengelola Data Pengembalian Barang

Activity Diagram mengelola data pengembalian barang menggambarkan

tentang alur kerja dari proses input data yang selanjutnya semua akan tersimpan di

dalam database. Activity diagram mengelola data pengembalian barang dapat

dilihat pada Gambar 3.5.

31
Gambar 3. 5 Activity pengembalian barang

D. Mengelola Data Pembelian Barang

Activity Diagram mengelola data pembelian barang menggambarkan

tentang alur kerja dari proses input data yang selanjutnya semua akan tersimpan di

dalam database. Activity diagram edit data barang masuk dapat dilihat pada

Gambar 3.6

31
Gambar 3. 6 Activity pembelian barang

31
E. Manajemen Admin

Activity Diagram mengelola manajemen admin menggambarkan tentang

alur kerja dari proses pembuatan password karyawan baru. Pada sistem ini admin

dapat membuat, mengedit password karyawan baru. Activity diagram Manajemen

Admin dapat dilihat pada Gambar 3.7.

Gambar 3. 7 Activity manajemen admin

31
F. Cek History

Admin mempunyai hak untuk melihat laporan data penjualan dengan yang

berlangsung di toko. Laporannya akan ditampilkan di Crystal Report dan admin

juga dapat mencetak laporannya. Activity diagram laporan dapat dilihat pada

Gambar 3.8.

Gambar 3. 8 Activity history

31
3.4.4 Class Diagram

Gambar 3.9 menunjukkan Class Diagram yang digunakan dalam aplikasi.

Gambar 3. 9 Class diagram

Berikut penjelasan tentang Gambar 3.9

1. Semua kelas pada diagram digunakan untuk inisialisasi ke dalam table

model dan basis data aplikasi.

2. Kelas Pembayaran memiliki asosiasi dengan kelas pembelian. Minimal

satu barang keluar harus memiliki satu klasifikasi.

3. Kelas Barang Datang memiliki asosiasi dengan kelas pembelian. Minimal

satu barang masuk harus memiliki satu klasifikasi.

4. Kelas Barang memiliki asosiasi dengan kelas barang datang. Barang yang

datang langsung terdata di kelas barang.

31
5. Kelas Pengembalian memiliki asosiasi dengan kelas barang. Misalkan

pengembalian, dia mengambil id dari kelas barang.

6. Kelas Penjualan memiliki asosiasi dengan kelas detail penjualan. Misalkan

setiap item yang terjual memiliki data lengkap mengenai status

penjualannya.

7. Kelas data Sales memiliki asosiasi dengan kelas Pembelian. Misalkan

setiap item yang terbeli terdapat data mengenai sales tempat pengambilan

barang.

3.4.5 ER Diagram

Untuk pengembangan aplikasi pemodelan basis data yang digunakan

adalah ER Diagram. ER Diagram merupakan diagram yang digunakan untuk

merancang basis data dan memperlihatkan relasi antar entitas atau objek dengan

atributnya. Tujuan ER Diagram dalam pengembangan aplikasi adalah dapat

memberikan gambaran umum tentang sistem yang dikembangkan sehingga

memudahkan dalam merancang basis data yang ditunjukkan pada Gambar 3.10

31
Gambar 3. 10 ER Diagram aplikasi toko

31
3.5 Rancangan Antarmuka (User Interface)

Pada tahap ini dilakukan rancangan bentuk interface program aplikasi

input output data di Toko Gandrung Elektrik & Elektronik, dengan tujuan

memberikan kemudahan dan tidak membingungkan bagi user dalam melakukan

aktivitasnya. Rancangan interface ini adalah gambaran secara umum mengenai

tampilan aplikasi.

3.5.1 Form Login

Rancangan antarmuka ini digunakan oleh admin untuk dapat masuk ke

form utama aplikasi. Gambar rancangan antarmuka login dapat dilihat pada

gambar 3.11.

Gambar 3. 11 Rancangan form login

31
3.5.2 Form Utama

Rancangan antarmuka form utama ini merupakan tampilan utama yang

dapat dibuka oleh admin setelah memasukkan username dan password. Ada dua

fungsi disini, yaitu login sebagai owner dan uga sebagai karyawan. Berikut

Gambar rancangan antarmuka form utama login sebagai owner dapat dilihat pada

Gambar 3.12

Gambar 3. 12 Rancangan menu utama

31
Sedangkan yang berikut ini adalah gambar rancangann antarmuka form utama

login sebagai karyawan dapat dilihat pada Gambar 3.13

Gambar 3. 13 Rancangan menu utama karyawan

31
3.5.3 Form Penjualan Barang

Rancangan antarmuka form penjualan barang merupakan form untuk

admin melakukan aktifitas penginputan data penjualan. Dalam form penjualan

barang admin dapat menambah, mengedit dan menghapus data penjualan.

Rancangan antarmuka form penjualan barang terdapat tombol tambah barang,

edit/hapus, cetak dan hapus layar. Gambar rancangan antarmuka form penjualan

barang dapat dilihat pada Gambar 3.14

Gambar 3. 14 Rancangan form penjualan

3.5.4 Form Pengembalian Barang

Rancangan anatrmuka form pengembalin barang merupakan form untuk

admin memasukkan data barang yang di kembalikan oleh konsumen dengan

31
berbagai alasan. Admin dapat melihat alasan pengembalian barang di laporan

pengembalian. Gambar rancangan antarmuka form dapat dilihat pada Gambar

3.15

Gambar 3. 15 Rancangan form pengembalian

3.5.5 Form Pengembalian Langsung

Rancangan antarmuka form pengembalian langsung merupakan form

untuk admin memasukkan data pembelian yang di return oleh konsumen berupa

tuker barang dengan yang baru atau dengan yang lebih baik dari sebelumnya.

Gambar rancangan antarmuka form dapat dilihat pada Gambar 3.16

31
Gambar 3. 16 Rancangan pengembalian langsung

3.5.6 Form Pembelian Barang

Rancangan antarmuka form pembelian brang merupakan form untuk

admin memasukkan data. Dalam form pembelian barang admin dapat menambah,

mengedit / mengahpus data dari item yang dijual ataupun dibeli. Rancangan

antarmuka form pembelian barang terdapat tombol tambah barang, Edit/hapus

barang, dan tombol untuk cek harga. Gambar rancangan antarmuka form dapat

dilihat pada Gambar 3.17

31
Gambar 3. 17 Rancangan form pembelian

3.5.7 Form Jatuh Tempo Pembelian

Rancangan antarmuka form jatuh tempo merupakan form untuk admin

agar bisa melihat tanggal jatuh tempo dari item yang dibeli ke produsen. Gambar

rancangan antarmuka form dapat dilihat pada Gambar 3.18

31
Gambar 3. 18 Rancangan pembelian jatuh tempo

3.5.8 Form Laporan Pembelian

Rancangan antarmuka form laporan pembelian merupakan form yang

digunakan oleh admin untuk mengetahui data laporan pembelian setiap item

barang. Meliputi jumlah barang yang dibeli dengan harganya, beserta detail

pembelian dari setiap item bisa diakses dari form ini. Gambar rancangan

antarmuka form laporan pembelian dapat dilihat pada Gambar 3.19

31
Gambar 3. 19 Rancangan laporan pembelian

3.5.9 Form Pembelian Pembayaran

Rancangan antarmuka form pembelian pembayaran merupakan form untuk

admin dapat melihat laporan pembelian dari setiap item yang dibeli. Admin juga

dapat melihat total biaya dan total kekurangan yang harus dilunasi dari setiap item

yang dibeli oleh pemilik toko. Gambar rancangan antarmuka form pembelian

pembayaran dapat dilihat pada Gambar 3.20

31
Gambar 3. 20 Rancangan form pembelian pembayaran

3.5.10 Form Barang Datang

Rancangan antarmuka form barang datang merupakan form unuk input

data pembelian barang beserta tanggal pembelian dan tanggal jatuh tempo untuk

setiap pembelian yang dibeli oleh pemilik toko. Gambar rancangan antarmuka

form barang datang dapat dilihat pada Gambar 3.21

31
Gambar 3. 21 Rancangan form pembelian barang datang

3.5.11 Form Tambah Barang

Rancangan antarmuka form tambah barang merupakan form yang

berfungsi untuk input data harga dari setiap item. Pada form ini admin akan

menentukan harga penjualan berdasarkan situasi dn kondisi yang terjadi di

lapangan. Gambar rancangan antarmuka form tambah barang dapat dilihat pada

Gambar 3.22

31
Gambar 3. 22 Rancangan form tambah barang

3.5.12 Form Admin Edit Data Barang

Rancangan antarmuka form edit data barang merupakan form yang

berfungsi untuk edit data barang di toko. Didalam form ini, admin dapat

melakukan perubahan harga penjualan dari setiap item barang yang ada di toko.

Meliputi edit harga jual 1 / harga satuan toko harga jual 2 = untuk harga retail, dan

harga jual 3 = harga per lusin. Gambaran rancangan antarmuka form edit data

barang dapat dilihat pada Gambar 3.23

31
Gambar 3. 23 Rancangan admin data barang

3.5.13 Form Admin Tambah Data Barang

Rancangan antarmuka form tambah data barang merupakan form yang

berfungsi untuk input harga modal, harga jual 1 (Harga Satuan Toko), harga jual 2

(Harga Untuk Retail), harga jual 3 (Harga Eceran). Selain itu juga di form ini

admin bisa input jumlah stok dari setiap item yang dibeli. Didalam form tambah

data barang ini terdapat empat tombol yaitu tombol edit, hapus,simpan, dan batal.

Tombol edit untuk mengedit data harga barang ketika ada yang mau diperbaharui.

Tombol hapus untuk menghapus data bila ada kekeliruan. Tombol simpan untuk

menyimpan perubahan harga, dan tombol batal untuk membatalkan perubahan.

Gambaran rancangan antarmuka form data barang dapat dilihat pada Gambar 3.24

31
Gambar 3. 24 Rancangan admin tambah data barang

3.5.14 Form Admin Edit User

Rancangan antarmuka form admin edit user merupakan form yang

berfungsi untuk mengedit nama pengguna sebelumnya. Edit disini mencakup eit

nama, ganti password lama dengan yang baru. Didalam form edit user terdapat

empat tombol yaitu tombol edit untuk mengubah data yang sudah ada, tombol

hapus untuk menghapus perubahan, tombol simpan untuk menyimpan perubahan

data user, dan tombol batal untuk membatalkan perubahan. Gambaran rancangan

antarmuka form edit user dapat dilihat pada gambar 3.25

31
Gambar 3. 25 Rancangan admin edit user

3.5.15 Form Admin Tambah User

Rancangan antarmuka form tambah user merupakan form yang berfungsi

untuk sebagai tempat input data beserta password untuk login sebagai karyawan

ataupun sebagai owner. Didalam form tambah user terdapat dua tombol yaitu

tombol simpan untuk menyimpan perubahan data dan tombol batal untuk

membatalkan perubahan. Gambaran rancangan antarmuka form edit password

dapat dilihat pada gambar 3.26

31
Gambar 3. 126 Rancangan form admin tambah user

3.6 Metode Pengujian

Metode pengujian yang dipakai adalah Black box. Black box testing adalah

pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan

memeriksa fungsional dari perangkat lunak. Pengujian black box ini mengevaluasi

hanya dari tampilan luarnya (interface-nya), fungsionalitasnya. Tanpa mengetahui

apa sesungguhnya yang terjadi dalam proses detailnya (hanya mengetahui input

dan output).

31
BAB IV

HASIL DAN PEMBAHASAN

4.1 Implementasi User Interface

Dalam implementasi, desain user interface yang sudah dibuat sebelumnya

selanjutnya diterapkan ke dalam Bahasa pemrograman.

4.1.1 Form Login

Form login merupakan form yang pertama muncul pada saat mulai

menjalankan aplikasi. Form login digunakan sebagai keamanan sistem dari

penyalahgunaan hak akses, sehingga keamanan data dapat terjamin. Di sini admin

diminta untuk mengisi username dan password untuk dapat mengakses data

selanjutnya. form login dapat dilihat pada Gambar 4.1

Gambar 4. 1 Form login

31
Gambar 4. 2 Notifikasi eror

Apabila tombol LOGIN diklik dan username dan password masih kosong,

muncul pesan peringatan yang memberitahukan bahwa Silahkan Masukkan User

Name dan Password….. dan pengguna tidak dapat masuk ke dalam sistem.

Tampilan pesan peringatan dapat dilihat pada Gambar 4.2

31
Gambar 4. 3 Salah password

Apabila usernme sudah benar di input tetapi salah password, maka akan

muncul notifikasi Password salah !!! silahkan coba lagi

4.1.2 Form Menu Utama

Setelah pengguna berhasil memasukkan username dan password,

muncul form utama dari aplikasi. Dalam form utama terdapat beberapa menu

yang dapat dioperasikan oleh admin. Pengguna aplikasi terbagi mnjadi dua

bagian, yaitu bisa login sebagai Owner dan Karyawan.

Admin / owner dapat mengoperasikan semua menu yang ada di dalam

aplikasi yaitu menu penjualan barang, menu pengembalian barang, menu

pembelian barang, form admin, dan menu cek histori. Form utama dapat dilihat

pada Gambar 4.4

31
Gambar 4. 4 Menu utama aplikasi admin

Sedangkan Karyawan hanya dapat mengoperasikan beberapa menu saja di

dalam aplikasi yaitu menu penjualan barang, menu pengembalian barang.

Untuk tampilannya dapat dilihat pada Gambar

31
Gambar 4. 5 Menu utama aplikasi karyawan

4.1.3 Form Penjualan Barang

Pada form penjualan barang terdapat pilihan menu yaitu tambah barang,

edit/hapus barang, cetak (belum difungsikan karena belum penting kata pemilik

toko), dan menu hapus layar. Form penjualan dapat dilihat pada Gambar 4.6

Gambar 4. 6 Form penjualan

31
Pada form penjualan barang terdapat pilihan menu yaitu tambah barang.

Tampilannya bisa dilihat pada gambar 4.7

Gambar 4. 7 Form tambah barang

Berikut tampilan ketika tambah barang setelah berhasil di input bisa dilihat

pada gambar 4.8

Gambar 4. 8 Form penjualan barang

31
4.1.4 Form Pengembalian Barang

Form pengembalian terdapat 3 (tiga) buah tab yang dapat dipilih, yaitu tab

“Langsung”, “Barang Diganti” dan “Lihat Laporan Pengembalian”. Form

pengembalian dapat dilihat pada Gambar 4.9

Gambar 4. 9 Form pengembalian barang

4.1.5 Form Pembelian Barang

Form pembelian barang digunakan untuk input data barang masuk ke

dalam basis data sistem. Terdapat 6 menu yaitu pembelian barang, barang datang,

pembayaran barang, lihat tanggal jatuh tempo, lihat laporan pembelian, dan lihat

data pembayaran . Jika admin mau mengisi menu Tambah Barang maka tidak

perlu lagi mengisi tanggal, bulan, dan tahun penginputan terlebih dahulu karena

sudah di hide. Admin cukup mengisi jenis pemesanan dan nama sales terlebih

dahulu sebelum melakukan pembelian barang. Form pembelian barang dapat

dilihat pada Gambar 4.10

31
Gambar 4. 10 Form pembelian barang

Jika data belum terisi dan admin memilih menu tambah barang maka akan

muncul message box yang memberi tahukan bahwa jenis pembelian dan nama

sales diisi terlebih dahulu. Tampilan message box dapat dilihat pada Gambar 4.11

Gambar 4. 11 Messagebox ada yang belum diisi pada data

31
Setelah data terisi lengkap baik itu tanggal, bulan, dan jenis pemesanan

telah diisi semua maka admin langsung bisa melakukan aktifitas input data. Form

tambah beli barang dapat dilihat pada Gambar 4.12

Gambar 4. 12 Tambah beli barang

Setelah data terisi lengkap baik itu tanggal, bulan, dan jenis pemesanan

telah diisi semua maka admin langsung bisa melakukan aktifitas input data barang

datang. Form barang datang dapat dilihat pada Gambar 4.13

31
Gambar 4. 13 Admin bisa melakukan input data barang datang

Admin juga langsung bisa melakukan aktifitas input data pembayaran barang.

Disini pemilik toko bisa mencatat tanggal barang masuk dan tanggal jatuh tempo

apanila jenis pemesanan barang yang dilakukan dengan sistem kredit atau pesan

dahulu dengan dp sesuai budget pemilik toko. Form pembayaran barang sendiri

dapat dilihat pada Gambar 4.14

Gambar 4. 14 Admin dapat melakukan input data pembayaran barang

31
Selain itu, admin juga bisa melihat tanggal jatuh tempo item barang. Form lihat

tanggal jatuh tempo dapat dilihat pada Gambar 4.15

Gambar 4. 15 Admin dapat melihat tanggal jatuh tempo

Form lain yang bisa di akses yaitu admin dapat melihat laporan pembelian

barang. Form lihat laporan pembelian dapat dilihat pada Gambar 4.16

Gambar 4. 16 Admin dapat melihat laporan pembelian

31
Form terakhir yang bisa di akses oleh admin yaitu dapat melihat laporan data
pembayaran. Form lihat lihat data pembayaran dapat dilihat pada Gambar 4.17

Gambar 4. 17 Admin dapat melihat laporan data pembayaran

4.2 Pembahasan

Aplikasi yang dibuat dapat mempermudah admin dalam proses

jual beli barang di toko elektronik. Aplikasi ini juga membantu karyawan toko

dalam proses pencatatan transaksi penjualan dan pengembalian barang. Admin

dapat melakukan manajemen pengguna, dan manajemen barang melalui aplikasi

ini. Aplikasi ini juga dapat menampilkan dan mengubah laporan barang

dan juga laporan hutang dan pengembalian barang di toko elektronik bentuk pdf.

Aplikasi ini juga akan menampilkan data barang yang dimilik oleh toko, riwayat

transaksi, penjualan, pembelian, dan pengembalian.

31
4.3 Pengujian Sistem

4.3.1 Pengujian User Interface

Pengujian user interface bertujuan untuk mengetahui fungsionalitas dari

elemen-elemen interface yang terdapat di dalam halaman sistem. Elemen yang

diajukan adalah elemen button dan tombol bantuan keyboard di setiap halaman

pada aplikasi yang ditunjukkan pada Tabel 4.1.

Tabel 4.1 Pengujian User Interface

No Kasus Hasil Yang Hasil Yang Status

Yang Diuji Diharapkan didapatkan


1 Tombol Pengguna masuk ke Pengguna masuk ke Berhasil

login aplikasi sesuai role aplikasi sesuai role

aplikasi
2 Tombol Aplikasi menampilkan Form muncul sesuai Berhasil

menu utama form sesuai pilihan dengan tombol yang

tombol dipilih
3 Tombol Aplikasi dapat Form ditampilkan Berhasil

tambah menampilkan form untuk menambahkan

tambah data data


4 Tombol Aplikasi dapat Form ditampilkan Berhasil

Ubah/edit menampilkan form untuk mengubah data

tambah data
5 Tombol Aplikasi menghapus Data terhapus sesuai Berhasil

Hapus data yang dipilih dengan pilihan ID

31
4.3.2 Pengujian Dasar Sistem

Hasil pengujian dasar sistem bertujuan untuk mengetahui apakah fungsi

fungsi yang diharapkan atau dirancang sesuai dengan kebutuhan, hasil pengujian

ditunjukkan pada Tabel 4.2

Tabel 4.2 Pengujian dasar sistem

o Kasus Hasil Yang Hasil Yang Status

Yang Diuji Diharapkan didapatkan


1 Tampilkan Aplikasi menampilkan Data ditampilkan dalam Berhasil

Data data sesuai database bentuk tabel


2 Tambah Aplikasi menyimpan Data baru tersimpan ke Berhasil

Data data baru ke database database


3 Ubah Data Aplikasi menyimpan Perubahan data Berhasil

perubahan data ke tersimpan ke database

database
4 Hapus Data Aplikasi menghapus Data dihapus dari Berhasil

data dari database database

4.3.3 Pengujian Validasi

Pengujian validasi bertujuan untuk mengetahui apakah validasi-validasi

yang di dalam sistem sudah berjalan dengan baik, hasil pengujian ditunjukkan

pada Tabel 4.3.

Tabel 4.3 Pengujian Validasi

No Kasus Yang Hasil Yang Hasil Yang Status

Diuji Diharapkan didapatkan


1 Validasi Aplikasi Aplikasi menampilkan Berhasil

username dan menampilkan peringatan bahwa form

31
password jika peringatan bahwa login beum diisi dan

form login form login beum harap memasukkan

belum diisi diisi username dan

password
2 Validasi Aplikasi Aplikasi menampilkan Berhasil

username dan menampilkan peringatan bahwa

password jika peringatan bahwa username atau

diisi dengan username atau password tidak sesuai

data yang tidak password tidak dan menginformasikan

sesuai sesuai untuk mengisi ulang

username dan

password

31
BAB V

KESIMPULAN DAN SARAN

5.2 Kesimpulan

Dari hasil analisis dan pengujian terhadap aplikasi surat menyurat berbasis

desktop application dengan bahasa pemrograman C# dan database SQL Server,

maka didapatkan kesimpulan sebagai berikut:

1. Aplikasi dijalankan di Toko Gandrung Elektrik & Elektronik. Hasil

yang diperoleh dengan adanya aplikasi ini yaitu dapat mempermudah

pemilik toko dalam mencatat data barang masuk dan keluar. Aplikasi

ini juga sangat membantu pemilik toko untuk mengetahui harga

modal dan harga penjualan ada toko.

2. Aplikasi ini dapat membantu pemilik toko dalam hal meminimalisir

kecurangan oleh karyawan karena adanya transparansi data.

3. Membantu karyawan / karyawati untuk mengetahui harga penjualan

dan sisa stok barang dari setiap item yang ada di toko.

4. Dengan aplikasi ini pemilik toko bisa dengan mudah mengetahui

dengan detail data harga dari setiap item barang. Meliputi harga

modal, harga jual untuk toko, untuk grosir, dan untuk eceran. Bukan

lagi dengan hanya mengandalkan daya ingat semata.

31
5.2 Saran

Berikut beberapa saran yang selanjutnya dapat dikembangkan ke dalam

sistem adalah:

1. Desain Interface aplikasi dapat dikembangkan lagi untuk

mendapatkan hasil yang lebih baik dan mudah dipahami

pengguna.

2. Ditambah fasilitas cetak untuk setiap laporan data pembelian.

3. Ditambah fasilitas penyimpanan via cloud server agar bisa diakss

secara online oleh pemilik toko untuk hal transparansi data.

31
DAFTAR PUSTAKA

Anda, Jerrytrian (2013). Bahasa Pemrograman C#. Diakses pada tanggal 8 Mei
2018 dari http://jerrytriananda.blogspot.co.id/2013/09/bahasa-pemrograman-
c.html
Adi Wicaksana (t.thn.). Pengertian Aplikasi Berbasis Web dan Dekstop.
http://www.aldo-expert.com/writers/pengertian-aplikasi-berbasis-web-dan-
desktop.html
Afif (2002). Pengertian UML . http://informatika.web.id/pengertian-uml.htm
Pressman, Roger S (2013). 4 Metodologi Pengembangan Software Berbasis
SDLC (Software Development Life Cycle) . http://andgaa.web.id/4-metodologi-
pengembangan-software-berbasis-sdlc-software-development-life-cycle/
Annisa (2012). Sistem Informasi Penjualan Retail. Diakses pada tanggal 20 April
2018 dari http://eprints.ums.ac.id/20639/1/HALAMAN_DEPAN.pdf
Fathurrahman (2017). Belajar membuat aplikasi input output data. Diakses pada
tanggal 10 April 2018 dari https://www.okedroid.com/2017/08/belajar-membuat-
aplikasi-input-dan-output-data-Kotlin-Android.html

31
LAMPIRAN

Source Code Aplikasi


Source code login :

1. using System;
2. using System.Collections.Generic;
3. using System.ComponentModel;
4. using System.Data;
5. using System.Data.SqlClient;
6. using System.Drawing;
7. using System.Linq;
8. using System.Text;
9. using System.Windows.Forms;
10.
11. namespace AplikasiToko
12. {
13. public partial class FormLogin : Form
14. {
15. public FormLogin()
16. {
17. InitializeComponent();
18. }
19.
20. private void pictureBox1_Click(object sender, EventArgs e)
21. {
22.
23. }
24.
25. private void label7_Click(object sender, EventArgs e)
26. {
27.
28. }
29.
30. private void lblError_Click(object sender, EventArgs e)
31. {
32.
33. }
34.
35. private void tableLayoutPanel2_Paint(object sender,
PaintEventArgs e)
36. {
37.
38. }
39.
40. private void button4_Click(object sender, EventArgs e)
41. {
42. string user, pass, roles;
43. user = pass = roles = "";

31
44. string strConnection = "server=DESKTOP-J1Q3JJ8\\JUANKSQL;
initial catalog=TokoGandrung; user id=sa; password=123;";
45. SqlConnection sqlConnection = new
SqlConnection(strConnection);
46. String SQLQuery = "SELECT UserName, Password, Roles FROM
UserLogin where UserName='" + txtUser.Text + "'";
47. SqlCommand command = new SqlCommand(SQLQuery,
sqlConnection);
48. SqlDataReader Dr;
49. sqlConnection.Open();
50. Dr = command.ExecuteReader();
51. if (Dr.HasRows == false)
52. {
53. lblError.Visible = true;
54. lblError.Text = "Username salah !! silahkan coba
lagi.....";
55. }
56. if (txtUser.Text == "")
57. {
58. lblError.Visible = true;
59. lblError.Text = "Silahkan masukkan Username dan
Password.....";
60. }
61. else
62. {
63. while (Dr.Read())
64. {
65. user = Dr[0].ToString();
66. pass = Dr[1].ToString();
67. roles = Dr[2].ToString();
68. }
69. sqlConnection.Close();
70. if ((txtUser.Text == user) && (txtPass.Text == pass))
71. {
72. FormHome a = new FormHome();
73. a.setUserText(user);
74. a.setRoleText(roles);
75. a.UserRestrict(roles);
76. a.Show();
77. lblError.Visible = false;
78. this.Hide();
79. }
80. else
81. {
82. lblError.Visible = true;
83. lblError.Text = "Password salah !!!. silahkan
coba lagi.....";
84. }
85. }
86. }
87.
88. private void label1_Click(object sender, EventArgs e)
89. {
90.
91. }
92.
93. private void txtUser_TextChanged(object sender, EventArgs e)

31
94. {
95.
96. }
97.
98. private void FormLogin_Load(object sender, EventArgs e)
99. {
100.
101. }
102. }
103. }

Source Code Tambah Barang di Pembelian :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace AplikasiToko
{
public partial class FormPembelian : Form
{
public FormHome logicalPrnt { get; set; }
SqlDataReader Dr;
string[] ID = new string[20];
int[] jml = new int[10];
int stok = 0, stoksebelum = 0, stoksesudah = 0, i = 0, j = 0;
int TotalLp = 0, TotalBarang = 0, TotalDPLp = 0, TotalKurangLp = 0;
string strConnection = "server=DESKTOP-J1Q3JJ8\\JUANKSQL; initial
catalog=TokoGandrung; user id=sa; password=123;";
public FormPembelian()
{
InitializeComponent();
RefreshDG();
for (int i = 1; i < 32; i++)
{
cbHari.Items.Add(i);
cbHariDtgBD.Items.Add(i);
cbHariJtBD.Items.Add(i);
cbHariJtPB.Items.Add(i);
cbHariByr.Items.Add(i);
}
for (int i = 1; i < 13; i++)
{
cbBulan.Items.Add(i);
cbBulanLp.Items.Add(i);
cbBulanDtgBD.Items.Add(i);
cbBulanJtBD.Items.Add(i);
cbBulanJtPB.Items.Add(i);
cbBulanByr.Items.Add(i);
cbBulanJt.Items.Add(i);

31
cbBlnBr.Items.Add(i);
}
for (int i = 2017; i < 3000; i++)
{
cbTahun.Items.Add(i);
cbTahunLp.Items.Add(i);
cbTahunDtgBD.Items.Add(i);
cbTahunJtBD.Items.Add(i);
cbTahunJtPB.Items.Add(i);
cbTahunByr.Items.Add(i);
cbTahunJt.Items.Add(i);
cbThnBr.Items.Add(i);
}
}

public void Roles(string Roles)


{
lblRoles.Text = Roles;
}
public void User(string user)
{
lblUser.Text = user;
}
public void RefreshDG()
{
int ctr;
string lastval = "", codeval;
SqlConnection sqlConnection = new SqlConnection(strConnection);
String SQLQuery = "SELECT idPembelian FROM Pembelian";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
if (Dr.HasRows == false)
{
txtID.Text = "B000001";
}
else
{
while (Dr.Read())
{
lastval = Dr["idPembelian"].ToString();
}
codeval = lastval.Substring(1, 6);
ctr = Convert.ToInt32(codeval);
if ((ctr >= 1) && (ctr < 9))
{
ctr = ctr + 1;
txtID.Text = "B00000" + ctr;
}
else if ((ctr >= 9) && (ctr < 99))
{
ctr = ctr + 1;
txtID.Text = "B0000" + ctr;
}
else if ((ctr >= 99) && (ctr < 999))
{
ctr = ctr + 1;

31
txtID.Text = "B000" + ctr;
}
else if ((ctr >= 999) && (ctr < 9999))
{
ctr = ctr + 1;
txtID.Text = "B00" + ctr;
}
else if ((ctr >= 9999) && (ctr < 99999))
{
ctr = ctr + 1;
txtID.Text = "B0" + ctr;
}
else if (ctr >= 99999)
{
ctr = ctr + 1;
txtID.Text = "B" + ctr;
}
txtTotal.Text = "0";
txtDP.Text = "0";
txtKurang.Text = "0";
cbJenisBeli.Text = "";
cbSales.Text = "";
dgPembelian.DataSource = null;
}
}
private void tabPage2_Click(object sender, EventArgs e)
{

private void label5_Click(object sender, EventArgs e)


{

private void button15_Click(object sender, EventArgs e)


{
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlCommand cmd = new SqlCommand("Insert Into
Pembayaran(idPembelian,tanggalJatuhTempo,tanggalBayar,totalBiaya,Kekuran
gan,pembayaran,statusBayar) Values
(@id,@tanggalJt,@tanggalByr,@total,@kurang,@bayar,@status)");
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
cmd.Parameters.AddWithValue("@id", cbIDBD.SelectedValue.ToString());
string tanggaljt = cbTahunJtPB.SelectedItem + "-" +
cbBulanJtPB.SelectedItem + "-" + cbHariJtPB.SelectedItem;
cmd.Parameters.AddWithValue("@tanggalJt", tanggaljt);
string tanggalbayar = cbTahunByr.SelectedItem + "-" +
cbBulanByr.SelectedItem + "-" + cbHariByr.SelectedItem;
cmd.Parameters.AddWithValue("@tanggalByr", tanggalbayar);
cmd.Parameters.AddWithValue("@total", txtBiayaPB.Text);
cmd.Parameters.AddWithValue("@kurang", txtKurangPB.Text);
cmd.Parameters.AddWithValue("@bayar", txtTotalPB.Text);
string status = "Lunas";
cmd.Parameters.AddWithValue("@status", status);
sqlConnection.Open();

31
cmd.ExecuteNonQuery();
sqlConnection.Close();
MessageBox.Show("Data Disimpan Dengan Sukses !!!!");
cbIDPB.Text="";
txtBiayaPB.Text="0";
txtKurangPB.Text="0";
cbHariJtPB.Text="";
cbBulanJtPB.Text = "";
cbTahunJtPB.Text="";
cbHariByr.Text="";
cbBulanByr.Text="";
cbTahunByr.Text="";
txtTotalPB.Text="0";

public DataSet DetailPembelian(string x)


{
DataSet ds = new DataSet();
string query = "Select namaBarang 'Nama Barang',harga 'Harga',jumlah
'Jumlah',potongan 'Potongan / Diskon',totalHarga 'Total' from
DetailPembelian where idPembelian = '" + x + "'";
SqlConnection con1 = new SqlConnection(strConnection);
SqlDataAdapter da = new SqlDataAdapter(query, con1);
da.Fill(ds, "Details");
return ds;
}

private void button4_Click(object sender, EventArgs e)


{
// int a = Convert.ToInt32(cbBulan.Text);
// int b = Convert.ToInt32(cbHari.Text);
// if (CekKosong() == true)
if(1 == 0)
{
MessageBox.Show("Jenis Pembelian Dan Tanggal Harus diisi dulu !!!");
}
else if(1 == 0)
//else if (ValidateDate(b, a) == false)
{
MessageBox.Show("Tanggal tidak valid !!!");
}
else
{
// string tanggal = cbTahun.SelectedItem + "-" + cbBulan.SelectedItem +
"-" + cbHari.SelectedItem;

const string FMT = "yyyy-MM-dd";


DateTime now1 = DateTime.Now;
string tanggal = now1.ToString(FMT);

SqlConnection sqlConnection = new SqlConnection(strConnection);


string query2 = "update Pembelian set tanggal='" + tanggal + "',
namaSales='" + cbSales.SelectedValue.ToString()
+ "', TotalPembelian="+ txtTotal.Text + ", DP="+txtDP.Text + ",
kekurangan="+ txtKurang.Text

31
+ ",jenisPembelian='"+cbJenisBeli.SelectedItem.ToString()+ "' Where
idPembelian = '" + txtID.Text + "'";
SqlCommand cmd2 = new SqlCommand(query2, sqlConnection);
string query3 = "update Pembelian set tanggal='" + tanggal + "',
namaSales='" + cbSales.SelectedValue.ToString()
+ "', TotalPembelian=" + txtTotal.Text + ", DP=" + txtDP.Text + ",
kekurangan=" + txtKurang.Text
+ ",jenisPembelian='" + cbJenisBeli.SelectedItem.ToString() + "',status
= 'Lunas' " + "Where idPembelian = '" + txtID.Text + "'";
SqlCommand cmd3 = new SqlCommand(query3, sqlConnection);
sqlConnection.Open();
if (Convert.ToInt32(txtKurang.Text) == 0)
{
cmd3.ExecuteNonQuery();
}
else
{
cmd2.ExecuteNonQuery();
}
sqlConnection.Close();
MessageBox.Show("Data Disimpan Dengan Sukses !!!!");

// TODO: This line of code loads data into the


'tokoGandrungDataSet7.Pembelian' table. You can move, or remove it, as
needed.
this.pembelianTableAdapter1.Fill(this.tokoGandrungDataSet7.Pembelian);
// TODO: This line of code loads data into the
'tokoGandrungDataSet6.Pembelian' table. You can move, or remove it, as
needed.
this.pembelianTableAdapter.Fill(this.tokoGandrungDataSet6.Pembelian);
RefreshDG();
}
}

public void SetSales()


{
this.dataSalesTableAdapter.Fill(this.tokoGandrungDataSet3.DataSales);
}

private void FormPembelian_Load(object sender, EventArgs e)


{
// TODO: This line of code loads data into the
'tokoGandrungDataSet7.Pembelian' table. You can move, or remove it, as
needed.
this.pembelianTableAdapter1.Fill(this.tokoGandrungDataSet7.Pembelian);
// TODO: This line of code loads data into the
'tokoGandrungDataSet6.Pembelian' table. You can move, or remove it, as
needed.
this.pembelianTableAdapter.Fill(this.tokoGandrungDataSet6.Pembelian);
// TODO: This line of code loads data into the
'tokoGandrungDataSet3.DataSales' table. You can move, or remove it, as
needed.
this.dataSalesTableAdapter.Fill(this.tokoGandrungDataSet3.DataSales);
RefreshDG();

31
public string IDPenjualan()
{
return txtID.Text;
}

public void setEditTotal(int a)


{
txtTotal.Text = a.ToString();
}

private void btnTambahSls_Click(object sender, EventArgs e)


{
historyDetail2 a = new historyDetail2();
a.LogicalParent = this;
a.Show();;
this.Enabled = false;
}

public bool ValidateDate(int hari, int bulan)


{
int a = Convert.ToInt32(cbTahun.Text);
if ((bulan != 1) && (bulan != 3) && (bulan != 5) && (bulan != 7) &&
(bulan != 8) && (bulan != 10) & (bulan != 12))
{
if (hari == 31)
return false;
else if (bulan == 2)
{
if (hari == 30)
return false;
else if (cekKabisat(a) == false)
{
if (hari == 29)
return false;
}
}
}
return true;
}

public bool cekKabisat(int year)


{
if (year % 4 != 0)
return false;
else
if ((year % 100 == 0) && (year % 400 != 0))
return false;
else
return true;
}

public bool CekKosong()


{
if ((cbHari.Text == "") || (cbBulan.Text == "") || (cbTahun.Text == ""))
{
return true;
}

31
else
return false;
}

public void setDg(string a)


{
dgPembelian.DataSource = getDetails(a).Tables[0];
}
public DataSet getDetails(string NoNota)
{
//string query = "Select namaBarang 'Nama Barang',harga 'Harga',jumlah
'Jumlah',potongan 'Potongan / Diskon',totalHarga 'Total' from
DetailPembelian where idPembelian = '" + NoNota + "'";
string query = "Select DetailPembelian.namaBarang 'Nama
Barang',DetailPembelian.harga 'Harga',DetailPembelian.jumlah
'Jumlah',DetailPembelian.potongan 'Potongan /
Diskon',DetailPembelian.totalHarga 'Total', Pembelian.tanggal 'Tanggal'
from DetailPembelian INNER JOIN Pembelian ON DetailPembelian.idPembelian
= Pembelian.idPembelian where DetailPembelian.idPembelian = '" + NoNota
+ "'";
SqlConnection con = new SqlConnection(strConnection);
SqlDataAdapter da = new SqlDataAdapter(query, con);
DataSet ds = new DataSet();
da.Fill(ds, "Details");
return ds;
}
public void setTotal(int a)
{
int b = Convert.ToInt32(txtTotal.Text) + a;
txtTotal.Text = b.ToString();
}

private void BtnTambahBrg_Click(object sender, EventArgs e)


{
// if (CekKosong() == true)
if (1 == 0)
{
MessageBox.Show("Jenis Pembelian Dan Tanggal Harus diisi dulu !!!");
}
//else if (ValidateDate(Convert.ToInt32(cbHari.Text),
Convert.ToInt32(cbBulan.Text)) == false)
else if (1 == 0)
{

MessageBox.Show("Tanggal tidak valid !!!");


}
else
{
SqlConnection sqlConnection = new SqlConnection(strConnection);
String SQLQuery = "SELECT idPembelian FROM Pembelian where
idPembelian='" + txtID.Text + "'";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
if (Dr.HasRows == false)
{
sqlConnection.Close();

31
SqlCommand cmd = new SqlCommand("Insert Into
Pembelian(idPembelian,tanggal,namaSales,totalPembelian, DP, kekurangan,
jenisPembelian, status) Values
(@id,@tanggal,@sales,@total,@totalDP,@totalKrg,@jenis,@status)");
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
cmd.Parameters.AddWithValue("@id", txtID.Text);
string tanggal = cbTahun.SelectedItem + "-" + cbBulan.SelectedItem + "-"
+ cbHari.SelectedItem;

const string FMT = "yyyy-MM-dd";


DateTime now1 = DateTime.Now;
string temp_tanggal = now1.ToString(FMT);
cmd.Parameters.AddWithValue("@tanggal", temp_tanggal);

cmd.Parameters.AddWithValue("@sales",
cbSales.SelectedValue.ToString() );
string x = "0";
cmd.Parameters.AddWithValue("@total", x);
cmd.Parameters.AddWithValue("@totalDP", x);
cmd.Parameters.AddWithValue("@totalKrg", x);
cmd.Parameters.AddWithValue("@jenis",
cbJenisBeli.SelectedItem.ToString());

string temp_jenis = cbJenisBeli.SelectedItem.ToString();


string c = "Belum Lunas";
if(temp_jenis.ToUpper() == "LANGSUNG"){
c = "Lunas";
}
cmd.Parameters.AddWithValue("@status", c);
sqlConnection.Open();
cmd.ExecuteNonQuery();
}
sqlConnection.Close();
TambahBeliBarang a = new TambahBeliBarang();
a.LogicalParent = this;
a.Show();
a.NumberNota(txtID.Text);
this.Enabled = false;
}
}

private void button3_Click(object sender, EventArgs e)


{
EditBeliBarang b = new EditBeliBarang();
b.LogicalParent = this;
b.Show();
this.Enabled = false;
}

private void txtDP_TextChanged(object sender, EventArgs e)


{
int kurang;
if (txtDP.Text != "")
{

kurang = Convert.ToInt32(txtTotal.Text) - Convert.ToInt32(txtDP.Text);

31
txtKurang.Text = kurang.ToString();

}
}

public void setKurang()


{
int kurang;
if (txtDP.Text != "")
{

kurang = Convert.ToInt32(txtTotal.Text) - Convert.ToInt32(txtDP.Text);


txtKurang.Text = kurang.ToString();

}
}

private void button5_Click(object sender, EventArgs e)


{
DialogResult dlgresult = MessageBox.Show("Apa anda yakin akan Menghapus
Semua Data ?",
"Konfirmasi menutup",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (dlgresult == DialogResult.Yes)
{
deleteDetailPenjualan();
deleteDataPenjualan();
RefreshDG();
Array.Clear(ID, 0, ID.Length);
Array.Clear(jml, 0, jml.Length);
}
}

public void deleteDataPenjualan()


{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "Delete FROM Pembelian where idPembelian='" + txtID.Text
+ "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
sqlConnection.Close();
}

public void deleteDetailPenjualan()


{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "Delete FROM DetailPembelian where idPembelian='" +
txtID.Text + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
sqlConnection.Close();
}

31
private void button1_Click(object sender, EventArgs e)
{
DetailPembelian a = new DetailPembelian();
a.LogicalParent = this;
a.Show();
string x = cbIDBD.SelectedValue.ToString();
a.KontPress(x);
}

private void button8_Click(object sender, EventArgs e)


{
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlCommand cmd = new SqlCommand("Insert Into
BarangDatang(idPembelian,tanggalDatang,jatuhTempo) Values
(@id,@tanggalDtg,@tanggalJt)");
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
cmd.Parameters.AddWithValue("@id", cbIDBD.SelectedValue.ToString());
string tanggaldtg = cbTahunDtgBD.SelectedItem + "-" +
cbBulanDtgBD.SelectedItem + "-" + cbHariDtgBD.SelectedItem;
cmd.Parameters.AddWithValue("@tanggalDtg", tanggaldtg);
string tanggaljt = cbTahunJtBD.SelectedItem + "-" +
cbBulanJtBD.SelectedItem + "-" + cbHariJtBD.SelectedItem;
cmd.Parameters.AddWithValue("@tanggalJt", tanggaljt);
string query2 = "update DetailPembelian set statusBarang='Sudah Datang'
Where idPembelian = '" + cbIDBD.SelectedValue.ToString() + "'";
SqlCommand cmd2 = new SqlCommand(query2, sqlConnection);
sqlConnection.Open();
cmd.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
sqlConnection.Close();
UpdateStok();
MessageBox.Show("Data Disimpan Dengan Sukses !!!!");

private void cbIDPB_SelectedIndexChanged(object sender, EventArgs e)


{

private void button13_Click(object sender, EventArgs e)


{
DetailPembelian a = new DetailPembelian();
a.LogicalParent = this;
a.Show();
string x = cbIDPB.SelectedValue.ToString();
a.KontPress(x);
}

private void textBox2_TextChanged(object sender, EventArgs e)


{
int total=0;
total = Convert.ToInt32(txtBiayaPB.Text) -
Convert.ToInt32(txtKurangPB.Text);

31
txtTotalPB.Text = total.ToString();
txtKurangPB.Text = txtTotalPB;
}

private void cbBulanDtgPB_SelectedIndexChanged(object sender, EventArgs


e)
{

public void getIdJml()


{
i = 0;
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "SELECT * FROM DetailPembelian where IdPembelian='" +
cbIDBD.SelectedValue.ToString() + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
while (Dr.Read())
{
ID[i] = Dr["namaBarang"].ToString();
jml[i] = Convert.ToInt32(Dr["jumlah"]);
i++;
}
sqlConnection.Close();
}
public void UpdateStok(string nama, int stoknya)
{
string queryUpdate = "Update Barang set stok = " + stoknya + " where
namaBarang = '" + nama + "'";
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlCommand cmd2 = new SqlCommand(queryUpdate, sqlConnection);
sqlConnection.Open();
cmd2.ExecuteNonQuery();
sqlConnection.Close();
}

public int GetStok(string nama)


{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "SELECT * FROM Barang where namaBarang='" + nama + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
while (Dr.Read())
{
stok = Convert.ToInt32(Dr["stok"]);
}
sqlConnection.Close();
return stok;
}

public void UpdateStok()


{
j = 0;
getIdJml();

31
for (j = 0; j <= i; j++)
{
stoksebelum = GetStok(ID[j]);
stoksesudah = stoksebelum + jml[j];
UpdateStok(ID[j], stoksesudah);
}
}

private void button16_Click(object sender, EventArgs e)


{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = strConnection;
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
//cmd.CommandText =
// "Select idPembelian 'ID Pembelian',tanggalDatang 'Tanggal
Datang',jatuhTempo 'Jatuh Tempo' from BarangDatang where
MONTH(jatuhTempo) =" + Convert.ToInt32(cbBulanJt.SelectedItem) + " and
YEAR(jatuhTempo) = " + Convert.ToInt32(cbTahunJt.SelectedItem);
cmd.CommandText =
"Select BarangDatang.idPembelian 'ID
Pembelian',BarangDatang.tanggalDatang 'Tanggal
Datang',BarangDatang.jatuhTempo 'Jatuh Tempo', Pembelian.totalPembelian
'Total', Pembelian.DP 'DP', Pembelian.kekurangan 'Kekurangan' from
BarangDatang left join Pembelian on BarangDatang.idPembelian =
Pembelian.idPembelian where MONTH(BarangDatang.jatuhTempo) =" +
Convert.ToInt32(cbBulanJt.SelectedItem) + " and
YEAR(BarangDatang.jatuhTempo) = " +
Convert.ToInt32(cbTahunJt.SelectedItem);
cmd.CommandType = CommandType.Text;
SqlDataAdapter objDA = new SqlDataAdapter(cmd);
objDA.SelectCommand.CommandText = cmd.CommandText.ToString();
DataTable dt = new DataTable();
objDA.Fill(dt);
dgJT.DataSource = dt;
conn.Dispose();
}

private void button11_Click(object sender, EventArgs e)


{
int x = 0, y = 0;
x = Convert.ToInt32(cbBulanLp.SelectedItem);
y = Convert.ToInt32(cbTahunLp.SelectedItem);
dgLP.DataSource = getLp(x,y).Tables[0];
txtJmlBeli.Text = TotalLp.ToString();
txtJmlBrgBeli.Text = TotalBarang.ToString();
txtDpLp.Text = TotalDPLp.ToString();
txtKurangLp.Text = TotalKurangLp.ToString();
}

public DataSet getLp(int bln,int thn)


{
int x = 0;
TotalLp = 0;
TotalBarang = 0;
DataSet ds = new DataSet();

31
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlConnection conn = new SqlConnection(strConnection);
conn.Open();
SqlCommand comm = new SqlCommand("SELECT Count(*) FROM Pembelian where
MONTH(tanggal) =" + bln + " and YEAR(tanggal) = " + thn, conn);
Int32 count = (Int32)comm.ExecuteScalar();
conn.Close();
string[] IDBeli = new string[count];
string SQLQuery = "SELECT IdPembelian, DP, kekurangan FROM Pembelian
where MONTH(tanggal) =" + bln + " and YEAR(tanggal) = " + thn;
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
while (Dr.Read())
{
IDBeli[x] = Dr["idPembelian"].ToString();
//string query = "Select namaBarang 'Nama Barang',harga 'Harga',jumlah
'Jumlah',potongan 'Potongan / Diskon',totalHarga 'Total',statusBarang
'Status' from DetailPembelian where idPembelian = '" + IDBeli[x] + "'";
string query = "Select DetailPembelian.namaBarang 'Nama
Barang',DetailPembelian.harga 'Harga',DetailPembelian.jumlah
'Jumlah',DetailPembelian.potongan 'Potongan /
Diskon',DetailPembelian.totalHarga 'Total',DetailPembelian.statusBarang
'Status', Pembelian.tanggal 'Tanggal' from DetailPembelian INNER JOIN
Pembelian ON DetailPembelian.idPembelian = Pembelian.idPembelian where
DetailPembelian.idPembelian = '" + IDBeli[x] + "'";
string query1 = "Select * from DetailPembelian where idPembelian = '" +
IDBeli[x] + "'";
SqlConnection con1 = new SqlConnection(strConnection);
SqlCommand command1 = new SqlCommand(query1, con1);
TotalDPLp = TotalDPLp + Convert.ToInt32(Dr["DP"]);
TotalKurangLp = TotalKurangLp + Convert.ToInt32(Dr["kekurangan"]);
con1.Open();
SqlDataReader Dr1 = command1.ExecuteReader();
while (Dr1.Read())
{
TotalLp = TotalLp + Convert.ToInt32(Dr1["totalHarga"]);
TotalBarang = TotalBarang + Convert.ToInt32(Dr1["jumlah"]);
}
con1.Close();
SqlDataAdapter da = new SqlDataAdapter(query, con1);
x++;
da.Fill(ds, "Details");
}
sqlConnection.Close();

return ds;
}

private void tabPage3_Click(object sender, EventArgs e)


{

private void tabPage1_Click(object sender, EventArgs e)


{

31
}

private void button2_Click(object sender, EventArgs e)


{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = strConnection;
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText =
"Select idPembelian 'ID Pembelian',tanggalJatuhTempo 'Tanggal Jatuh
Tempo',tanggalBayar 'Tanggal Bayar', "
+"totalBiaya 'Total Biaya' , Kekurangan , pembayaran 'Jumlah Dibayar' ,
statusBayar 'Status Bayar' "
+ "from Pembayaran where MONTH(tanggalBayar) =" +
Convert.ToInt32(cbBlnBr.SelectedItem) + " and YEAR(tanggalBayar) = " +
Convert.ToInt32(cbThnBr.SelectedItem);
cmd.CommandType = CommandType.Text;
SqlDataAdapter objDA = new SqlDataAdapter(cmd);
objDA.SelectCommand.CommandText = cmd.CommandText.ToString();
DataTable dt = new DataTable();
objDA.Fill(dt);
dgBayar.DataSource = dt;
conn.Dispose();
}

private void homeToolStripMenuItem_Click(object sender, EventArgs e)


{
FormHome FH = new FormHome();
FH.setRoleText(lblRoles.Text);
FH.setUserText(lblUser.Text);
FH.UserRestrict(lblRoles.Text);
FH.Show();
this.Hide();
}

private void cbHari_SelectedIndexChanged(object sender, EventArgs e)


{

private void dgPembelian_CellContentClick(object sender,


DataGridViewCellEventArgs e)
{

private void dgLP_CellContentClick(object sender,


DataGridViewCellEventArgs e)
{

private void txtKurangPB_TextChanged(object sender, EventArgs e)


{

31
private void lblUser_Click(object sender, EventArgs e)
{

private void cbIDBD_SelectedIndexChanged(object sender, EventArgs e)


{

}
}
}

Source Code Tambah Barang di Penjualan :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace AplikasiToko
{
public partial class FormPenjualan : Form
{
public FormHome logicalPrnt { get; set; }
SqlDataReader Dr;
string[] ID = new string[20];
int[] jml = new int[10];
int stok = 0, stoksebelum = 0, stoksesudah = 0, i = 0, j = 0;
int TotalLp = 0, TotalBarang = 0;
string strConnection = "server=DESKTOP-J1Q3JJ8\\JUANKSQL; initial
catalog=TokoGandrung; user id=sa; password=123;";
public FormPenjualan()
{
InitializeComponent();
RefreshDG();
for (int i = 1; i < 32; i++)
{
cbHari.Items.Add(i);
cbHariLp.Items.Add(i);
}
for (int i = 1; i < 13; i++)
{
cbBulan.Items.Add(i);
cbBlnLp.Items.Add(i);
}
for (int i = 2017; i < 3000; i++)
{
cbTahun.Items.Add(i);
cbThnLp.Items.Add(i);
}

31
// laporan_load();
}

public void RefreshDG()


{
int ctr;
string lastval = "", codeval;
SqlConnection sqlConnection = new SqlConnection(strConnection);
String SQLQuery = "SELECT idPenjualan FROM Penjualan";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
if (Dr.HasRows == false)
{
txtID.Text = "J000001";
}
else
{
while (Dr.Read())
{
lastval = Dr["idPenjualan"].ToString();
}
codeval = lastval.Substring(1, 6);
ctr = Convert.ToInt32(codeval);
if ((ctr >= 1) && (ctr < 9))
{
ctr = ctr + 1;
txtID.Text = "J00000" + ctr;
}
else if ((ctr >= 9) && (ctr < 99))
{
ctr = ctr + 1;
txtID.Text = "J0000" + ctr;
}
else if ((ctr >= 99) && (ctr < 999))
{
ctr = ctr + 1;
txtID.Text = "J000" + ctr;
}
else if ((ctr >= 999) && (ctr < 9999))
{
ctr = ctr + 1;
txtID.Text = "J00" + ctr;
}
else if ((ctr >= 9999) && (ctr < 99999))
{
ctr = ctr + 1;
txtID.Text = "J0" + ctr;
}
else if (ctr >= 99999)
{
ctr = ctr + 1;
txtID.Text = "J" + ctr;
}
txtTotal.Text = "0";
cbBulan.Text = "";
cbHari.Text = "";

31
cbTahun.Text = "";
dgPenjualan.DataSource = null;
}
}
public string IDPenjualan()
{
return txtID.Text;
}

public void setEditTotal(int a)


{
txtTotal.Text = a.ToString();
}

private void label1_Click(object sender, EventArgs e)


{

public bool ValidateDate(int hari, int bulan)


{
int a = Convert.ToInt32(cbTahun.Text);
if ((bulan != 1) && (bulan != 3) && (bulan != 5) && (bulan !=
7) && (bulan != 8) && (bulan != 10) & (bulan != 12))
{
if (hari == 31)
return false;
else if (bulan == 2)
{
if (hari == 30)
return false;
else if (cekKabisat(a) == false)
{
if (hari == 29)
return false;
}
}
}
return true;
}

public bool cekKabisat(int year)


{
if (year % 4 != 0)
return false;
else
if ((year % 100 == 0) && (year % 400 != 0))
return false;
else
return true;
}

public bool CekKosong()


{
if ((cbHari.Text == "") || (cbBulan.Text == "") ||
(cbTahun.Text == ""))
{

31
return true;
}
else
return false;
}

public void setDg(string a)


{
dgPenjualan.DataSource = getDetails(a).Tables[0];
}
public DataSet getDetails(string NoNota)
{
//string query = "Select namaBarang 'Nama Barang',harga
'Harga',jumlah 'Jumlah',potongan 'Potongan / Diskon',totalHarga 'Total'
from DetailPenjualan where idPenjualan = '" + NoNota + "'";
string query = "Select DetailPenjualan.namaBarang 'Nama
Barang',DetailPenjualan.harga 'Harga',DetailPenjualan.jumlah
'Jumlah',DetailPenjualan.potongan 'Potongan /
Diskon',DetailPenjualan.totalHarga 'Total', Penjualan.tanggalPenjualan
'Tanggal' from DetailPenjualan left join Penjualan on
DetailPenjualan.idPenjualan = Penjualan.idPenjualan where
DetailPenjualan.idPenjualan = '" + NoNota + "'";
SqlConnection con = new SqlConnection(strConnection);
SqlDataAdapter da = new SqlDataAdapter(query, con);
DataSet ds = new DataSet();
da.Fill(ds, "Details");
return ds;
}
public void setTotal(int a)
{
int b = Convert.ToInt32(txtTotal.Text) + a;
txtTotal.Text = b.ToString();
}

private void button2_Click(object sender, EventArgs e)


{
// if (CekKosong() == true)
if(1 == 0)
{
MessageBox.Show("Nama Dan Tanggal Harus diisi dulu !!!");
}
//else if (ValidateDate(Convert.ToInt32(cbHari.Text),
Convert.ToInt32(cbBulan.Text)) == false)
else if(1 == 0)
{
MessageBox.Show("Tanggal tidak valid !!!");
}
else
{
SqlConnection sqlConnection = new
SqlConnection(strConnection);
String SQLQuery = "SELECT idPenjualan FROM Penjualan
where idPenjualan='" + txtID.Text + "'";
SqlCommand command = new SqlCommand(SQLQuery,
sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();

31
if (Dr.HasRows == false)
{
sqlConnection.Close();
SqlCommand cmd = new SqlCommand("Insert Into
Penjualan(idPenjualan,tanggalPenjualan,nominalPenjualan) Values
(@id,@tanggal,@harga)");
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
cmd.Parameters.AddWithValue("@id", txtID.Text);
string tanggal = cbTahun.SelectedItem + "-" +
cbBulan.SelectedItem + "-" + cbHari.SelectedItem;

const string FMT = "yyyy-MM-dd";


DateTime now1 = DateTime.Now;
string temp_tanggal = now1.ToString(FMT);
cmd.Parameters.AddWithValue("@tanggal",
temp_tanggal);

string x = "0";
cmd.Parameters.AddWithValue("@harga", x);
sqlConnection.Open();
cmd.ExecuteNonQuery();
}
sqlConnection.Close();
TambahJualBarang a = new TambahJualBarang();
a.LogicalParent = this;
a.Show();
a.NumberNota(txtID.Text);
this.Enabled = false;
}
}

private void button3_Click(object sender, EventArgs e)


{
//if (CekKosong() == true)
if(1 == 0)
{
MessageBox.Show("Nama Dan Tanggal Harus diisi dulu !!!");
}
//else if (ValidateDate(Convert.ToInt32(cbHari.Text),
Convert.ToInt32(cbBulan.Text)) == false)
else if(1 == 0)
{

MessageBox.Show("Tanggal tidak valid !!!");


}
else
{
EditJualBarang b = new EditJualBarang();
b.LogicalParent = this;
b.Show();
this.Enabled = false;
}

private void button6_Click(object sender, EventArgs e)

31
{
SqlConnection sqlConnection = new SqlConnection(strConnection);
String SQLQuery = "SELECT * FROM Barang where namaBarang ='" +
cbID.Text + "'";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
while (Dr.Read())
{
txtStok.Text = Dr["stok"].ToString();
txtGrosir.Text = Dr["hargaJual2"].ToString();
txtSatuan.Text = Dr["hargajual1"].ToString();
}
sqlConnection.Close();
}

private void FormPenjualan_Load(object sender, EventArgs e)


{
// TODO: This line of code loads data into the
'tokoGandrungDataSet2.Barang' table. You can move, or remove it, as needed.
this.barangTableAdapter.Fill(this.tokoGandrungDataSet2.Barang);

private void homeToolStripMenuItem_Click(object sender, EventArgs


e)
{
FormHome FH = new FormHome();
FH.setRoleText(lblRoles.Text);
FH.setUserText(lblUser.Text);
FH.UserRestrict(lblRoles.Text);
FH.Show();
this.Hide();
}
public void Roles(string Roles)
{
lblRoles.Text = Roles;
}
public void User(string user)
{
lblUser.Text = user;
}

private void label16_Click(object sender, EventArgs e)


{

private void menuStrip1_ItemClicked(object sender,


ToolStripItemClickedEventArgs e)
{

private void button7_Click(object sender, EventArgs e)


{

31
string tanggal = cbThnLp.SelectedItem + "-" +
cbBlnLp.SelectedItem + "-" + cbHariLp.SelectedItem;
dgLaporan.DataSource = getLp(tanggal).Tables[0];
txtPms.Text = TotalLp.ToString();
txtBT.Text = TotalBarang.ToString();
// dgLaporan.DataBind();
}

public DataSet getLp(string tgl)


{
int x = 0;
TotalLp = 0;
TotalBarang = 0;
DataSet ds = new DataSet();
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlConnection conn = new SqlConnection(strConnection);
conn.Open();
SqlCommand comm = new SqlCommand("SELECT Count(*) FROM
Penjualan where tanggalPenjualan='" + tgl + "'", conn);
Int32 count = (Int32)comm.ExecuteScalar();
conn.Close();
string[] IDJual = new string[count];
string SQLQuery = "SELECT IdPenjualan FROM Penjualan where
tanggalPenjualan='" + tgl + "'";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
while (Dr.Read())
{
IDJual[x] = Dr["idPenjualan"].ToString();
string query = "Select namaBarang 'Nama Barang',harga
'Harga',jumlah 'Jumlah',potongan 'Potongan / Diskon',totalHarga 'Total'
from DetailPenjualan where idPenjualan = '" + IDJual[x] + "'";
string query1 = "Select * from DetailPenjualan where
idPenjualan = '" + IDJual[x] + "'";
SqlConnection con1 = new SqlConnection(strConnection);
SqlCommand command1 = new SqlCommand(query1, con1);
con1.Open();
SqlDataReader Dr1 = command1.ExecuteReader();
while(Dr1.Read())
{
TotalLp = TotalLp + Convert.ToInt32(Dr1["totalHarga"]);
TotalBarang = TotalBarang +
Convert.ToInt32(Dr1["jumlah"]);
}
con1.Close();
SqlDataAdapter da = new SqlDataAdapter(query, con1);
x++;
da.Fill(ds, "Details");
}
sqlConnection.Close();

return ds;
}

private void button4_Click(object sender, EventArgs e)


{

31
int a = Convert.ToInt32(cbBulan.Text);
int b = Convert.ToInt32(cbHari.Text);
if (CekKosong() == true)
{
MessageBox.Show("Nama Dan Tanggal Harus diisi dulu !!!");
}
else if (ValidateDate(b, a) == false)
{
MessageBox.Show("Tanggal tidak valid !!!");
}
else
{
string tanggal = cbTahun.SelectedItem + "-" +
cbBulan.SelectedItem + "-" + cbHari.SelectedItem;
SqlConnection sqlConnection = new
SqlConnection(strConnection);
string query2 = "update Penjualan set tanggalPenjualan='"
+ tanggal + "', nominalPenjualan=" + txtTotal.Text + " Where idPenjualan =
'" + txtID.Text + "'";
SqlCommand cmd2 = new SqlCommand(query2, sqlConnection);
sqlConnection.Open();
cmd2.ExecuteNonQuery();
sqlConnection.Close();
MessageBox.Show("Data Disimpan Dengan Sukses !!!!");
RefreshDG();
}
}

private void button5_Click(object sender, EventArgs e)


{
DialogResult dlgresult = MessageBox.Show("Apa anda yakin akan
Menghapus Semua Data ?",
"Konfirmasi menutup",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (dlgresult == DialogResult.Yes)
{
kembalikanStok();
deleteDetailPenjualan();
deleteDataPenjualan();
RefreshDG();
Array.Clear(ID, 0, ID.Length);
Array.Clear(jml, 0, jml.Length);
}
}

public void kembalikanStok()


{
j = 0;
getIdJml();
for (j = 0; j <= i; j++)
{
stoksebelum = GetStok(ID[j]);
stoksesudah = stoksebelum + jml[j];
UpdateStok(ID[j], stoksesudah);
}
}

31
public void getIdJml()
{
i = 0;
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "SELECT * FROM DetailPenjualan where
IdPenjualan='" + txtID.Text + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
while (Dr.Read())
{
ID[i] = Dr["namaBarang"].ToString();
jml[i] = Convert.ToInt32(Dr["jumlah"]);
i++;
}
sqlConnection.Close();
}

public void UpdateStok(string nama, int stoknya)


{
string queryUpdate = "Update Barang set stok = " + stoknya + "
where namaBarang = '" + nama + "'";
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlCommand cmd2 = new SqlCommand(queryUpdate, sqlConnection);
sqlConnection.Open();
cmd2.ExecuteNonQuery();
sqlConnection.Close();
}
public int GetStok(string nama)
{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "SELECT * FROM Barang where namaBarang='" +
nama + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
while (Dr.Read())
{
stok = Convert.ToInt32(Dr["stok"]);
}
sqlConnection.Close();
return stok;
}
public void deleteDataPenjualan()
{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "Delete FROM Penjualan where idPenjualan='" +
txtID.Text + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
sqlConnection.Close();
}

public void deleteDetailPenjualan()


{

31
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "Delete FROM DetailPenjualan where
idPenjualan='" + txtID.Text + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
sqlConnection.Close();
}

private void tabPage1_Click(object sender, EventArgs e)


{

private void dgPenjualan_CellContentClick(object sender,


DataGridViewCellEventArgs e)
{

}
}
}

Source Code Edit Barang :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace AplikasiToko
{
public partial class FormPenjualan : Form
{
public FormHome logicalPrnt { get; set; }
SqlDataReader Dr;
string[] ID = new string[20];
int[] jml = new int[10];
int stok = 0, stoksebelum = 0, stoksesudah = 0, i = 0, j = 0;
int TotalLp = 0, TotalBarang = 0;
string strConnection = "server=DESKTOP-J1Q3JJ8\\JUANKSQL; initial
catalog=TokoGandrung; user id=sa; password=123;";
public FormPenjualan()
{
InitializeComponent();
RefreshDG();
for (int i = 1; i < 32; i++)
{
cbHari.Items.Add(i);
cbHariLp.Items.Add(i);
}
for (int i = 1; i < 13; i++)

31
{
cbBulan.Items.Add(i);
cbBlnLp.Items.Add(i);
}
for (int i = 2017; i < 3000; i++)
{
cbTahun.Items.Add(i);
cbThnLp.Items.Add(i);
}
// laporan_load();
}

public void RefreshDG()


{
int ctr;
string lastval = "", codeval;
SqlConnection sqlConnection = new SqlConnection(strConnection);
String SQLQuery = "SELECT idPenjualan FROM Penjualan";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
if (Dr.HasRows == false)
{
txtID.Text = "J000001";
}
else
{
while (Dr.Read())
{
lastval = Dr["idPenjualan"].ToString();
}
codeval = lastval.Substring(1, 6);
ctr = Convert.ToInt32(codeval);
if ((ctr >= 1) && (ctr < 9))
{
ctr = ctr + 1;
txtID.Text = "J00000" + ctr;
}
else if ((ctr >= 9) && (ctr < 99))
{
ctr = ctr + 1;
txtID.Text = "J0000" + ctr;
}
else if ((ctr >= 99) && (ctr < 999))
{
ctr = ctr + 1;
txtID.Text = "J000" + ctr;
}
else if ((ctr >= 999) && (ctr < 9999))
{
ctr = ctr + 1;
txtID.Text = "J00" + ctr;
}
else if ((ctr >= 9999) && (ctr < 99999))
{
ctr = ctr + 1;
txtID.Text = "J0" + ctr;

31
}
else if (ctr >= 99999)
{
ctr = ctr + 1;
txtID.Text = "J" + ctr;
}
txtTotal.Text = "0";
cbBulan.Text = "";
cbHari.Text = "";
cbTahun.Text = "";
dgPenjualan.DataSource = null;
}
}
public string IDPenjualan()
{
return txtID.Text;
}

public void setEditTotal(int a)


{
txtTotal.Text = a.ToString();
}

private void label1_Click(object sender, EventArgs e)


{

public bool ValidateDate(int hari, int bulan)


{
int a = Convert.ToInt32(cbTahun.Text);
if ((bulan != 1) && (bulan != 3) && (bulan != 5) && (bulan !=
7) && (bulan != 8) && (bulan != 10) & (bulan != 12))
{
if (hari == 31)
return false;
else if (bulan == 2)
{
if (hari == 30)
return false;
else if (cekKabisat(a) == false)
{
if (hari == 29)
return false;
}
}
}
return true;
}

public bool cekKabisat(int year)


{
if (year % 4 != 0)
return false;
else
if ((year % 100 == 0) && (year % 400 != 0))
return false;

31
else
return true;
}

public bool CekKosong()


{
if ((cbHari.Text == "") || (cbBulan.Text == "") ||
(cbTahun.Text == ""))
{
return true;
}
else
return false;
}

public void setDg(string a)


{
dgPenjualan.DataSource = getDetails(a).Tables[0];
}
public DataSet getDetails(string NoNota)
{
//string query = "Select namaBarang 'Nama Barang',harga
'Harga',jumlah 'Jumlah',potongan 'Potongan / Diskon',totalHarga 'Total'
from DetailPenjualan where idPenjualan = '" + NoNota + "'";
string query = "Select DetailPenjualan.namaBarang 'Nama
Barang',DetailPenjualan.harga 'Harga',DetailPenjualan.jumlah
'Jumlah',DetailPenjualan.potongan 'Potongan /
Diskon',DetailPenjualan.totalHarga 'Total', Penjualan.tanggalPenjualan
'Tanggal' from DetailPenjualan left join Penjualan on
DetailPenjualan.idPenjualan = Penjualan.idPenjualan where
DetailPenjualan.idPenjualan = '" + NoNota + "'";
SqlConnection con = new SqlConnection(strConnection);
SqlDataAdapter da = new SqlDataAdapter(query, con);
DataSet ds = new DataSet();
da.Fill(ds, "Details");
return ds;
}
public void setTotal(int a)
{
int b = Convert.ToInt32(txtTotal.Text) + a;
txtTotal.Text = b.ToString();
}

private void button2_Click(object sender, EventArgs e)


{
// if (CekKosong() == true)
if(1 == 0)
{
MessageBox.Show("Nama Dan Tanggal Harus diisi dulu !!!");
}
//else if (ValidateDate(Convert.ToInt32(cbHari.Text),
Convert.ToInt32(cbBulan.Text)) == false)
else if(1 == 0)
{
MessageBox.Show("Tanggal tidak valid !!!");
}
else

31
{
SqlConnection sqlConnection = new
SqlConnection(strConnection);
String SQLQuery = "SELECT idPenjualan FROM Penjualan
where idPenjualan='" + txtID.Text + "'";
SqlCommand command = new SqlCommand(SQLQuery,
sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
if (Dr.HasRows == false)
{
sqlConnection.Close();
SqlCommand cmd = new SqlCommand("Insert Into
Penjualan(idPenjualan,tanggalPenjualan,nominalPenjualan) Values
(@id,@tanggal,@harga)");
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
cmd.Parameters.AddWithValue("@id", txtID.Text);
string tanggal = cbTahun.SelectedItem + "-" +
cbBulan.SelectedItem + "-" + cbHari.SelectedItem;

const string FMT = "yyyy-MM-dd";


DateTime now1 = DateTime.Now;
string temp_tanggal = now1.ToString(FMT);
cmd.Parameters.AddWithValue("@tanggal",
temp_tanggal);

string x = "0";
cmd.Parameters.AddWithValue("@harga", x);
sqlConnection.Open();
cmd.ExecuteNonQuery();
}
sqlConnection.Close();
TambahJualBarang a = new TambahJualBarang();
a.LogicalParent = this;
a.Show();
a.NumberNota(txtID.Text);
this.Enabled = false;
}
}

private void button3_Click(object sender, EventArgs e)


{
//if (CekKosong() == true)
if(1 == 0)
{
MessageBox.Show("Nama Dan Tanggal Harus diisi dulu !!!");
}
//else if (ValidateDate(Convert.ToInt32(cbHari.Text),
Convert.ToInt32(cbBulan.Text)) == false)
else if(1 == 0)
{

MessageBox.Show("Tanggal tidak valid !!!");


}
else
{

31
EditJualBarang b = new EditJualBarang();
b.LogicalParent = this;
b.Show();
this.Enabled = false;
}

private void button6_Click(object sender, EventArgs e)


{
SqlConnection sqlConnection = new SqlConnection(strConnection);
String SQLQuery = "SELECT * FROM Barang where namaBarang ='" +
cbID.Text + "'";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
while (Dr.Read())
{
txtStok.Text = Dr["stok"].ToString();
txtGrosir.Text = Dr["hargaJual2"].ToString();
txtSatuan.Text = Dr["hargajual1"].ToString();
}
sqlConnection.Close();
}

private void FormPenjualan_Load(object sender, EventArgs e)


{
// TODO: This line of code loads data into the
'tokoGandrungDataSet2.Barang' table. You can move, or remove it, as needed.
this.barangTableAdapter.Fill(this.tokoGandrungDataSet2.Barang);

private void homeToolStripMenuItem_Click(object sender, EventArgs


e)
{
FormHome FH = new FormHome();
FH.setRoleText(lblRoles.Text);
FH.setUserText(lblUser.Text);
FH.UserRestrict(lblRoles.Text);
FH.Show();
this.Hide();
}
public void Roles(string Roles)
{
lblRoles.Text = Roles;
}
public void User(string user)
{
lblUser.Text = user;
}

private void label16_Click(object sender, EventArgs e)


{

31
private void menuStrip1_ItemClicked(object sender,
ToolStripItemClickedEventArgs e)
{

private void button7_Click(object sender, EventArgs e)


{
string tanggal = cbThnLp.SelectedItem + "-" +
cbBlnLp.SelectedItem + "-" + cbHariLp.SelectedItem;
dgLaporan.DataSource = getLp(tanggal).Tables[0];
txtPms.Text = TotalLp.ToString();
txtBT.Text = TotalBarang.ToString();
// dgLaporan.DataBind();
}

public DataSet getLp(string tgl)


{
int x = 0;
TotalLp = 0;
TotalBarang = 0;
DataSet ds = new DataSet();
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlConnection conn = new SqlConnection(strConnection);
conn.Open();
SqlCommand comm = new SqlCommand("SELECT Count(*) FROM
Penjualan where tanggalPenjualan='" + tgl + "'", conn);
Int32 count = (Int32)comm.ExecuteScalar();
conn.Close();
string[] IDJual = new string[count];
string SQLQuery = "SELECT IdPenjualan FROM Penjualan where
tanggalPenjualan='" + tgl + "'";
SqlCommand command = new SqlCommand(SQLQuery, sqlConnection);
sqlConnection.Open();
Dr = command.ExecuteReader();
while (Dr.Read())
{
IDJual[x] = Dr["idPenjualan"].ToString();
string query = "Select namaBarang 'Nama Barang',harga
'Harga',jumlah 'Jumlah',potongan 'Potongan / Diskon',totalHarga 'Total'
from DetailPenjualan where idPenjualan = '" + IDJual[x] + "'";
string query1 = "Select * from DetailPenjualan where
idPenjualan = '" + IDJual[x] + "'";
SqlConnection con1 = new SqlConnection(strConnection);
SqlCommand command1 = new SqlCommand(query1, con1);
con1.Open();
SqlDataReader Dr1 = command1.ExecuteReader();
while(Dr1.Read())
{
TotalLp = TotalLp + Convert.ToInt32(Dr1["totalHarga"]);
TotalBarang = TotalBarang +
Convert.ToInt32(Dr1["jumlah"]);
}
con1.Close();
SqlDataAdapter da = new SqlDataAdapter(query, con1);
x++;
da.Fill(ds, "Details");

31
}
sqlConnection.Close();

return ds;
}

private void button4_Click(object sender, EventArgs e)


{
int a = Convert.ToInt32(cbBulan.Text);
int b = Convert.ToInt32(cbHari.Text);
if (CekKosong() == true)
{
MessageBox.Show("Nama Dan Tanggal Harus diisi dulu !!!");
}
else if (ValidateDate(b, a) == false)
{
MessageBox.Show("Tanggal tidak valid !!!");
}
else
{
string tanggal = cbTahun.SelectedItem + "-" +
cbBulan.SelectedItem + "-" + cbHari.SelectedItem;
SqlConnection sqlConnection = new
SqlConnection(strConnection);
string query2 = "update Penjualan set tanggalPenjualan='"
+ tanggal + "', nominalPenjualan=" + txtTotal.Text + " Where idPenjualan =
'" + txtID.Text + "'";
SqlCommand cmd2 = new SqlCommand(query2, sqlConnection);
sqlConnection.Open();
cmd2.ExecuteNonQuery();
sqlConnection.Close();
MessageBox.Show("Data Disimpan Dengan Sukses !!!!");
RefreshDG();
}
}

private void button5_Click(object sender, EventArgs e)


{
DialogResult dlgresult = MessageBox.Show("Apa anda yakin akan
Menghapus Semua Data ?",
"Konfirmasi menutup",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (dlgresult == DialogResult.Yes)
{
kembalikanStok();
deleteDetailPenjualan();
deleteDataPenjualan();
RefreshDG();
Array.Clear(ID, 0, ID.Length);
Array.Clear(jml, 0, jml.Length);
}
}

public void kembalikanStok()


{
j = 0;

31
getIdJml();
for (j = 0; j <= i; j++)
{
stoksebelum = GetStok(ID[j]);
stoksesudah = stoksebelum + jml[j];
UpdateStok(ID[j], stoksesudah);
}
}

public void getIdJml()


{
i = 0;
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "SELECT * FROM DetailPenjualan where
IdPenjualan='" + txtID.Text + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
while (Dr.Read())
{
ID[i] = Dr["namaBarang"].ToString();
jml[i] = Convert.ToInt32(Dr["jumlah"]);
i++;
}
sqlConnection.Close();
}

public void UpdateStok(string nama, int stoknya)


{
string queryUpdate = "Update Barang set stok = " + stoknya + "
where namaBarang = '" + nama + "'";
SqlConnection sqlConnection = new SqlConnection(strConnection);
SqlCommand cmd2 = new SqlCommand(queryUpdate, sqlConnection);
sqlConnection.Open();
cmd2.ExecuteNonQuery();
sqlConnection.Close();
}
public int GetStok(string nama)
{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "SELECT * FROM Barang where namaBarang='" +
nama + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
while (Dr.Read())
{
stok = Convert.ToInt32(Dr["stok"]);
}
sqlConnection.Close();
return stok;
}
public void deleteDataPenjualan()
{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "Delete FROM Penjualan where idPenjualan='" +
txtID.Text + "'";

31
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
sqlConnection.Close();
}

public void deleteDetailPenjualan()


{
SqlConnection sqlConnection = new SqlConnection(strConnection);
string query1 = "Delete FROM DetailPenjualan where
idPenjualan='" + txtID.Text + "'";
SqlCommand command2 = new SqlCommand(query1, sqlConnection);
sqlConnection.Open();
Dr = command2.ExecuteReader();
sqlConnection.Close();
}

private void tabPage1_Click(object sender, EventArgs e)


{

private void dgPenjualan_CellContentClick(object sender,


DataGridViewCellEventArgs e)
{

}
}
}

31

Anda mungkin juga menyukai