120
SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER Studi Kasus : Grosir “Wijaya” Indramayu Tugas Akhir Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Oleh : Stephanus Kridho Budi Wibowo NIM : 025314050 PROGRAM STUDI TEKNIK INORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007

SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

SISTEM INFORMASI GROSIR

BERBASIS CLIENT- SERVER

Studi Kasus : Grosir “Wijaya” Indramayu

Tugas Akhir

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

Oleh :

Stephanus Kridho Budi Wibowo

NIM : 025314050

PROGRAM STUDI TEKNIK INORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2007

Page 2: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

WHOLESALE INFORMATION SYSTEM

BASED ON CLIENT- SERVER

Case Study : Grosir “Wijaya” Indramayu

A Thesis

Presented as Partial Fulfillment of the Requirements

to Obtain the Sarjana Teknik Degree

in Informatic Engineering

by :

Stephanus Kridho Budi Wibowo

NIM : 025314050

DEPARTEMENT OF INFORMATIC ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2007

Page 3: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah
Page 4: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah
Page 5: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

iv

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis tidak

memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan

dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 08 Oktober 2007

Penulis

Stephanus Kridho Budi Wibowo

Page 6: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

v

HALAMAN PERSEMBAHAN

Kupersembahkan karya tulis ini kepada :

Junjungan saya Bunda Maria dan Putranya

Terkasih Tuhan Saya Yesus Kristus.

Bapak dan Ibu tercinta atas semangat,

doa dan dukungan secara moril dan

materil.

Saudaraku terkasih Leonardus Danu L.

Almamaterku Teknik Informatika,

khususnya angkatan 2002

Page 7: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

vi

HALAMAN MOTTO

Jangan pernah takut menghadapi berbagai macam resiko dalam

mewujudkan sebuah impian. Tak pernah ada sebuah harapan dan

keinginan yang begitu mudah dicapai. Guru pengalaman selalu

memberikan ujian terlebih dahulu baru kemudian pemahaman.

Teruslah berusaha tapi jangan lupa untuk selalu mengasah

gergaji.

“Sejatine wong urip iku angger’e ora wedi urip rekoso”.

Siapapun yang menentang ketidak-adilan adalah temanku

(Che Guevara)

”Sejatine wong urip iku mung ibarat mampir ngombe”

Page 8: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

vii

INTISARI

Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli

barang. Proses bisnis yang ada di dalam sebuah grosir melibatkan bagian

pembelian, penjualan, kasir, inventori dan manajer. Pengelolaan data dan

informasi pada suatu grosir biasanya dikerjakan secara manual. Tanpa

penggunaan sistem informasi, maka pendataan transaksi jual beli dicatat dalam

buku. Kelemahan-kelemahan pada pendataan informasi yang dikerjakan secara

manual pada umumnya adalah : Membutuhkan waktu lebih lama dalam melayani

transaksi jual-beli karena harus dihitung secara manual atau dengan kalkulator.

Memerlukan waktu yang lebih lama untuk memantau dan mengetahui data jumlah

stok barang yang ada dan Kemungkinan adanya data-data yang hilang karena

tidak tercatat.

Teknologi yang digunakan adalah Java dan MySQL. Sistem ini

dikembangkan dengan menggunakan metodologi rekayasa perangkat lunak

terstruktur.

Hasil akhir dari sistem yang dibuat adalah : aplikasi yang dibangun dapat

membantu manajer dalam memperoleh informasi pembelian, penjualan dan stok

barang pada grosir yang dimilikinya. Aplikasi yang dibangun memudahkan

bagian pembelian dan penjualan dalam melakukan pencatatan data pembelian dan

penjualan.

Page 9: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

viii

ABSTRACT

Wholesale is a kind of business in buying and selling goods. In a

wholesale process involves the processing division, selling division, cashier,

inventory and manager. Data management and information in a wholesale is

usually done manually. Without the usage of information system, the record of

transaction is booked. The weakness of manual data collection are : it takes more

time in doing buying and selling transaction because it need to be counted

manually or with calculator. It takes more time to observe and to know the

inventory of goods and there’s a possibility of lost data because they are not

recorded.

The author uses Java and MySQL technology. This system is developed

using structurized software methodology.

The final result of this system are : this application can help manager in

obtaining information of purchasing, selling and inventory and this application

makes the recording in purchasing and selling easier.

Page 10: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

ix

KATA PENGANTAR

Puji serta syukur saya panjatkan kepada junjungan saya Bunda Maria dan

Puteranya Terkasih Tuhan Yesus, karena atas limpahan anugerah dan cobaan-nya

saya dapat menyelesaikan tugas akhir ini.

Dalam proses penulisan tugas akhir ini saya meyadari bahwa ada begitu

banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya

masing-masing sehingga tugas akhir ini dapat selesai tepat waktu dan lancar. Oleh

karena itu saya ingin mengucapkan terima kasih antara lain kepada :

1. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik

Informatika Universitas Sanata Dharma sekaligus Dosen Pembimbing I,

yang telah memberikan bimbingan, dukungan, dan fasilitas yang

mendukung, sehingga saya dapat menyelesaikan tugas akhir ini dengan baik.

2. Bapak Ir. Gregorius Heliarko SJ, SS, BST, MA, M.Sc selaku Dekan

Fakultas Teknik Universitas Sanata Dharma.

3. Bapak JB. Budi Darmawan, S.T., M.Sc dan Bapak St. Wisnu Wijaya, S.T.,

M.T. selaku panitia penguji yang telah memberikan banyak kritik dan saran

demi sempurnanya tugas akhir saya.

4. Bapak dan Ibu tercinta. Terima kasih atas doa, semangat, dukungan dan

cintanya sehingga saya bisa menyelesaikan studi dengan lancar. Semoga

saya bisa membalas cinta kalian

5. Saudaraku terkasih : Leonardus Danu Laksono, terima kasih atas doanya dan

rasa persaudaraan yang tetap hangat walaupun kita saling berjauhan.

Selamat Bertugas !

Page 11: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

x

6. Anak-anak Kost wisma Rajawali Paingan II periode 2002-2007 dan

perserikatannya : Hari, Kristian, Andre, Deni, Wisnu “lepeg”, Yosep, Iman,

Billy, Sukur, Pak Wid, Daniel Martobu, Hira, Aris Wijaya, Ari Purwadi,

Andex, dan Alam. atas dukungan dan semangat serta rasa kesetiakawanan

yang kalian tunjukkan selama kita bersama. Terima kasih atas caci-maki dan

canda-tawa selama kita bersama. Maboes Bebak !

7. Teman-teman Teknik Informatika angkatan 2002 khususnya Pristo, Andhika

dan Tjaya Budi, terima kasih atas bantuan ide dan pemikirannya. Terima

kasih juga kepada Pram, Ase, Mc.D, Nico, Kristi dan Kuncunx atas bantuan

sarana dan akomodasi. Buat teman-teman ku yang lain, Hasto, Albert, Widi,

Ika, Gwendy, Tere, Afu, Yohana, Dedik, Andik dan yang lainnya, Selamat

Berjuang !

8. Teman-teman di kesebelasan ANILOP FC, baik pemain inti, cadangan

maupun suporter.

9. Inspirasi dan penyemangat saya Oom Bob Marley, Kurt Cobain, James

Hetfield, dan Sid Vicious. Kreatif sampai mati !

10. Melodi-melodi blues yang selalu setia menemani malam-malam kesendirian

saya ketika saya merasa sedih (maupun senang).

11. Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas

akhir ini yang tidak bisa saya sebutkan satu per satu.

Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari

sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir

Page 12: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xi

ini sangat saya harapkan. Akhir kata, semoga tugas akhir ini bermanfaat bagi

semua pihak. Terima kasih.

Yogyakarta, 08 Oktober 2005

Penulis

Page 13: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xii

DAFTAR ISI

JUDUL ......................................................................................................................

HALAMAN PERSETUJUAN ................................................................................

HALAMAN PENGESAHAN .................................................................................

PERNYATAAN KEASLIAN KARYA ..................................................................

HALAMAN PERSEMBAHAN...............................................................................

HALAMAN MOTTO...............................................................................................

INTISARI .................................................................................................................

ABSTRACT .............................................................................................................

KATA PENGANTAR .............................................................................................

DAFTAR ISI ............................................................................................................

DAFTAR GAMBAR ...............................................................................................

DAFTAR TABEL ....................................................................................................

i

ii

iii

iv

v

vi

vii

viii

ix

xii

xv

xviii

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah ....................................................................

1.2 Rumusan Masalah ..............................................................................

1.3 Batasan Masalah.................................................................................

1.4 Tujuan Penulisan ...............................................................................

1.5 Metodologi Pengembangan Sistem....................................................

1.6 Sistematika Penulisan ........................................................................

1

1

2

3

3

4

Page 14: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xiii

BAB II. LANDASAN TEORI

2.1 Sistem, Informasi dan sistem informasi .............................................

2.2 Java GUI ..................…....................................................................

2.3 Basisdata MySQL...............................................................................

2.4 Arstektur Client-Server.......................................................................

BAB III. ANALISA DAN PERANCANGAN SISTEM

3.1 Analisa Sistem ...................................................................................

3.2 Analisa Pengguna Sistem…...............................................................

3.3 Gambaran Umum Sistem....................................................................

3.4 Pemodelan Use-Case …………………………………………….....

3.5 Konteks Diagram….. …………………………………………….....

3.6 Diagram Aliran Data …………………………………………….....

3.6.1 Diagram Berjenjang...........................................................

3.6.2 DAD Level 0 (Top Level) .................................................

3.6.3 DAD Level 1 Proses 1.......................................................

3.6.4 DAD Level 1 Proses 2.......................................................

3.6.5 DAD Level 1 Proses 3.......................................................

3.6.6 DAD Level 1 Proses 4.......................................................

3.6.7 DAD Level 1 Proses 5.......................................................

3.6.8 DAD Level 1 Proses 6.......................................................

3.6.9 DAD Level 1 Proses 7.......................................................

3.6.10 DAD Level 1 Proses 8.......................................................

3.6.11 DAD Level 1 Proses 9.......................................................

6

7

10

11

14

14

15

17

17

19

19

20

20

22

22

22

23

23

23

24

24

25

Page 15: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xiv

3.6.12 DAD Level 1 Proses 10.....................................................

3.7 Perancangan Basidata…………………………………………….....

3.7.1 ER Diagram………….......................................................

3.8 Desain Database………………………………………………….....

3.8.1 Desain Logikal……….......................................................

3.8.2 Desain Fisikal ……….......................................................

3.9 Desain Input-Output…..………………………………………….....

BAB IV. IMPLEMENTASI SISTEM

4.1 Pembuatan Database.........................................................................

4.2 Koneksi Database.............................................................................

4.3 Pembuatan Antar Muka Pemakai (User Interface)...........................

BAB V. ANALISA HASIL IMPLEMENTASI

5.1 Kelebihan Dan Kekurangan Sistem...................................................

5.1.1 Kelebihan Sistem…........................................................

5.1.2 Kekurangan Sistem…......................................................

BAB VI. KESIMPULAN DAN SARAN

6.1 Kesimpulan........................................................................................

6.2 Saran...................................................................................................

DAFTAR PUSTAKA

25

25

25

26

26

26

28

36

37

39

39

97

97

97

97

98

98

98

99

Page 16: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xv

xv

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Arsitektur Two Tier 12

2.2 Arsitektur Three Tier 13

3.1 Konigurasi Jaringan 17

3.2 Diagram Use-Case 18

3.3 Konteks Diagram 19

3.4 Diagram Berjenjang 20

3.5 DAD Level 0 21

3.6 DAD Level 1 Proses 1 22

3.7 DAD Level 1 Proses 2 22

3.8 DAD Level 1 Proses 3 22

3.9 DAD Level 1 Proses 4 23

3.10 DAD Level 1 Proses 5 23

3.11 DAD Level 1 Proses 6 23

3.12 DAD Level 1 Proses 7 24

3.13 DAD Level 1 Proses 8 24

3.14 DAD Level 1 Proses 9 24

3.15 DAD Level 1 Proses 20 25

3.16 Fully Attributd Data Model 25

3.17 Desain Logikal 26

3.18 Form Login 28

3.19 Form Manajer 29

3.20 Form Memasukkan Data Pembelian 29

Page 17: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xvi

xvi

3.21 Form Memasukkan Data Penjualan 30

3.22 Form Memasukkan Data Barang 30

3.23 Form Memasukkan Data Supplier 30

3.24 Form Menampilkan Data Barang 31

3.25 Form MenampilkanData Supplier 31

3.26 Form Mengubah Data Supplier 31

3.27 Form Pencarian Data Barang 32

3.28 Form Pencarian Data Supplier 32

3.29 Form Menampilkan Data Pembelian 32

3.30 Form Menampilkan Data Penjualan 33

3.31 Form Rancangan Nota Penjualan 33

3.32 Form Laporan Pembelian Barang 34

3.33 Form Laporan Penjualan Barang 34

3.34 Form Data Karyawan 35

3.35 Form Mengubah Harga Barang 35

4.1 Form Login 40

4.2 Form Manajer 44

4.3 Form Memasukkan Data Pembelian 47

4.4 Form Memasukkan Data Penjualan 50

4.5 Form Memasukkan Data Barang 53

4.6 Form Memasukkan Data Supplier 56

4.7 Form Menampilkan Data Barang 60

4.8 Form Menampilkan Data Supplier 64

4.9 Form Mengubah Data Supplier 68

Page 18: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xvii

xvii

4.10 Form Pencarian Data Barang 73

4.11 Form Pencarian Data Supplier 76

4.12 Form Laporan Data Pembelian Barang 81

4.13 Form Laporan Data Penjualan Barang 84

4.14 Form Data Karyawan 88

4.15 Form Mengubah Harga Barang 92

Page 19: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

xviii

DAFTAR TABEL

Tabel 3.1 Tabel karyawan ............................................................................... 26

Tabel 3.2 Tabel barang .................................................................................... 27

Tabel 3.3 Tabel supplier................................................................................... 27

Tabel 3.4 Tabel beli.......................................................................................... 27

Tabel 3.5 Tabel jual.......................................................................................... 27

Tabel 3.6 Tabel detil_beli ............................................................................... 28

Tabel 3.7 Tabel detil_jual ............................................................................... 28

Page 20: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli

barang. Proses bisnis yang ada di dalam sebuah grosir melibatkan bagian

pembelian, penjualan, kasir, inventori dan manajer. Pengelolaan data dan

informasi pada suatu grosir biasanya dikerjakan secara manual. Tanpa

penggunaan sistem informasi, maka pendataan transaksi jual beli dicatat

dalam buku. Kelemahan-kelemahan pada pendataan informasi yang

dikerjakan secara manual pada umumnya adalah :

1. Membutuhkan waktu lebih lama dalam melayani transaksi jual-beli

karena harus dihitung secara manual atau dengan kalkulator.

2. Memerlukan waktu yang lebih lama untuk memantau dan mengetahui

data jumlah stok barang yang ada.

3. Kemungkinan adanya data-data yang hilang karena tidak tercatat.

1.2 Rumusan Masalah

Dari latar belakang tersebut diatas, penulis tertarik untuk

mengembangkan sistem informasi untuk menangani proses pembelian dan

penjualan pada sebuah grosir.

Page 21: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

2

1.3 Batasan Masalah

1. Proses bisnis dan data contoh yang diambil adalah data dari grosir

”Wijaya” yang beralamat di Blok Sukajadi, No. 30, RT 06/03,

Tukdana, Tukdana, Indramayu, Jawa Barat – 45272.

2. Tidak membahas masalah keamanan jaringan komputer dan keamanan

sistem yang dibuat.

3. Tidak menyertakan sistem informasi akuntansi.

4. Hanya menangani masalah pembelian dan penjualan.

5. Sistem ini tidak menangani order barang. Barang dagangan yang

dimiliki diasumsikan sudah dibeli.

6. Tidak membahas masalah transaction management dalam pengaksesan

basisdata.

7. Tidak membuat dan mencetak laporan akuntansi yang sifatnya berkala

dan terjadwal. Hasil dari proses transaksi penjualan dan pembelian,

dan proses bisnis yang ada hanya ditampilkan dalam bentuk data-data

yang tidak berbentuk laporan. Data-data yang ada ada dapat dilihat

pada rentang waktu yang fleksibel dan bisa ditentukan sendiri.

8. Sistem informasi yang dibuat menggunakan sistem basisdata terpusat

atau centralized database dengan arsitektur client-server menggunakan

model two tier.

9. Sistem informasi ini dibuat dengan menggunakan bahasa

pemrograman Java dan basisdata MySQL 5.0.15

Page 22: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

3

1.4 Tujuan Dan Manfaat Penelitian

Tujuan penelitian dalam tugas akhir ini adalah membuat sistem

informasi yang dapat diterapkan pada sebuah grosir dengan memakai tahap-

tahap rekayasa perangkat lunak terstruktur. Sedangkan manfaat penelitian

dalam tugas akhir ini adalah meningkatkan kinerja sistem dalam menangani

proses pembelian dan penjualan yang ada dalam sebuah grosir dengan

memanfaatkan teknologi informasi.

1.5 Metodologi Penelitian

Metodologi penelitian yang digunakan adalah studi kasus dengan

langkah-langkah sebagai berikut :

1. Survei dan pengambilan data contoh

Melakukan survei ke Grosir ”Wijaya” Indramayu, mengambil

data contoh barang dagangan, dan melakukan wawancara dengan

karyawan maupun pemilik usaha grosir.

2. Studi literatur

a. Mempelajari tahapan rekayasa perangkat lunak terstruktur yaitu :

1. Analisa kebutuhan sistem, pendefinisian dan pemodelan sistem

dalam bentuk use case, konteks diagram, dan diagram aliran

data.

2. Pembuatan diagram relasi antar entitas (ER diagram),

perancangan tabel basisdata, pendefinisian modul-modul

program dan antarmuka sistem.

Page 23: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

4

3. Pengujian atas hasil pengkodean dari rancangan yang dibuat.

b. Mempelajari bahasa pemrograman dan basisdata yang akan

digunakan dalam membangun sistem.

3. Pembuatan perangkat lunak dengan tahap-tahap :

a. Analisa sistem

b. Desain sistem

c. Implementasi sistem

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Menjelaskan tentang latar belakang masalah, batasan masalah, tujuan

dan manfaat penelitian, rumusan masalah, metodologi penelitian dan

sistematika penulisan tugas akhir.

BAB II LANDASAN TEORI

Menjelaskan dasar teori yang digunakan dalam penulisan tugas akhir.

Dasar teori tersebut meliputi pembahasan tentang pengertian sistem, informasi

dan sistem informasi, pemrograman GUI dengan Java, basisdata MySQL dan

arsitektur client-server.

BAB III ANALISA DAN PERANCANGAN SISTEM

Menjelaskan tentang rancangan sistem, rancangan proses, rancangan

basisdata dan rancangan antarmuka sistem.

Page 24: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

5

BAB IV IMPLEMENTASI SISTEM

Menjelaskan tentang implementasi rancangan sistem ke dalam suatu

program atau pembahasan program.

BAB V ANALISA HASIL

Menjelaskan tentang analisa dari hasil penelitian dan pembuatan

sistem yang telah dilakukan.

BAB VI KESIMPULAN DAN SARAN

Menjelaskan tentang kesimpulan yang diambil dari penulisan tugas

akhir ini dan saran yang diberikan oleh penulis.

Page 25: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

6

BAB II

LANDASAN TEORI

2.1 Sistem, Informasi, dan Sistem Informasi

a. Sistem

Sistem adalah kumpulan dari elemen-elemen yang berinteraksi

untuk mencapai suatu tujuan tertentu. Definisi tersebut lebih dapat

diterima, karena pada kenyataannya suatu sistem terdiri dari beberapa

elemen atau subsistem. Elemen-elemen tersebut tidak dapat berdiri

sendiri-sendiri dalam suatu sistem tetapi harus saling berinteraksi dan

saling berhubungan untuk membentuk satu kesatuan sehingga tujuan

sistem dapat tercapai. Maka suatu sistem harus mempunyai tujuan tertentu

agar elemen masukan, elemen pengolah dan elemen keluaran dapat

ditentukan dengan tepat.

b. Informasi

Informasi adalah data yang diolah menjadi bentuk yang lebih

berguna dan lebih berarti bagi yang menerimanya. Informasi sangat

penting dalam suatu organisasi. Suatu sistem yang kurang mendapatkan

informasi akan menjadi kecil dan akhirnya akan habis. Informasi-

informasi yang diperoleh dari suatu sistem dapat digunakan dalam

pengambilan sebuah keputusan serta dalam melakukan tindakan

selanjutnya, sehingga dibutuhkan informasi yang akurat, tepat pada

waktunya dan relevan atau bermanfaat bagi penggunanya. Selain itu

Page 26: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

7

informasi harus memiliki nilai informasi yang dapat ditentukan oleh dua

hal yaitu manfaat dan biaya mendapatkannya. Suatu informasi dikatakan

bernilai jika manfaatnya lebih efektif dibandingkan dengan biaya untuk

mendapatkan informasi tersebut. Suatu informasi yang diperoleh mungkin

memiliki beberapa kegunaaan sehingga digunakan tidak hanya oleh satu

pihak saja di dalam suatu organisasi melainkan digunakan bersama-sama.

c. Sistem Informasi

Definisi sistem informasi menurut Robert A. Leitch dan K. Roscoe

Davis dalam buku “Accounting Information Systems” (1993), adalah suatu

sistem di dalam suatu organisasi yang mempertemukan kebutuhan

pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan

kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu

dengan laporan-laporan yang diperlukan.

2.2 Java Graphical User Interface (Java GUI)

Java menyediakan API untuk membuat aplikasi berbasis grafis atau

yang lebih dikenal dengan Graphical User Interface (GUI). Ada dua

package untuk membuat GUI yaitu AWT (Abstract Windowing Toolkit) dan

Swing.

AWT menyediakan beberapa fasilitas yang bisa digunakan untuk

keperluan grafis, yaitu :

Page 27: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

8

1. Pengaturan tata letak (layout management) komponen.

2. Event handling, yaitu pendeteksian setiap event dan penentuan

respon yang akan diberikan ketika pengguna menekan atau mengklik

komponen, untuk kemudian melakukan proses yang diinginkan.

3. Manipulasi grafis komponen, meliputi teks, warna, ukuran, dan lain-

lain. AWT juga memiliki beberapa komponen untuk aplikasi GUI

yaitu button, canvas, cheskbox, choice, label, list, scroolbar,

textfield, dan textarea. Setiap komponen ini memiliki fungsi dan cara

pembuatan yang berbeda-beda.

Swing memiliki komponen yang lebih banyak dibandingkan dengan

AWT, selain itu Swing juga memiliki fasilitas Look and Feel yaitu metal,

windows, dan CDE/motif. Dengan Look and Feel, GUI akan terlihat lebih

menarik. Swing memiliki beberapa komponen untuk aplikasi GUI yaitu

button, combo box, check box, label, list, scroolbar, textfield, radio button,

option pane, slider, progress bar, tabel, menu, dan textarea.

Graphical User Interface merupakan salah satu fasilitas yang

disediakan untuk membuat user lebih nyaman dalam melakukan interaksi

dengan program. Graphical User Interface (GUI) merupakan suatu teknik

atau mekanisme untuk berinteraksi dengan sebuah program. GUI dibangun

menggunakan suatu komponen GUI. Komponen GUI merupakan objek yang

dapat menerima masukan dari pengguna melalui mouse atau keyboard. Ada

beberapa item yang cukup penting dalam pembuatan Graphical User

Page 28: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

9

Interface seperti Component dan Container. Component dan Container

merupakan dua item yang cukup penting dalam Graphical User Interface.

Component adalah item yang dapat ditampilkan pada sebuah

graphcis screen seperti button (tombol), textfields, scrollbars dan drop-down

list. Sedangkan Container adalah sebuah item yang digunakan untuk

menampung beberapa set komponen sehingga menjadi suatu grup.

Container bisa diasumsikan sebagai wadah dan Component sebagai barang-

barang yang terdapat dalam wadah itu. Di dalam suatu Container bisa

terdapat Container yang lain (Container dalam Container).

GUI Component yang biasa digunakan pada Java 2 sudah

distandarkan dalam package javax.swing. GUI Component ini sering dikenal

pula sebagai Swing GUI Component. Diagram Inheritance dari Swing GUI

adalah class JComponent, yang terletak dalam package javax.swing yang

merupakan superclass dari beberapa component Swing GUI seperti JLabel

dan JButton. Komponen Swing merupakan bagian dari Java Foundation

Class (JFC).

Setiap komponen GUI, seperti button (tombol), textfield dan lain-lain

biasa digunakan untuk keperluan input data maupun memproses data yang

di-input-kan. Dengan demikian, masing-masing komponen GUI perlu

memiliki kemampuan untuk mendengarkan (listen) terjadinya suatu event

pada komponen tersebut dan kemudian kode yang bersesuaian perlu

dieksekusi. Event-handling ini terdiri atas 3 bagian utama yaitu :

Page 29: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

10

a. Event source

Komponen GUI di mana user berinteraksi.

b. Event object

Object yang berisi informasi tentang event yang terjadi.

c. Event listener

Object yang menerima (mendengarkan) event object dan kemudian

menyiapkan respon yang bersesuaian.

2.3 Basisdata MySQL

MySQL adalah salah satu jenis server basisdata yang sangat terkenal,

disebabkan MySQL menggunakan SQL sebagai bahasa dasar untuk

mengakses basisdata. MySQL bersifat free atau gratis (tidak perlu membayar

dalam menggunakannya). MySQL dapat digunakan pada berbagai platform

sistem operasi.

MySQL mempunyai kelebihan dapat diakses oleh banyak bahasa

pemrograman sebagai “frontend”. MySQL merupakan server basisdata yang

ideal untuk data segala ukuran dengan kemampuan mempunyai kecepatan

yang sangat tinggi dalam melakukan proses data, multi-threaded, multi user

dan query.

SQL (Structure Query Language) bukan merupakan suatu perangkat

lunak atau bahasa pemrograman. Namun, SQL adalah bahasa standar yang

digunakan untuk mengolah sebuah basisdata. Perintah SQL dikelompokkan

menjadi :

Page 30: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

11

1. DDL (Data Definition Language)

DDL merupakan perintah yang digunakan untuk membuat dan

mendefinisikan basisdata dan struktur tabelnya. Seperti CREATE

DATABASE, CREATE TABLE, DROP VIEW, DROP TABLE,

ALTER TABLE.

2. DML (Data Manipulation Language)

DML adalah perintah yang digunakan untuk melakukan proses

manipulasi atau pengelolaan data yang ada dalam basisdata atau tabel.

Seperti INSERT, SELECT, UPDATE, dan DELETE.

3. DCL (Data Control Language)

DCL adalah kelompok perintah yang digunakan untuk melakukan

otorisasi terhadap hak akses suatu data dan pengalokasian ruang.

Seperti REVOKE, GRANT, COMMIT, dan ROLLBACK.

2.4 Arsitektur Client-Server

Dasar sederhana dari arsitektur client-server adalah komputer yang

berbeda melakukan tugas yang berbeda dan setiap komputer dapat

dioptimalkan untuk tugas tertentu. Untuk dapat membentuk sebuah arsitektur

client-server diperlukan file server, PC workstation, Network Interface Card

(NIC), media transmisi dan topologi jaringan.

DBMS diletakkan di dalam sebuah komputer yang disebut dengan

database server. Aplikasi yang berjalan pada komputer client dapat

mengaksesnya dan semuanya melakukan permintaan dari basisdata yang

Page 31: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

12

sama. Aplikasi client tidak mengetahui bagaimana data disimpan dalam

server basisdata.

Terdapat dua macam model implementasi pada arsitektur client-server

yaitu model dua tingkat atau two tier dan model tiga tingkat atau three tier.

Model yang digunakan dalam pembuatan implementasi sistem informasi ini

adalah model dua tingkat. Pada arsitektur dua tingkat ini, client berbicara

langsung kepada server basisdata. Setiap aplikasi yang terhubung ke database

dan mengambil informasi adalah client-server. Database server berperan

mengakses dan meng-update data, yang lainnya diserahkan kepada client.

Dalam hal ini client bertanggung jawab menampilkan data kepada

user, mengirimkan input dari user dan mempersiapkan permintaan yang sesuai

untuk server basisdata. Arsitektur model two tier ini memiliki kelemahan

yaitu apabila terjadi perubahan atau perbaikan aplikasi basisdata maka harus

dilakukan setting ulang dan instalasi di semua mesin client.

Gbr 2.1 Arsitektur Two Tier

Page 32: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

13

Untuk mengatasi kelemahan pada model two tier maka dikembangkan

arsitektur jaringan dengan model three tier. Pada model ini proses dipecah ke

dalam tiga lapisan yaitu :

1. Lapisan client yang merupakan tempat dimana program aplikasi

dijalankan.

2. Lapisan bisnis/menengah yang bertanggung jawab terhadap proses,

prosedur dan fungsi yang dilakukan oleh aplikasi, memproses data dan

mengolah transaksi. Proses ini pada sistem two tier terjadi pada sisi

client namun pada model three tier dipindahkan di lapisan

bisnis/menengah.

3. Lapisan data tempat memproses data dan tempat sumber data berada.

Lapisan ini memberi layanan terhadap satu atau lebih permintaan data

dari lapisan bisnis/menengah.

Gbr. 2.2 Arsitektur Three Tier

Page 33: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

14

BAB III

ANALISA DAN PERANCANGAN SISTEM

Pada bab ini akan dibahas tentang analisa perangkat lunak yang dipakai

untuk menangani proses pembelian dan penjualan grosir. Pada tahap ini dilakukan

pendefinisian dan pemodelan sistem yang dibangun. Analisa dan perancangan

yang dilakukan meliputi rancangan sistem, rancangan proses, rancangan basisdata

dan rancangan antarmuka sistem.

3.1 Analisa Sistem

Sistem informasi yang dibangun adalah sistem informasi pembelian

dan penjualan pada sebuah grosir berbasis client-server. Perancangan sistem

ini dilakukan dengan metode rekayasa perangkat lunak terstruktur. Sistem

informasi yang dibuat digunakan untuk mengelola data pembelian, data

penjualan, data supplier, dan data barang pada sebuah grosir. Program yang

dibuat digunakan untuk menampilkan informasi-informasi yang datanya

disimpan dalam suatu basisdata.

Sistem informasi ini dibuat berdasarkan contoh kasus yang ada pada

grosir ”Wijaya” yang beralamat di Blok Sukajadi, No. 30, RT 06/03, Tukdana,

Tukdana, Indramayu, Jawa Barat – 45272. Barang dagangan yang diperjual-

belikan diantaranya adalah beras, tepung terigu, minyak goreng, gula pasir dan

barang kebutuhan lainnya. Pada umumnya grosir tersebut membeli barang

Page 34: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

15

dagangan dari supplier yang menjadi langganannya. Meskipun begitu tidak

tertutup kemungkinan mereka membeli barang dari supplier-supplier lainnya.

3.2 Analisa Pengguna Sistem

Proses bisnis yang ada pada grosir ”Wijaya” melibatkan bagian-bagian

sebagai berikut : bagian pembelian, bagian penjualan dan pemilik usaha.

Sistem yang dibuat berbasis multi-user, dimana terdapat sebuah komputer

pada ruangan tiap-tiap bagian yang terhubung ke server basisdata. Berikut ini

akan dijelaskan fungsionalitas dari tiap-tiap bagian.

1. Bagian Pembelian

Bagian pembelian bertanggung jawab untuk mencatat data

pembelian atas barang dan melakukan pembayaran kepada pihak

supplier. Bagian pembelian mengetahui tentang jumlah dan jenis

barang yang harus dibeli lewat informasi-informasi yang didapat dari

pemilik usaha. Hanya pemilik usaha saja yang memiliki wewenang

penuh untuk menentukan jumlah dan jenis barang yang harus dibeli.

Pada saat melakukan transaksi pembelian barang dari supplier,

karyawan bagian pembelian selalu meminta nota pembelian kepada

supplier dan memberikan nomor urut pada setiap nota pembelian

yang didapatkan.

Page 35: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

16

2. Bagian Penjualan

Bagian penjualan bertanggung jawab untuk menangani

transaksi penjualan kepada customer. Termasuk di dalam bagian ini

adalah petugas kasir. Bagian penjualan bertugas untuk menyimpan

data penjualan barang kepada customer dan bertugas membuat nota

penjualan sebagai bukti transaksi penjualan.

3. Pemilik Usaha

Pemilik usaha bertugas untuk mengatur jalannya proses

bisnis dari segi perencanaan, pengorganisasian, pelaksanaan maupun

pengendalian. Pemilik usaha juga-lah yang berhak menentukan harga

jual suatu barang dagangan. Dengan kata lain pemilik grosir ini

merangkap sebagai manajer pada grosir yang dimilikinya.

Pengendalian yang dilakukan oleh manajemen salah satunya adalah

dengan melihat data-data yang disimpan dari transaksi jual-beli yang

ada. Untuk selanjutnya, pemilik usaha ini akan disebut sebagai

manajer.

Pemilik usaha grosir tersebut memiliki kebijakan untuk

melakukan transaksi pembelian dan penjualan secara tunai.

Alasannya adalah jika ia melakukan transaksi penjualan dan

pembelian secara kredit, ia akan terlalu kesulitan dalam membuat

kebijakan untuk menentukan harga jual barang. Hal itu dikarenakan

barang yang diperjual-belikan pada grosir miliknya adalah barang-

barang kebutuhan pokok sehari-hari yang harganya relatif tidak

Page 36: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

17

stabil. Dan menurutnya akan terlalu beresiko jika ia melakukan

transaksi secara kredit.

3.3 Gambaran Umum Sistem

Gbr. 3.1 Konfigurasi Jaringan

Sistem yang akan dibuat menggunakan tiga buah komputer dengan

konfigurasi jaringan seperti gambar diatas. Komputer-komputer yang ada

digunakan oleh manajer, operator bagian penjualan dan operator bagian

pembelian. Komputer server digunakan sebagai tempat penyimpanan

basisdata. Sedangkan komputer bagian penjualan dan bagian pembelian

merupakan komputer client yang mengakses basisdata.

3.4 Pemodelan Use Case (Use Case Modeling)

Diagram Use Case merupakan pemodelan fungsi sistem dalam konteks

peristiwa bisnis, siapa yang mengawalinya dan bagaimana sistem itu

merespon hal-hal tesebut. (Whitten, 2004).

Page 37: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

18

Gbr. 3.2 Diagram Use Case

Page 38: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

19

3.5 Konteks Diagram

Konteks diagram merupakan sebuah gambaran model proses untuk

mendokumentasikan lingkup sistem.

Gbr. 3.3 Konteks Diagram

3.6 Diagram Aliran Data (DAD)

Diagram aliran data merupakan gambaran dari sistem yang

menekankan pada logika dari kebutuhan sistem, yaitu proses yang secara

logika dibutuhkan oleh sistem.

Page 39: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

20

3.6.1 Diagram Berjenjang

Diagram berjenjang merupakan gambaran dari tingkatan-

tingkatan proses yang ada di dalam sistem. Diagram berjenjang

merupakan awal garis besar penggambaran diagram aliran data yang

ada di dalam sistem.

Gbr. 3.4 Diagram Berjenjang

3.6.2 DAD Level 0 (Top Level)

Diagram aliran data pada level 0 menggambarkan aliran data

yang terjadi pada proses ke 0 atau proses sistem secara keseluruhan.

Diagram ini merupakan gabungan dari aliran-aliran data dari sub-sub

proses yang ada di dalam sistem

Page 40: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

21

Gbr. 3.5 DAD Level 0

Page 41: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

22

3.6.3 DAD Level 1 Proses 1

Gbr 3.6 DAD Level 1 Proses 1

3.6.4 DAD Level 1 Proses 2

Gbr 3.7 DAD Level 1 Proses 2

3.6.5 DAD Level 1 Proses 3

Gbr 3.8 DAD Level 1 Proses 3

Page 42: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

23

3.6.6 DAD Level 1 Proses 4

Gbr 3.9 DAD Level 1 Proses 4

3.6.7 DAD Level 1 Proses 5

Gbr 3.10 DAD Level 1 Proses 5

3.6.8 DAD Level 1 Proses 6

Gbr 3.11 DAD Level 1 Proses 6

Page 43: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

24

3.6.9 DAD Level 1 Proses 7

Gbr 3.12 DAD Level 1 Proses 7

3.6.10 DAD Level 1 Proses 8

Gbr 3.13 DAD Level 1 Proses 8

3.6.11 DAD Level 1 Proses 9

Gbr 3.14 DAD Level 1 Proses 9

Page 44: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

25

3.6.12 DAD Level 1 Proses 10

Gbr. 3.15 DAD Level 1 Proses 10

3.7 Perancangan Basisdata

3.7.1 E-R Diagram (Entity Relationship Diagram)

Gbr. 3.16 Fully Atributed Data Model

Page 45: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

26

3.8 Disain Database

3.8.1 Disain Logikal

Sistem ini menggunakan 5 tabel yaitu tabel karyawan, barang,

supplier, order_beli dan order_jual. Relasi antar tabel dalam disain database

dapat dilihat pada gambar berikut.

Gbr. 3.17 Gambar Disain Logikal

3.8.2 Disain Fisikal

Nama Field Tipe Data Ukuran Field

id_kary varchar 5

nama varchar 10

sandi varchar 10

divisi varchar 10

Tabel 3.1 Tabel karyawan

Page 46: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

27

Nama Field Tipe Data Ukuran Field

id_brg varchar 5

nama varchar 100

nama_satuan varchar 50

jml_satuan double

hrg_satuan double

Tabel 3.2 Tabel barang

Nama Field Tipe Data Ukuran Field

id_supl varchar 5

nama varchar 100

alamat varchar 100

telp varchar 15

kategori varchar 10

Tabel 3.3 Tabel supplier

Nama Field Tipe Data Ukuran Field

id_beli int 5

id_supl varchar 5

no_nota_pembelian varchar 5

no_urut_nota int 5

tgl date

Tabel 3.4 Tabel beli

Nama Field Tipe Data Ukuran Field

id_jual int 5

no_nota int 5

nama_cust varchar 50

tgl date

Tabel 3.5 Tabel jual

Page 47: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

28

Nama Field Tipe Data Ukuran Field

id_beli int 5

id_brg varchar 5

jml_satuan double

hrg_beli_per_satuan double

Tabel 3.4 Tabel detil_beli

Nama Field Tipe Data Ukuran Field

id_jual int 5

id_brg varchar 5

jml_satuan double

hrg_jual_per_satuan double

Tabel 3.4 Tabel detil_jual

3.9 Desain Input-Output

Desain input-output menggambarkan rancangan form yang digunakan

untuk memasukkan dan menampilkan data. Berikut ini merupakan desain

input-output dari sistem yang dibuat.

Gbr 3.18 Form Login

Page 48: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

29

Gbr 3.19 Form Manajer

Gbr 3.20 Form Memasukkan Data Pembelian

Page 49: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

30

Gbr 3.21 Form Memasukkan Data Penjualan

Gbr 3.22 Form Memasukkan Data Barang

Gbr 3.23 Form Memasukkan Data Supplier

Page 50: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

31

Gbr 3.24 Form Menampilkan Data Barang

menampilkan data supplier urut berdasarkan :

id supplier alamat kategorino.telpnama

id supplier nama supplier kategori supplier

Gbr 3.25 Form Menampilkan Data Supplier

Gbr 3.26 Form Mengubah Data Supplier

Page 51: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

32

Gbr 3.27 Form Pencarian Data Barang

Gbr 3.28 Form Pencarian Data Supplier

Gbr 3.29 Form Menampilkan Data Pembelian

Page 52: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

33

Gbr 3.30 Form Menampilkan Data Penjualan

nama jumlah harga satuan

kepada

tgl

no nota

total

Gbr 3.31 Form Rancangan Nota Penjualan

Page 53: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

34

Gbr 3.32 Form Laporan Pembelian Barang

Gbr 3.33 Form Laporan Penjualan Barang

Page 54: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

35

Gbr 3.34 Form Data Karyawan

Gbr 3.35 Form Mengubah Harga Barang

Page 55: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

36

BAB IV

IMPLEMENTASI SISTEM

Sistem ini dibuat dan diuji coba dengan menggunakan spesifikasi Software

dan Hardware sebagai berikut :

1. Server

Perangkat keras meliputi :

- Prosesor AMD Sempron 2800 64 Bit

- Harddisk 80 Gigabyte

- RAM 256 MB

- LAN Card 100 Mbps

- Printer Canon IP.1000

Perangkat lunak meliputi :

- Microsoft Windows XP

- Java j2sdk versi 1.4.2_04

- Basisdata MySQL 5.0.15

2. Client

Perangkat Keras meliputi :

- Prosesor Intel Celeron

- Harddisk 20 Gigabyte

- RAM 128 MB

Page 56: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

37 37

- LAN Card 100 Mbps

- Printer Canon IP.1000

Perangkat lunak meliputi :

- Microsoft Windows XP

- Java j2sdk versi 1.4.2_04

4.1 Pembuatan Database

Database terdiri dari lima tabel. Adapun langkah pembuatan database

Sistem Informasi Grosir adalah sebagai berikut :

1. Tabel karyawan, dibuat dengan sintak SQL sebagai berikut:

CREATE TABLE `karyawan` (

`id_kary` varchar(5) NOT NULL,

`nama` varchar(10) default NULL,

`sandi` varchar(10) default NULL,

`divisi` varchar(10) default NULL,

PRIMARY KEY (`id_kary`)

)

2. Tabel barang, dibuat dengan sintak SQL sebagai berikut:

CREATE TABLE `barang` (

`id_brg` varchar(5) NOT NULL,

`nama` varchar(100) default NULL,

`nama_satuan` varchar(50) default NULL,

`jml_satuan` double default NULL,

`hrg_satuan` double default NULL,

PRIMARY KEY (`id_brg`)

)

3. Tabel supplier, dibuat dengan sintak SQL sebagai berikut:

CREATE TABLE `supplier` (

`id_supl` varchar(5) NOT NULL,

Page 57: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

38 37

`nama` varchar(100) default NULL,

`alamat` varchar(100) default NULL,

`telp` varchar(15) default NULL,

`kategori` varchar(10) default NULL,

PRIMARY KEY (`id_supl`)

)

4. Tabel beli, dibuat dengan sintak SQL sebagai berikut:

CREATE TABLE `beli` (

`id_beli` int(5) NOT NULL auto_increment,

`id_supl` varchar(5) default NULL,

`no_nota_pembelian` varchar(5) default NULL,

`no_urut_nota` int(5) default NULL,

`tgl` date default NULL,

PRIMARY KEY (`id_beli`)

)

5. Tabel jual, dibuat dengan sintak SQL sebagai berikut:

CREATE TABLE `jual` (

`id_jual` int(5) NOT NULL auto_increment,

`no_nota` int(5) default NULL,

`nama_cust` varchar(50) default NULL,

`tgl` date default NULL,

PRIMARY KEY (`id_jual`)

)

6. Tabel detil_beli, dibuat dengan sintak SQL sebagai berikut:

CREATE TABLE `detil_beli` (

`id_beli` int(5) NOT NULL,

`id_brg` varchar(5) default NULL,

`jml_satuan` double default NULL,

`hrg_beli_per_satuan` double default NULL,

)

7. Tabel detil_jual, dibuat dengan sintak SQL sebagai berikut:

CREATE TABLE `detil_jual` (

`id_jual` int(5) NOT NULL,

`id_brg` varchar(5) default NULL,

`jml_satuan` double default NULL,

Page 58: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

39 37

`hrg_jual_per_satuan` double default NULL,

)

4.2 Koneksi Database

Pada pembuatan sistem informasi ini penulis menggunakan program

aplikasi pendukung yaitu Connector/J sebagai driver koneksi antara database

MySQL dengan Java. Kemudian untuk menghubungkan database dengan sistem,

digunakan sintak sebagai berikut :

.....

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://localhost/grosir?use

r=root&password=root");

.....

4.3 Pembuatan User Interface

Pembuatan user interface untuk Sistem Informasi Grosir dibagi menjadi 3

bagian yaitu pembuatan user interface untuk karyawan bagian penjualan,

karyawan bagian pembelian dan manajer. Berikut ini merupakan bentuk-bentuk

form yang dipakai di dalam Sistem Informasi Grosir.

Page 59: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

40 37

1. Form Login Pengguna Sistem

Gbr. 4.1 Form Login

Melalui form ini user dapat melakukan proses login untuk dapat

menggunakan sistem. Apabila user berhasil melakukan login dan account

user adalah sebagai manajer maka sistem akan menampilkan form

manajer kepada user. Apabila user berhasil melakukan login dan account

user adalah sebagai karyawan bagian pembelian maka sistem akan

menampilkan form memasukkan data order pembelian kepada user.

Apabila user berhasil melakukan login dan account user adalah sebagai

karyawan bagian penjualan maka sistem akan menampilkan form

memasukkan data order penjualan kepada user.

Form ini dibentuk dengan file bernama Login.java dimana

sintaknya adalah sebagai berikut :

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

Page 60: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

41 37

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

import manajer.FormManajer;

import penjualan.MemasukkanDataOrderPenjualan;

import pembelian.MemasukkanDataOrderPembelian;

public class Login extends javax.swing.JFrame implements ActionListener {

private javax.swing.JButton jButtonLogin;

private javax.swing.JComboBox jComboBoxDivisi;

private javax.swing.JLabel jLabelDivisi;

private javax.swing.JLabel jLabelNamaKaryawan;

private javax.swing.JLabel jLabelPassword;

private javax.swing.JPanel jPanelLogin;

private javax.swing.JPasswordField jPasswordFieldPassword;

private javax.swing.JTextField jTextFieldNamaKaryawan;

public Login() {

initComponents();

}

private void initComponents() {

jPanelLogin = new javax.swing.JPanel();

jLabelNamaKaryawan = new javax.swing.JLabel();

jTextFieldNamaKaryawan = new javax.swing.JTextField();

jLabelPassword = new javax.swing.JLabel();

jPasswordFieldPassword = new javax.swing.JPasswordField();

jLabelDivisi = new javax.swing.JLabel();

jComboBoxDivisi = new javax.swing.JComboBox();

jButtonLogin = new javax.swing.JButton();

getContentPane().setLayout(null);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelLogin.setLayout(null);

jPanelLogin.setBorder(new javax.swing.border.TitledBorder(""));

jLabelNamaKaryawan.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelNamaKaryawan.setText("nama karyawan");

jPanelLogin.add(jLabelNamaKaryawan);

jLabelNamaKaryawan.setBounds(10, 10, 100, 20);

jPanelLogin.add(jTextFieldNamaKaryawan);

jTextFieldNamaKaryawan.setBounds(130, 10, 140, 20);

jLabelPassword.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelPassword.setText("sandi");

jPanelLogin.add(jLabelPassword);

jLabelPassword.setBounds(10, 40, 100, 20);

jPanelLogin.add(jPasswordFieldPassword);

jPasswordFieldPassword.setBounds(130, 40, 140, 20);

jLabelDivisi.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelDivisi.setText("divisi");

jPanelLogin.add(jLabelDivisi);

jLabelDivisi.setBounds(10, 70, 100, 20);

Page 61: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

42 37

jPanelLogin.add(jComboBoxDivisi);

jComboBoxDivisi.setBounds(130, 70, 140, 20);

getContentPane().add(jPanelLogin);

jPanelLogin.setBounds(10, 10, 280, 110);

jButtonLogin.setText("login");

getContentPane().add(jButtonLogin);

jButtonLogin.setBounds(90, 140, 120, 20);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select divisi from karyawan";

ResultSet rs = statement.executeQuery(sql);

rs.last();

int numberOfRow = rs.getRow();

rs.beforeFirst();

while(rs.next()) {

jComboBoxDivisi.addItem(rs.getString(1));

}

statement.close();

conn.close();

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! hubungi administrator !\n" +

"tekan 'ok' atau tutup form dialog ini keluar dari

sistem","peringatan",2);

System.exit(0);

}

jButtonLogin.addActionListener(this);

pack();

setTitle("login");

setSize(307,205);

setResizable(false);

setLocation(200,100);

}

private void exitForm(java.awt.event.WindowEvent evt) {

System.exit(0);

}

public static void main(String args[]) {

new Login().show();

}

public void actionPerformed(ActionEvent e) {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select nama, sandi, divisi from karyawan";

ResultSet rs = statement.executeQuery(sql);

rs.beforeFirst();

while(rs.next()) {

Page 62: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

43 37

if((jTextFieldNamaKaryawan.getText().compareTo(rs.getString(1)) == 0 &&

String.valueOf(jPasswordFieldPassword.getPassword()).compareTo(rs.getString(2)

) == 0) &&

String.valueOf(jComboBoxDivisi.getSelectedItem()).compareTo(rs.getString(3))

== 0) {

this.dispose();

if(String.valueOf(jComboBoxDivisi.getSelectedItem()).compareTo("manajer") ==

0)

new FormManajer().show();

if(String.valueOf(jComboBoxDivisi.getSelectedItem()).compareTo("pembelian") ==

0)

new MemasukkanDataOrderPembelian().show();

if(String.valueOf(jComboBoxDivisi.getSelectedItem()).compareTo("penjualan") ==

0)

new MemasukkanDataOrderPenjualan().show();

break;

}

if(rs.isLast()) {

JOptionPane.showMessageDialog(null,"proses login anda

tidak berhasil.","pesan",1);

}

}

statement.close();

conn.close();

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! hubungi administrator !\n" +

"tekan 'ok' atau tutup form dialog ini keluar dari

sistem","peringatan",2);

System.exit(0);

}

}

}

Page 63: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

44 37

2. Form Manajer

Gbr. 4.2 Form Manajer

Form ini menyediakan pilihan menu yang dapat diakses oleh

manajer. Menu pilihan yang ada adalah menampilkan data pembelian,

menampilkan data penjualan, menampilkan data barang, menampilkan

data supplier dan menampilkan data karyawan. Form ini dibentuk dengan

file bernama FormManajer.java sintak dari program ini adalah sebagai

berikut :

package manajer;

import java.awt.event.*;

import javax.swing.*;

public class FormManajer extends javax.swing.JFrame implements ActionListener

{

private javax.swing.JButton jButtonSetuju;

private javax.swing.JComboBox jComboBoxMenu;

private javax.swing.JLabel jLabelHeader;

private javax.swing.JPanel jPanelHeader;

private javax.swing.JPanel jPanelMenu;

Page 64: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

45 37

private javax.swing.JTextArea jTextAreaHeader;

String arrayMenu[] = {"menampilkan data pembelian","menampilkan data

penjualan","menampilkan data barang",

"menampilkan data supplier","menampilkan data karyawan"};

public FormManajer() {

initComponents();

}

private void initComponents() {

jPanelHeader = new javax.swing.JPanel();

jLabelHeader = new javax.swing.JLabel();

jTextAreaHeader = new javax.swing.JTextArea();

jPanelMenu = new javax.swing.JPanel();

jComboBoxMenu = new javax.swing.JComboBox();

jButtonSetuju = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("form manajer");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelHeader.setLayout(null);

jPanelHeader.setBorder(new javax.swing.border.TitledBorder(""));

jLabelHeader.setFont(new java.awt.Font("Bookman Old Style", 1, 24));

jLabelHeader.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabelHeader.setText("selamat datang.");

jPanelHeader.add(jLabelHeader);

jLabelHeader.setBounds(10, 10, 330, 30);

jTextAreaHeader.setBackground(new java.awt.Color(224, 223, 227));

jTextAreaHeader.setEditable(false);

jTextAreaHeader.setFont(new java.awt.Font("Bookman Old Style", 0,

12));

jTextAreaHeader.setText("anda telah berhasil melakukan proses login.

saat ini \n'account' login anda adalah sebagai manajer. " +

"silakan \nmemilih menu yang ada dibawah ini.\n\nthx...");

jPanelHeader.add(jTextAreaHeader);

jTextAreaHeader.setBounds(10, 50, 330, 80);

getContentPane().add(jPanelHeader);

jPanelHeader.setBounds(10, 10, 350, 140);

jPanelMenu.setLayout(null);

jPanelMenu.setBorder(new javax.swing.border.TitledBorder(""));

jPanelMenu.add(jComboBoxMenu);

jComboBoxMenu.setBounds(10, 10, 330, 20);

jButtonSetuju.setText("setuju");

jPanelMenu.add(jButtonSetuju);

jButtonSetuju.setBounds(10, 40, 330, 20);

getContentPane().add(jPanelMenu);

jPanelMenu.setBounds(10, 160, 350, 70);

Page 65: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

46 37

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-377)/2, (screenSize.height-278)/2, 377,

278);

for(int i=0; i<5; i++) {

jComboBoxMenu.addItem(arrayMenu[i]);

}

jButtonSetuju.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

int pilihan = JOptionPane.showConfirmDialog(null,"anda yakin akan

keluar dari sistem ?","konfirmasi",JOptionPane.YES_NO_OPTION);

if(pilihan == 0)

System.exit(0);

else

setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

}

public void actionPerformed(ActionEvent e) {

this.dispose();

if(String.valueOf(jComboBoxMenu.getSelectedItem()).compareTo("menampilkan data

pembelian") == 0)

new MenampilkanDataOrderPembelian().show();

else

if(String.valueOf(jComboBoxMenu.getSelectedItem()).compareTo("menampilkan data

penjualan") == 0)

new MenampilkanDataOrderPenjualan().show();

else

if(String.valueOf(jComboBoxMenu.getSelectedItem()).compareTo("menampilkan data

barang") == 0)

new MenampilkanDataBarang().show();

else

if(String.valueOf(jComboBoxMenu.getSelectedItem()).compareTo("menampilkan data

supplier") == 0)

new MenampilkanDataSupplier().show();

else if

(String.valueOf(jComboBoxMenu.getSelectedItem()).compareTo("menampilkan data

karyawan") == 0)

new MenampilkanDataKaryawan().show();

}

}

Page 66: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

47 37

3. Form Memasukkan Data Pembelian

Gbr. 4.3 Form Memasukkan data Pembelian

Melalui form ini karyawan bagian pembelian dapat memasukkan

data pembelian yang dilakukan ke dalam sistem. Form ini dibentuk

dengan file bernama MemasukkanDataPembelian.java dimana

sintaknya adalah sebagai berikut :

package pembelian;

public class MemasukkanDataPembelian extends javax.swing.Jframe {

public MemasukkanDataPembelian() {

initComponents();

}

Page 67: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

48 37

private void initComponents() {

jPanelData = new javax.swing.Jpanel();

jLabelIdPembelian = new javax.swing.Jlabel();

jTextFieldIdPembelian = new javax.swing.JtextField();

jLabelTgl = new javax.swing.Jlabel();

jTextFieldTgl = new javax.swing.JtextField();

jLabelNoUrutNotaPembelian = new javax.swing.Jlabel();

jTextFieldNoUrutNotaPembelian = new javax.swing.JtextField();

jLabelNoNota = new javax.swing.Jlabel();

jTextFieldNoNota = new javax.swing.JtextField();

jLabelNamaSupplier = new javax.swing.Jlabel();

jComboBoxNamaSupplier = new javax.swing.JcomboBox();

jLabelKategoriSupplier = new javax.swing.Jlabel();

jTextFieldKategoriSupplier = new javax.swing.JtextField();

jLabelNamaBarang = new javax.swing.Jlabel();

jComboBoxNamaBarang = new javax.swing.JcomboBox();

jLabelNamaSatuan = new javax.swing.Jlabel();

jTextFieldNamaSatuan = new javax.swing.JtextField();

jLabelJmlBarangYgDibeli = new javax.swing.Jlabel();

jTextFieldJmlBarangYgDibeli = new javax.swing.JtextField();

jLabelHargaSatuan = new javax.swing.Jlabel();

jTextFieldHargaSatuan = new javax.swing.JtextField();

jButtonMasukkanData = new javax.swing.Jbutton();

getContentPane().setLayout(null);

setTitle(“memasukkan data pembelian”);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(“”));

jLabelIdPembelian.setText(“id pembelian”);

jPanelData.add(jLabelIdPembelian);

jLabelIdPembelian.setBounds(10, 10, 120, 20);

jTextFieldIdPembelian.setEditable(false);

jPanelData.add(jTextFieldIdPembelian);

jTextFieldIdPembelian.setBounds(150, 10, 40, 20);

jLabelTgl.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelTgl.setText(“tgl”);

jPanelData.add(jLabelTgl);

jLabelTgl.setBounds(370, 10, 30, 20);

jTextFieldTgl.setEditable(false);

jPanelData.add(jTextFieldTgl);

jTextFieldTgl.setBounds(410, 10, 80, 20);

jLabelNoUrutNotaPembelian.setText(“no urut nota pembelian”);

jPanelData.add(jLabelNoUrutNotaPembelian);

jLabelNoUrutNotaPembelian.setBounds(10, 40, 130, 20);

jPanelData.add(jTextFieldNoUrutNotaPembelian);

jTextFieldNoUrutNotaPembelian.setBounds(150, 40, 40, 20);

jLabelNoNota.setText(“no nota”);

jPanelData.add(jLabelNoNota);

jLabelNoNota.setBounds(10, 70, 120, 20);

Page 68: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

49 37

jPanelData.add(jTextFieldNoNota);

jTextFieldNoNota.setBounds(150, 70, 40, 20);

jLabelNamaSupplier.setText(“nama supplier”);

jPanelData.add(jLabelNamaSupplier);

jLabelNamaSupplier.setBounds(10, 100, 120, 20);

jPanelData.add(jComboBoxNamaSupplier);

jComboBoxNamaSupplier.setBounds(150, 100, 340, 20);

jLabelKategoriSupplier.setText(“kategori supplier”);

jPanelData.add(jLabelKategoriSupplier);

jLabelKategoriSupplier.setBounds(10, 130, 120, 20);

jTextFieldKategoriSupplier.setEditable(false);

jPanelData.add(jTextFieldKategoriSupplier);

jTextFieldKategoriSupplier.setBounds(150, 130, 100, 20);

jLabelNamaBarang.setText(“nama barang”);

jPanelData.add(jLabelNamaBarang);

jLabelNamaBarang.setBounds(10, 160, 120, 20);

jPanelData.add(jComboBoxNamaBarang);

jComboBoxNamaBarang.setBounds(150, 160, 340, 20);

jLabelNamaSatuan.setText(“nama satuan”);

jPanelData.add(jLabelNamaSatuan);

jLabelNamaSatuan.setBounds(10, 190, 120, 20);

jTextFieldNamaSatuan.setEditable(false);

jPanelData.add(jTextFieldNamaSatuan);

jTextFieldNamaSatuan.setBounds(150, 190, 100, 20);

jLabelJmlBarangYgDibeli.setText(”jml barang yg dibeli”);

jPanelData.add(jLabelJmlBarangYgDibeli);

jLabelJmlBarangYgDibeli.setBounds(10, 220, 120, 20);

jPanelData.add(jTextFieldJmlBarangYgDibeli);

jTextFieldJmlBarangYgDibeli.setBounds(150, 220, 100, 20);

jLabelHargaSatuan.setText(”harga satuan”);

jPanelData.add(jLabelHargaSatuan);

jLabelHargaSatuan.setBounds(10, 250, 120, 20);

jPanelData.add(jTextFieldHargaSatuan);

jTextFieldHargaSatuan.setBounds(150, 250, 100, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 10, 500, 280);

jButtonMasukkanData.setText(“masukkan data”);

getContentPane().add(jButtonMasukkanData);

jButtonMasukkanData.setBounds(381, 300, 130, 20);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-529)/2, (screenSize.height-367)/2, 529,

367);

}

private void exitForm(java.awt.event.WindowEvent evt) {

System.exit(0);

}

Page 69: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

50 37

public static void main(String args[]) {

new MemasukkanDataPembelian().show();

}

private javax.swing.Jbutton jButtonMasukkanData;

private javax.swing.JcomboBox jComboBoxNamaBarang;

private javax.swing.JcomboBox jComboBoxNamaSupplier;

private javax.swing.Jlabel jLabelHargaSatuan;

private javax.swing.Jlabel jLabelIdPembelian;

private javax.swing.Jlabel jLabelJmlBarangYgDibeli;

private javax.swing.Jlabel jLabelKategoriSupplier;

private javax.swing.Jlabel jLabelNamaBarang;

private javax.swing.Jlabel jLabelNamaSatuan;

private javax.swing.Jlabel jLabelNamaSupplier;

private javax.swing.Jlabel jLabelNoNota;

private javax.swing.Jlabel jLabelNoUrutNotaPembelian;

private javax.swing.Jlabel jLabelTgl;

private javax.swing.Jpanel jPanelData;

private javax.swing.JtextField jTextFieldHargaSatuan;

private javax.swing.JtextField jTextFieldIdPembelian;

private javax.swing.JtextField jTextFieldJmlBarangYgDibeli;

private javax.swing.JtextField jTextFieldKategoriSupplier;

private javax.swing.JtextField jTextFieldNamaSatuan;

private javax.swing.JtextField jTextFieldNoNota;

private javax.swing.JtextField jTextFieldNoUrutNotaPembelian;

private javax.swing.JtextField jTextFieldTgl;

}

4. Form Memasukkan Data Penjualan

Gbr. 4.4 Memasukkan Data Penjualan

Page 70: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

51 37

Melalui form ini karyawan bagian penjualan dapat memasukkan

data penjualan yang dilakukan. Form ini dibentuk dengan file bernama

MemasukkanDataPenjualan.java dimana sintaknya adalah sebagai

berikut :

package penjualan;

public class MemasukkanDataPenjualan extends javax.swing.JFrame {

public MemasukkanDataPenjualan() {

initComponents();

}

private void initComponents() {

jPanelData = new javax.swing.JPanel();

jLabelIdPenjualan = new javax.swing.JLabel();

jTextFieldNoNotaPenjualan = new javax.swing.JTextField();

jLabelTgl = new javax.swing.JLabel();

jTextFieldTgl = new javax.swing.JTextField();

jLabelNoNotaPenjualan = new javax.swing.JLabel();

jTextFieldIdPenjualan = new javax.swing.JTextField();

jLabelNamaCustomer = new javax.swing.JLabel();

jLabelNamaBarang = new javax.swing.JLabel();

jComboBoxNamaBarang = new javax.swing.JComboBox();

jLabelJmlBarang = new javax.swing.JLabel();

jTextFieldJmlBarang = new javax.swing.JTextField();

jLabelHarga = new javax.swing.JLabel();

jTextFieldHarga = new javax.swing.JTextField();

jTextFieldNamaCustomer = new javax.swing.JTextField();

jLabelPer = new javax.swing.JLabel();

jTextFieldNamaSatuan = new javax.swing.JTextField();

jButtonSetuju = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("memasukkan data penjualan");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jLabelIdPenjualan.setText("id penjualan");

jPanelData.add(jLabelIdPenjualan);

jLabelIdPenjualan.setBounds(10, 40, 120, 20);

jTextFieldNoNotaPenjualan.setEditable(false);

jPanelData.add(jTextFieldNoNotaPenjualan);

jTextFieldNoNotaPenjualan.setBounds(150, 10, 40, 20);

jLabelTgl.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelTgl.setText("tgl");

jPanelData.add(jLabelTgl);

Page 71: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

52 37

jLabelTgl.setBounds(370, 10, 30, 20);

jTextFieldTgl.setEditable(false);

jPanelData.add(jTextFieldTgl);

jTextFieldTgl.setBounds(410, 10, 80, 20);

jLabelNoNotaPenjualan.setText("no nota penjualan");

jPanelData.add(jLabelNoNotaPenjualan);

jLabelNoNotaPenjualan.setBounds(10, 10, 120, 20);

jTextFieldIdPenjualan.setEditable(false);

jPanelData.add(jTextFieldIdPenjualan);

jTextFieldIdPenjualan.setBounds(150, 40, 40, 20);

jLabelNamaCustomer.setText("nama customer");

jPanelData.add(jLabelNamaCustomer);

jLabelNamaCustomer.setBounds(10, 70, 120, 20);

jLabelNamaBarang.setText("nama barang");

jPanelData.add(jLabelNamaBarang);

jLabelNamaBarang.setBounds(10, 100, 120, 20);

jPanelData.add(jComboBoxNamaBarang);

jComboBoxNamaBarang.setBounds(150, 100, 340, 20);

jLabelJmlBarang.setText("jml barang");

jPanelData.add(jLabelJmlBarang);

jLabelJmlBarang.setBounds(10, 160, 120, 20);

jPanelData.add(jTextFieldJmlBarang);

jTextFieldJmlBarang.setBounds(150, 160, 100, 20);

jLabelHarga.setText("harga");

jPanelData.add(jLabelHarga);

jLabelHarga.setBounds(10, 130, 120, 20);

jTextFieldHarga.setEditable(false);

jPanelData.add(jTextFieldHarga);

jTextFieldHarga.setBounds(150, 130, 100, 20);

jPanelData.add(jTextFieldNamaCustomer);

jTextFieldNamaCustomer.setBounds(150, 70, 180, 20);

jLabelPer.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabelPer.setText("per");

jPanelData.add(jLabelPer);

jLabelPer.setBounds(260, 130, 30, 20);

jTextFieldNamaSatuan.setEditable(false);

jPanelData.add(jTextFieldNamaSatuan);

jTextFieldNamaSatuan.setBounds(300, 130, 100, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 10, 500, 190);

jButtonSetuju.setText("setuju");

getContentPane().add(jButtonSetuju);

jButtonSetuju.setBounds(380, 210, 130, 20);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-529)/2, (screenSize.height-273)/2, 529,

273);

}

Page 72: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

53 37

private void exitForm(java.awt.event.WindowEvent evt) {

System.exit(0);

}

public static void main(String args[]) {

new MemasukkanDataPenjualan().show();

}

// Variables declaration - do not modify

private javax.swing.JButton jButtonSetuju;

private javax.swing.JComboBox jComboBoxNamaBarang;

private javax.swing.JLabel jLabelHarga;

private javax.swing.JLabel jLabelIdPenjualan;

private javax.swing.JLabel jLabelJmlBarang;

private javax.swing.JLabel jLabelNamaBarang;

private javax.swing.JLabel jLabelNamaCustomer;

private javax.swing.JLabel jLabelNoNotaPenjualan;

private javax.swing.JLabel jLabelPer;

private javax.swing.JLabel jLabelTgl;

private javax.swing.JPanel jPanelData;

private javax.swing.JTextField jTextFieldHarga;

private javax.swing.JTextField jTextFieldIdPenjualan;

private javax.swing.JTextField jTextFieldJmlBarang;

private javax.swing.JTextField jTextFieldNamaCustomer;

private javax.swing.JTextField jTextFieldNamaSatuan;

private javax.swing.JTextField jTextFieldNoNotaPenjualan;

private javax.swing.JTextField jTextFieldTgl;

// End of variables declaration

}

5. Form Memasukkan data barang

Gbr. 4.5 Form Memasukkan Data Barang

Page 73: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

54 37

Melalui form ini karyawan bagian pembelian dapat

memasukkan data barang baru yang dibeli dan belum dimiliki oleh grosir.

Form ini dibentuk dengan file bernama MemasukkanDataBarang.java

dimana sintaknya adalah sebagai berikut :

package pembelian;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class MemasukkanDataBarang extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonBersihkan;

private javax.swing.JButton jButtonSetuju;

private javax.swing.JLabel jLabelIdBarang;

private javax.swing.JLabel jLabelNama;

private javax.swing.JLabel jLabelNamaSatuan;

private javax.swing.JPanel jPanelData;

private javax.swing.JTextField jTextFieldIdBarang;

private javax.swing.JTextField jTextFieldNama;

private javax.swing.JTextField jTextFieldNamaSatuan;

public MemasukkanDataBarang() {

initComponents();

}

private void initComponents() {

jPanelData = new javax.swing.JPanel();

jLabelIdBarang = new javax.swing.JLabel();

jTextFieldIdBarang = new javax.swing.JTextField();

jLabelNama = new javax.swing.JLabel();

jTextFieldNama = new javax.swing.JTextField();

jLabelNamaSatuan = new javax.swing.JLabel();

jTextFieldNamaSatuan = new javax.swing.JTextField();

jButtonSetuju = new javax.swing.JButton();

jButtonBersihkan = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("memasukkan data barang");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jLabelIdBarang.setText("id barang");

jPanelData.add(jLabelIdBarang);

jLabelIdBarang.setBounds(10, 10, 90, 20);

Page 74: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

55 37

jPanelData.add(jTextFieldIdBarang);

jTextFieldIdBarang.setBounds(110, 10, 40, 20);

jLabelNama.setText("nama");

jPanelData.add(jLabelNama);

jLabelNama.setBounds(10, 40, 90, 20);

jPanelData.add(jTextFieldNama);

jTextFieldNama.setBounds(110, 40, 340, 20);

jLabelNamaSatuan.setText("nama satuan");

jPanelData.add(jLabelNamaSatuan);

jLabelNamaSatuan.setBounds(10, 70, 90, 20);

jPanelData.add(jTextFieldNamaSatuan);

jTextFieldNamaSatuan.setBounds(110, 70, 150, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 10, 460, 100);

jButtonSetuju.setText("setuju");

getContentPane().add(jButtonSetuju);

jButtonSetuju.setBounds(240, 120, 110, 20);

jButtonBersihkan.setText("bersihkan");

getContentPane().add(jButtonBersihkan);

jButtonBersihkan.setBounds(360, 120, 110, 20);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-487)/2, (screenSize.height-182)/2, 487,

182);

jButtonSetuju.addActionListener(this);

jButtonBersihkan.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == jButtonSetuju) {

if(jTextFieldIdBarang.getText().compareTo("") != 0 &&

jTextFieldNama.getText().compareTo("") != 0 &&

jTextFieldNamaSatuan.getText().compareTo("") != 0) {

int pilihan = JOptionPane.showConfirmDialog(null,"anda yakin

data sudah benar ?","konfirmasi",JOptionPane.YES_NO_OPTION);

if(pilihan == 0) {

String idBarang, namaBarang, satuanBarang;

idBarang = jTextFieldIdBarang.getText();

if(idBarang.length() < 5)

idBarang = idBarang.substring(0,idBarang.length());

else

idBarang = idBarang.substring(0,5);

namaBarang = jTextFieldNama.getText();

if(namaBarang.length() < 100)

namaBarang =

namaBarang.substring(0,namaBarang.length());

else

namaBarang = namaBarang.substring(0,100);

Page 75: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

56 37

satuanBarang = jTextFieldNamaSatuan.getText();

if(satuanBarang.length() < 20)

satuanBarang =

satuanBarang.substring(0,satuanBarang.length());

else

satuanBarang = satuanBarang.substring(0,20);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.11:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "insert into barang values('" + idBarang

+ "','" + namaBarang + "','" + satuanBarang + "',0,0);";

statement.execute(sql);

statement.close();

conn.close();

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"sudah ada barang

dengan id " + jTextFieldIdBarang.getText() + " pada tabel supplier

!","peringatan",2);

}

}

}

else

JOptionPane.showMessageDialog(null,"kolom id barang, nama dan

nama satuan tidak boleh kosong !","peringatan",2);

}

if(e.getSource() == jButtonBersihkan) {

jTextFieldIdBarang.setText("");

jTextFieldNama.setText("");

jTextFieldNamaSatuan.setText("");

}

}

}

6. Form Memasukkan Data Supplier

Page 76: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

57 37

Gbr. 4.6 Form Memasukkan Data Supplier

Melalui form ini karyawan bagian pembelian dapat memasukkan

data supplier. Form ini dibentuk dengan file bernama

MemasukkanDataSupplier.java dimana sintaknya adalah sebagai

berikut :

package pembelian;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class MemasukkanDataSupplier extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonBersihkan;

private javax.swing.JButton jButtonSetuju;

private javax.swing.JLabel jLabelAlamat;

private javax.swing.JLabel jLabelIdSupplier;

private javax.swing.JLabel jLabelNama;

private javax.swing.JLabel jLabelNoTelp;

private javax.swing.JPanel jPanelData;

private javax.swing.JTextField jTextFieldAlamat;

private javax.swing.JTextField jTextFieldIdSupplier;

private javax.swing.JTextField jTextFieldNama;

private javax.swing.JTextField jTextFieldNoTelp;

Page 77: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

58 37

public MemasukkanDataSupplier() {

initComponents();

}

private void initComponents() {

jPanelData = new javax.swing.JPanel();

jLabelIdSupplier = new javax.swing.JLabel();

jTextFieldIdSupplier = new javax.swing.JTextField();

jLabelNama = new javax.swing.JLabel();

jTextFieldNama = new javax.swing.JTextField();

jLabelAlamat = new javax.swing.JLabel();

jTextFieldAlamat = new javax.swing.JTextField();

jLabelNoTelp = new javax.swing.JLabel();

jTextFieldNoTelp = new javax.swing.JTextField();

jButtonSetuju = new javax.swing.JButton();

jButtonBersihkan = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("memasukkan data supplier");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jLabelIdSupplier.setText("id supplier");

jPanelData.add(jLabelIdSupplier);

jLabelIdSupplier.setBounds(10, 10, 80, 20);

jPanelData.add(jTextFieldIdSupplier);

jTextFieldIdSupplier.setBounds(100, 10, 40, 20);

jLabelNama.setText("nama");

jPanelData.add(jLabelNama);

jLabelNama.setBounds(10, 40, 80, 20);

jPanelData.add(jTextFieldNama);

jTextFieldNama.setBounds(100, 40, 330, 20);

jLabelAlamat.setText("alamat");

jPanelData.add(jLabelAlamat);

jLabelAlamat.setBounds(10, 70, 80, 20);

jPanelData.add(jTextFieldAlamat);

jTextFieldAlamat.setBounds(100, 70, 330, 20);

jLabelNoTelp.setText("no telp");

jPanelData.add(jLabelNoTelp);

jLabelNoTelp.setBounds(10, 100, 80, 20);

jPanelData.add(jTextFieldNoTelp);

jTextFieldNoTelp.setBounds(100, 100, 90, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 10, 440, 130);

jButtonSetuju.setText("setuju");

getContentPane().add(jButtonSetuju);

jButtonSetuju.setBounds(240, 150, 100, 20);

Page 78: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

59 37

jButtonBersihkan.setText("bersihkan");

getContentPane().add(jButtonBersihkan);

jButtonBersihkan.setBounds(350, 150, 100, 20);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-468)/2, (screenSize.height-214)/2, 468,

214);

jButtonSetuju.addActionListener(this);

jButtonBersihkan.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == jButtonSetuju) {

if(jTextFieldIdSupplier.getText().compareTo("") != 0 &&

jTextFieldNama.getText().compareTo("") != 0) {

int pilihan = JOptionPane.showConfirmDialog(null,"anda yakin

data sudah benar ?","konfirmasi",JOptionPane.YES_NO_OPTION);

if(pilihan == 0) {

String idSupplier, namaSupplier, alamatSupplier,

noTelpSupplier;

idSupplier = jTextFieldIdSupplier.getText();

if(idSupplier.length() < 5)

idSupplier =

idSupplier.substring(0,idSupplier.length());

else

idSupplier = idSupplier.substring(0,5);

namaSupplier = jTextFieldNama.getText();

if(namaSupplier.length() < 100)

namaSupplier =

namaSupplier.substring(0,namaSupplier.length());

else

namaSupplier = namaSupplier.substring(0,100);

alamatSupplier = jTextFieldAlamat.getText();

if(alamatSupplier.length() < 100)

alamatSupplier =

alamatSupplier.substring(0,alamatSupplier.length());

else

alamatSupplier = alamatSupplier.substring(0,100);

noTelpSupplier = jTextFieldNoTelp.getText();

if(noTelpSupplier.length() < 20)

noTelpSupplier =

noTelpSupplier.substring(0,noTelpSupplier.length());

else

noTelpSupplier = noTelpSupplier.substring(0,20);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.11:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

Page 79: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

60 37

String sql = "insert into supplier values('" +

idSupplier + "','" + namaSupplier + "','" + alamatSupplier + "','" +

noTelpSupplier + "','biasa');";

statement.execute(sql);

statement.close();

conn.close();

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"sudah ada

supplier dengan id " + jTextFieldIdSupplier.getText() + " pada tabel supplier

!","peringatan",2);

}

}

}

else

JOptionPane.showMessageDialog(null,"kolom id supplier dan

nama supplier tidak boleh kosong !","peringatan",2);

}

if(e.getSource() == jButtonBersihkan) {

jTextFieldIdSupplier.setText("");

jTextFieldNama.setText("");

jTextFieldAlamat.setText("");

jTextFieldNoTelp.setText("");

}

}

}

7. Form Menampilkan Data Barang

Page 80: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

61 37

Gbr. 4.7 Form Menampilkan Data Barang

Melalui form ini karyawan bagian pembelian, penjualan dan

manajer dapat mengetahui data mengenai jumlah stok barang yang ada.

Form ini dibentuk dengan file bernama MenampilkanDataBarang.java

dimana sintaknya adalah sebagai berikut :

package penjualan;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class MenampilkanDataBarang extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JLabel jLabelPengurutan;

private javax.swing.JPanel jPanelData;

private javax.swing.JPanel jPanelKriteria;

private javax.swing.JRadioButton jRadioButtonHargaBarang;

Page 81: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

62 37

private javax.swing.JRadioButton jRadioButtonIdBarang;

private javax.swing.JRadioButton jRadioButtonJumlahStok;

private javax.swing.JRadioButton jRadioButtonNamaBarang;

int numberOfRow;

Object[][] data = new Object[0][0];

public MenampilkanDataBarang() {

initComponents();

}

private void initComponents() {

jPanelKriteria = new javax.swing.JPanel();

jLabelPengurutan = new javax.swing.JLabel();

jRadioButtonIdBarang = new javax.swing.JRadioButton();

jRadioButtonNamaBarang = new javax.swing.JRadioButton();

jRadioButtonJumlahStok = new javax.swing.JRadioButton();

jRadioButtonHargaBarang = new javax.swing.JRadioButton();

jPanelData = new javax.swing.JPanel();

getContentPane().setLayout(null);

setTitle("menampilkan data barang");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelKriteria.setLayout(null);

jPanelKriteria.setBorder(new javax.swing.border.TitledBorder(""));

jLabelPengurutan.setText("pengurutan data berdasarkan :");

jPanelKriteria.add(jLabelPengurutan);

jLabelPengurutan.setBounds(10, 10, 190, 20);

jRadioButtonIdBarang.setText("id barang");

jPanelKriteria.add(jRadioButtonIdBarang);

jRadioButtonIdBarang.setBounds(210, 10, 120, 20);

jRadioButtonNamaBarang.setText("nama barang");

jPanelKriteria.add(jRadioButtonNamaBarang);

jRadioButtonNamaBarang.setBounds(340, 10, 120, 20);

jRadioButtonJumlahStok.setText("jumlah stok");

jPanelKriteria.add(jRadioButtonJumlahStok);

jRadioButtonJumlahStok.setBounds(470, 10, 120, 20);

jRadioButtonHargaBarang.setText("harga barang");

jPanelKriteria.add(jRadioButtonHargaBarang);

jRadioButtonHargaBarang.setBounds(600, 10, 120, 20);

getContentPane().add(jPanelKriteria);

jPanelKriteria.setBounds(10, 10, 740, 40);

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 60, 740, 390);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

Page 82: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

63 37

setBounds((screenSize.width-768)/2, (screenSize.height-499)/2, 768,

499);

jRadioButtonIdBarang.setSelected(true);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.12:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select * from barang order by id_brg";

ResultSet rs = statement.executeQuery(sql);

rs.last();

numberOfRow = rs.getRow();

data = new Object[numberOfRow][5];

int currentRow = 0;

rs.beforeFirst();

final String[] headers = {"id barang", "nama", "nama satuan",

"jumlah satuan", "harga satuan"};

while (rs.next()) {

data[currentRow][0] = rs.getString(1);

data[currentRow][1] = rs.getString(2);

data[currentRow][2] = rs.getString(3);

data[currentRow][3] = rs.getString(4);

data[currentRow][4] = rs.getString(5);

currentRow++;

}

statement.close();

conn.close();

JTable jTableData = new JTable(data, headers);

jTableData.setEnabled(false);

JScrollPane jScrollPaneData = new JScrollPane(jTableData);

jPanelData.add(jScrollPaneData);

jScrollPaneData.setBounds(10, 10, 720, 370);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

jRadioButtonIdBarang.addActionListener(this);

jRadioButtonNamaBarang.addActionListener(this);

jRadioButtonJumlahStok.addActionListener(this);

jRadioButtonHargaBarang.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MemasukkanDataOrderPenjualan().show();

}

public void actionPerformed(ActionEvent e) {

jPanelData.removeAll();

String sql = "";

if(e.getSource() == jRadioButtonIdBarang) {

if(jRadioButtonIdBarang.isSelected()) {

Page 83: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

64 37

jRadioButtonNamaBarang.setSelected(false);

jRadioButtonJumlahStok.setSelected(false);

jRadioButtonHargaBarang.setSelected(false);

}

jRadioButtonIdBarang.setSelected(true);

sql = "select * from barang order by id_brg";

}

else if(e.getSource() == jRadioButtonNamaBarang) {

if(jRadioButtonNamaBarang.isSelected()) {

jRadioButtonIdBarang.setSelected(false);

jRadioButtonJumlahStok.setSelected(false);

jRadioButtonHargaBarang.setSelected(false);

}

jRadioButtonNamaBarang.setSelected(true);

sql = "select * from barang order by nama";

}

else if(e.getSource() == jRadioButtonJumlahStok) {

if(jRadioButtonJumlahStok.isSelected()) {

jRadioButtonNamaBarang.setSelected(false);

jRadioButtonIdBarang.setSelected(false);

jRadioButtonHargaBarang.setSelected(false);

}

jRadioButtonJumlahStok.setSelected(true);

sql = "select * from barang order by jml_satuan";

}

else if(e.getSource() == jRadioButtonHargaBarang) {

if(jRadioButtonHargaBarang.isSelected()) {

jRadioButtonNamaBarang.setSelected(false);

jRadioButtonJumlahStok.setSelected(false);

jRadioButtonIdBarang.setSelected(false);

}

jRadioButtonHargaBarang.setSelected(true);

sql = "select * from barang order by hrg_satuan";

}

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.12:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

ResultSet rs = statement.executeQuery(sql);

rs.last();

numberOfRow = rs.getRow();

data = new Object[numberOfRow][5];

int currentRow = 0;

rs.beforeFirst();

final String[] headers = {"id barang", "nama", "nama satuan",

"jumlah satuan", "harga satuan"};

while (rs.next()) {

data[currentRow][0] = rs.getString(1);

data[currentRow][1] = rs.getString(2);

data[currentRow][2] = rs.getString(3);

data[currentRow][3] = rs.getString(4);

data[currentRow][4] = rs.getString(5);

currentRow++;

}

statement.close();

conn.close();

JTable jTableData = new JTable(data, headers);

jTableData.setEnabled(false);

JScrollPane jScrollPaneData = new JScrollPane(jTableData);

Page 84: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

65 37

jPanelData.add(jScrollPaneData);

jScrollPaneData.setBounds(10, 10, 720, 370);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

}

8. Form Menampilkan Data Supplier

Gbr. 4.8 Form Menampilkan Data Supplier

Melalui form ini karyawan bagian pembelian dan manajer dapat

mengetahui data mengenai supplier. Form ini dibentuk dengan file

Page 85: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

66 37

bernama MenampilkanDataSupplier.java dimana sintaknya adalah

sebagai berikut :

package pembelian;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class MemasukkanDataSupplier extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonBersihkan;

private javax.swing.JButton jButtonSetuju;

private javax.swing.JLabel jLabelAlamat;

private javax.swing.JLabel jLabelIdSupplier;

private javax.swing.JLabel jLabelNama;

private javax.swing.JLabel jLabelNoTelp;

private javax.swing.JPanel jPanelData;

private javax.swing.JTextField jTextFieldAlamat;

private javax.swing.JTextField jTextFieldIdSupplier;

private javax.swing.JTextField jTextFieldNama;

private javax.swing.JTextField jTextFieldNoTelp;

public MemasukkanDataSupplier() {

initComponents();

}

private void initComponents() {

jPanelData = new javax.swing.JPanel();

jLabelIdSupplier = new javax.swing.JLabel();

jTextFieldIdSupplier = new javax.swing.JTextField();

jLabelNama = new javax.swing.JLabel();

jTextFieldNama = new javax.swing.JTextField();

jLabelAlamat = new javax.swing.JLabel();

jTextFieldAlamat = new javax.swing.JTextField();

jLabelNoTelp = new javax.swing.JLabel();

jTextFieldNoTelp = new javax.swing.JTextField();

jButtonSetuju = new javax.swing.JButton();

jButtonBersihkan = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("memasukkan data supplier");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jLabelIdSupplier.setText("id supplier");

jPanelData.add(jLabelIdSupplier);

jLabelIdSupplier.setBounds(10, 10, 80, 20);

jPanelData.add(jTextFieldIdSupplier);

Page 86: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

67 37

jTextFieldIdSupplier.setBounds(100, 10, 40, 20);

jLabelNama.setText("nama");

jPanelData.add(jLabelNama);

jLabelNama.setBounds(10, 40, 80, 20);

jPanelData.add(jTextFieldNama);

jTextFieldNama.setBounds(100, 40, 330, 20);

jLabelAlamat.setText("alamat");

jPanelData.add(jLabelAlamat);

jLabelAlamat.setBounds(10, 70, 80, 20);

jPanelData.add(jTextFieldAlamat);

jTextFieldAlamat.setBounds(100, 70, 330, 20);

jLabelNoTelp.setText("no telp");

jPanelData.add(jLabelNoTelp);

jLabelNoTelp.setBounds(10, 100, 80, 20);

jPanelData.add(jTextFieldNoTelp);

jTextFieldNoTelp.setBounds(100, 100, 90, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 10, 440, 130);

jButtonSetuju.setText("setuju");

getContentPane().add(jButtonSetuju);

jButtonSetuju.setBounds(240, 150, 100, 20);

jButtonBersihkan.setText("bersihkan");

getContentPane().add(jButtonBersihkan);

jButtonBersihkan.setBounds(350, 150, 100, 20);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-468)/2, (screenSize.height-214)/2, 468,

214);

jButtonSetuju.addActionListener(this);

jButtonBersihkan.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == jButtonSetuju) {

if(jTextFieldIdSupplier.getText().compareTo("") != 0 &&

jTextFieldNama.getText().compareTo("") != 0) {

int pilihan = JOptionPane.showConfirmDialog(null,"anda yakin

data sudah benar ?","konfirmasi",JOptionPane.YES_NO_OPTION);

if(pilihan == 0) {

String idSupplier, namaSupplier, alamatSupplier,

noTelpSupplier;

idSupplier = jTextFieldIdSupplier.getText();

if(idSupplier.length() < 5)

idSupplier =

idSupplier.substring(0,idSupplier.length());

else

idSupplier = idSupplier.substring(0,5);

Page 87: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

68 37

namaSupplier = jTextFieldNama.getText();

if(namaSupplier.length() < 100)

namaSupplier =

namaSupplier.substring(0,namaSupplier.length());

else

namaSupplier = namaSupplier.substring(0,100);

alamatSupplier = jTextFieldAlamat.getText();

if(alamatSupplier.length() < 100)

alamatSupplier =

alamatSupplier.substring(0,alamatSupplier.length());

else

alamatSupplier = alamatSupplier.substring(0,100);

noTelpSupplier = jTextFieldNoTelp.getText();

if(noTelpSupplier.length() < 20)

noTelpSupplier =

noTelpSupplier.substring(0,noTelpSupplier.length());

else

noTelpSupplier = noTelpSupplier.substring(0,20);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.11:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "insert into supplier values('" +

idSupplier + "','" + namaSupplier + "','" + alamatSupplier + "','" +

noTelpSupplier + "','biasa');";

statement.execute(sql);

statement.close();

conn.close();

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"sudah ada

supplier dengan id " + jTextFieldIdSupplier.getText() + " pada tabel supplier

!","peringatan",2);

}

}

}

else

JOptionPane.showMessageDialog(null,"kolom id supplier dan

nama supplier tidak boleh kosong !","peringatan",2);

}

if(e.getSource() == jButtonBersihkan) {

jTextFieldIdSupplier.setText("");

jTextFieldNama.setText("");

jTextFieldAlamat.setText("");

jTextFieldNoTelp.setText("");

}

}

}

Page 88: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

69 37

9. Form Mengubah Data Supplier

Gbr. 4.9 Form Mengubah Data Supplier

Melalui form ini karyawan bagian pembelian dapat mengubah data

supplier. Data supplier yang dapat diubah adalah alamat, no telepon dan

kategori. Form ini dibentuk dengan file bernama

MengubahDataSupplier.java dimana sintaknya adalah sebagai berikut :

package pembelian;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class MengubahDataSupplier extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonSetuju;

private javax.swing.JComboBox jComboBoxIdSupplier;

private javax.swing.JComboBox jComboBoxKategori;

private javax.swing.JLabel jLabelAlamat;

private javax.swing.JLabel jLabelIdSupplier;

private javax.swing.JLabel jLabelKategori;

private javax.swing.JLabel jLabelNama;

private javax.swing.JLabel jLabelNoTelp;

Page 89: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

70 37

private javax.swing.JPanel jPanelData;

private javax.swing.JTextField jTextFieldAlamat;

private javax.swing.JTextField jTextFieldNama;

private javax.swing.JTextField jTextFieldNoTelp;

int numberOfRow;

String kategori[] = {"biasa","langganan"};

public MengubahDataSupplier() {

initComponents();

}

private void initComponents() {

jLabelIdSupplier = new javax.swing.JLabel();

jComboBoxIdSupplier = new javax.swing.JComboBox();

jPanelData = new javax.swing.JPanel();

jLabelNama = new javax.swing.JLabel();

jTextFieldNama = new javax.swing.JTextField();

jLabelAlamat = new javax.swing.JLabel();

jTextFieldAlamat = new javax.swing.JTextField();

jLabelNoTelp = new javax.swing.JLabel();

jTextFieldNoTelp = new javax.swing.JTextField();

jLabelKategori = new javax.swing.JLabel();

jComboBoxKategori = new javax.swing.JComboBox();

jButtonSetuju = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("mengubah data supplier");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jLabelIdSupplier.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelIdSupplier.setText("id supplier");

getContentPane().add(jLabelIdSupplier);

jLabelIdSupplier.setBounds(260, 10, 80, 20);

getContentPane().add(jComboBoxIdSupplier);

jComboBoxIdSupplier.setBounds(350, 10, 100, 20);

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jLabelNama.setText("nama");

jPanelData.add(jLabelNama);

jLabelNama.setBounds(10, 10, 80, 20);

jTextFieldNama.setEditable(false);

jPanelData.add(jTextFieldNama);

jTextFieldNama.setBounds(100, 10, 330, 20);

jLabelAlamat.setText("alamat");

jPanelData.add(jLabelAlamat);

jLabelAlamat.setBounds(10, 40, 80, 20);

jPanelData.add(jTextFieldAlamat);

jTextFieldAlamat.setBounds(100, 40, 330, 20);

jLabelNoTelp.setText("no telp");

jPanelData.add(jLabelNoTelp);

Page 90: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

71 37

jLabelNoTelp.setBounds(10, 70, 80, 20);

jPanelData.add(jTextFieldNoTelp);

jTextFieldNoTelp.setBounds(100, 70, 90, 20);

jLabelKategori.setText("kategori");

jPanelData.add(jLabelKategori);

jLabelKategori.setBounds(10, 100, 80, 20);

jPanelData.add(jComboBoxKategori);

jComboBoxKategori.setBounds(100, 100, 90, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 40, 440, 130);

jButtonSetuju.setText("setuju");

getContentPane().add(jButtonSetuju);

jButtonSetuju.setBounds(350, 180, 100, 20);

for(int i=0; i<2; i++) {

jComboBoxKategori.addItem(kategori[i]);

}

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-468)/2, (screenSize.height-244)/2, 468,

244);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.11:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select id_supl from supplier";

ResultSet rs = statement.executeQuery(sql);

if(rs.first() == false) {

JOptionPane.showMessageDialog(null,"data supplier masih

kosong.","pesan",1);

jComboBoxIdSupplier.setEnabled(false);

jComboBoxKategori.setEnabled(false);

jTextFieldAlamat.setEditable(false);

jTextFieldNoTelp.setEditable(false);

jButtonSetuju.setEnabled(false);

}

else {

rs.beforeFirst();

while(rs.next()) {

jComboBoxIdSupplier.addItem(rs.getString(1));

}

sql = "select nama, alamat, telp, kategori from supplier where

id_supl = '" + String.valueOf(jComboBoxIdSupplier.getSelectedItem()) + "';";

rs = statement.executeQuery(sql);

rs.first();

jTextFieldNama.setText(rs.getString(1));

jTextFieldAlamat.setText(rs.getString(2));

jTextFieldNoTelp.setText(rs.getString(3));

if(rs.getString(4).compareTo("biasa") == 0) {

jComboBoxKategori.setSelectedIndex(0);

}

else

jComboBoxKategori.setSelectedIndex(1);

statement.close();

conn.close();

Page 91: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

72 37

jTextFieldAlamat.setEditable(true);

jTextFieldNoTelp.setEditable(true);

jComboBoxKategori.setEnabled(true);

}

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

jComboBoxIdSupplier.addActionListener(this);

jButtonSetuju.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == jComboBoxIdSupplier) {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.11:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select nama, alamat, telp, kategori from

supplier where id_supl = '" +

String.valueOf(jComboBoxIdSupplier.getSelectedItem()) + "';";

ResultSet rs = statement.executeQuery(sql);

rs.first();

jTextFieldNama.setText(rs.getString(1));

jTextFieldAlamat.setText(rs.getString(2));

jTextFieldNoTelp.setText(rs.getString(3));

if(rs.getString(4).compareTo("biasa") == 0) {

jComboBoxKategori.setSelectedIndex(0);

}

else

jComboBoxKategori.setSelectedIndex(1);

statement.close();

conn.close();

jTextFieldAlamat.setEditable(true);

jTextFieldNoTelp.setEditable(true);

jComboBoxKategori.setEnabled(true);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

if(e.getSource() == jButtonSetuju) {

int pilihan = JOptionPane.showConfirmDialog(null,"anda yakin data

sudah benar ?","konfirmasi",JOptionPane.YES_NO_OPTION);

if(pilihan == 0) {

Page 92: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

73 37

if(String.valueOf(jComboBoxKategori.getSelectedItem()).compareTo("langganan")

== 0 && jTextFieldAlamat.getText().compareTo("") == 0) {

JOptionPane.showMessageDialog(null,"untuk kategori

supplier langganan, alamat supplier harus diisi !","peringatan",2);

}

else {

String alamatSupplier, telpSupplier;

alamatSupplier = jTextFieldAlamat.getText();

if(alamatSupplier.length() < 100)

alamatSupplier =

alamatSupplier.substring(0,alamatSupplier.length());

else

alamatSupplier = alamatSupplier.substring(0,100);

telpSupplier = jTextFieldNoTelp.getText();

if(telpSupplier.length() < 20)

telpSupplier =

telpSupplier.substring(0,telpSupplier.length());

else

telpSupplier = telpSupplier.substring(0,20);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.11:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "update supplier set alamat = '" +

alamatSupplier + "', telp = '" + telpSupplier + "', kategori = '" +

String.valueOf(jComboBoxKategori.getSelectedItem()) + "' where id_supl = '" +

String.valueOf(jComboBoxIdSupplier.getSelectedItem()) + "';";

statement.execute(sql);

statement.close();

conn.close();

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan

pada database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk

keluar dari sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

}

}

}

}

Page 93: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

74 37

10. Form Pencarian Data Barang

Gbr. 4.10 Form Pencarian Data Barang

Melalui form ini karyawan bagian pembelian, penjualan dan

manajer dapat melakukan pencarian data stok barang yang dimiliki. Proses

pencarian data dilakukan berdasarkan nama barang. Form ini dibentuk

Page 94: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

75 37

dengan file bernama PencarianDataBarang.java dimana sintaknya

adalah sebagai berikut :

package penjualan;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class PencarianDataBarang extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonCari;

private javax.swing.JLabel jLabelNamaBarangYangDicari;

private javax.swing.JPanel jPanelHasilPencarian;

private javax.swing.JPanel jPanelKriteriaPencarian;

private javax.swing.JTextField jTextFieldNamaBarangYangDicari;

int numberOfRow;

Object[][] data = new Object[0][0];

public PencarianDataBarang() {

initComponents();

}

private void initComponents() {

jPanelKriteriaPencarian = new javax.swing.JPanel();

jLabelNamaBarangYangDicari = new javax.swing.JLabel();

jTextFieldNamaBarangYangDicari = new javax.swing.JTextField();

jButtonCari = new javax.swing.JButton();

jPanelHasilPencarian = new javax.swing.JPanel();

getContentPane().setLayout(null);

setTitle("pencarian data barang");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelKriteriaPencarian.setLayout(null);

jPanelKriteriaPencarian.setBorder(new

javax.swing.border.TitledBorder(""));

jLabelNamaBarangYangDicari.setText("nama barang yang dicari");

jPanelKriteriaPencarian.add(jLabelNamaBarangYangDicari);

jLabelNamaBarangYangDicari.setBounds(10, 10, 160, 20);

jPanelKriteriaPencarian.add(jTextFieldNamaBarangYangDicari);

jTextFieldNamaBarangYangDicari.setBounds(180, 10, 350, 20);

jButtonCari.setText("cari");

jPanelKriteriaPencarian.add(jButtonCari);

jButtonCari.setBounds(540, 10, 150, 20);

getContentPane().add(jPanelKriteriaPencarian);

jPanelKriteriaPencarian.setBounds(10, 10, 700, 40);

Page 95: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

76 37

jPanelHasilPencarian.setLayout(null);

jPanelHasilPencarian.setBorder(new

javax.swing.border.TitledBorder(""));

getContentPane().add(jPanelHasilPencarian);

jPanelHasilPencarian.setBounds(10, 60, 700, 350);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-728)/2, (screenSize.height-454)/2, 728,

454);

jButtonCari.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MemasukkanDataOrderPenjualan().show();

}

public void actionPerformed(ActionEvent e) {

jPanelHasilPencarian.removeAll();

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.12:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select * from barang where nama like '%" +

jTextFieldNamaBarangYangDicari.getText() + "%';";

ResultSet rs = statement.executeQuery(sql);

rs.last();

numberOfRow = rs.getRow();

data = new Object[numberOfRow][5];

int currentRow = 0;

rs.beforeFirst();

final String[] headers = {"id barang", "nama", "nama satuan",

"jumlah satuan", "harga satuan"};

while (rs.next()) {

data[currentRow][0] = rs.getString(1);

data[currentRow][1] = rs.getString(2);

data[currentRow][2] = rs.getString(3);

data[currentRow][3] = rs.getString(4);

data[currentRow][4] = rs.getString(5);

currentRow++;

}

statement.close();

conn.close();

JTable jTableData = new JTable(data, headers);

jTableData.setEnabled(false);

JScrollPane jScrollPaneData = new JScrollPane(jTableData);

jPanelHasilPencarian.add(jScrollPaneData);

jScrollPaneData.setBounds(10, 10, 680, 330);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

Page 96: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

77 37

System.exit(0);

}

}

}

11. Form Pencarian Data Supplier

Gbr. 4.11 Form Pencarian Data Supplier

Melalui form ini karyawan bagian pembelian dan manajer dapat

melakukan pencarian data supplier. Proses pencarian data bisa dilakukan

berdasarkan nama supplier, alamat dan kategori supplier. Form ini

Page 97: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

78 37

dibentuk dengan file bernama PencarianDataSupplier.java dimana

sintaknya adalah sebagai berikut :

package pembelian;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class PencarianDataSupplier extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonCari;

private javax.swing.JCheckBox jCheckBoxPencarianBerdasarkanAlamat;

private javax.swing.JCheckBox jCheckBoxPencarianBerdasarkanKategori;

private javax.swing.JCheckBox jCheckBoxPencarianBerdasarkanNama;

private javax.swing.JComboBox jComboBoxPencarianBerdasarkanKategori;

private javax.swing.JPanel jPanelHasilPencarian;

private javax.swing.JPanel jPanelKriteriaPencarian;

private javax.swing.JTextField jTextFieldPencarianBerdasarkanAlamat;

private javax.swing.JTextField jTextFieldPencarianBerdasarkanNama;

int numberOfRow;

Object[][] data = new Object[0][0];

String arrayKategori[] = {"biasa","langganan"};

public PencarianDataSupplier() {

initComponents();

}

private void initComponents() {

jPanelKriteriaPencarian = new javax.swing.JPanel();

jCheckBoxPencarianBerdasarkanNama = new javax.swing.JCheckBox();

jTextFieldPencarianBerdasarkanNama = new javax.swing.JTextField();

jCheckBoxPencarianBerdasarkanKategori = new javax.swing.JCheckBox();

jComboBoxPencarianBerdasarkanKategori = new javax.swing.JComboBox();

jCheckBoxPencarianBerdasarkanAlamat = new javax.swing.JCheckBox();

jTextFieldPencarianBerdasarkanAlamat = new javax.swing.JTextField();

jButtonCari = new javax.swing.JButton();

jPanelHasilPencarian = new javax.swing.JPanel();

getContentPane().setLayout(null);

setTitle("pencarian data supplier");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelKriteriaPencarian.setLayout(null);

jPanelKriteriaPencarian.setBorder(new

javax.swing.border.TitledBorder(""));

jCheckBoxPencarianBerdasarkanNama.setText("pencarian berdasarkan

nama");

jPanelKriteriaPencarian.add(jCheckBoxPencarianBerdasarkanNama);

jCheckBoxPencarianBerdasarkanNama.setBounds(10, 10, 200, 20);

Page 98: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

79 37

jPanelKriteriaPencarian.add(jTextFieldPencarianBerdasarkanNama);

jTextFieldPencarianBerdasarkanNama.setBounds(220, 10, 150, 20);

jCheckBoxPencarianBerdasarkanKategori.setText("pencarian berdasarkan

kategori");

jPanelKriteriaPencarian.add(jCheckBoxPencarianBerdasarkanKategori);

jCheckBoxPencarianBerdasarkanKategori.setBounds(380, 10, 210, 20);

jPanelKriteriaPencarian.add(jComboBoxPencarianBerdasarkanKategori);

jComboBoxPencarianBerdasarkanKategori.setBounds(600, 10, 120, 20);

jCheckBoxPencarianBerdasarkanAlamat.setText("pencarian berdasarkan

alamat");

jPanelKriteriaPencarian.add(jCheckBoxPencarianBerdasarkanAlamat);

jCheckBoxPencarianBerdasarkanAlamat.setBounds(10, 40, 200, 20);

jPanelKriteriaPencarian.add(jTextFieldPencarianBerdasarkanAlamat);

jTextFieldPencarianBerdasarkanAlamat.setBounds(220, 40, 150, 20);

jButtonCari.setText("cari");

jPanelKriteriaPencarian.add(jButtonCari);

jButtonCari.setBounds(380, 40, 340, 20);

getContentPane().add(jPanelKriteriaPencarian);

jPanelKriteriaPencarian.setBounds(10, 10, 730, 70);

jPanelHasilPencarian.setLayout(null);

jPanelHasilPencarian.setBorder(new

javax.swing.border.TitledBorder(""));

getContentPane().add(jPanelHasilPencarian);

jPanelHasilPencarian.setBounds(10, 90, 730, 360);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-760)/2, (screenSize.height-496)/2, 760,

496);

for(int i=0; i<2; i++) {

jComboBoxPencarianBerdasarkanKategori.addItem(arrayKategori[i]);

}

jTextFieldPencarianBerdasarkanAlamat.setEditable(false);

jTextFieldPencarianBerdasarkanNama.setEditable(false);

jComboBoxPencarianBerdasarkanKategori.setEnabled(false);

jButtonCari.setEnabled(false);

jCheckBoxPencarianBerdasarkanNama.addActionListener(this);

jCheckBoxPencarianBerdasarkanAlamat.addActionListener(this);

jCheckBoxPencarianBerdasarkanKategori.addActionListener(this);

jButtonCari.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MemasukkanDataOrderPembelian().show();

}

public void actionPerformed(ActionEvent e) {

jPanelHasilPencarian.removeAll();

if(e.getSource() == jCheckBoxPencarianBerdasarkanNama) {

jTextFieldPencarianBerdasarkanNama.setText("");

if(jCheckBoxPencarianBerdasarkanNama.isSelected())

Page 99: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

80 37

jTextFieldPencarianBerdasarkanNama.setEditable(true);

else

jTextFieldPencarianBerdasarkanNama.setEditable(false);

}

if(e.getSource() == jCheckBoxPencarianBerdasarkanAlamat) {

jTextFieldPencarianBerdasarkanAlamat.setText("");

if(jCheckBoxPencarianBerdasarkanAlamat.isSelected())

jTextFieldPencarianBerdasarkanAlamat.setEditable(true);

else

jTextFieldPencarianBerdasarkanAlamat.setEditable(false);

}

if(e.getSource() == jCheckBoxPencarianBerdasarkanKategori) {

if(jCheckBoxPencarianBerdasarkanKategori.isSelected())

jComboBoxPencarianBerdasarkanKategori.setEnabled(true);

else

jComboBoxPencarianBerdasarkanKategori.setEnabled(false);

}

if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() ||

jCheckBoxPencarianBerdasarkanNama.isSelected() ||

jCheckBoxPencarianBerdasarkanKategori.isSelected()) {

jButtonCari.setEnabled(true);

}

else

jButtonCari.setEnabled(false);

if(e.getSource() == jButtonCari) {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.11:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "";

if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() &&

jCheckBoxPencarianBerdasarkanNama.isSelected() == false &&

jCheckBoxPencarianBerdasarkanKategori.isSelected() == false) {

sql = "select * from supplier where alamat like '%" +

jTextFieldPencarianBerdasarkanAlamat.getText() + "%';";

}

else if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() ==

false && jCheckBoxPencarianBerdasarkanNama.isSelected() &&

jCheckBoxPencarianBerdasarkanKategori.isSelected() == false) {

sql = "select * from supplier where nama like '%" +

jTextFieldPencarianBerdasarkanNama.getText() + "%';";

}

else if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() ==

false && jCheckBoxPencarianBerdasarkanNama.isSelected() == false &&

jCheckBoxPencarianBerdasarkanKategori.isSelected()) {

sql = "select * from supplier where kategori like '%" +

String.valueOf(jComboBoxPencarianBerdasarkanKategori.getSelectedItem()) +

"%';";

}

else if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() &&

jCheckBoxPencarianBerdasarkanNama.isSelected() &&

jCheckBoxPencarianBerdasarkanKategori.isSelected() == false) {

sql = "select * from supplier where alamat like '%" +

jTextFieldPencarianBerdasarkanAlamat.getText() + "%' and nama like '%" +

jTextFieldPencarianBerdasarkanNama.getText() + "%';";

}

else if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() &&

jCheckBoxPencarianBerdasarkanNama.isSelected() == false &&

jCheckBoxPencarianBerdasarkanKategori.isSelected()) {

sql = "select * from supplier where alamat like '%" +

jTextFieldPencarianBerdasarkanAlamat.getText() + "%' and kategori like '%" +

Page 100: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

81 37

String.valueOf(jComboBoxPencarianBerdasarkanKategori.getSelectedItem()) +

"%';";

}

else if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() ==

false && jCheckBoxPencarianBerdasarkanNama.isSelected() &&

jCheckBoxPencarianBerdasarkanKategori.isSelected()) {

sql = "select * from supplier where nama like '%" +

jTextFieldPencarianBerdasarkanNama.getText() + "%' and kategori like '%" +

String.valueOf(jComboBoxPencarianBerdasarkanKategori.getSelectedItem()) +

"%';";

}

else if(jCheckBoxPencarianBerdasarkanAlamat.isSelected() &&

jCheckBoxPencarianBerdasarkanNama.isSelected() &&

jCheckBoxPencarianBerdasarkanKategori.isSelected()) {

sql = "select * from supplier where alamat like '%" +

jTextFieldPencarianBerdasarkanAlamat.getText() + "%' and nama like '%" +

jTextFieldPencarianBerdasarkanNama.getText() + "%' and kategori like '%" +

String.valueOf(jComboBoxPencarianBerdasarkanKategori.getSelectedItem()) +

"%';";

}

ResultSet rs = statement.executeQuery(sql);

rs.last();

numberOfRow = rs.getRow();

data = new Object[numberOfRow][5];

int currentRow = 0;

rs.beforeFirst();

final String[] headers = {"id supplier", "nama", "alamat",

"telp", "kategori"};

while (rs.next()) {

data[currentRow][0] = rs.getString(1);

data[currentRow][1] = rs.getString(2);

data[currentRow][2] = rs.getString(3);

data[currentRow][3] = rs.getString(4);

data[currentRow][4] = rs.getString(5);

currentRow++;

}

statement.close();

conn.close();

JTable jTableData = new JTable(data, headers);

jTableData.setEnabled(false);

JScrollPane jScrollPaneData = new JScrollPane(jTableData);

jPanelHasilPencarian.add(jScrollPaneData);

jScrollPaneData.setBounds(10, 10, 710, 340);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

}

}

Page 101: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

82 37

12. Form Laporan Data Pembelian Barang

Gbr. 4.12 Form Laporan Data Pembelian Barang

Melalui form ini manajer dapat melihat data order pembelian atas

barang dagangan selama periode tertentu. Form ini dibentuk dengan file

Page 102: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

83 37

bernama LaporanPembelian.java dimana sintaknya adalah sebagai

berikut :

package manajer;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class LaporanPembelian extends javax.swing.JFrame implements

ActionListener {

//private javax.swing.JButton jButtonCetak;

private javax.swing.JLabel jLabelJenisBarangDibeli;

private javax.swing.JLabel jLabelTglLaporan;

private javax.swing.JLabel jLabelTotalKasKeluar;

private javax.swing.JPanel jPanelData;

private javax.swing.JPanel jPanelLaporan;

Object[][] data = new Object[0][0];

int numberOfRow;

String tglMulai, tglSelesai;

public LaporanPembelian(String inTglMulai, String inTglSelesai) {

tglMulai = inTglMulai;

tglSelesai = inTglSelesai;

initComponents();

}

private void initComponents() {

jPanelLaporan = new javax.swing.JPanel();

jLabelTglLaporan = new javax.swing.JLabel();

jLabelJenisBarangDibeli = new javax.swing.JLabel();

jPanelData = new javax.swing.JPanel();

jLabelTotalKasKeluar = new javax.swing.JLabel();

//jButtonCetak = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("laporan pembelian barang");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelLaporan.setLayout(null);

jPanelLaporan.setBorder(new javax.swing.border.TitledBorder(""));

jLabelTglLaporan.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelTglLaporan.setText("laporan pembelian pada (thn-bln-tgl) : ");

jPanelLaporan.add(jLabelTglLaporan);

jLabelTglLaporan.setBounds(10, 10, 510, 20);

jLabelJenisBarangDibeli.setHorizontalAlignment(javax.swing.SwingConstants.RIGH

T);

Page 103: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

84 37

jLabelJenisBarangDibeli.setText("jenis barang yang dibeli :");

jPanelLaporan.add(jLabelJenisBarangDibeli);

jLabelJenisBarangDibeli.setBounds(10, 40, 510, 20);

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jPanelLaporan.add(jPanelData);

jPanelData.setBounds(10, 70, 510, 160);

jLabelTotalKasKeluar.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelTotalKasKeluar.setText("total jumlah kas keluar untuk pembelian

barang :");

jPanelLaporan.add(jLabelTotalKasKeluar);

jLabelTotalKasKeluar.setBounds(10, 240, 510, 20);

getContentPane().add(jPanelLaporan);

jPanelLaporan.setBounds(10, 10, 530, 270);

//jButtonCetak.setText("cetak");

//getContentPane().add(jButtonCetak);

//jButtonCetak.setBounds(390, 290, 150, 20);

//java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

//setBounds((screenSize.width-557)/2, (screenSize.height-355)/2, 557,

355);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-557)/2, (screenSize.height-325)/2, 557,

325);

jLabelTglLaporan.setText(jLabelTglLaporan.getText() + tglMulai + " s/d

" + tglSelesai + ".");

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sqlTotalBiaya = "select jml_satuan, hrg_beli_per_satuan,

jml_satuan * hrg_beli_per_satuan as total from order_beli where tgl between '"

+ tglMulai + "' and '" + tglSelesai + "';";

ResultSet rsTotalBiaya = statement.executeQuery(sqlTotalBiaya);

double totalBiaya = 0;

while(rsTotalBiaya.next()) {

totalBiaya = totalBiaya + rsTotalBiaya.getDouble(3);

}

jLabelTotalKasKeluar.setText(jLabelTotalKasKeluar.getText() + " "

+ String.valueOf(totalBiaya));

String sqlJenisBrg = "select id_brg, nama from barang where id_brg

= any (select id_brg from order_beli where tgl between '" + tglMulai + "' and

'" + tglSelesai + "');";

ResultSet rsJenisBrg = statement.executeQuery(sqlJenisBrg);

if(rsJenisBrg.next() == false) {

jLabelJenisBarangDibeli.setText(jLabelJenisBarangDibeli.getText() + " 0");

}

else {

Page 104: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

85 37

rsJenisBrg.last();

numberOfRow = rsJenisBrg.getRow();

jLabelJenisBarangDibeli.setText(jLabelJenisBarangDibeli.getText() + " " +

String.valueOf(numberOfRow));

}

Object[][] data = new Object[numberOfRow][2];

rsJenisBrg.beforeFirst();

int currentRow = 0;

final String[] headers = {"id barang", "nama barang"};

while(rsJenisBrg.next()) {

data[currentRow][0] = rsJenisBrg.getString(1);

data[currentRow][1] = rsJenisBrg.getString(2);

currentRow++;

}

statement.close();

conn.close();

JTable jTableData = new JTable(data, headers);

jTableData.setEnabled(false);

JScrollPane jScrollPaneData = new JScrollPane(jTableData);

jPanelData.add(jScrollPaneData);

jScrollPaneData.setBounds(0, 0, 510, 160);

}

catch(Exception exc) {

System.out.print(exc);

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MenampilkanDataOrderPembelian().show();

}

public void actionPerformed(ActionEvent e) {

}

}

13. Form Laporan Data Penjualan Barang

Page 105: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

86 37

Gbr. 4.13 Form Laporan Data Penjualan Barang

Melalui form ini manajer dapat melihat data order penjualan atas

barang dagangan selama periode tertentu. Form ini dibentuk dengan file

bernama LaporanPenjualan.java dimana sintaknya adalah sebagai

berikut :

package manajer;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class LaporanPenjualan extends javax.swing.JFrame implements

ActionListener {

//private javax.swing.JButton jButtonCetak;

private javax.swing.JLabel jLabelJenisBarangDijual;

private javax.swing.JLabel jLabelTglLaporan;

private javax.swing.JLabel jLabelTotalKasMasuk;

private javax.swing.JPanel jPanelData;

private javax.swing.JPanel jPanelLaporan;

Page 106: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

87 37

Object[][] data = new Object[0][0];

int numberOfRow;

String tglMulai, tglSelesai;

public LaporanPenjualan(String inTglMulai, String inTglSelesai) {

tglMulai = inTglMulai;

tglSelesai = inTglSelesai;

initComponents();

}

private void initComponents() {

jPanelLaporan = new javax.swing.JPanel();

jLabelTglLaporan = new javax.swing.JLabel();

jLabelJenisBarangDijual = new javax.swing.JLabel();

jPanelData = new javax.swing.JPanel();

jLabelTotalKasMasuk = new javax.swing.JLabel();

//jButtonCetak = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("laporan penjualan barang");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelLaporan.setLayout(null);

jPanelLaporan.setBorder(new javax.swing.border.TitledBorder(""));

jLabelTglLaporan.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelTglLaporan.setText("laporan penjualan pada (thn-bln-tgl) : ");

jPanelLaporan.add(jLabelTglLaporan);

jLabelTglLaporan.setBounds(10, 10, 510, 20);

jLabelJenisBarangDijual.setHorizontalAlignment(javax.swing.SwingConstants.RIGH

T);

jLabelJenisBarangDijual.setText("jenis barang yang terjual :");

jPanelLaporan.add(jLabelJenisBarangDijual);

jLabelJenisBarangDijual.setBounds(10, 40, 510, 20);

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jPanelLaporan.add(jPanelData);

jPanelData.setBounds(10, 70, 510, 160);

jLabelTotalKasMasuk.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelTotalKasMasuk.setText("total jumlah kas diterima atas penjualan

barang :");

jPanelLaporan.add(jLabelTotalKasMasuk);

jLabelTotalKasMasuk.setBounds(10, 240, 510, 20);

getContentPane().add(jPanelLaporan);

jPanelLaporan.setBounds(10, 10, 530, 270);

//jButtonCetak.setText("cetak");

//getContentPane().add(jButtonCetak);

//jButtonCetak.setBounds(390, 290, 150, 20);

Page 107: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

88 37

//java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

//setBounds((screenSize.width-557)/2, (screenSize.height-355)/2, 557,

355);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-557)/2, (screenSize.height-325)/2, 557,

325);

jLabelTglLaporan.setText(jLabelTglLaporan.getText() + tglMulai + " s/d

" + tglSelesai + ".");

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sqlTotalBiaya = "select jml_satuan, hrg_jual_per_satuan,

jml_satuan * hrg_jual_per_satuan as total from order_jual where tgl between '"

+ tglMulai + "' and '" + tglSelesai + "';";

ResultSet rsTotalBiaya = statement.executeQuery(sqlTotalBiaya);

double totalBiaya = 0;

while(rsTotalBiaya.next()) {

totalBiaya = totalBiaya + rsTotalBiaya.getDouble(3);

}

jLabelTotalKasMasuk.setText(jLabelTotalKasMasuk.getText() + " " +

String.valueOf(totalBiaya));

String sqlJenisBrg = "select id_brg, nama from barang where id_brg

= any (select id_brg from order_jual where tgl between '" + tglMulai + "' and

'" + tglSelesai + "');";

ResultSet rsJenisBrg = statement.executeQuery(sqlJenisBrg);

if(rsJenisBrg.next() == false) {

jLabelJenisBarangDijual.setText(jLabelJenisBarangDijual.getText() + " 0");

}

else {

rsJenisBrg.last();

numberOfRow = rsJenisBrg.getRow();

jLabelJenisBarangDijual.setText(jLabelJenisBarangDijual.getText() + " " +

String.valueOf(numberOfRow));

}

Object[][] data = new Object[numberOfRow][2];

rsJenisBrg.beforeFirst();

int currentRow = 0;

final String[] headers = {"id barang", "nama barang"};

while(rsJenisBrg.next()) {

data[currentRow][0] = rsJenisBrg.getString(1);

data[currentRow][1] = rsJenisBrg.getString(2);

currentRow++;

}

statement.close();

conn.close();

JTable jTableData = new JTable(data, headers);

jTableData.setEnabled(false);

JScrollPane jScrollPaneData = new JScrollPane(jTableData);

jPanelData.add(jScrollPaneData);

Page 108: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

89 37

jScrollPaneData.setBounds(0, 0, 510, 160);

}

catch(Exception exc) {

System.out.print(exc);

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MenampilkanDataOrderPenjualan().show();

}

public void actionPerformed(ActionEvent e) {

}

}

14. Form Data Karyawan

Gbr. 4.14 Form Data Karyawan

Page 109: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

90 37

Melalui form ini manajer dapat melihat data karyawan dan

merubah nama dan kata sandi karyawan operator komputer. Data

karyawan ditampilkan record per record. Form ini dibentuk dengan file

bernama PencarianDataSupplier.java dimana sintaknya adalah sebagai

berikut :

package manajer;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class MenampilkanDataKaryawan extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonNext;

private javax.swing.JButton jButtonPrev;

private javax.swing.JButton jButtonUbahData;

private javax.swing.JLabel jLabelDivisi;

private javax.swing.JLabel jLabelIdKaryawan;

private javax.swing.JLabel jLabelNamaKaryawan;

private javax.swing.JLabel jLabelSandi;

private javax.swing.JPanel jPanelData;

private javax.swing.JTextField jTextFieldDivisi;

private javax.swing.JTextField jTextFieldIdKaryawan;

private javax.swing.JTextField jTextFieldNamaKaryawan;

private javax.swing.JTextField jTextFieldSandi;

int numberOfRow;

int currentRow = 1;

public MenampilkanDataKaryawan() {

initComponents();

}

private void initComponents() {

jPanelData = new javax.swing.JPanel();

jLabelIdKaryawan = new javax.swing.JLabel();

jTextFieldIdKaryawan = new javax.swing.JTextField();

jLabelNamaKaryawan = new javax.swing.JLabel();

jTextFieldNamaKaryawan = new javax.swing.JTextField();

jLabelSandi = new javax.swing.JLabel();

jTextFieldSandi = new javax.swing.JTextField();

jLabelDivisi = new javax.swing.JLabel();

jTextFieldDivisi = new javax.swing.JTextField();

jButtonPrev = new javax.swing.JButton();

jButtonUbahData = new javax.swing.JButton();

jButtonNext = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("data karyawan");

Page 110: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

91 37

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jLabelIdKaryawan.setText("id karyawan");

jPanelData.add(jLabelIdKaryawan);

jLabelIdKaryawan.setBounds(10, 10, 80, 20);

jTextFieldIdKaryawan.setEditable(false);

jPanelData.add(jTextFieldIdKaryawan);

jTextFieldIdKaryawan.setBounds(110, 10, 40, 20);

jLabelNamaKaryawan.setText("nama");

jPanelData.add(jLabelNamaKaryawan);

jLabelNamaKaryawan.setBounds(10, 40, 80, 20);

jPanelData.add(jTextFieldNamaKaryawan);

jTextFieldNamaKaryawan.setBounds(110, 40, 130, 20);

jLabelSandi.setText("sandi");

jPanelData.add(jLabelSandi);

jLabelSandi.setBounds(10, 70, 80, 20);

jPanelData.add(jTextFieldSandi);

jTextFieldSandi.setBounds(110, 70, 130, 20);

jLabelDivisi.setText("divisi");

jPanelData.add(jLabelDivisi);

jLabelDivisi.setBounds(10, 100, 80, 20);

jTextFieldDivisi.setEditable(false);

jPanelData.add(jTextFieldDivisi);

jTextFieldDivisi.setBounds(110, 100, 130, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 10, 250, 130);

jButtonPrev.setText("<<");

getContentPane().add(jButtonPrev);

jButtonPrev.setBounds(30, 150, 50, 20);

jButtonUbahData.setText("ubah data");

getContentPane().add(jButtonUbahData);

jButtonUbahData.setBounds(90, 150, 90, 20);

jButtonNext.setText(">>");

getContentPane().add(jButtonNext);

jButtonNext.setBounds(190, 150, 50, 20);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-278)/2, (screenSize.height-216)/2, 278,

216);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Page 111: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

92 37

Statement statement = conn.createStatement();

String sql = "select * from karyawan;";

ResultSet rs = statement.executeQuery(sql);

rs.first();

jTextFieldIdKaryawan.setText(rs.getString(1));

jTextFieldNamaKaryawan.setText(rs.getString(2));

jTextFieldSandi.setText(rs.getString(3));

jTextFieldDivisi.setText(rs.getString(4));

statement.close();

conn.close();

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

jButtonPrev.setEnabled(false);

jButtonPrev.addActionListener(this);

jButtonUbahData.addActionListener(this);

jButtonNext.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new FormManajer().show();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == jButtonPrev || e.getSource() == jButtonNext) {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select * from karyawan;";

ResultSet rs = statement.executeQuery(sql);

if(e.getSource() == jButtonNext) {

currentRow++;

rs.absolute(currentRow);

jButtonPrev.setEnabled(true);

if(rs.isLast())

jButtonNext.setEnabled(false);

}

if(e.getSource() == jButtonPrev) {

currentRow--;

rs.absolute(currentRow);

jButtonNext.setEnabled(true);

if(rs.isFirst())

jButtonPrev.setEnabled(false);

}

rs.absolute(currentRow);

jTextFieldIdKaryawan.setText(rs.getString(1));

jTextFieldNamaKaryawan.setText(rs.getString(2));

jTextFieldSandi.setText(rs.getString(3));

jTextFieldDivisi.setText(rs.getString(4));

statement.close();

conn.close();

Page 112: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

93 37

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

if(e.getSource() == jButtonUbahData) {

int pilihan = JOptionPane.showConfirmDialog(null,"anda yakin akan

mengubah data ?","konfirmasi",JOptionPane.YES_NO_OPTION);

if(pilihan == 0) {

try {

String namaKary, sandi;

namaKary = jTextFieldNamaKaryawan.getText();

if(namaKary.length() < 20)

namaKary = namaKary.substring(0,namaKary.length());

else

namaKary = namaKary.substring(0,20);

sandi = jTextFieldSandi.getText();

if(sandi.length() < 20)

sandi = sandi.substring(0,sandi.length());

else

sandi = sandi.substring(0,20);

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "update karyawan set nama = '" + namaKary +

"', sandi = '" + sandi + "' where id_kary = '" +

jTextFieldIdKaryawan.getText() + "';";

statement.execute(sql);

statement.close();

conn.close();

JOptionPane.showMessageDialog(null,"anda telah merubah

data karyawan yang mempunyai id " + jTextFieldIdKaryawan.getText() + ",\n" +

"dengan username " + namaKary + " dan kata sandi " +

sandi + ".","pesan",1);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar

dari sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

}

}

}

15. Form Mengubah Harga Barang

Page 113: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

94 37

Gbr. 4.15 Form Mengubah Harga Barang

Melalui form ini manajer dapat mengubah harga jual

barangdagangan. Form ini dibentuk dengan file bernama

MengubahHargaBarang.java dimana sintaknya adalah sebagai berikut :

package manajer;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.*;

import java.awt.event.*;

import javax.swing.*;

public class MengubahHargaBarang extends javax.swing.JFrame implements

ActionListener {

private javax.swing.JButton jButtonUbah;

private javax.swing.JComboBox jComboBoxIdBarang;

private javax.swing.JLabel jLabelHargaSatuan;

private javax.swing.JLabel jLabelIdBarang;

private javax.swing.JLabel jLabelJumlahStok;

private javax.swing.JLabel jLabelNamaBarang;

private javax.swing.JLabel jLabelSatuan;

private javax.swing.JPanel jPanelData;

private javax.swing.JTextField jTextFieldHargaSatuan;

private javax.swing.JTextField jTextFieldJumlahStok;

private javax.swing.JTextField jTextFieldNamaBarang;

private javax.swing.JTextField jTextFieldSatuan;

Page 114: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

95 37

public MengubahHargaBarang() {

initComponents();

}

private void initComponents() {

jLabelIdBarang = new javax.swing.JLabel();

jComboBoxIdBarang = new javax.swing.JComboBox();

jPanelData = new javax.swing.JPanel();

jLabelNamaBarang = new javax.swing.JLabel();

jTextFieldNamaBarang = new javax.swing.JTextField();

jLabelJumlahStok = new javax.swing.JLabel();

jTextFieldJumlahStok = new javax.swing.JTextField();

jLabelSatuan = new javax.swing.JLabel();

jTextFieldSatuan = new javax.swing.JTextField();

jLabelHargaSatuan = new javax.swing.JLabel();

jTextFieldHargaSatuan = new javax.swing.JTextField();

jButtonUbah = new javax.swing.JButton();

getContentPane().setLayout(null);

setTitle("mengubah harga barang");

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent evt) {

exitForm(evt);

}

});

jLabelIdBarang.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);

jLabelIdBarang.setText("id barang");

getContentPane().add(jLabelIdBarang);

jLabelIdBarang.setBounds(310, 10, 60, 20);

getContentPane().add(jComboBoxIdBarang);

jComboBoxIdBarang.setBounds(380, 10, 80, 20);

jPanelData.setLayout(null);

jPanelData.setBorder(new javax.swing.border.TitledBorder(""));

jLabelNamaBarang.setText("nama barang");

jPanelData.add(jLabelNamaBarang);

jLabelNamaBarang.setBounds(10, 10, 90, 20);

jTextFieldNamaBarang.setEditable(false);

jPanelData.add(jTextFieldNamaBarang);

jTextFieldNamaBarang.setBounds(110, 10, 330, 20);

jLabelJumlahStok.setText("jumlah stok");

jPanelData.add(jLabelJumlahStok);

jLabelJumlahStok.setBounds(10, 40, 90, 20);

jTextFieldJumlahStok.setEditable(false);

jPanelData.add(jTextFieldJumlahStok);

jTextFieldJumlahStok.setBounds(110, 40, 80, 20);

jLabelSatuan.setText("satuan");

jPanelData.add(jLabelSatuan);

jLabelSatuan.setBounds(10, 70, 90, 20);

jTextFieldSatuan.setEditable(false);

jPanelData.add(jTextFieldSatuan);

jTextFieldSatuan.setBounds(110, 70, 80, 20);

Page 115: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

96 37

jLabelHargaSatuan.setText("harga satuan");

jPanelData.add(jLabelHargaSatuan);

jLabelHargaSatuan.setBounds(10, 100, 90, 20);

jPanelData.add(jTextFieldHargaSatuan);

jTextFieldHargaSatuan.setBounds(110, 100, 80, 20);

getContentPane().add(jPanelData);

jPanelData.setBounds(10, 40, 450, 130);

jButtonUbah.setText("ubah");

getContentPane().add(jButtonUbah);

jButtonUbah.setBounds(380, 180, 80, 20);

java.awt.Dimension screenSize =

java.awt.Toolkit.getDefaultToolkit().getScreenSize();

setBounds((screenSize.width-478)/2, (screenSize.height-247)/2, 478,

247);

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select id_brg from barang";

ResultSet rs = statement.executeQuery(sql);

if(rs.first() == false) {

JOptionPane.showMessageDialog(null,"data barang masih

kosong.","pesan",1);

jComboBoxIdBarang.setEnabled(false);

jTextFieldNamaBarang.setEditable(false);

jTextFieldJumlahStok.setEditable(false);

jTextFieldSatuan.setEditable(false);

jTextFieldHargaSatuan.setEditable(false);

jButtonUbah.setEnabled(false);

}

else {

rs.beforeFirst();

while(rs.next()) {

jComboBoxIdBarang.addItem(rs.getString(1));

}

sql = "select nama, nama_satuan, jml_satuan, hrg_satuan from

barang where id_brg = '" + String.valueOf(jComboBoxIdBarang.getSelectedItem())

+ "';";

rs = statement.executeQuery(sql);

rs.first();

jTextFieldNamaBarang.setText(rs.getString(1));

jTextFieldSatuan.setText(rs.getString(2));

jTextFieldJumlahStok.setText(rs.getString(3));

jTextFieldHargaSatuan.setText(rs.getString(4));

statement.close();

conn.close();

jTextFieldHargaSatuan.setEditable(true);

}

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

Page 116: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

97 37

jComboBoxIdBarang.addActionListener(this);

jButtonUbah.addActionListener(this);

}

private void exitForm(java.awt.event.WindowEvent evt) {

this.dispose();

new MenampilkanDataBarang().show();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == jComboBoxIdBarang) {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "select nama, nama_satuan, jml_satuan, hrg_satuan

from barang where id_brg = '" +

String.valueOf(jComboBoxIdBarang.getSelectedItem()) + "';";

ResultSet rs = statement.executeQuery(sql);

rs.first();

jTextFieldNamaBarang.setText(rs.getString(1));

jTextFieldSatuan.setText(rs.getString(2));

jTextFieldJumlahStok.setText(rs.getString(3));

jTextFieldHargaSatuan.setText(rs.getString(4));

statement.close();

conn.close();

jTextFieldHargaSatuan.setEditable(true);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"terjadi kesalahan pada

database ! \n" +

"tekan 'ok' atau tutup form dialog ini untuk keluar dari

sistem.\n" +

"segera hubungi administrator !","peringatan",2);

System.exit(0);

}

}

if(e.getSource() == jButtonUbah) {

if(jTextFieldHargaSatuan.getText().compareTo("") != 0) {

int pilihan = JOptionPane.showConfirmDialog(null,"anda yakin

data sudah benar ?","konfirmasi",JOptionPane.YES_NO_OPTION);

if(pilihan == 0) {

try {

double hrgBaru =

Double.parseDouble(jTextFieldHargaSatuan.getText());

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =

DriverManager.getConnection("jdbc:mysql://192.168.0.10:3306/grosir?user=root&p

assword=root");

Statement statement = conn.createStatement();

String sql = "update barang set hrg_satuan = '" +

String.valueOf(hrgBaru) + "' where id_brg = '" +

String.valueOf(jComboBoxIdBarang.getSelectedItem()) + "';";

statement.execute(sql);

statement.close();

JOptionPane.showMessageDialog(null,"harga barang telah

diubah.","pesan",1);

}

catch(Exception exc) {

JOptionPane.showMessageDialog(null,"kolom harga barang

harus diisi dengan data numerik !","peringatan",2);

Page 117: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

98 37

}

}

}

else

JOptionPane.showMessageDialog(null,"kolom harga satuan tidak

boleh kosong !","peringatan",2);

}

}

}

Page 118: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

97

BAB V

ANALISA HASIL IMPLEMENTASI

Implementasi program client server ini dilakukan melalui tiga perangkat

komputer yang saling terhubung, dimana sebuah komputer menjadi server dan

komputer yang lain menjadi client.

5.1. Kelebihan dan Kekurangan Sistem

Aplikasi program ini memiliki beberapa kekurangan baik dalam

perancangan, pengkodean maupun dalam hal teknis pelaksanaan.

5.1.1. Kelebihan Sistem

Adanya fasilitas searching pada form menu barang dan supplier.

5.1.2. Kekurangan Sistem

1. Tidak adanya program auto refresh pada menu menampilkan

data barang baru bagi manajer, sehingga manajer harus

melakukan action kepada sistem agar data yang di update bisa

ditampilkan dalam menu.

2. Sistem yang ada belum dapat melakukan pencetakan laporan

pembelian dan penjualan..

Page 119: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

98

BAB VI

KESIMPULAN DAN SARAN

6.1. Kesimpulan

Berdasarkan hasil dari implementasi yang telah dilakukan, dapat

disimpulkan:

1. Aplikasi yang dibangun dapat membantu manajer dalam

memperoleh informasi pembelian, penjualan dan stok barang pada

grosir yang dimilikinya.

2. Aplikasi yang dibangun memudahkan bagian pembelian dan

penjualan dalam melakukan pencatatan data pembelian dan

penjualan.

6.2. Saran

Beberapa saran yang perlu dipertimbangkan untuk pengembangan

sistem ini ke depan antara lain:

1. Aplikasi ini dapat dikembangkan menjadi sistem informasi

akuntansi sehingga dapat menangani pencatatan transaksi secara

lebih detil.

2. Aplikasi ini dapat dikembangkan untuk menangani transaksi

pembelian dan penjualan yang dilakukan secara kredit, sehingga

bisa menangani proses utang dagang dalam transaksi jual beli

barang.

Page 120: SISTEM INFORMASI GROSIR BERBASIS CLIENT- SERVER · 2018. 11. 15. · Grosir merupakan sebuah usaha yang bergerak dalam bidang jual beli barang. Proses bisnis yang ada di dalam sebuah

99

DAFTAR PUSTAKA

Panca, Budi Pria, Tujuh Kriteria Dasar Informasi, http://www.sony-ak.com, 2006 [15

September 2006].

Whitten, Bentley Dittman, System Analysis and Design Method 6th

Edition,

Irwin/McGraw-Hill, New York, 2004.

Jogiyanto, Sistem Teknologi Informasi – Edisi III, Andi, Yogyakarta, 2005.

Gunawan, Ridowati, Diktat Kuliah Rekayasa Perangkat Lunak II Teknik Informatika

Universitas Sanata Dharma, Yogyakarta, 2004.

Polina, A.M, Diktat Kuliah Basis Data I Teknik informatika Universitas Sanata Dharma,

Yogyakarta, 2003.