82
26 BAB III PEMBAHASAN 3.1 Tinjauan Perusahaan 3.1.1. Sejarah Perusahaan CV. Karunia Mas Service adalah perusahaan yang bergerak dibidang sewa forklift untuk wilayah Jabodetabek dan beberapa kota di Pulau Jawa yaitu Jawa Tengah dan Jawa Timur. CV. Karunia Mas Service beralamat di Jalan Alinda Kencana Permai I Blok B2 No. 1-2, Kelurahan Kaliabang Tengah, Kecamatan Bekasi Utara, Kota Bekasi 17125. CV. Karunia Mas Service didirikan pada tahun 2000 oleh Bapak Hartanto yang lahir di Magelang, 19 Agustus 1966. Sebelum berdirinya perusahaan ini, Bapak Hartanto juga merupakan seorang pegawai biasa yaitu bekerja menjadi seorang mekanik diperusahaan cukup ternama. Namun pada tahun 1997 terjadi krisis moneter sehingga diperusahaan tersebut harus melakukan pengurangan karyawan. Sejak saat itu Bapak Hartanto memutuskan untuk membuka usaha sendiri yaitu memperbaiki forklift diperusahaan-perusahaan yang membutuhkan tenaga ahli untuk perbaikan. Setelah beberapa tahun membuka usaha service forklift, akhirnya Bapak Hartanto melihat peluang bisnis untuk membuat usahanya semakin maju dan berkembang dengan membuka usaha sewa forklift dan service forklift. Hingga saat ini terhitung forklift yang dimiliki sebanyak 250 forklift dengan berbagai jenis dan merek. Serta memiliki banyak customer dan

BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

26

BAB III

PEMBAHASAN

3.1 Tinjauan Perusahaan

3.1.1. Sejarah Perusahaan

CV. Karunia Mas Service adalah perusahaan yang bergerak dibidang sewa

forklift untuk wilayah Jabodetabek dan beberapa kota di Pulau Jawa yaitu Jawa

Tengah dan Jawa Timur. CV. Karunia Mas Service beralamat di Jalan Alinda

Kencana Permai I Blok B2 No. 1-2, Kelurahan Kaliabang Tengah, Kecamatan

Bekasi Utara, Kota Bekasi 17125.

CV. Karunia Mas Service didirikan pada tahun 2000 oleh Bapak Hartanto

yang lahir di Magelang, 19 Agustus 1966. Sebelum berdirinya perusahaan ini,

Bapak Hartanto juga merupakan seorang pegawai biasa yaitu bekerja menjadi

seorang mekanik diperusahaan cukup ternama. Namun pada tahun 1997 terjadi

krisis moneter sehingga diperusahaan tersebut harus melakukan pengurangan

karyawan. Sejak saat itu Bapak Hartanto memutuskan untuk membuka usaha

sendiri yaitu memperbaiki forklift diperusahaan-perusahaan yang membutuhkan

tenaga ahli untuk perbaikan. Setelah beberapa tahun membuka usaha service

forklift, akhirnya Bapak Hartanto melihat peluang bisnis untuk membuat

usahanya semakin maju dan berkembang dengan membuka usaha sewa forklift

dan service forklift. Hingga saat ini terhitung forklift yang dimiliki sebanyak 250

forklift dengan berbagai jenis dan merek. Serta memiliki banyak customer dan

Page 2: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

27

supplier di berbagai wilayah Jabodetabek dan beberapa kota di Pulau Jawa yaitu

Jawa Tengah dan Jawa Timur.

CV. Karunia Mas Service berkomitmen untuk selalu konsisten dalam

memberikan pelayanan kepada customer dan memiliki mekanik yang terlatih serta

dukungan peralatan yang lengkap.

Suatu perusahaan yang baik pastilah memiliki visi dan misi agar kinerja

perusahaan memiliki tujuan nyata saat perusahaan berjalan.

Visi dan Misi dari CV. Karunia Mas Service, yaitu :

1. Visi

a. Menjadi perusahaan yang sukses dan maju.

b. Menjadi perusahaan jasa yang berkualitas.

2. Misi

a. Memberikan layanan yang terbaik.

b. Menjadi mitra kerja terpercaya sehingga customer merasa puas dengan

layanan yang diberikan.

c. Memberikan produk-produk yang berkualitas dan harga terjangkau.

Page 3: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

28

3.1.2. Struktur Organisasi dan Fungsi

STRUKTUR ORGANISASI

CV KARUNIA MAS SERVICE

TAHUN 2018

Sumber : CV Karunia Mas Service

Gambar III. 1

Struktur Orgaisasi CV Karunia Mas Service

Page 4: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

29

Fungsi dari bagian-bagian struktur organisasi yang ada di CV. Karunia

Mas Service adalah :

1. Direktur

a. Mengkoordinir semua kegiatan yang berhubungan dengan

ketenagakerjaan dan membuat peraturan bagi karyawan.

b. Merencanakan serta mengembangkan sumber-sumber pendapatan

kekayaan perusahaan.

c. Memutuskan dan menentukan kebijakan dan peraturan yang ada

diperusahaan.

d. Berwenang menandatngani bilyet giro atau cek.

2. Direktur Keuangan

a. Mengkoordinasi dan mengontrol perencanaan pembayaran.

b. Merencanakan, mengontrol dan mengkoordinasikan arus kas

perusahaan (cash flow), terutama pengeloaan piutang dan hutang

untuk memastikan ketersediaan dana untuk operasional.

c. Merencanakan dan mengkonsolidasikan perpajakan seluruh

perusahaan untuk memastikan efisiensi biaya dan keptuhan terhadap

peraturan perpajakan.

3. General Manager

a. Mengelola perusahaan sesuai dengan visi dan misi perusahaan demi

mencapai tujuan yang telah ditentukan.

Page 5: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

30

b. Merencanakan dan mengontrol kebijakan perusahaan agar dapat

berjalan maksimal.

4. Sekretaris

a. Menyiapkan agenda rapat pimpinan.

b. Menerima telepon untuk pimpinan.

c. Menerima surat dan email untuk pimpinan.

5. Administrasi & Finance

a. Membuat perencanaan keuangan mulai dari perencanaan pinjaman,

penerimaan, pengeluaran sampai pembayaran.

b. Menyusun laporan keuangan tahunan.

c. Mengurus surat-surat berharga.

d. Menangani pembayaran atas kewajiban dan membuat catatan

transaksi kas.

e. Membuat invoice dan menangani penerimaan kas dari customer.

6. Gudang

a. Membuat perencanaan pengadaan barang.

b. Melakukan penerimaan barang datang dari supplier.

c. Bertanggung jawab atas keluar dan masuk barang yang tersedia.

d. Membuat laporan atas stock barang.

Page 6: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

31

7. Supervisor

a. Memimpin breafing mekanik.

b. Membuat jadwal pekerjaan harian untuk mekanik.

c. Mampu menerangkan job description dengan baik kepada mekanik.

d. Menegakkan aturan yang telah dibuat oleh perusahaan agar tercipta

kedisiplinan kerja.

e. Mengontrol dan memberikan evaluasi terhadap kinerja mekanik.

f. Memberikan info pada manajemen mengenai kinerja mekanik.

8. Asisten Supervisor

a. Mengontrol kehadiran mekanik.

b. Membantu mereview hasil kinerja mekanik.

c. Membantu menampung keluhan customer untuk disampaikan

kepada supervisor dan manager

9. Foreman Elektrik dan Diesel

a. Bertanggung jawab mengarahkan mekanik dalam mempersiapkan

pekerjaan yang akan dilaksanakan.

b. Bertanggung jawab dalam mencapai atas kualitas yang telah

dikerjakan.

Page 7: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

32

c. Bertanggung jawab membina tim kerja agar tetap menjaga

keselamatan kerja.

10. Mekanik

a. Menganalisa dan mengatasi kerusakan alat berat.

b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi

atau pengecekan pada seluruh bagian alat berat.

c. Menyiapkan tools, spare part sebelum melakukan perbaikan alat

berat.

d. Membuat laporan pekerjaan untuk dilaporkan ke customer dan

manajemen perusahaan.

3.2. Tinjauan Kasus

3.2.1. Proses Bisnis Sistem Berjalan

Pembelian spare part di CV. Karunia Mas Service diawali dengan bagian

gudang membuat permohonan pembelian spare part yang telah disetujui oleh

supervisor. Kemudian formulir tersebut diserahkan ke bagian admin untuk proses

pembuatan purchase order (PO). Purchase order (PO) tersebut diserahkan ke

direktur untuk disetujui. Lalu purchase order (PO) tersebut dikirim kepada

supplier melalui email agar bisa segera disiapkan spare part yang sudah dipesan.

Setelah spare part sudah lengkap dan sesuai dengan purchase order (PO), maka

supplier mengirimkan spare part ke CV. Karunia Mas Service. Setelah spare part

sampai, bagian gudang menerima spare part dan menandatangani surat jalan dari

supplier. Surat jalan berfungsi untuk dokumen tambahan penagihan. Kemudian

Page 8: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

33

supplier mengirimkan invoice, faktur pajak, dan lampiran lain-lainnya sebagai

bukti penagihan atas barang yang dipesan.

Bagian admin akan menyimpan invoice yang akan dibayarkan 30 (tiga)

puluh hari setelah tanggal terima invoice atau tanggal jatuh tempo. Proses

pembayaran di CV. Karunia Mas Service ada dua cara yaitu menggunakan giro

dan transfer. Apabila pembayaran menggunakan giro, maka admin akan

menyiapkan dokumen dan giro yang harus disetujui oleh direktur. Setelah

disetujui maka admin akan memberikan info ke supplier bahwa giro sudah bisa

diambil dan kliring ke bank tujuan. Sedangkan pembayaran dengan transfer akan

dilakukan oleh admin, lalu bukti transfer diserahkan atau diemail ke supplier

sebagai bukti pembayaran. Lalu melaakukan pencatatan hutang dan arsip

dokumen.

Page 9: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

34

3.2.2. Activity Diagram

Gambar III. 2

Activity Diagram Proses Bisnis Sistem Berjalan

Page 10: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

35

3.2.3. Dokumen Masukkan

1. Nama Dokumen : Formulir Permintaan Barang

Fungsi : Untuk Mencatat Daftar Barang yang Akan Dibeli

Sumber : Bagian Gudang

Tujuan : Admin

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pembelian

Format : Lampiran A.1

2. Nama Dokumen : Purchase Order (PO)

Fungsi : Untuk Menunjukkan Barang yang Ingin Dibeli

di Supplier

Sumber : Admin

Tujuan : Supplier

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pembelian

Format : Lampiran A.2

Page 11: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

36

3. Nama Dokumen : Data Barang

Fungsi : Untuk Mengetahui Data Barang

Sumber : Admin

Tujuan : Admin

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pembelian

Format : Lampiran A.3

3.2.4. Dokumen Keluaran

1. Nama Dokumen : Surat Jalan

Fungsi : Sebagai Bukti Pengiriman Barang dari Supplier

Sumber : Supplier

Tujuan : Bagian Gudang

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pengiriman Barang dari Supplier

Format : Lampiran B.1

2. Nama Dokumen : Invoice

Fungsi : Sebagai Bukti Penagihan yang Harus Dibayar

Sumber : Supplier

Page 12: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

37

Tujuan : Admin

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Penagihan Pembelian Barang

Format : Lampiran B.2

3. Nama Dokumen : Faktur Pajak

Fungsi : Sebagai Bukti Pungutan Pajak Yang Dibuat Oleh

Supplier

Sumber : Supplier

Tujuan : Admin

Media : Kertas

Jumlah : Dua Lembar

Frekuensi : Setiap Terjadinya Penagihan Pembelian Barang

Format : Lampiran B.3

4. Nama Dokumen : List Hutang

Fungsi : Sebagai Media Pencatatan Hutang

Sumber : Admin

Tujuan : Admin

Media : Kertas

Page 13: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

38

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pembelian Spare Part

Format : Lampiran B.4

5. Nama Dokumen : Giro

Fungsi : Sebagai Media Pembayaran Hutang Kepada

Supplier

Sumber : Admin

Tujuan : Supplier

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pembayaran

Format : Lampiran B.5

6. Nama Dokumen : Slip Pengiriman Uang

Fungsi : Sebagai Media Pembayaran Hutang Kepada

Supplier

Sumber : Admin

Tujuan : Supplier

Media : Kertas

Jumlah : Tiga Lembar

Page 14: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

39

Frekuensi : Setiap Terjadinya Pembayaran

Format : Lampiran B.6

7. Nama Dokumen : Voucher Pengeluaran Kas

Fungsi : Sebagai Lapiran Dalam Pembayaran Hutang

Sumber : Admin

Tujuan : Admin

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pembayaran

Format : Lampiran B.7

8. Nama Dokumen : Laporan Pembayaran

Fungsi : Untuk Mengetahui Rincian Pembayaran

Sumber : Admin

Tujuan : Direktur

Media : Kertas

Jumlah : Satu Lembar

Frekuensi : Setiap Terjadinya Pembayaran

Format : Lampiran B.8

Page 15: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

40

3.2.5. Permasalahan Pokok

Berdasarkan penelitian yang dilakukan, permasalahan yang timbul dalam

sistem pembelian spare part pada CV. Karunia Mas Service Bekasi adalah

sebagai berikut:

1. Proses pencarian dan pengolahan data pembelian berjalan lambat dan

masih manual sehingga menyebabkan sering hilangnya dokumen dan

menyebabkan kinerja menjadi kurang efektif dan efisien.

2. Hasil laporan data pembelian belum berjalan dengan cepat dan akurat.

3.2.6. Pemecahan Masalah

Setelah mengamati dan meneliti permasalahan yang terjadi di CV. Karunia

Mas Service Bekasi, maka salah satu solusi untuk memecahkan masalah dalam

proses pembelian yang terjadi di CV. Karunia Mas Service yaitu membuat

program terkomputerisasi sehingga membuat kinerja menjadi efektif dan efisien

serta mengurangi terjadinya kesalahan dan kehilangan dokumen.

3.3. Analisa Kebutuhan Software

3.3.1. Analisis Kebutuhan

Setelah menjalani analisa dan penelitian yang sedang berjalan di CV.

Karunia Mas Sevice Bekasi, maka selanjutnya akan dibahas mengenai rancangan

sistem usulan yang diinginkan. Berdasarkan usulan yang diinginkan sesuai dengan

kebutuhan, maka langkah-langkah berikutnya yaitu perancangan atau design

sistem usulan untuk memperbaiki sistem yang lama dengan memberi gambaran

atau pandangan yang jelas sesuai proses design sistem dari awal hingga akhir

penelitian. Berikut adalah analisa kebutuhan dari sistem yang akan dibuat :

Page 16: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

41

Halaman Admin

A.1 Admin Mengakses Login

A.2 Admin Mengelola Data User

A.3 Admin Mengelola Data Barang

A.4 Admin Mengelola Data Supplier

A.5 Admin Mengelola Data Perkiraan

A.6 Admin Mengelola Transaksi Pemesanan Barang

A.7 Admin Mengelola Transaksi Pembelian

A.8 Admin Mengelola Transaksi Jurnal

A.9 Admin Mengelola Transaksi Stok

A.10 Admin Mencetak Laporan Pemesanan Barang

A.11 Admin Mencetak Laporan Pembayaran

A.12 Admin Mencetak Laporan Jurnal

A.13 Admin Mencetak Laporan Stok

A.14 Admin Mengakses Logout

Halaman Direktur

B.1 Bagian Direktur Mengakses Login

B.2 Bagian Direktur Mencetak Laporan Pemesanan Barang

B.3 Bagian Direktur Mencetak Laporan Pembayaran

Page 17: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

42

B.4 Bagian Direktur Mencetak Laporan Jurnal

B.5 Bagian Direktur Mencetak Laporan Stok

B.6 Bagian Direktur Mengakses Logout

3.3.2. Use Case Diagram

Use case diagram adalah suatu model yang dangat fungsional dalam

sebuah sistem yang menggunakan actor dan use case. Sedangkan pengertian dari

use case sendiri adalah layanan atau fungsi-fungsi yang tersedia pada sistem

untuk penggunannya. Use case diagram menggambarkan efek fungsionalitas yang

telah diharapkan oleh sistem. Use case diagram dapat sangat membantu bila kita

sedang menyusun requitment sebuah sistem, mengkomunikasikan sebuah

rancangan aplikasi dengan konsumen, serta merancang test case untuk semua

feature yang ada pada sistem. Aturannya, sebuah use case dapat di masukan lebih

dari use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara

menarik keluar fungsional yang common.

Page 18: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

43

Gambar III.3

Use Case Diagram Halaman Admin

Page 19: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

44

Tabel III.1

Deskripsi Use Case Halaman Admin

Use Case Narative Admin

Tujuan Admin dapat melihat dan mengakses seluruh

halaman yang ada di dalam program pembelian

Deskripsi

Sistem ini mengharuskan admin untuk login agar bisa

masuk ke dalam program dan melihat serta

mengakses halaman yang ada di program pembelian

antara lain halaman data user, data barang, data

supplier, data akun perkiraan, pemesanan barang,

penerimaan barang, pembayaran supplier, jurnal,

laporan pemesanan laporan pembayaran supplier,

laporan stok dan laporan jurnal

Skenario Utama

Aktor Admin

Kondisi Awal Aktor Melakukan Login

Aksi Aktor Reaksi Sistem

1. Aktor Memilih Data

User

Sistem ini akan menampilkan form pengisian data

user

2. Aktor Memilih Data

Barang

Sistem ini akan menampilkan form pengisian barang

dan data barang

3. Aktor Memilih Data

Supplier

Sistem ini akan menampilkan form pengisian

supplier dan data supplier

4. Aktor Memilih Data Akun

Perkiraan

Sistem ini akan menampilkan form pengisian akun

perkiraan dan data akun perkiraan

5. Aktor Memilih Transaksi

Pemesanan Barang

Sistem ini akan menampilkan form pengisian

pemesanan barang yang akan dilakukan oleh admin

6. Aktor Memilih Transaksi

Penerimaan Barang

Sistem ini akan menampilkan form untuk memcatat

penerimaan barang

7. Aktor Memilih Transaksi

Pembayaran

Sistem ini akan menampilkan form pengisian

pembayaran hutang kepada supplier

8. Aktor Memilih Transaksi

Jurnal

Sistem ini akan menampilkan form pengisian jurnal

umum atas transaksi pembelian dan pembayaran

yang terjadi

9. Aktor Memilih Laporan

Pemesanan Barang

Sistem ini akan menampilkan informasi pemesanan

barang

10. Aktor Memilih Laporan

Stok Barang Sistem ini akan menampilkan informasi stok barang

11. Aktor Memilih Laporan

Pembayaran

Sistem ini akan menampilkan informasi pembayaran

hutang kepada supplier

12. Aktor Memilih Laporan

Jurnal

Sistem ini akan menampilkan informasi jurnal umum

atas transaksi pembelian dan pembayaran yang telah

terjadi

13. Logout Sistem ini akan mengeluarkan user dari program

Page 20: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

45

Gambar III. 4

Use Case Diagram Halaman Direktur

Page 21: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

46

Tabel III.2

Deskripsi Use Case Halaman Direktur

Use Case Narative Direktur

Tujuan Direktur hanya dapat melihat halaman laporan yang

ada di dalam program pembelian

Deskripsi

Sistem ini mengharuskan direktur untuk login agar

bisa masuk ke dalam program dan melihat halaman

laporan yang ada di dalam program pembelian seperti

laporan pemesanan barang, laporan pembayaran

supplier, laporan stok dan laporan jurnal

Skenario Utama

Aktor Direktur

Kondisi Awal Aktor Melakukan Login

Aksi Aktor Reaksi Sistem

1. Aktor Memilih Laporan

Pemesanan Barang

Sistem ini akan menampilkan informasi pemesanan

barang

2. Aktor Memilih Laporan

Stok Barang Sistem ini akan menampilkan informasi stok barang

3. Aktor Memilih Laporan

Pembayaran

Sistem ini akan menampilkan informasi pembayaran

hutang kepada supplier

4. Aktor Memilih Laporan

Jurnal

Sistem ini akan menampilkan informasi jurnal umum

atas transaksi pembelian dan pembayaran yang telah

terjadi

5. Logout Sistem ini akan mengeluarkan user dari program

Page 22: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

47

3.3.3. Activity Diagram

Gambar III. 5

Activity Diagram Data Barang

Page 23: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

48

Gambar III. 6

Activity Diagram Data Perkiraan

Page 24: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

49

Gambar III. 7

Activity Diagram Data Supplier

Page 25: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

50

Gambar III. 8

Activity Diagram Data User

Page 26: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

51

Gambar III. 9

Activity Diagram Transaksi Pemesanan Barang

Page 27: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

52

Gambar III. 10

Activity Diagram Transaksi Penerimaan Barang

Page 28: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

53

Gambar III. 11

Activity Diagram Pembayaran Supplier

Page 29: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

54

Gambar III. 12

Activity Diagram Transaksi Jurnal

Page 30: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

55

Gambar III. 13

Activity Diagram Laporan Pemesanan Barang

Page 31: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

56

Gambar III. 14

Activity Diagram Laporan Stok

Page 32: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

57

Gambar III. 15

Activity Diagram Laporan Pembayaran Supplier

Page 33: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

58

Gambar III. 16

Activity Diagram Laporan Jurnal

Page 34: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

59

3.4. Desain

3.4.1. Entity Relationship Diagram (ERD)

Gambar III. 17

Entity Relationship Diagram (ERD)

Page 35: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

60

3.4.2. Logical Record Structure (LRS)

Gambar III. 18

Logical Record Structure (LRS)

3.4.3. Spesifikasi File

1. Spesifikasi File Data Barang

Nama Database : dbdata

Nama File : tblbarang

Tipe File : Master

Akses File : Random

Panjang Record : 135 karakter

Field Key : id_brg

Page 36: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

61

Tabel III.3

Spesifikasi File Data Barang

No Elemen Data Akronim Tipe Panjan

g Keterangan

1 Identitas barang Id_brg Varchar 5 Primary Key

2 Tanggal barang Tgl_brg Date 10

3 Kode barang Kd_brg Varchar 10

4 Nama barang Nm_brg Varchar 30

5 Satuan barang Satuan_brg Varchar 7

6 Harga beli barang Hrg_beli_brg Integer 40

7 Kode supplier barang Kd_supplier_brg Varchar 8

8 Stock Stock Integer 25

2. Spesifikasi File Data Perkiraan

Nama Database : dbdata

Nama File : tblperkiraan

Tipe File : Master

Akses File : Random

Panjang Record : 55 karakter

Field Key : id_kir

Tabel III.4

Spesifikasi File Data Perkiraan

No Elemen Data Akronim Tipe Panjang Keterangan

1 Identitas perkiraan Id_kir Varchar 5 Primary Key

2 Tanggal perkiraan Tgl_kir Date 10

3 Kode perkiraan Kd_kir Varchar 10

4 Nama perkiraan Nm_kir Varchar 30

Page 37: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

62

3. Spesifikasi File Data Supplier

Nama Database : dbdata

Nama File : tblsupplier

Tipe File : Master

Akses File : Random

Panjang Record : 195 karakter

Field Key : id_sup

Tabel III.5

Spesifikasi File Data Supplier

No Elemen Data Akronim Tipe Panjang Keterangan

1 Identitas supplier Id_sup Varchar 5 Primary Key

2 Tanggal supplier Tgl_sup Date 10

3 Kode supplier Kd_sup Varchar 10

4 Nama Supplier Nm_sup Varchar 30

5 Alamat supplier Alamat_sup Varchar 75

6 Nomor telepon

supplier No_tlp_sup Varchar 15

7 Email supplier Email_sup Varchar 50

4. Spesifikasi File Data User

Nama Database : dbdata

Nama File : tbluser

Tipe File : Master

Akses File : Random

Page 38: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

63

Panjang Record : 45 karakter

Field Key : user

Tabel III.6

Spesifikasi File Data User

No Elemen Data Akronim Tipe Panjang Keterangan

1 User User Number 10 Primary Key

2 Password Password Number 10

3 Nama user Nm_user Varchar 10

4 Hak akses Hak_akses Varchar 15

5. Spesifikasi File Transaksi Pemesanan Barang

Nama Database : dbdata

Nama File : tblbeli

Tipe File : Transaksi

Akses File : Random

Panjang Record : 335 karakter

Field Key : id_beli

Page 39: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

64

Tabel III.7

Spesifikasi File Transaksi Pemesanan Barang

No Elemen Data Akronim Tipe Panjang Keterangan

1 Identitas beli Id_beli Varchar 5 Primary Key

2 Tanggal beli Tgl_beli Date 10

3 Nomor PO No_po Varchar 20

4 Kode supplier Kd_sup Varchar 10

5 Alamat Alamat Varchar 75

6 Kode barang Kd_brg Varchar 15

7 Nama barang Nm_brg Varchar 30

8 Harga beli barang Hrg_beli_brg Integer 40

9 Jumlah beli Jml_beli Integer 20

10 Total Total Currency 80

11 Nama supplier Nm_sup Varchar 30

6. Spesifikasi File Pembayaran Supplier

Nama Database : dbdata

Nama File : tblpembayaran

Tipe File : Transaksi

Akses File : Random

Panjang Record : 295 karakter

Field Key : id_pembayaran

Page 40: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

65

Tabel III.8

Spesifikasi File Pembayaran Supplier

No Elemen Data Akronim Tipe Panjang Keterangan

1 Identitas pembayaran Id_pembayaran Varchar 5 Primary Key

2 Nomor pembayaran No_pembayaran Number 30

3 Nomor PO No_po Varchar 20

4 Nama supplier Nm_supplier Varchar 10

5 Tanggal bayar Tgl_byr Date 20

6 Jenis pembayaran Jenis_pembayaran Varchar 10

7 Jumlah bayar Jml_bayar Interger 80

8 Nomor rekening No_rek Number 20

9 Nama nasabah Nm_nasabah Varchar 75

10 Catatan Catatan Varchar 25

7. Spesifikasi File Menu Jurnal

Nama Database : dbdata

Nama File : tbljurnal

Tipe File : Transaksi

Akses File : Random

Panjang Record : 315 karakter

Field Key : id_jurnal

Page 41: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

66

Tabel III.9

Spesifikasi File Jurnal

No Elemen Data Akronim Tipe Panjang Keterangan

1 Identitas jurnal Id_jurnal Varchar 5 Primary Key

2 Tanggal transaksi Tgl_transaksi Date 15

3 Nomor jurnal No_jurnal Varchar 20

4 Nomor pembayaran No_pembayaran Number 25

5 Debet Debet Number 100

6 Kredit Kredit Number 100

7 Nama pembayaran Nm_pmbayaran Varchar 50

Page 42: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

67

3.4.4. Sequence Diagram

Gambar III. 19

Sequence Diagram Pemesanan Barang

Page 43: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

68

Gambar III. 20

Sequence Diagram Pembayaran Supplier

Page 44: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

69

Gambar III. 21

Sequence Diagram Menu Jurnal

Page 45: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

70

3.4.5. Deployment Diagram

Gambar III. 22

Deployment Diagram

Page 46: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

71

3.4.6. User Interface

Pembuatan tampilan sangat diperlukan agar user dapat berinteraksi dengan

sistem, sehingga dibutuhkan perancangan secara detail mengenai tampilan

aplikasi berdasarkan informasi yang ditampilkan. Dalam sub bab ini akan

dijelaskan mengenai tampilan program (user interface) dari form-form yang ada

serta penjelasan singkat mengenai user interface. Adapun berikut user interface di

program pembelian CV. Karunia Mas Service:

1. Menu Login

Saat akan melakukan login, user harus memasukkan ID dan password terlebih

dahulu. Untuk admin isi ID : 1111 dan password : 030493. Sedangkan untuk

direktur isi ID : 1112 dan password : 5555. Kemudian klik masuk.

Gambar III. 23

Menu Login

2. Menu Utama

Setelah masuk akan tampil menu utama seperti dibawah ini. Menu utama

berisikan master data, transaksi dan laporan.

Page 47: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

72

Gambar III. 24

Menu Utama

3. Menu Data Barang

Pada menu master data ada menu data barang. Data barang diisi sesuai barang

atau spare part yang dibeli oleh perusahaan. Berikut tampilan data barang.

Gambar III. 25

Menu Data Barang

4. Menu Data Perkiraan

Didalam menu master data ada juga data perkiraan. Data perkiraan ini diisi

dengan kode akun.

Page 48: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

73

Gambar III. 26

Menu Data Perikiraan

5. Menu Data Supplier

Pada menu master data juga ada data supplier. Data supplier diisi oleh user

sesuai dengan Data supplier saat memesan barang atau spare part.

Gambar III. 27

Menu Data Supplier

6. Menu Data User

Pada menu master data juga ada data user. Data user diisi oleh admin sesuai

dengan data user yang akan menggunakan.

Page 49: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

74

Gambar III. 28

Menu Data User

7. Menu Transaksi Pemesanan Barang

Selanjutnya ada menu transaksi. Didalam menu transaksi ada menu Pemesanan

barang. Pada menu transaksi pemesanan barang terdapat 2 form yang harus

diisi oleh user. Pada form pertama user mengisi tanggal, nomor PO, kode

supplier dan alamat pengiriman. Sedangkan pada form kedua user mengisi

kode barang, nama barang, harga dan quantity. Setelah itu muncul otomatis

subtotal, ppn dan total bayar barang yang dipesan oleh perusahaan.

Gambar III. 29

Menu Transaksi Pemesanan Barang 1

Page 50: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

75

Gambar III. 30

Menu Transaksi Pemesanan Barang 2

8. Menu Transaksi Penerimaan Barang

Setelah user memesan barang, dan supplier mengirimkan barang maka user

akan mengisikan data penerimaan barang sesuai barang yang dipesan.

Gambar III. 31

Menu Transaksi Penerimaan Barang

Page 51: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

76

9. Menu Transaksi Pembayaran Supplier

Saat user akan melakukan transaksi pembayaran, maka user harus mengisi

form seperti gambar dibawah ini.

Gambar III. 32

Menu Transaksi Pembayaran Supplier

10. Menu Jurnal

User mengisi menu jurnal sesuai dengan tanggal transaksi. Pada menu jurnal

terdapat 2 form yang harus diisi oleh user. Pada form pertama berisi tanggal

transaksi dan nomer jurnal umum. Selanjutnya pada form kedua berisi kode

akun, nama akun, debet dan kredit yang harus diisi oleh user.

Gambar III. 33

Menu Jurnal 1

Page 52: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

77

Gambar III. 34

Menu Jurnal 2

11. Menu Laporan Pemesanan Barang

Menu laporan pembayaran ini berfungsi untuk melihat dan mencetak spare

part apa saja yang sudah dipesan ke supplier. Untuk melihat laporan

pembayaran dapat disesuaikan dengan tanggal yang diinginkan.

Gambar III. 35

Menu Laporan Pemesanan Barang

Page 53: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

78

Gambar III. 36

Laporan Pemesanan Barang

12. Menu Laporan Persediaan

Pada menu laporan stock user bisa melihat stock yang tersedia digudang. Dan

apabila ingin mencetak convert to excel terlebih dahulu.

Gambar III. 37

Menu Laporan Persediaan

Page 54: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

79

13. Menu Laporan Pembayaran

Menu laporan pembayaran ini berfungsi untuk melihat dan mencetak

pembayaran hutang kepada supplier. Untuk melihat laporan pembayaran dapat

disesuaikan dengan tanggal yang diinginkan.

Gambar III. 38

Menu Laporan Pembayaran

14. Menu Laporan Jurnal

Menu laporan jurnal ini berfungsi untuk melihat dan mencetak jurnal yang

berisikan akun-akun yang kita catat. Untuk melihat laporan jurnal dapat

disesuaikan dengan tanggal yang diinginkan.

Page 55: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

80

Gambar III. 39

Menu Laporan Jurnal

Gambar III. 40

Laporan Jurnal

Page 56: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

81

3.5 Implementasi

3.5.1. Code Generation

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Aplikasi_Toko

{

public partial class pembelian : Form

{

public pembelian()

{

InitializeComponent();

}

int TotalCheckBoxes = 0;

int TotalCheckedCheckBoxes = 0;

CheckBox HeaderCheckBox = null;

bool IsHeaderCheckBoxClicked = false;

public DateTime a;

public DateTime b;

connect con = new connect();

AutoCompleteStringCollection srcname = new

AutoCompleteStringCollection();

public bool validtxtbox = true;

public bool cek = true;

private void pembelian_Load(object sender, EventArgs e)

{

AddHeaderCheckBox();

comboBox1.SelectedIndex = 0;

textBox1.Text = DateTime.Now.ToString("dd/MM/yyyy");

HeaderCheckBox.KeyUp += new

KeyEventHandler(HeaderCheckBox_KeyUp);

HeaderCheckBox.MouseClick += new

MouseEventHandler(HeaderCheckBox_MouseClick);

dataGridView1.CellValueChanged += new

DataGridViewCellEventHandler(dgvSelectAll_CellValueChanged);

dataGridView1.CurrentCellDirtyStateChanged += new

EventHandler(dgvSelectAll_CurrentCellDirtyStateChanged);

Page 57: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

82

dataGridView1.CellPainting += new

DataGridViewCellPaintingEventHandler(dgvSelectAll_CellPainting);

loaddata();

autocompleteteks();

foreach (DataGridViewColumn dc in dataGridView1.Columns)

{

if (dc.Index.Equals(0))

{

dc.ReadOnly = false;

}

else

{

dc.ReadOnly = true;

}

}

}

public void loaddata()

{

string ld_data = "select to_char(tgl_beli, 'DD/MM/YYYY') as \"Tanggal\",

no_po as \"No_PO\", kd_sup as \"KD_Supplier\"," +

" nm_sup as \"Nama Supplier\", alamat as \"Alamat\", sum(total)

as \"Total Pembelian(Rp)\", sum(ppn) as \"PPN\", sum(total_bayar) as \"Total

Pembayaran\" from tblbeli GROUP BY tgl_beli, no_po, kd_sup, nm_sup,

alamat;";

DataTable dtbeli = con.openTable(ld_data);

dataGridView1.DataSource = dtbeli;

}

private const int CP_NOCLOSE_BUTTON = 0x200;

protected override CreateParams CreateParams

{

get

{

CreateParams myCp = base.CreateParams;

myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;

return myCp;

}

}

private void AddHeaderCheckBox()

{

HeaderCheckBox = new CheckBox();

HeaderCheckBox.Size = new Size(15, 15);

//Add the CheckBox into the DataGridView

this.dataGridView1.Controls.Add(HeaderCheckBox);

Page 58: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

83

}

private void HeaderCheckBox_KeyUp(object sender, KeyEventArgs e)

{

if (e.KeyCode == Keys.Space)

HeaderCheckBoxClick((CheckBox)sender);

}

private void HeaderCheckBoxClick(CheckBox HCheckBox)

{

IsHeaderCheckBoxClicked = true;

foreach (DataGridViewRow Row in dataGridView1.Rows)

((DataGridViewCheckBoxCell)Row.Cells["Pilih"]).Value =

HCheckBox.Checked;

dataGridView1.RefreshEdit();

TotalCheckedCheckBoxes = HCheckBox.Checked ? TotalCheckBoxes :

0;

IsHeaderCheckBoxClicked = false;

}

private void HeaderCheckBox_MouseClick(object sender, MouseEventArgs

e)

{

HeaderCheckBoxClick((CheckBox)sender);

}

private void dgvSelectAll_CellValueChanged(object sender,

DataGridViewCellEventArgs e)

{

if (!IsHeaderCheckBoxClicked)

RowCheckBoxClick((DataGridViewCheckBoxCell)dataGridView1[e.ColumnInd

ex, e.RowIndex]);

}

private void RowCheckBoxClick(DataGridViewCheckBoxCell RCheckBox)

{

if (RCheckBox != null)

{

//Modifiy Counter;

if ((bool)RCheckBox.Value && TotalCheckedCheckBoxes <

TotalCheckBoxes)

TotalCheckedCheckBoxes++;

else if (TotalCheckedCheckBoxes > 0)

Page 59: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

84

TotalCheckedCheckBoxes--;

//Change state of the header CheckBox.

if (TotalCheckedCheckBoxes < TotalCheckBoxes)

HeaderCheckBox.Checked = false;

else if (TotalCheckedCheckBoxes == TotalCheckBoxes)

HeaderCheckBox.Checked = true;

}

}

private void dgvSelectAll_CurrentCellDirtyStateChanged(object sender,

EventArgs e)

{

if (dataGridView1.CurrentCell is DataGridViewCheckBoxCell)

dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);

}

private void dgvSelectAll_CellPainting(object sender,

DataGridViewCellPaintingEventArgs e)

{

if (e.RowIndex == -1 && e.ColumnIndex == 0)

ResetHeaderCheckBoxLocation(e.ColumnIndex, e.RowIndex);

}

private void ResetHeaderCheckBoxLocation(int ColumnIndex, int

RowIndex)

{

//Get the column header cell bounds

Rectangle oRectangle =

this.dataGridView1.GetCellDisplayRectangle(ColumnIndex, RowIndex, true);

Point oPoint = new Point();

oPoint.X = oRectangle.Location.X + (oRectangle.Width -

HeaderCheckBox.Width) / 2 + 1;

oPoint.Y = oRectangle.Location.Y + (oRectangle.Height -

HeaderCheckBox.Height) / 2 + 1;

//Change the location of the CheckBox to make it stay on the header

HeaderCheckBox.Location = oPoint;

}

private void comboBox1_KeyPress(object sender, KeyPressEventArgs e)

{

e.Handled = true;

}

public void aktif()

{

Page 60: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

85

dateTimePicker1.Enabled = true;

textBox3.Enabled = true;

textBox4.Enabled = true;

textBox5.Enabled = true;

}

public void tdk_aktif()

{

dateTimePicker1.Enabled = false;

textBox3.Enabled = false;

textBox4.Enabled = false;

textBox5.Enabled = false;

}

public void hapus()

{

textBox2.Clear();

textBox3.Clear();

textBox4.Clear();

textBox5.Clear();

}

private void button1_Click(object sender, EventArgs e)

{

cek = true;

hapus();

aktif();

textBox2.Focus();

button1.Enabled = false;

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = true;

button5.Enabled = true;

}

private void dateTimePicker1_CloseUp(object sender, EventArgs e)

{

a = this.dateTimePicker1.Value;

textBox1.Text = a.ToString("dd/MM/yyyy");

textBox2.Focus();

}

void validateModuleDetails()

{

//untuk mengecek semua textbox apakah sudah terisi

validtxtbox = true;

foreach (Control control in this.Controls)

{

Page 61: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

86

if (control is TextBox)

{

TextBox textbox = control as TextBox;

if (textbox.Name != "textBox7")

{

validtxtbox &= !string.IsNullOrWhiteSpace(textbox.Text);

}

}

}

}

public void autocompleteteks()

{

string grab_kd_supply = "select kd_sup from tblsupplier";

DataTable kd_sup = con.openTable(grab_kd_supply);

//Untuk Merubah dari Datatable colom ke List

List<string> list = kd_sup.AsEnumerable()

.Select(r => r.Field<string>("kd_sup"))

.ToList();

//Untuk Membuat Auto Complete Di TeksBox

foreach (string item in list)

{

srcname.Add(item);

}

textBox4.AutoCompleteCustomSource = srcname;

textBox4.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

textBox4.AutoCompleteSource = AutoCompleteSource.CustomSource;

}

private void button2_Click(object sender, EventArgs e)

{

if (textBox2.Text != string.Empty)

{

aktif();

textBox2.Enabled = false;

button1.Enabled = false;

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = true;

button5.Enabled = true;

cek = false;

dataGridView1.Enabled = false;

}

else

{

Page 62: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

87

MessageBox.Show("Pilih Salah Satu Data Terlebih Dahulu");

}

}

private void button3_Click(object sender, EventArgs e)

{

int totalceklist = 0; ;

for (int i = 0; i < dataGridView1.Rows.Count; i++)

{

if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value) == true)

{

totalceklist = +1;

}

}

if (totalceklist != 0)

{

if (MessageBox.Show("Apakah Kamu Yakin Ingin Menghapus Data Ini

?", "Hapus", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==

DialogResult.Yes)

{

string no_beli;

for (int i = 0; i < dataGridView1.Rows.Count; i++)

{

no_beli = dataGridView1.Rows[i].Cells[2].Value.ToString();

if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value) ==

true)

{

string delete = string.Format("delete from tblbeli where no_po =

'{0}';", no_beli);

con.executeQuery(delete);

}

}

MessageBox.Show("Data Berhasil Di Hapus", "Sukses",

MessageBoxButtons.OK, MessageBoxIcon.Information);

loaddata();

hapus();

}

}

else

{

MessageBox.Show("Ceklist Salah Satu Data Untuk Menghapusnya",

"Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

private void button4_Click(object sender, EventArgs e)

{

if (cek == true)

Page 63: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

88

{

try

{

validateModuleDetails();

if (validtxtbox == true)

{

sendvalue.tgl_beli = textBox1.Text;

sendvalue.nm_sup = textBox2.Text;

sendvalue.no_po = textBox3.Text;

sendvalue.kd_sup = textBox4.Text;

sendvalue.alamat = textBox5.Text;

chl_pembelian beli = new chl_pembelian(this);

beli.ShowDialog();

loaddata();

}

else

{

MessageBox.Show("Lengkapi Semua Field Yang Kosong",

"Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

catch (Exception)

{

MessageBox.Show("Error Saat Input Ke Database", "Error",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

else

{

try

{

validateModuleDetails();

if (validtxtbox == true)

{

string updt_db = string.Format("update tblbeli set tgl_beli =

to_date('{0}', 'DD-MM-YYYY'), no_po = '{1}', kd_sup = '{2}', nm_sup = '{3}',

alamat = '{4}' where no_po = '{1}'",

textBox1.Text, textBox3.Text, textBox4.Text,

textBox2.Text, textBox5.Text);

con.executeQuery(updt_db);

loaddata();

MessageBox.Show("Data Berhasil Di Perbaharui", "Berhasil",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tdk_aktif();

hapus();

Page 64: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

89

button1.Enabled = true;

button2.Enabled = true;

button3.Enabled = true;

button4.Enabled = false;

button5.Enabled = false;

dataGridView1.Enabled = true;

}

else

{

MessageBox.Show("Lengkapi Semua Field Yang Kosong",

"Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

catch (Exception)

{

MessageBox.Show("Error Saat Input Ke Database", "Error",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void button5_Click(object sender, EventArgs e)

{

tdk_aktif();

hapus();

button1.Enabled = true;

button2.Enabled = true;

button3.Enabled = true;

button4.Enabled = false;

button5.Enabled = false;

dataGridView1.Enabled = true;

}

private void dataGridView1_CellClick(object sender,

DataGridViewCellEventArgs e)

{

textBox1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();

textBox3.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();

textBox4.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();

textBox2.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();

textBox5.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();

}

public static class sendvalue

{

Page 65: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

90

public static string tgl_beli { get; set; }

public static string nm_sup { get; set; }

public static string no_po { get; set; }

public static string kd_sup { get; set; }

public static string alamat { get; set; }

public static string tgl_tempo { get; set; }

}

private void dataGridView1_CellDoubleClick(object sender,

DataGridViewCellEventArgs e)

{

sendvalue.tgl_beli = textBox1.Text;

sendvalue.nm_sup = textBox2.Text;

sendvalue.no_po = textBox3.Text;

sendvalue.kd_sup = textBox4.Text;

sendvalue.alamat = textBox5.Text;

chl_pembelian beli = new chl_pembelian(this);

beli.ShowDialog();

}

private void textBox7_TextChanged(object sender, EventArgs e)

{

if (textBox7.Text != string.Empty)

{

try

{

string pilihan = comboBox1.Text;

if (pilihan == "No PO")

{

string kd_sup_cri = string.Format("select to_char(tgl_beli,

'DD/MM/YYYY') as \"Tanggal\", no_po as \"No_PO\", kd_sup as

\"KD_Supplier\"," +

" nm_sup as \"Nama Supplier\", alamat as \"Alamat\", sum(total)

as \"Total Pembelian(Rp)\", sum(ppn) as \"PPN\", sum(total_bayar) as \"Total

Pembayaran\" from tblbeli where no_po ilike '{0}%' GROUP BY tgl_beli, no_po,

kd_sup, nm_sup, alamat;", textBox7.Text);

DataTable kd_sup_c = con.openTable(kd_sup_cri);

dataGridView1.DataSource = kd_sup_c;

}

else

{

string nm_sup_cri = string.Format("select to_char(tgl_beli,

'DD/MM/YYYY') as \"Tanggal\", no_po as \"No_PO\", kd_sup as

\"KD_Supplier\"," +

" nm_sup as \"Nama Supplier\", alamat as \"Alamat\", sum(total)

as \"Total Pembelian(Rp)\", sum(ppn) as \"PPN\", sum(total_bayar) as \"Total

Page 66: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

91

Pembayaran\" from tblbeli where kd_sup ilike '{0}%' GROUP BY tgl_beli,

no_po, kd_sup, nm_sup, alamat;", textBox7.Text);

DataTable nm_sup_c = con.openTable(nm_sup_cri);

dataGridView1.DataSource = nm_sup_c;

}

}

catch (Exception es)

{

MessageBox.Show("Error\n" + es.Message);

}

}

else

{

loaddata();

}

}

private void button6_Click(object sender, EventArgs e)

{

menuutama menu = new menuutama();

menu.Show();

Close();

}

private void textBox3_Leave(object sender, EventArgs e)

{

if (textBox3.Text != string.Empty)

{

string query = "select no_po from tblbeli where no_po = '" +

textBox3.Text.ToString() + "'";

DataTable ck_kd = con.openTable(query);

if (ck_kd.Rows.Count != 0)

{

MessageBox.Show("NO PO Sudah Ada");

textBox3.Clear();

textBox3.Focus();

}

}

}

private void textBox4_Leave(object sender, EventArgs e)

{

if (textBox4.Text != string.Empty)

{

string query = "select nm_sup from tblsupplier where kd_sup = '" +

textBox4.Text.ToString() + "'";

DataTable ck_kd = con.openTable(query);

if (ck_kd.Rows.Count != 0)

Page 67: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

92

{

textBox2.Text = ck_kd.Rows[0][0].ToString();

}

}

}

}

}

Form Pembayaran Supplier

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Aplikasi_Toko

{

public partial class pembayaran : Form

{

int TotalCheckBoxes = 0;

int TotalCheckedCheckBoxes = 0;

CheckBox HeaderCheckBox = null;

bool IsHeaderCheckBoxClicked = false;

public DateTime a;

connect con = new connect();

AutoCompleteStringCollection srcname = new

AutoCompleteStringCollection();

public bool validtxtbox = true;

public bool cek = true;

public pembayaran()

{

InitializeComponent();

}

private void comboBox1_KeyPress(object sender, KeyPressEventArgs e)

{

e.Handled = true;

}

private void pembayaran_Load(object sender, EventArgs e)

{

AddHeaderCheckBox();

Page 68: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

93

textBox4.Text = DateTime.Now.ToString("dd/MM/yyyy");

comboBox1.SelectedIndex = 0;

HeaderCheckBox.KeyUp += new

KeyEventHandler(HeaderCheckBox_KeyUp);

HeaderCheckBox.MouseClick += new

MouseEventHandler(HeaderCheckBox_MouseClick);

dataGridView1.CellValueChanged += new

DataGridViewCellEventHandler(dgvSelectAll_CellValueChanged);

dataGridView1.CurrentCellDirtyStateChanged += new

EventHandler(dgvSelectAll_CurrentCellDirtyStateChanged);

dataGridView1.CellPainting += new

DataGridViewCellPaintingEventHandler(dgvSelectAll_CellPainting);

loaddata();

autocompleteteks();

foreach (DataGridViewColumn dc in dataGridView1.Columns)

{

if (dc.Index.Equals(0))

{

dc.ReadOnly = false;

}

else

{

dc.ReadOnly = true;

}

}

}

public void loaddata()

{

string load = "select no_pembayaran as \"No Invoice\", no_po as \"No

PO\", nm_supplier as \"Nama Supplier\", to_char(tgl_bayar, 'DD-MM-YYYY') as

\"Tanggal Bayar\", jenis_pembayaran as \"Jenis Pembyaran\", "+

"jml_bayar as \"Jumlah Bayar\", no_rek as \"No Rek\",

nm_nasabah as \"Rekening Atas Nama\", catatan as \"Catatan\" from

tblpembayaran";

DataTable loaddata = con.openTable(load);

dataGridView1.DataSource = loaddata;

}

private void comboBox2_KeyPress(object sender, KeyPressEventArgs e)

{

e.Handled = true;

}

void validateModuleDetails()

{

//untuk mengecek semua textbox apakah sudah terisi

Page 69: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

94

validtxtbox = true;

foreach (Control control in this.Controls)

{

if (control is TextBox)

{

TextBox textbox = control as TextBox;

if (textbox.Name != "textBox10")

{

validtxtbox &= !string.IsNullOrWhiteSpace(textbox.Text);

}

}

}

foreach (Control control in this.Controls)

{

if (control is ComboBox)

{

ComboBox cmb = control as ComboBox;

if (cmb.Name != "comboBox2")

{

validtxtbox &= !string.IsNullOrWhiteSpace(cmb.Text);

}

}

}

}

private const int CP_NOCLOSE_BUTTON = 0x200;

protected override CreateParams CreateParams

{

get

{

CreateParams myCp = base.CreateParams;

myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;

return myCp;

}

}

private void AddHeaderCheckBox()

{

HeaderCheckBox = new CheckBox();

HeaderCheckBox.Size = new Size(15, 15);

//Add the CheckBox into the DataGridView

this.dataGridView1.Controls.Add(HeaderCheckBox);

}

Page 70: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

95

private void HeaderCheckBox_KeyUp(object sender, KeyEventArgs e)

{

if (e.KeyCode == Keys.Space)

HeaderCheckBoxClick((CheckBox)sender);

}

private void HeaderCheckBoxClick(CheckBox HCheckBox)

{

IsHeaderCheckBoxClicked = true;

foreach (DataGridViewRow Row in dataGridView1.Rows)

((DataGridViewCheckBoxCell)Row.Cells["Pilih"]).Value =

HCheckBox.Checked;

dataGridView1.RefreshEdit();

TotalCheckedCheckBoxes = HCheckBox.Checked ? TotalCheckBoxes :

0;

IsHeaderCheckBoxClicked = false;

}

private void HeaderCheckBox_MouseClick(object sender, MouseEventArgs

e)

{

HeaderCheckBoxClick((CheckBox)sender);

}

private void dgvSelectAll_CellValueChanged(object sender,

DataGridViewCellEventArgs e)

{

if (!IsHeaderCheckBoxClicked)

RowCheckBoxClick((DataGridViewCheckBoxCell)dataGridView1[e.ColumnInd

ex, e.RowIndex]);

}

private void RowCheckBoxClick(DataGridViewCheckBoxCell RCheckBox)

{

if (RCheckBox != null)

{

//Modifiy Counter;

if ((bool)RCheckBox.Value && TotalCheckedCheckBoxes <

TotalCheckBoxes)

TotalCheckedCheckBoxes++;

else if (TotalCheckedCheckBoxes > 0)

TotalCheckedCheckBoxes--;

Page 71: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

96

//Change state of the header CheckBox.

if (TotalCheckedCheckBoxes < TotalCheckBoxes)

HeaderCheckBox.Checked = false;

else if (TotalCheckedCheckBoxes == TotalCheckBoxes)

HeaderCheckBox.Checked = true;

}

}

private void dgvSelectAll_CurrentCellDirtyStateChanged(object sender,

EventArgs e)

{

if (dataGridView1.CurrentCell is DataGridViewCheckBoxCell)

dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);

}

private void dgvSelectAll_CellPainting(object sender,

DataGridViewCellPaintingEventArgs e)

{

if (e.RowIndex == -1 && e.ColumnIndex == 0)

ResetHeaderCheckBoxLocation(e.ColumnIndex, e.RowIndex);

}

private void ResetHeaderCheckBoxLocation(int ColumnIndex, int

RowIndex)

{

//Get the column header cell bounds

Rectangle oRectangle =

this.dataGridView1.GetCellDisplayRectangle(ColumnIndex, RowIndex, true);

Point oPoint = new Point();

oPoint.X = oRectangle.Location.X + (oRectangle.Width -

HeaderCheckBox.Width) / 2 + 1;

oPoint.Y = oRectangle.Location.Y + (oRectangle.Height -

HeaderCheckBox.Height) / 2 + 1;

//Change the location of the CheckBox to make it stay on the header

HeaderCheckBox.Location = oPoint;

}

private void textBox6_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))

{

e.Handled = true;

}

}

Page 72: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

97

private void textBox7_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))

{

e.Handled = true;

}

}

public void aktif()

{

dateTimePicker1.Enabled = true;

textBox1.Enabled = true;

textBox2.Enabled = true;

textBox5.Enabled = true;

textBox7.Enabled = true;

textBox9.Enabled = true;

comboBox2.Enabled = true;

}

public void tdk_aktif()

{

dateTimePicker1.Enabled = false;

textBox1.Enabled = false;

textBox2.Enabled = false;

textBox5.Enabled = false;

textBox7.Enabled = false;

textBox9.Enabled = false;

comboBox2.Enabled = false;

}

public void hapus()

{

textBox1.Clear();

textBox2.Clear();

textBox3.Clear();

textBox4.Clear();

textBox5.Clear();

textBox7.Clear();

textBox8.Clear();

textBox9.Clear();

comboBox2.Text = string.Empty;

}

private void button1_Click(object sender, EventArgs e)

{

Page 73: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

98

cek = true;

hapus();

textBox4.Text = DateTime.Now.ToString("dd/MM/yyyy");

aktif();

textBox1.Focus();

button1.Enabled = false;

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = true;

button5.Enabled = true;

}

public void autocompleteteks()

{

string grab_kd_supply = "select no_po from tblbeli";

DataTable kd_sup = con.openTable(grab_kd_supply);

//Untuk Merubah dari Datatable colom ke List

List<string> list = kd_sup.AsEnumerable()

.Select(r => r.Field<string>("no_po"))

.ToList();

//Untuk Membuat Auto Complete Di TeksBox

foreach (string item in list)

{

srcname.Add(item);

}

textBox2.AutoCompleteCustomSource = srcname;

textBox2.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

textBox2.AutoCompleteSource = AutoCompleteSource.CustomSource;

}

private void button2_Click(object sender, EventArgs e)

{

if (textBox2.Text != string.Empty)

{

aktif();

textBox2.Enabled = true;

button1.Enabled = false;

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = true;

button5.Enabled = true;

cek = false;

dataGridView1.Enabled = false;

}

else

{

Page 74: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

99

MessageBox.Show("Pilih Salah Satu Data Terlebih Dahulu");

}

}

private void button5_Click(object sender, EventArgs e)

{

tdk_aktif();

hapus();

button1.Enabled = true;

button2.Enabled = true;

button3.Enabled = true;

button4.Enabled = false;

button5.Enabled = false;

dataGridView1.Enabled = true;

}

private void button3_Click(object sender, EventArgs e)

{

int totalceklist = 0; ;

for (int i = 0; i < dataGridView1.Rows.Count; i++)

{

if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value) == true)

{

totalceklist = +1;

}

}

if (totalceklist != 0)

{

if (MessageBox.Show("Apakah Kamu Yakin Ingin Menghapus Data Ini

?", "Hapus", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==

DialogResult.Yes)

{

string no_pembayaran;

for (int i = 0; i < dataGridView1.Rows.Count; i++)

{

no_pembayaran =

dataGridView1.Rows[i].Cells[1].Value.ToString();

if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value) ==

true)

{

string delete = string.Format("delete from tblpembayaran where

no_pembayaran = '{0}';", no_pembayaran);

con.executeQuery(delete);

}

}

MessageBox.Show("Data Berhasil Di Hapus", "Sukses",

MessageBoxButtons.OK, MessageBoxIcon.Information);

loaddata();

Page 75: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

100

hapus();

}

}

else

{

MessageBox.Show("Ceklist Salah Satu Data Untuk Menghapusnya",

"Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

private void button4_Click(object sender, EventArgs e)

{

if (cek == true)

{

try

{

validateModuleDetails();

if (validtxtbox == true)

{

string inpt_db = string.Format("insert into tblpembayaran

(no_pembayaran, no_po, nm_supplier, tgl_bayar, jenis_pembayaran, jml_bayar,

no_rek, nm_nasabah, catatan) "+

"values ('{0}','{1}', '{2}',to_date('{3}', 'DD-

MM-YYYY'),'{4}',{5},'{6}','{7}','{8}');",

textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text,

comboBox2.Text, textBox8.Text, textBox7.Text, textBox9.Text, textBox5.Text);

con.executeQuery(inpt_db);

loaddata();

hapus();

textBox2.Focus();

MessageBox.Show("Data Berhasil Di Tambahkan", "Berhasil",

MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{

MessageBox.Show("Lengkapi Semua Field Yang Kosong",

"Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

catch (Exception)

{

MessageBox.Show("Error Saat Input Ke Database", "Error",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

Page 76: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

101

else

{

try

{

validateModuleDetails();

if (validtxtbox == true)

{

string updt_db = string.Format("update tblpembayaran set

no_pembayaran = '{0}', no_po = '{1}', nm_supplier = '{2}', tgl_bayar =

to_date('{3}', 'DD-MM-YYYY'), jenis_pembayaran = '{4}', jml_bayar = {5},

no_rek = '{6}', nm_nasabah = '{7}', catatan = '{8}' where no_pembayaran =

'{0}'",

textBox1.Text, textBox2.Text, textBox3.Text,

textBox4.Text, comboBox2.Text, textBox8.Text, textBox7.Text, textBox9.Text,

textBox5.Text);

con.executeQuery(updt_db);

loaddata();

MessageBox.Show("Data Berhasil Di Perbaharui", "Berhasil",

MessageBoxButtons.OK, MessageBoxIcon.Information);

tdk_aktif();

hapus();

button1.Enabled = true;

button2.Enabled = true;

button3.Enabled = true;

button4.Enabled = false;

button5.Enabled = false;

dataGridView1.Enabled = true;

}

else

{

MessageBox.Show("Lengkapi Semua Field Yang Kosong",

"Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

catch (Exception)

{

MessageBox.Show("Error Saat Input Ke Database", "Error",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

private void textBox10_TextChanged(object sender, EventArgs e)

{

if (textBox10.Text != string.Empty)

Page 77: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

102

{

try

{

string pilihan = comboBox1.Text;

if (pilihan == "No Invoice")

{

string kd_sup_cri = string.Format("select no_pembayaran as \"No

Invoice\", no_po as \"No PO\", nm_supplier as \"Nama Supplier\", tgl_bayar as

\"Tanggal Bayar\", jenis_pembayaran as \"Jenis Pembyaran\", " +

"jml_bayar as \"Jumlah Bayar\", no_rek as \"No Rek\",

nm_nasabah as \"Rekening Atas Nama\", catatan as \"Catatan\" from

tblpembayaran where no_pembayaran ILIKE '{0}%';", textBox10.Text);

DataTable kd_sup_c = con.openTable(kd_sup_cri);

dataGridView1.DataSource = kd_sup_c;

}

else

{

string nm_sup_cri = string.Format("select no_pembayaran as \"No

Invoice\", no_po as \"No PO\", nm_supplier as \"Nama Supplier\", tgl_bayar as

\"Tanggal Bayar\", jenis_pembayaran as \"Jenis Pembyaran\", "+

"jml_bayar as \"Jumlah Bayar\", no_rek as \"No Rek\",

nm_nasabah as \"Rekening Atas Nama\", catatan as \"Catatan\" from

tblpembayaran where no_po ILIKE '{0}%';", textBox10.Text);

DataTable nm_sup_c = con.openTable(nm_sup_cri);

dataGridView1.DataSource = nm_sup_c;

}

}

catch (Exception es)

{

MessageBox.Show("Error\n" + es.Message);

}

}

else

{

loaddata();

}

}

private void textBox2_Leave(object sender, EventArgs e)

{

string cek = "select * from tblpembayaran where no_po =

'"+textBox2.Text+"'";

DataTable ck = con.openTable(cek);

if (ck.Rows.Count == 0)

{

string aaa = textBox2.Text;

Page 78: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

103

string get_value = "select nm_sup, sum(total) from tblbeli where no_po

= '" + aaa + "' group by nm_sup";

DataTable value_brg = con.openTable(get_value);

if (value_brg.Rows.Count != 0)

{

textBox3.Text = value_brg.Rows[0][0].ToString();

textBox8.Text = value_brg.Rows[0][1].ToString();

}

}

else

{

MessageBox.Show("No PO sudah pernah dibayarkan");

textBox2.Focus();

textBox2.Clear();

}

}

private void dateTimePicker1_CloseUp(object sender, EventArgs e)

{

a = this.dateTimePicker1.Value;

textBox4.Text = a.ToString("dd/MM/yyyy");

}

private void dataGridView1_CellClick(object sender,

DataGridViewCellEventArgs e)

{

textBox1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();

textBox2.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();

textBox3.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();

textBox4.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();

comboBox2.Text =

dataGridView1.CurrentRow.Cells[5].Value.ToString();

textBox8.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();

textBox7.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();

textBox9.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();

textBox5.Text = dataGridView1.CurrentRow.Cells[9].Value.ToString();

}

private void textBox1_Leave(object sender, EventArgs e)

{

string cek = "select no_pembayaran from tblpembayaran where

no_pembayaran = '"+textBox1.Text+"'";

DataTable ck = con.openTable(cek);

if (ck.Rows.Count!=0)

{

MessageBox.Show("No Invoice Sudah Ada");

Page 79: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

104

textBox1.Focus();

textBox1.Clear();

}

}

private void button6_Click(object sender, EventArgs e)

{

menuutama menu = new menuutama();

menu.Show();

Close();

}

}

}

Page 80: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

105

3.5.2. Blackbox Testing

Tabel III.10

Hasil Pengujian Black Box Testing Form Login

No. Skenario

Pengujian Test Case

Hasil Yang

Diharapkan

Hasil

Pengujuan Kesimpulan

1

ID dan

Password

tidak diisi

kemudian klik

tombol masuk

ID: (kosong)

Password:

(kosong)

Sistem akan

menolak

akses dan

menampilkan

pesan

“Lengkapi

Semua Field

Yang Kosong”

Sesuai

harapan

Valid

2

ID di isi dan

Password

kosong

kemudian klik

tombol masuk

ID : 070195

Password :

(kosong)

Sistem akan

menolak

akses dan

menampilkan

pesan

“Lengkapi

Semua Field

Yang Kosong”

Sesuai

harapan

Valid

3

ID kosong

dan Password

diisi

kemudian klik

tombol masuk

ID : (kosong)

Password :

1234

Sistem akan

menolak

akses dan

menampilkan

pesan

“Lengkapi

Semua Field

Yang Kosong”

Sesuai

harapan

Valid

4

Mengetikkan

salah satu

kondisi salah

pada ID atau

Password

kemudian klik

tombol masuk

ID : 070195

(benar)

Password:

44444

(salah)

Sistem akan

menolak

akses dan

menampilkan

pesan “User

atau

Password

Salah

Silahkan

Coba

Kembali”

Sesuai

harapan

Valid

5

Mengetikkan

ID dan

Password

dengan data

yang benar

kemudian klik

tombol masuk

ID : 070195

(benar)

Password:

1234

(benar)

Sistem akan

menerima

akses masuk

dan akan

menampilkan

halaman

utama

Sesuai

harapan

Valid

Page 81: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

106

3.5.3. Spesifikasi Hardware dan Software

Sistem yang baik akan berhasil jika diimpletasikan dengan baik dan

juga didukung dengan sarana baik pula. Sarana yang baik adalah sarana

yang di usulkan mempunyai kemampuan yang cukup dan kecepatan proses

yang memadai. Karena dengan sarana yang memadai secara otomatis akan

mendapatkan hasil yang baik. Oleh karena itu dalam penyelesaian program

ini kami menggunakan hardware dan software dengan spesifikasi sebagai

berikut:

Tabel III.11

Spesfikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Widows 8 64-bit

Processore Intel

RAM 4 GB

Harddisk 130 GB

Monitor 14”LED

Keyboard 108 Key

Mouse Standart

Software

Kebutuhan menjalankan aplikasi secara local :

Bahasa scrip programing : C Sharp (C#)

Aplikasi : Visual Studio 2013

DBSM : Postgresql

Page 82: BAB III PEMBAHASAN · a. Menganalisa dan mengatasi kerusakan alat berat. b. Melaksanakan pemeliharaan mesin dengan cara mengidentifikasi atau pengecekan pada seluruh bagian alat berat

107

3.5.4. Pembagian Tugas Outline 1 (Kelompok)

Jenis outline yang dipilih penulis adalah outline 1 rancang bangun sistem

informasi akuntansi secara berkelompok. Kelompok kami terdiri dari 2 mahasiswa

yaitu, Eva Wahyu Ashari dan Murdika Januarti. Dalam proses pengerjaan tugas

akhir ini kami membagi tugas, sehingga pengerjaan dapat berjalan secara efektif

dan efisien. Berikut pembagian tugas dalam proses pengerjaan tugas akhir ini :

Tabel III.12

Pembagian Tugas Outline 1

No. Jenis Kegiatan Eva Wahyu Ashari Murdika Januarti

1 Analisa Sistem Berjalan V V

2 Analisa Kebutuhan Sistem V V

3 UML V

4 Rancangan User Interface V

5 Program Modul Master

V

6 Program Modul Transaksi V

7 Program Modul Laporan V

8 Testing V

9 Penggabungan Program V V