• Tidak ada hasil yang ditemukan

Studi Kasus : Grosir “Wijaya” Indramayu Tugas Akhir Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

N/A
N/A
Protected

Academic year: 2019

Membagikan "Studi Kasus : Grosir “Wijaya” Indramayu Tugas Akhir Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika"

Copied!
120
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)
(5)

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

(6)

v

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,

(7)

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)

(8)

vii

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.

(9)

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.

(10)

ix

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

(11)

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.

(12)

xi

Yogyakarta, 08 Oktober 2005

(13)

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

(14)

xiii

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

1

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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.

(32)

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.

(33)

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

(34)

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

(35)

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

(36)

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

(37)

18

(38)

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

(39)

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

(40)
(41)

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

(42)

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

(43)

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

(44)

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)

(45)

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

(46)

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

(47)

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.

(48)

Gbr 3.19 Form Manajer

(49)

30

Gbr 3.21 Form Memasukkan Data Penjualan

Gbr 3.22 Form Memasukkan Data Barang

(50)

Gbr 3.24 Form Menampilkan Data Barang

Gbr 3.25 Form Menampilkan Data Supplier

(51)

32

Gbr 3.27 Form Pencarian Data Barang

Gbr 3.28 Form Pencarian Data Supplier

(52)

Gbr 3.30 Form Menampilkan Data Penjualan

(53)

34

Gbr 3.32 Form Laporan Pembelian Barang

(54)

Gbr 3.34 Form Data Karyawan

(55)

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

(56)

-

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:

(57)

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,

(58)

`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

(59)

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 :

(60)

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

(61)

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

(62)

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); }

(63)

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 {

(64)

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

(65)

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

(66)

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

(67)

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

(68)

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

(69)

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

(70)

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

(71)

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, 5

Gambar

Gambar Keterangan
Tabel 3.1 Tabel karyawan
Tabel 3.2 Tabel barang
Tabel 3.4 Tabel detil_jual

Referensi

Dokumen terkait

Berdasarkan hasil penelitian dan setelah dilakukan tabulasi data maka diperoleh nilai indeks kepuasan masyarakat per unsur pelayanan pada Puskesmas Kalicacing Kota

Prinsip dasar sistem PLH PV-Diesel ini adalah dengan mengoperasikan sumber energi dari tenaga surya untuk memenuhi kebutuhan beban dasar melalui penggunaan sistem

setelah kami pelajari dengan saksama Dokumen PRAKUALIFIKASI tersebut, dengan ini kami mengajukan Dokumen Administrasi Kualifikasi dan Dokumen Teknis Kualifikasi untuk pengadaan

Penelitian yang sudah dilakukan bertujuan untuk membuat suatu sistem berbasis web yang dapat digunakan dalam pengolahan data pelayanan pendataan tumbuh kembang

menginokulasikan isolat dengan nilai kerapatan optik tertinggi ke dalam 10 ml media produksi (koloidal kitin 1%, pepton 0,1%, KH2PO4 0,1%, MgSO 4 .7H 2 O 0,05%) dengan pH 7

Sistem Administrasi Badan Hukum yang selanjutnya disingkat SABH adalah pelayanan jasa hukum pengesahan badan Perseroan, Yayasan dan Perkumpulan dengan

Berdasarkan uraian di atas menunjukkan bahwa untuk meningkatkan konsentrasi, maka seseorang perlu mengembangkan sikap dan perilaku jujur terhadap penutur apabila ia mempunyai

efektivitas peroksidase yang diperoleh dari kulit batang ubi kayu dan menentukan persentase penurunan kadar fenol dengan penambahan peroksidase dari kulit batang ubi kayu