bab iv rancangan sistem dan program usulan · 40 bab iv rancangan sistem dan program usulan 4.1....

76
40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan dokumentasinya maka belum disebut perangkat lunak (software), berikut ini adalah analisa kebutuhan software aplikasi yang penulis usulkan: 4.1.1. Tahapan Analisis Aplikasi Point of Sale untuk Koperasi Pegawai Bank Indonesia (KOPEBI) terhubung pada jaringan intranet atau Local Area Network (LAN) Bank Indonesia. Sistem ini dirancang menggunakan software Dreamweaver CS 3, bahasa Program : PHP, Database Server : MySQL, Database Tools : PhpMyAdmin dimana kasir dan administrator bisa melakukan transaksi dan proses cetak laporan. Berikut merupakan spesifikasi kebutuhan (system requirement) dari sistem Aplikasi Point of Sale: Halaman Kasir A1 Kasir dapat menginput transaksi penjualan barang KOPEBI A2 Kasir dapat melihat laporan penjualan harian barang KOPEBI A3 Kasir dapat mengganti password atas user sendiri

Upload: others

Post on 27-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

40

BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN

4.1. Analisis Kebutuhan Perangkat Lunak

Sebuah program komputer tanpa terasosiasi dengan dokumentasinya maka

belum disebut perangkat lunak (software), berikut ini adalah analisa kebutuhan

software aplikasi yang penulis usulkan:

4.1.1. Tahapan Analisis

Aplikasi Point of Sale untuk Koperasi Pegawai Bank Indonesia (KOPEBI)

terhubung pada jaringan intranet atau Local Area Network (LAN) Bank

Indonesia. Sistem ini dirancang menggunakan software Dreamweaver CS 3,

bahasa Program : PHP, Database Server : MySQL, Database Tools :

PhpMyAdmin dimana kasir dan administrator bisa melakukan transaksi dan proses

cetak laporan.

Berikut merupakan spesifikasi kebutuhan (system requirement) dari sistem

Aplikasi Point of Sale:

Halaman Kasir

A1 Kasir dapat menginput transaksi penjualan barang KOPEBI

A2 Kasir dapat melihat laporan penjualan harian barang KOPEBI

A3 Kasir dapat mengganti password atas user sendiri

Page 2: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

41

Halaman Administrator

B1. Administrator dapat mengelola data pengguna

B2. Administrator dapat mengelola data barang

B3. Administrator dapat mengelola data Supplier

B4. Administrator dapat mengelola data Customer

B5. Administrator dapat mengelola data penjualan

B6. Administrator dapat mengelola data pembelian

B7. Administrator dapat melihat dan mencetak semua laporan

4.1.2. Use Case Diagram

Diagram use case digunakan untuk mendeskripsikan apa yang seharusnya

dilakukan oleh sistem. Berikut ini merupakan desain usulan Use Case Diagram

sistem point of sale pada Koperasi Pegawai Bank Indonesia.

1. Use Case Diagram Halaman Kasir

Gambar IV.1.

Use Case Diagram Halaman Kasir

uc Use Case Model

Kasir

Login kasir

Logout

Ganti password

Kembali

Update

password

Pilih Menu

Penjualan

Tampil data

penjualan

Input data

penjualan

Cari kode

customer & Kode

barang

tambah data

Selesai/Simpan

Cetak

Batal

Pilih Menu

Laporan

Tampil Laporan

Penjualan

Pilih Tgl Transaksi &

Cari Kode Customer

Tampilkan

Kembali

Cetak

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«include» «extend»

«extend»

«extend» «extend»

«include»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

Page 3: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

42

Tabel IV.1

Deskripsi Use Case Diagram Halaman Kasir

Use Case Name Halaman Kasir

Requirement A1-A3

Goal Kasir dapat memproses transaksi

apabila ada customer yang ingin

membeli

Pre-conditions User telah melakukan login

Post-conditions Sistem melakukan validasi pada

proses login

Failed end condition User salah memasukan username

dan/atau password level kasir

Primary Actor Kasir

Main Flow / Basic Path 1. Kasir memasukkan username

beserta password pada form login

2. Sistem melakukan proses validasi

3. Sistem menampilkan pesan pesan

4. Kasir masuk ke ruang beranda dan

siap memproses transaksi atau

cetak laporan harian

Invariant -

2. Use Case Diagram Halaman Administrator

Gambar IV.2.

Use Case Diagram Halaman Administrator

class Use Case Model

Administrator

Login

Mengelola Data

Pengguna

Mengelola Data

Barang

Mengelola Data

Customer

Mengelola Data

Penjualan

Mencetak

Laporan

Tambah

Edit

Hapus

Cari

Kembali

Logout

Mengelola Data

Pembelian

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«include»

«include»

«include»

«include»

«include»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

Page 4: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

43

Tabel IV.2.

Deskripsi Use Case Diagram Halaman Administrator

Use Case Name Administrator

Requirement B1-B7

Goal Administrator dapat mengelola data

master, transaksi dan laporan

Pre-conditions Administrator telah login

Post-conditions Mengelola data master, transaksi dan

laporan

Failed end conditions Administrator salah memasukan

username dan password level

administrasi

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator dapat mengelola Data

Pengguna

2. Administrator dapat mengelola data

barang

3. Administrator dapat mengelola data

Supplier

4. Administrator dapat mengelola data

Customer

5. Administrator dapat mengelola data

penjualan

6. Administrator dapat mengelola data

pembelian

7. Administrator dapat melihat,

mencetak semua Laporan

Invariant -

3. Use Case Diagram Halaman Administrator mengelola Data Pengguna

Gambar IV.3.

Use Case Diagram Kelola Data Pengguna Halaman Administrator

class Use Case Model

Admin

LoginPilih Data

Pengguna

Tampil Data

Pengguna

Edit

Hapus

TambahKembali

Update

Kembali

Tampilan Edit

Pengguna

«extend»

«include»

«extend»

«extend»

«extend»

«include»

«extend»

«extend»

«extend»

Page 5: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

44

Tabel IV.3.

Deskripsi Use Case Diagram Kelola Data Pengguna Halaman Administrator

Use Case Name Mengelola Data Pengguna

Requirement B1

Goal Administrator dapat mengelola data

pengguna berdasarkan level pengguna

Pre-conditions Administrator telah login

Post-conditions Data pengguna bertambah atau ter-

update

Failed end conditions Gagal menambah, mengedit,

menghapus dan mengupdate data

pengguna

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator melihat data

pengguna

2. Administrator menambahkan data

pengguna aplikasi

3. Administrator mengupdate level

pengguna serta password atau

perubahan username

Invariant 1b.Admin merubah username dan

password pengguna

4. Use Case Diagram Halaman Administrator mengelola Data Barang

Gambar IV.4.

Use Case Diagram Kelola Data Barang Halaman Administrator

class Use Case Model

Admin

Pilih Data

Barang

Tampilan Data

Barang

Login

Kembali Simpan

Tambah Barang

Cari

Tambah Kategori

Barang

Edit

Hapus

KembaliUpdate

Kembali

Tambah

Logout

Tampilan Kategori

Barang

«extend»

«include» «extend»

«extend»

«extend» «extend»

«extend» «include»

«extend» «extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

Page 6: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

45

Tabel IV.4.

Deskripsi Use Case Diagram Kelola Data Barang Halaman Administrator

Use Case Name Mengelola Data Barang

Requirement B2

Goal Administrator dapat mengelola data

barang serta menambah kategori

barang

Pre-conditions Administrator telah login

Post-conditions Data barang bertambah atau ter-update

Failed end conditions Gagal menambah, mengedit,

menghapus dan mengupdate data

barang

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator melihat data barang

2. Administrator menambahkan dan

merubah data barang

3. Administrator menambah dan

merubah kategori barang

Invariant -

5. Use Case Diagram Halaman Administrator mengelola Data Supplier

Gambar IV.5.

Use Case Diagram Kelola Data Supplier Halaman Administrator

uc Use Case Kelola Data Supplierl

Admin

Login Pilih Data

Supplier

Tampilan Data

Supplier

Tambah

Supplier

Form Input

Supplier Baru

Kembali

Simpan

Edit Supplier

Form Edit

Supplier

Simpan

Logout

Kembali

«extend»

«include»

«extend»

«include»

«extend»

«extend»

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

Page 7: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

46

Tabel IV.5.

Deskripsi Use Case Diagram Kelola Data Supplier Halaman Administrator

Use Case Name Mengelola Data Supplier

Requirement B3

Goal Administrator dapat mengelola data

Supplier

Pre-conditions Administrator telah login

Post-conditions Data supplier bertambah atau ter-

update

Failed end conditions Gagal menambah, mengedit,

menghapus dan mengupdate data

supplier

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator melihat data

supplier

2. Administrator menambahkan dan

merubah data supplier

Invariant -

6. Use Case Diagram Halaman Administrator mengelola Data Customer

Gambar IV.6.

Use Case Diagram Kelola Data Customer Halaman Administrator

class Use Case Model

Admin

Login Pilih Data

Customer

Tampilan Data

Customer

Tambah

Customer

Form Input

Customer Baru

Kembali

Simpan

Edit Customer

Form Edit

Customer

Simpan

Logout

Kembali

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

«include» «extend»

«extend»

«include»

«extend» «extend»

Page 8: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

47

Tabel IV.6.

Deskripsi Use Case Diagram Kelola Data Customer Halaman Administrator

Use Case Name Mengelola Data Customer

Requirement B4

Goal Administrator dapat mengelola data

Customer

Pre-conditions Administrator telah login

Post-conditions Data customer bertambah atau ter-

update

Failed end conditions Gagal menambah, mengedit,

menghapus dan mengupdate data

customer

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator melihat data

customer

2. Administrator menambahkan data

customer

3. Administrator merubah data

customer

Invariant -

7. Use Case Diagram Halaman Administrator mengelola Data Penjualan

Gambar IV.7.

Use Case Diagram Kelola Data Penjualan Halaman Administrator

class Use Case Model

Admin

Login Pilih Data

Penjualan

Tampil Data

Penjualan

Tambah

Penjualan

Barang

Form Tambah

Penjualan Barang

Cari Kode

Customer &

Kode Barang

Tambah

Transaksi

Tampilan

Transaksi

CetakBatalSelesai

Edit Data

Penjualan

Tampil Form Edit

Penjualan

CetakBatal

Selesai

Hapus

Logout

Kembali

Kembali

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

«extend» «include»

«extend»

«extend»

«include»

«extend»«extend» «extend»

«extend»

«include»

«extend»

«extend» «extend»«extend»

Page 9: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

48

Tabel IV.7.

Deskripsi Use Case Diagram Kelola Data Penjualan Halaman Admin

Use Case Name Mengelola Data Penjualan

Requirement B5

Goal Administrator dapat mengelola data

Penjualan

Pre-conditions Administrator telah login

Post-conditions Data penjualan bertambah atau ter-

update

Failed end conditions Gagal menambah, mengedit,

menghapus dan mengupdate data

penjualan

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator melihat data

penjualan

2. Administrator menambahkan data

penjualan

3. Administrator mengupdate data

penjualan berupa merubah dan

menghapus data serta membatalkan

transaksi penjualan

Invariant -

8. Use Case Diagram Halaman Administrator Mengelola Data Pembelian

Gambar IV.8.

Use Case Diagram Kelola Data Pembelian Halaman Administrator

uc Use Case Mengelola Data Pembelian

Admin

Login Pilih Data

Pembelian

Tampil Data

Pembelian

Tambah

Pembelian

Barang

Form Tambah

Pembelian Barang

Cari Kode Supplier &

Kode Barang

Tambah

Transaksi

Tampilan

Transaksi

CetakBatalSelesai

Edit Data

Pembelian

Tampil Form Edit

Pembelian

CetakBatal

Selesai

Hapus

Logout

Kembali

Kembali

«extend»

«include»

«extend» «include»

«extend»

«extend»

«include»

«extend»«extend»«extend»

«extend»

«include»

«extend» «extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

Page 10: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

49

Tabel IV.8.

Deskripsi Use Case Diagram Kelola Data Pembelian Halaman Admin

Use Case Name Mengelola Data Pembelian

Requirement B6

Goal Administrator dapat mengelola data

Pembelian dari Supplier

Pre-conditions Administrator telah login

Post-conditions Data pembelian bertambah atau ter-

update

Failed end conditions Gagal menambah, mengedit,

menghapus dan mengupdate data

pembelian

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator melihat data

pembelian

2. Administrator menambahkan data

pembelian

3. Administrator mengupdate data

pembelian berupa merubah dan

menghapus data serta membatalkan

transaksi pembelian

Invariant -

9. Use Case Diagram Halaman Administrator Mengelola Data Laporan

Gambar IV.9.

Use Case Diagram Kelola Laporan Halaman Administrator

class Use Case Model

Admin

Login

Pilih Laporan

Data Barang

Pilih Laporan

Data Customer

Pilih Laporan

Penjualan

Tampilan Cetak

Lap. Barang

Tampilkan

Kembali

Cetak

Tampilan Data

Customer

Kembali

Cetak

Pilih Tanggal &

Kode Barang

Tampilan Cetak Lap.

Data penjualan

Tampilan

Laporan

Penjualan

Kembali

Cetak

Logout

Tampilan Laporan

Data Barang

Tampilkan

Laporan

«extend»

«extend»

«extend»

«include»

«include»

«include»

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«include»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

Page 11: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

50

Tabel IV.9.

Deskripsi Use Case Diagram Menu Laporan Halaman Administrator

Use Case Name Melihat dan mencetak semua laporan

pada aplikasi

Requirement B7

Goal Administrator dapat mengelola data

Penjualan

Pre-conditions Administrator telah login

Post-conditions Mencetak laporan sesuai kebutuhan

pada aplikasi

Failed end conditions Gagal mencetak laporan

Primary Actor Administrator

Main Flow / Basic Path 1. Administrator melihat dan

mencetak laporan data barang

2. Administrator menambahkan data

penjualan

3. Administrator mengupdate data

penjualan berupa merubah dan

menghapus data serta membatalkan

transaksi penjualan

Invariant -

4.1.3. Activity Diagram

Activity Diagram menggambarkan worlflow (aliran kerja) atau aktivitas dari

sebuah sistem atau proses bisnis, decision yang mungkin terjadi dan bagaimana

mereka berakhir. Activity Diagram juga dapat menggambarkan proses paralel

yang mungkin terjadi pada beberapa eksekusi. Berikut ini merupakan desain

usulan Diagram Activity Aplikasi Point Of Sale pada KOPEBI:

Page 12: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

51

1. Activity Diagram Login Halaman Kasir

Gambar IV.10.

Activity Diagram Login Halaman Kasir

class Business Process Model

DatabaseAplikasi SistemKasir

Mulai

Username dan

Password

Request Validasi

Login ValidBeranda Kasir

Salah

Benar

Page 13: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

52

2. Activity Diagram Penjualan Halaman Kasir

Gambar IV.11.

Activity Diagram Penjualan Halaman Kasir

class Business Process Model

Sistem AplikasiKasirCustomer

Mulai

Menyerahkan

Barang yang akan

dibeli ke kasir

Tampil Form

Penjualan

Cari Kode

Customer &

Barang

Menginformasikan

Jumlah bayarPembayaran

Memilih Barang

yang Akan dibeli

Tambah

Transaksi

Penjualan

Tampil Jumlah

biaya yang

harus dibayar

Input

Pembayaran

Proses

Transaksi

Cetak StrukMemberikan Struk

ke CustomerMenerima

Struk

T

Y

T

Y

T

Y

Page 14: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

53

3. Activity Diagram Mengelola Data Pengguna Halaman Administrator

Gambar IV.12.

Activity Diagram Mengelola Data Pengguna Halaman Administrator

class Kelola Data Pengguna

Sistem AplikasiAdministrator

Mulai

Pilih Data

Customer

Tampil Form Data

Customer

Tambah Data

Customer

Decision

Input Data

Customer

merge

Selesai/Simpan

Data

Decision

Edit Data Customer

Tampil Form Edit

Hapus

Edit

merge

T

Y

(edit)

(tambah)

Y

Page 15: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

54

4. Activity Diagram Mengelola Data Barang Halaman Administrator

Gambar IV.13.

Activity Diagram Mengelola Data Barang Halaman Administrator

class Kelola Data Barang

Sistem AplikasiAdministrator

Mulai

Pilih Data

Barang

Tampil Form Data

Barang

Tambah Data

Barang

Decision

Input Data Barang

Selesai/Simpan

Data

Decision

Edit Data Barang

Tampil Form Edit

Hapus

Edit

(tambah)

Y

merge

T

Y

(edit)

(up

da

te d

ata

)

Page 16: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

55

5. Activity Diagram Mengelola Data Supplier Halaman Administrator

Gambar IV.14.

Activity Diagram Mengelola Data Supplier Halaman Administrator

act Activ ity Kelola Data Supplier

Sistem AplikasiAdministrator

Mulai

Pilih Data

Supplier

Tampil Form Data

Supplier

Tambah Data

Supplier

Decision

Input Data Supplier

merge

Selesai/Simpan

Data

Decision

Edit Data Supplier

Tampil Form Edit

Hapus

Edit

(tambah)

Y

merge

T

Y

(edit)

Page 17: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

56

6. Activity Diagram Mengelola Data Customer Halaman Administrator

Gambar IV.15.

Activity Diagram Mengelola Data Customer Halaman Administrator

class Kelola Data Customer

Sistem AplikasiAdministrator

Mulai

Pilih Data

Customer

Tampil Form Data

Customer

Tambah Data

Customer

Decision

Input Data

Customer

merge

Selesai/Simpan

Data

Decision

Edit Data Customer

Tampil Form Edit

Hapus

Edit

(tambah)

Y

merge

T

Y

(edit)

Page 18: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

57

7. Activity Diagram Mengelola Data Penjualan Halaman Administrator

Gambar IV.16.

Activity Diagram Mengelola Data Penjualan Halaman Administrator

class Kelola Data Penjualan Halaman Admin

Sistem AplikasiAdministratorCustomer

Mulai

Menyerahkan

Barang yang akan

dibeli ke User

Tampil Form

Penjualan

Cari Kode

Customer &

Barang

Menginformasikan

Jumlah bayarPembayaran

Memilih Barang

yang Akan dibeli

Tambah

Transaksi

Penjualan

Tampil Jumlah

biaya yang

harus dibayar

Input

Pembayaran

Proses

Transaksi

Cetak StrukMemberikan Struk

ke Customer

Memberikan

Struk ke

Customer

T

Y

T

Y

Y

T

Posisi Backup Kasir

Page 19: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

58

8. Activity Diagram Mengelola Data Pembelian Halaman Administrator

Gambar IV.17.

Activity Diagram Mengelola Data Pembelian Halaman Administrator

act Actiiv ity Kelola Data Pembelian

Sistem AplikasiAdministratorSupplier

Mulai

Mengirim Barang

Berdasarkan Surat

Permintaan Pembelian

Cek Jumlah

Barang Sesuai

SPP

Input Transaksi Pembelian

(Tambah Data)Tampil Form

Pembelian

Cari Kode Supplier &

Kode Barang

Tampil Jumlah

PembayaranMemproses

Pembayaran

Proses Transaksi

Cetak FakturFaktur

Pembelian

untuk Arsip

Y

T

Y

T

Page 20: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

59

9. Activity Diagram Mengelola Data Laporan Halaman Administrator

Gambar IV.18.

Activity Diagram Mengelola Data Laporan Halaman Administrator

class Kelola Data Laporan

Sistem AplikasiAdministrator

Mulai

Pilih Lap. Data

Barang

Decision Tampil Form

Lap. Data

Barang

Print

Pilih Lap. Data

Customer

Tampil Lap. Data

Customer

Print

Decision

Pilih Lap. Data

Supplier

Tampil Lap. Data

Supplier

Selesai

PrintDecision

Pilih Lap. Data

Penjualan

Decision Tampil Lap.

Penjualan

Print

Pilih Lap. Data

Pembelian

DecisionTampil Lap. Data

Pembelian

Print

T

Y

T

Y

T

Y

Y

T

Y

T

Y

Y

T

T

Y

TT

Y

T

Page 21: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

60

4.2. Desain

Menjelaskan tentang desain database, desain software architecture dan

desain interface dari sistem yang dibuat. Tahap ini mentranslasi kebutuhan

perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat

diimplementasikan menjadi program pada tahap selanjutnya.

4.2.1. Database

Desain database menjelaskan hubungan antar data dalam basis data yang

terdiri dari object - object dasar yang mempunyai hubungan atau relasi antar object

–object tersebut. Dalam ERD hubungan atau relasi dapat terdiri dari sejumlah

entitas yang disebut dengan derajat relasi. ERD yang ada pada sistem ini sebagai

berikut:

Page 22: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

61

1. Entity Relationship Diagram Aplikasi POS pada KOPEBI

Customer

kode

telp

nama

alamat

departemen

penjualandetail

nomor

idjualdetail

kodebarang

Qty

Harga Jual

Satuan

Memproses

transaksi

barang

stok hargajual

kode nama

stokmak

stokmin

satuan

letak

mengecek

dan mencari

memiliki kategori

idkategori

M

M

M

transaksi penjualan

user data

userid nama

password level

nomor

tanggal

kodecustomer

keterangan

userid

total

namabarang

Melakukan

Melakukan

M1

1M

hargabeli

transaksi pembelian

kodesupplier

nomor

tanggal

keterangan

userid

id

Melakukan

MM

Supplier

kode

teleponkota

1

pembeliandetail

nomor

idbelidetail

kodebarang

qty

hargabeli

Satuan

M

namabarang

namaalamat

Melakukan

1

Memproses

transaksi

Update

M

1

1

1

1

1

Gambar IV.19.

Entity Relationship Diagram

Page 23: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

62

2. Logical Record Structure

User Data

UserID*

Nama

Password

Level

Barang

Kode*

Nama

Kategori**

Letak

Stok

Satuan

HargaBeli

HargaJual

StokMin

StokMak

Kategori

Barang

IdKategori*

Kategori

Penjualan

Nomor*

Tanggal

KodeCustomer **

Keterangan

Total

UserID**

Penjualan Detail

IdJualDetail*

Nomor**

KodeBarang **

NamaBarang

Qty

Satuan

HargaJual

Customer

Kode*

Nama**

Alamat**

Departemen

Telepon

1

M

1

M

1

M

1

M

1

M

Nomor*

Tanggal

KodeSupplier **

Keterangan

Total

UserID**

Pembelian

Pembelian Detail

IdBeliDetail*

Nomor**

KodeBarang **

NamaBarang

Qty

Satuan

HargaBeli

1

M

1

M1

M

Supplier

Kode*

Nama**

Alamat**

Kota

Telepon

1

M

Gambar IV.20.

Logical Record Structure

3. Spesifikasi File

Spesifikasi File menjelaskan tentang file-file yang akan digunakan dalam

rancangan aplikasi website yang di ajukan dan berguna sebagai media

penyimpanan data dari proses yang terjadi pada rancangan aplikasi. Penulis

membuat satu database yang bernama “pos.db” dengan spesifikasi file sebagai

berikut:

Page 24: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

63

a. Spesifikasi File Tabel Barang

Nama Database : pos

Nama File : Tabel Barang

Akronim : barang.MYD

Tipe File : File Master

Akses File : Random

Panjang Record : 178 Byte

Software : MySQL

Kunci Field : kode

Tabel IV.10.

Spesifikasi Tabel Barang

No Elemen

Data

Nama

Field

Tipe

Data Size Keterangan

1

2

3

4

5

6

7

8

9

10

Kode

Nama

Kategori

Satuan

HargaBeli

HargaJual

Letak

Stok

StokMin

StokMak

kode

nama

kategori

satuan

hargabeli

hargajual

letak

stok

stokmin

stokmak

Varchar

Varchar

Varchar

Varchar

Double

Double

Varchar

Integer

Integer

Integer

10

35

30

20

-

-

50

11

11

11

Kode Barang; Primary Key

Nama Barang

Kategori; Foreign Key

Satuan Unit

Harga Beli Barang

Harga Jual Barang

Letak / Tempat Barang

Stok Barang

Stok Minimum Barang

Stok Maksimum Barang

Page 25: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

64

b. Spesifikasi File Tabel Kategori Barang

Nama Database : pos

Nama File : Tabel Kategori Barang

Akronim : kategori.MYD

Tipe File : File Master

Akses File : Random

Panjang Record : 61 Byte

Kunci Field : IdKategori

Tabel IV.11.

Spesifikasi Tabel Kategori barang

No Elemen Data Nama

Field

Tipe

Data Size Keterangan

1

2

IdKategori

Kategori

idkategori

kategori

Integer

Varchar

11

50

Kode Kategori; Primary

Key

Kategori Barang

c. Spesifikasi File Tabel Supplier

Nama Database : pos

Nama File : Tabel Supplier

Akronim : supplier.MYD

Tipe File : File Master

Akses File : Random

Panjang Record : 145 Byte

Kunci Field : kode

Page 26: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

65

Tabel IV.12.

Spesifikasi Tabel Supplier

No Elemen

Data Nama Field

Tipe

Data Size Keterangan

1

2

3

4

5

Kode

Nama

Alamat

Kota

Telepon

kode

nama

alamat

kota

telepon

Varchar

Varchar

Varchar

Varchar

Varchar

10

35

50

30

20

Primary Key

d. Spesifikasi File Tabel Customer

Nama Database : pos

Nama File : Tabel Customer

Akronim : customer.MYD

Tipe File : File Master

Akses File : Random

Panjang Record : 145 Byte

Kunci Field : nomor

Tabel IV.13.

Spesifikasi Tabel Customer

No Elemen

Data Nama Field

Tipe

Data Size Keterangan

1

2

3

4

5

Kode

Nama

Alamat

Departemen

Telepon

kode

nama

alamat

departemen

telepon

Varchar

Varchar

Varchar

Varchar

Varchar

10

35

50

30

20

Primary Key

Page 27: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

66

e. Spesifikasi File Tabel Penjualan

Nama Database : pos

Nama File : Tabel Penjualan

Akronim : penjualan.MYD

Tipe File : File Transaksi

Akses File : Random

Panjang Record : 65 Byte

Kunci Field : nomor

Tabel IV.14.

Spesifikasi Tabel Penjualan

No Elemen Data Nama Field Tipe Data Size Keterangan

1

2

3

4

5

6

7

Nomor

KodeCustomer

Tanggal

Keterangan

Total

JumlahBayar

UserID

nomor

kodecustomer

tanggal

keterangan

total

jumlahbayar

userid

Varchar

Varchar

Date

Varchar

Double

Double

Varchar

10

10

ShortDate

35

-

-

10

Nomor Transaksi;

Primary Key

Kode Customer;

Foreign Key

Tanggal Penjualan

Keterangan

Jumlah yang Harus Dibayar

Jumlah Pembayaran

ID Pengguna / User;

Foreign Key

f. Spesifikasi File Tabel Penjualan Detail

Nama Database : pos

Nama File : Tabel Penjualan

Akronim : penjualandetail.MYD

Page 28: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

67

Tipe File : File Transaksi

Akses File : Random

Panjang Record : 97 Byte

Kunci Field : IdJualDetail

Tabel IV.15.

Spesifikasi Tabel Penjualan Detail

No Elemen Data Nama Field

Tipe

Data Size Keterangan

1

2

3

4

5

6

7

IdJualDetail

Nomor

KodeBarang

NamaBarang

Satuan

Qty

HargaJual

Idjualdetail

nomor

kodebarang

namabarang

satuan

qty

hargajual

Integer

Varchar

Varchar

Varchar

Varchar

Integer

Double

11

10

10

35

20

11

-

ID Detail; Primary Key

Nomor Penjualan; Foreign Key

Kode Barang; Foreign Key

Nama Barang

Satuan Barang

Jumlah Barang

Harga Jual Barang

g. Spesifikasi File Tabel Pembelian

Nama Database : pos

Nama File : Tabel Pembelian

Akronim : pembelian.MYD

Tipe File : File Transaksi

Akses File : Random

Panjang Record : 65 Byte

Kunci Field : nomor

Page 29: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

68

Tabel IV.16.

Spesifikasi Tabel Pembelian

No Elemen Data Nama Field Tipe Data Size Keterangan

1

2

3

4

5

7

Nomor

KodeSupplier

Tanggal

Keterangan

Total

UserID

nomor

kodesupplier

tanggal

keterangan

total

userid

Varchar

Varchar

Date

Varchar

Double

Varchar

10

10

ShortDate

35

-

10

Nomor Transaksi;

Primary Key

Kode Customer;

Foreign Key

Tanggal Penjualan

Keterangan

Jumlah total

ID Pengguna / User;

Foreign Key

h. Spesifikasi File Tabel Pembelian Detail

Nama Database : pos

Nama File : Tabel Pembelian

Akronim : pembeliandetail.MYD

Tipe File : File Transaksi

Akses File : Random

Panjang Record : 97 Byte

Kunci Field : IdJualDetail

Page 30: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

69

Tabel IV.17.

Spesifikasi Tabel Pembelian Detail

No Elemen Data Nama Field

Tipe

Data Size Keterangan

1

2

3

4

5

6

7

IdBeliDetail

Nomor

KodeBarang

NamaBarang

Satuan

Qty

HargaBeli

Idbelidetail

nomor

kodebarang

namabarang

satuan

qty

hargabeli

Integer

Varchar

Varchar

Varchar

Varchar

Integer

Double

11

10

10

35

20

11

-

ID Detail; Primary Key

Nomor Penjualan; Foreign Key

Kode Barang; Foreign Key

Nama Barang

Satuan Barang

Jumlah Barang

Harga Beli Barang

i. Spesifikasi File Tabel User

Nama Database : pos

Nama File : Tabel User

Akronim : userdata.MYD

Tipe File : File Master

Akses File : Random

Panjang Record : 10 Byte

Kunci Field : id_jadwal

Tabel IV.18.

Spesifikasi Tabel User

No Elemen Data Nama Field Tipe Data Size Keterangan

1

2

UserID

Nama

UserID

Nama

Varchar

Varchar

Varchar

20

35

Kode Pengguna; Primary Key

Nama Pengguna

Page 31: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

70

3

4

Password

Level

Password

Level

Varchar 20

15

Password

Level Pengguna

4.2.2. Software Architecture

Metodologi berorientasi objek adalah suatu strategi pembangunan

perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan

objek yang berisi data dan operasi yang diberlakukan terhadapnya. Adapun

struktur kode yang diusulkan dalam penyusunan program ini sebagai berikut:

1. Component Diagram

Diagram komponen memperlihatkan organisasi serta kebergantungan

sistem/perangkat lunak pada komponen-komponen yang telah ada sebelumnya.

Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal

dipetakan kedalam satu atau lebih kelas, antarmuka serta kolaborasi. Hubungan

antara Komponen (component) dengan kelas adalah bahwa komponen merupakan

subsistem berisi kelas-kelas yang bekerja sama merealisasikan antarmuka yang

diinstruksikan:

Page 32: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

71

Gambar IV.21.

Component Diagram

2. Deployment Diagram

Diagram Deployment (Deployment Diagram) bersifat statis, diagram ini

memperlihatkan konfigurasi saat aplikasi di jalankan (run-time), memuat simpul-

simpul beserrta komponen-komponen yang ada didalamnya. Diagram ini sangat

berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak

mesin (distributed computing).

Page 33: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

72

Gambar IV.22.

Deployment Diagram

4.2.3. User Interface

Rancangan layar atau user interface merupakan salah satu komponen dari

sistem yang dirancang berfungsi sebagai sarana komunikasi antara user dan

program sistem yang nantinya akan digunakan. Dibawah ini merupakan user

interface pada Sistem Aplikasi POS pada Koperasi Pegawai Bank Indonesia

(KOPEBI).

1. Halaman Login level kasir atau admin

Pengguna aplikasi dengan level kasir atau administrator harus melakukan

login terlebih dahulu untuk dapat menginput atau mengecek data-data serta

mencetak laporan pada aplikasi ini. Jika login berhasil maka menu-menu yang

sesuai dengan level data user akan tampilkan.

class Deployment Diagram

Network (LAN)

User

Application

Database Serv er

mysql

inetgw-proxy

php

Page 34: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

73

Gambar IV.23.

Implementasi Rancangan Antar Muka Login

2. Halaman Beranda Kasir

Halaman ini berfungsi sebagai halaman untuk penggunaan aplikasi dalam

level kasir yang terdiri dari menu penjualan untuk menambah transaksi dan

laporan penjualan barang.

Gambar IV.24.

Halaman Beranda Kasir

Page 35: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

74

3. Halaman Kasir Menu Penjualan Barang

Halaman ini berfungsi sebagai halaman untuk kasir dalam menginput

transaksi penjualan dari customer atau pegawai yang berbelanja di Koperasi

Pegawai Bank Indonesia (KOPEBI).

Gambar IV.25.

Halaman Kasir Menu Penjualan Barang

4. Halaman Administrator Menu Data Barang

Halaman ini berfungsi untuk menampilkan data barang sudah diinput ke

dalam database. Administrator dapat menambahkan data barang baru, termasuk

menambah atau merubah kategori barang.

Page 36: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

75

Gambar IV.26.

Halaman Administrator Menu Data Barang

Gambar IV.27.

Halaman Administrator Menu Kategori Barang

Page 37: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

76

5. Halaman Administrator Menu Data Pengguna

Halaman ini berfungsi untuk menampilkan data user / pengguna aplikasi

yang sudah diinput ke dalam database. Administrator dapat menambahkan

pengguna baru, memilih level pengguna serta merubah atau mengupdate data dan

menghapus pengguna aplikasi POS ini.

Gambar IV.28.

Halaman Administrator Menu Data Pengguna

6. Halaman Administrator Menu Data Supplier

Halaman ini berfungsi sebagai halaman untuk administrator untuk

menambah, meng-update atau menghapus data supplier yang masih dan akan

menjadi rekanan KOPEBI dalam pengadaan barang-barang di KOPEBI.

Page 38: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

77

Gambar IV.29.

Halaman Administrator Menu Data Supplier

7. Halaman Administrator Menu Penjualan Barang

Halaman ini berfungsi sebagai halaman untuk administrator sebagai

fungsinya membackup kasir dalam menginput transaksi penjualan dari customer

atau pegawai yang berbelanja di Koperasi Pegawai Bank Indonesia (KOPEBI).

Gambar IV.30.

Halaman Administrator Menu Penjualan Barang

Page 39: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

78

8. Halaman Administrator Menu Pembelian Barang

Halaman ini berfungsi sebagai halaman bagi administrator untuk menambah

transaksi pembelian dari supplier sesuai dengan faktur pembelian yang diberikan

oleh supplier berdasarkan dari surat permintaan pembelian dari KOPEBI.

Gambar IV.31.

Halaman Administrator Menu Pembelian Barang

Gambar IV.32.

Halaman Administrator Transaksi Pembelian

Page 40: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

79

9. Halaman Administrator Menu Laporan Data Barang

Halaman ini berfungsi untuk melihat dan mencetak laporan data barang

yang tersedia di Koperasi Pegawai Bank Indonesia (KOPEBI), adapun rancangan

antarmukanya adalah sebagai berikut:

Gambar IV.33.

Halaman Administrator Menu Laporan Data Barang

10. Halaman Administrator Menu Laporan Data Supplier

Halaman ini berfungsi untuk melihat dan mencetak laporan data supplier

yang menyuplai barang baik makanan, alat tulis kantor, dan barang-barang lain ke

KOPEBI.

Gambar IV.34.

Halaman Administrator Menu Laporan Data Supplier

Page 41: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

80

11. Halaman Administrator Menu Laporan Data Customer

Halaman ini berfungsi untuk melihat dan mencetak laporan data customer

dalam hal ini yaitu pegawai yang bekerja di Bank Indonesia, adapun rancangan

antarmukanya adalah sebagai berikut:

Gambar IV.35.

Halaman Administrator Menu Laporan Data Customer

12. Halaman Administrator Menu Laporan Data Penjualan

Halaman ini berfungsi untuk melihat dan mencetak semua laporan penjualan

serta laporan berdasarkan waktu dan kode customer. Adapun tampilan

antarmukanya adalah sebagai berikut:

Gambar IV.36.

Halaman Administrator Menu Laporan Data Penjualan

Page 42: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

81

4.2. Code Generation

Metodologi berorientasi objek merupakan suatu cara bagaimana sistem

perangkat lunak dibangun melalui pendekatan objek secara sistematis. Berikut ini

merupaka bahasa pemrograman berorientasi objek yang penulis gunakan untuk

membuat aplikasi persediaan elektrikal:

1. Form Index untuk Login

<?php

@session_start();

require_once("inc/config.php");

require_once("inc/functions.php");

if(isset($_SESSION['gliese581netjspos']) && $_SESSION['gliese581netjspos']

== 1) redirect_to("home.php");

if(isset($_POST['submit'])){

$uid=addslashes(strtolower(trim($_POST['USERID'])));

$pass=addslashes($_POST['PASSWORD']);

$q = mysql_query("select * from userdata where userid='$uid' and

password='$pass' limit 1", $koneksi);

if(mysql_num_rows($q) != 0){

$u = mysql_fetch_array($q);

$_SESSION['gliese581netjspos'] = 1;

$_SESSION['UIDPOS'] = $u['userid'];

$_SESSION['DPOS'] = 0;

$_SESSION['LEVELPOS'] = $u['level'];

$_SESSION['TGL1'] = date("d-m-Y");

$_SESSION['TGL2'] = date("d-m-Y");

session_start();

redirect_to("home.php");

} else {

redirect_to("index.php?e=1");

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="robots" content="index, follow" />

<meta name="copyright" content="2012 <?php get_perusahaan(); ?>. All

Rights Reserved." />

<title>Point of Sale - <?php get_perusahaan(); ?></title>

Page 43: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

82

<meta name="description" content="Pengolahan Data Barang (Inventory) di

<?php get_perusahaan(); ?>" />

<link href="css/style.css" rel="stylesheet" type="text/css" />

<style type="text/css">

div#top {

height: 110px;

}

input#USERID, input#PASSWORD {

text-align: center;

padding: 8px 4px;

width: 300px;

border: 1px solid #bbb;

}

</style>

</head>

<body>

<?php require_once("_top.php"); ?>

<div id="middle" style="border:0px double #069; background:#FFF

url(images/gradient_gray_2.png) top left

repeat-x; width:580px; border-bottom-left-radius: 20px; border-bottom-right-

radius: 20px; margin: 39px auto 16px auto;

padding:24px 0 40px 0; box-shadow: 0 5px 8px #444;">

<div class="">

<h2 class="title" style="margin-top:16px;"> Login Pengguna</h2><br

/><br />

<div class="mid" style="background:#fff repeat; width:400px; margin: 0

auto; border: 8px double #777; border-radius:16px; padding:28px 0;">

<?php if(isset($_GET['e'])){?>

<p style="text-align:center; margin-bottom:16px; color:#FF0000;">User

ID dan Password tidak sesuai!</p>

<?php } ?>

<form id="form1" name="form1" method="post" action="index.php"

style="text-align:center">

<p><strong>User ID:</strong></p>

<p>

<input name="USERID" type="text" id="USERID" style="border-

radius:6px;" value="" size="50" />

</p>

<p>&nbsp;</p>

<p><strong>Password:</strong></p>

<p><input name="PASSWORD" type="password" id="PASSWORD"

style="border-radius:6px;" value="" size="50" /></p>

<p>&nbsp;</p>

<p><input class="newcontent" style="cursor:pointer;" name="submit"

type="submit" value=" LOGIN " /></p>

</form>

</div>

</div>

Page 44: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

83

</div>

<?php require_once("_footer.php"); ?>

</div>

</body>

</html>

2. Form Index Menu Penjualan

<?php

@session_start();

require_once("../inc/config.php");

require_once("../inc/functions.php");

if(!isset($_SESSION['gliese581netjspos'])) redirect_to("../index.php");

$tipe = "penjualan";

$konten = ucfirst($tipe);

$userid = $_SESSION['UIDPOS'];

if(isset($_GET['batal'])){

if(isset($_SESSION['DPOS']) && $_SESSION['DPOS'] == 1){

if($_SESSION['UIDPOS'] != 'a') { redirect_to("../disabled.php"); }

}

$kodejual = addslashes(trim($_GET['batal']));

$qd = mysql_query("select * from penjualandetail where

nomor='$kodejual'", $koneksi);

if(mysql_num_rows($qd) != 0){

while($rcd = mysql_fetch_array($qd)){

$iss = mysql_query("update barang set stok=stok+$rcd[qty]

where kode='$rcd[kodebarang]'",$koneksi);

}

}

$iss = mysql_query("delete from penjualandetail where

nomor='$kodejual'",$koneksi);

$iss = mysql_query("delete from penjualan where

nomor='$kodejual'",$koneksi);

reset_increment("penjualan");

redirect_to("jual.php");

}

if(isset($_GET['nomor'])){

$kodejual = addslashes(trim($_GET['nomor']));

if(isset($_GET['d'])){

if(isset($_SESSION['DPOS']) && $_SESSION['DPOS'] == 1){

if($_SESSION['UIDPOS'] != 'a') { redirect_to("../disabled.php"); }

}

$kh = (int)$_GET['d'];

$kb = get_data("penjualandetail","kodebarang","idjualdetail",$kh);

$qb = get_data("penjualandetail","qty","idjualdetail",$kh);

$u = mysql_query("update barang set stok=stok+$qb where

kode='$kb'", $koneksi);

Page 45: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

84

if($u) $qd = mysql_query("delete from penjualandetail where

idjualdetail='$kh' limit 1");

$tot =

get_total("hargajual*qty","penjualandetail","nomor='$kodejual'");

$h = mysql_query("update penjualan set total='$tot',

jumlahbayar='$tot' where nomor='$kodejual'", $koneksi);

redirect_to("jual.php?nomor=$kodejual");

}

$qd = mysql_query("select * from penjualan where nomor='$kodejual' limit

1", $koneksi);

if(mysql_num_rows($qd) != 0){

$dd = mysql_fetch_array($qd);

$kodes = $dd['kodecustomer'];

$namas = get_data("customer","nama","kode",$dd['kodecustomer']);

$tglp = set_date_from_db($dd['tanggal']);

$kets = $dd['keterangan'];

$bayar = $dd['jumlahbayar'];

if ($bayar !=0){

$kembali = $bayar - $dd['total'];

} else {

$kembali = 0;

}

} else {

$kodes = "";

$namas = "";

$tglp = date("d-m-Y");

$kets = "";

}

} else {

$kodes = "";

$namas = "";

$tglp = date("d-m-Y");

$kets = "";

}

if(isset($_POST['insert'])){

if(isset($_GET['nomor'])){

$kodejual = addslashes(trim($_GET['nomor']));

$kodes = addslashes(trim($_POST['KODES']));

$ket = addslashes(trim($_POST['KET']));

$tgl = addslashes(trim($_POST['TGL']));

$jumb = (int)addslashes(trim($_POST['JUMB']));

if($kodes != "" && $tgl != ""){

$tgl = set_date_to_db($tgl);

$h = mysql_query("update penjualan set tanggal='$tgl',

kodecustomer='$kodes',

keterangan='$ket', userid='$userid', jumlahbayar='$jumb' where

nomor='$kodejual'", $koneksi);

}

Page 46: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

85

}

redirect_to("index.php");

}

if(isset($_POST['faktur'])){

if(isset($_GET['nomor'])){

$kodejual = addslashes(trim($_GET['nomor']));

$kodes = addslashes(trim($_POST['KODES']));

$ket = addslashes(trim($_POST['KET']));

$tgl = addslashes(trim($_POST['TGL']));

$jumb = (int)addslashes(trim($_POST['JUMB']));

if($kodes != "" && $tgl != ""){

$tgl = set_date_to_db($tgl);

$h = mysql_query("update penjualan set tanggal='$tgl',

kodecustomer='$kodes',

keterangan='$ket', userid='$userid', jumlahbayar='$jumb' where

nomor='$kodejual'", $koneksi);

redirect_to("../laporan/faktur.php?nomor=$kodejual&tipe=penjualan");

} else {

redirect_to("index.php");

}

} else {

redirect_to("index.php");

}

}

if(isset($_POST['ADD'])){

$qk = mysql_query("select concat('PJ',lpad((coalesce(max(id),0)+1),8,0))

as kode from penjualan", $koneksi);

if(mysql_num_rows($qk) != 0){

$dk = mysql_fetch_array($qk);

$kode = $dk['kode'];

}

$kodes = addslashes(trim($_POST['KODES']));

$ket = addslashes(trim($_POST['KET']));

$tgl = addslashes(trim($_POST['TGL']));

$kodeb = addslashes(trim($_POST['KODEB']));

$namab = addslashes(trim($_POST['NAMAB']));

$qty = (int)addslashes(trim($_POST['QTY']));

$stokb = get_data("barang","stok","kode",$kodeb);

$satuan = addslashes(trim($_POST['SATUAN']));

$hbeli = (float)get_data("barang","hargabeli","kode",$kodeb);

$hargajual = (float)addslashes(trim($_POST['HARGA']));

if($hargajual < $hbeli){

if(isset($_GET['nomor'])){

redirect_to("jual.php?s=4&nomor=$_GET[nomor]");

} else {

redirect_to("jual.php?s=4");

}

Page 47: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

86

}

$sb = (int)get_data("barang","stok","kode",$kodeb);

$stmin = (int)get_data("barang","stokmin","kode",$kodeb);

if($stmin!=0){

if(($sb - $qty) < $stmin){

if(isset($_GET['nomor'])){

redirect_to("jual.php?s=3&nomor=$_GET[nomor]&sm=$stmin");

} else {

redirect_to("jual.php?s=3&sm=$stmin");

}

}

}

if($kodes != "" && $tgl != "" && $kodeb != ""){

if(($stokb-$qty) < 0){

if(isset($_GET['nomor'])){

redirect_to("jual.php?s=2&nomor=$_GET[nomor]");

} else {

redirect_to("jual.php?s=2");

}

}

$tgl = set_date_to_db($tgl);

if(isset($_GET['nomor'])){

$kodejual = addslashes(trim($_GET['nomor']));

$h = mysql_query("update penjualan set tanggal='$tgl',

kode='$kodes',

keterangan='$ket', userid='$userid' where nomor='$kodejual'",

$koneksi);

} else {

$kodejual = $kode;

$h = mysql_query("insert into penjualan (nomor, tanggal,

kodecustomer, keterangan)

values('$kodejual','$tgl','$kodes','$ket')", $koneksi);

}

$i = mysql_query("insert into penjualandetail (nomor, kodebarang,

namabarang, qty, satuan, hargajual)

values('$kodejual','$kodeb','$namab','$qty','$satuan','$hargajual')", $koneksi);

if($i){

$u = mysql_query("update barang set stok=stok-$qty where

kode='$kodeb'", $koneksi);

}

$tot =

get_total("hargajual*qty","penjualandetail","nomor='$kodejual'");

$h = mysql_query("update penjualan set total='$tot',

jumlahbayar='$tot' where nomor='$kodejual'", $koneksi);

if($h){

redirect_to("jual.php?s=1&nomor=$kodejual");

Page 48: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

87

} else {

redirect_to("jual.php?s=0&nomor=$kodejual");

}

} else {

if(isset($_GET['nomor'])){

redirect_to("jual.php?s=0&nomor=$_GET[nomor]");

} else {

redirect_to("jual.php?s=0");

}

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Penjualan Barang</title>

<link rel="stylesheet" href="../css/editor.css">

<link href="../thickbox/thickbox.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="../scripts/jquery-1.8.3.min.js"></script>

<script type="text/javascript" src="../scripts/global.js"></script>

<script type="text/javascript" src="../thickbox/thickbox.js"></script>

<style type="text/css">

input.textshort, input.textshort2, input.text, textarea, select {

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

input.textshort {

width: 300px;

}

input.textshort2 {

width: 120px;

}

select {

width: 400px;

cursor: pointer;

}

textarea {

overflow: hidden;

height: 75px;

}

div.konten-items2 {

padding: 16px 32px;

Page 49: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

88

background: #eee;

border-radius: 8px;

border: 3px solid #888;

}

input.textshort1 {

text-align: left;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

table tr.header td {

text-align: center;

font-weight: bold;

background: #036;

color: #fff;

}

table.t input[type="text"] {

border: none;

}

input.textshort3 {

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

input.textshort21 {

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

table td.center {

text-align: center;

}

table td a {

color: #090;

}

table tr.isi {

background: #FFC;

}

</style>

<style type="text/css">

input.textshort, input.textshort2, input.text, textarea, select {

text-align: left;

Page 50: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

89

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

input.textshort {

width: 300px;

}

input.textshort2 {

width: 120px;

}

select {

width: 400px;

cursor: pointer;

}

textarea {

overflow: hidden;

height: 75px;

}

div.konten-items2 {

padding: 16px 32px;

background: #eee;

border-radius: 8px;

border: 3px solid #888;

}

input.textshort1 {

text-align: left;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

table.t {

border: 1px solid #ccc;

}

table.t tr td {

border: 0px solid #ddd;

}

table tr.header td {

text-align: center;

font-weight: bold;

background: #036;

color: #fff;

}

table.t input[type="text"] {

border: none;

border: 1px solid #bbb;

}

input.textshort3 {

Page 51: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

90

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

input.textshort21 {

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

table td.center {

text-align: center;

}

table td a {

color: #090;

}

table tr.isi {

background: #FFC;

}

</style>

<script type="text/javascript">

$(function(){

$("#JUMB").keyup(function(){

var $subt = parseInt($("#JUMB").val()) - parseInt($("#GT").val());

$("#KB").val($subt);

});

});

</script>

</head>

<body>

<?php require_once("../inc/date-input.php"); ?>

<h1 class="samples" style="float:right; margin-top:16px;"><a

href="index.php"><< Kembali</a></h1>

<h1 class="samples" style="float:left; margin-top:16px;"><?php echo

$konten; ?> Barang </h1>

<?php

if(isset($_GET['s'])){

if($_GET['s'] == 1){

} elseif($_GET['s'] == 3) {

echo "<div class='satuan'>Jumlah barang kurang dari stok

minimum yang telah ditentukan!<br />

Stok minimum: " . $_GET['sm'] . "</div>";

} elseif($_GET['s'] == 2) {

Page 52: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

91

echo '<div class="satuan">Data gagal disimpan. Stok Barang

tidak mencukupi!</div>';

} elseif($_GET['s'] == 4) {

echo '<div class="satuan">Data gagal disimpan. Harga jual

harus lebih besar dari harga beli!</div>';

} else {

echo '<div class="satuan">Data gagal disimpan. Data belum

lengkap!</div>';

}

}

?>

<br style="clear:both;" />

<div class="konten-items">

<form action="" method="post">

<table width="100%" border="0" cellpadding="1" cellspacing="0">

<tr>

<td width="6%">Tanggal:</td>

<td width="20%"><input value="<?php echo $tglp;?>"

class="textshort2" name="TGL" type="text" id="TGL" size="35"

maxlength="35" /></td>

<td width="11%">Customer | <a class="thickbox"

href="../load/customer.php?width=960&amp;height=400">Cari:</a></td>

<td width="63%"><input name="KODES" type="text"

class="textshort2" id="KODES" value="<?php echo $kodes;?>" size="35"

maxlength="35" readonly="readonly" />

<input name="NAMAS" value="<?php echo $namas;?>" type="text"

disabled="disabled" class="textshort" id="NAMAS" size="35" maxlength="35"

/></td>

</tr>

<tr>

<td><input name="TRAN" type="hidden" id="TRAN" value="JUAL"

/></td>

<td valign="top"><em>dd-mm-yyyy</em></td>

<td>Keterangan:</td>

<td><input class="text" value="<?php echo $kets;?>" name="KET"

type="text" id="KET" size="35" maxlength="35" /></td>

</tr>

</table>

<p>

<table width="100%" height="0" border="1" cellpadding="3"

cellspacing="0" class="t">

<tr class="header">

<td width="14%" height="30" align="center"

valign="middle"><strong>Kode Barang | <a class="thickbox"

href="../load/barang.php?width=960&height=400">Cari</a></strong></td>

<td width="29%" align="center" valign="middle"><strong>Nama

Barang</strong></td>

Page 53: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

92

<td width="6%" align="center"

valign="middle"><strong>QTY</strong></td>

<td width="14%" align="center"

valign="middle"><strong>Satuan</strong></td>

<td width="15%" align="center" valign="middle"><strong>Harga

Jual</strong></td>

<td width="22%" align="center" valign="middle">Sub Total</td>

<td width="22%" align="center"

valign="middle"><strong>Action</strong></td>

</tr>

<tr>

<td height="0"><input name="KODEB" type="text" class="textshort2"

id="KODEB" readonly="readonly" /></td>

<td><input style="width:250px;" name="NAMAB" type="text"

class="textshort ro" id="NAMAB" readonly="readonly" /></td>

<td><input name="QTY" type="text" class="textshort2 angka" id="QTY"

style="text-align:right; width:50px;" /></td>

<td><input name="SATUAN" style="width:90px" type="text"

class="textshort2 ro" id="SATUAN" readonly="readonly" /></td>

<td><input name="HARGA" type="text" class="textshort2 angka"

id="HARGA" style="text-align:right" /></td>

<td class="center"><input name="SUBTOTAL" type="text"

class="textshort2 angka" id="SUBTOTAL" style="text-align:right"

readonly="readonly" /></td>

<td class="center"><input type="submit" name="ADD" id="ADD"

value="ADD" /></td>

</tr>

<?php

if(isset($_GET['nomor'])){

$kodejual = trim($_GET['nomor']);

$qisi = mysql_query("select * from penjualandetail where

nomor='$kodejual' order by kodebarang asc", $koneksi);

if(mysql_num_rows($qisi) != 0){

$mulai = 1;

while($disi = mysql_fetch_array($qisi)){

$nama = get_data("barang","nama","kode",$disi['kodebarang']);

?>

<tr class="isi">

<td><?php echo $disi['kodebarang']; ?></td>

<td><?php echo $nama; ?></td>

<td style="text-align:right"><?php echo

easy_number_format($disi['qty']); ?></td>

<td><?php echo $disi['satuan']; ?></td>

<td style="text-align:right"><?php echo

easy_number_format($disi['hargajual']); ?></td>

<td style="text-align:right"><?php echo

easy_number_format($disi['hargajual'] * $disi['qty']); ?></td>

Page 54: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

93

<td class="center"><a onclick="return confirm('Hapus data

ini?');"

href="jual.php?nomor=<?php echo $disi['nomor']; ?>&amp;d=<?php

echo $disi['idjualdetail']; ?>">DEL</a></td>

</tr>

<?php } ?>

<tr>

<td colspan="4" align="right" style="background:#111;color:#FFF;font-

weight:bold;">GRAND TOTAL :</td>

<td colspan="2" style="text-align:right;background:#933; color:#FFF;font-

weight:bold;">

<input value="<?php echo

get_total("hargajual*qty","penjualandetail","nomor='$kodejual'"); ?>"

type="hidden" name="GT" id="GT" /> <?php echo

easy_number_format(get_total("hargajual*qty","penjualandetail","nomor='$kod

ejual'")); ?></td>

</tr>

<tr>

<td colspan="4" align="right" style="font-weight:bold;">JUMLAH BAYAR :

</td>

<td colspan="2" style="text-align:right;background:#933; color:#FFF;font-

weight:bold;"><input name="JUMB" value="<?php echo $bayar; ?>"

id="JUMB" type="text" class="textshort2 angka" style="width:220px; text-

align:right; font-weight:bold;" /></td>

</tr>

<tr>

<td colspan="4" align="right" style="font-weight:bold;">KEMBALI :</td>

<td colspan="2" style="text-align:right;background:#933; color:#FFF;font-

weight:bold;"><input name="KB" type="text" disabled="disabled"

class="textshort2 angka" id="KB" value="<?php echo $kembali; ?>"

style="width:220px; text-align:right; font-weight:bold;" readonly="readonly"

/></td>

</tr>

<?php }} ?>

</table>

<input style="padding:4px 22px;margin: 8px 0 0 0px" name="insert"

type="submit" class="btnsave2" id="insert" value="Selesai" />

<?php if(isset($_GET['nomor'])){ ?>

<a href="jual.php?batal=<?php echo $_GET['nomor']; ?>" onclick="return

confirm('Batalkan transaksi ini?');" style="padding:4px 22px;margin: 8px 0 0

4px; float:right" class="btnred">Batalkan Transaksi</a>

<div style="float:right">

<input style="padding:4px 22px;margin: 8px 0 0 0px" name="faktur"

type="submit" class="btnsave2" id="faktur" value="Cetak Faktur" />

</div>

<!-- <a href="../laporan/faktur.php?nomor=<?php echo $_GET['nomor'];

?>&tipe=penjualan" style="padding:4.5px 22px;margin: 8px 0 0 0px;

float:right" class="btnsave2">Cetak Faktur</a> -->

Page 55: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

94

<?php } ?>

<div class="clear"></div>

</p>

</form>

</div>

</body>

</html>

3. Form Tambah Barang Menu Administrator

<?php

@session_start();

require_once("../inc/config.php");

require_once("../inc/functions.php");

if(!isset($_SESSION['gliese581netjspos'])) redirect_to("../index.php");

$tipe = "barang";

$konten = ucfirst($tipe);

if(isset($_POST['insert'])){

$kode = addslashes(trim($_POST['KODE']));

$nama = addslashes(trim($_POST['JUDUL']));

$satuan = addslashes(trim($_POST['SATUAN']));

$kategori = addslashes(trim($_POST['KATEGORI']));

$letak = addslashes(trim($_POST['LETAK']));

$hargabeli = (float)$_POST['HARGABELI'];

$hargajual = (float)$_POST['HARGAJUAL'];

$stokmin = (int)$_POST['SM'];

$stokmak = (int)$_POST['SX'];

if($stokmak!=0 && $stokmin!=0){

if($stokmak < $stokmin) redirect_to("news.php?s=4");

}

if (cek_data("barang","kode",$kode)==1) redirect_to("new.php?s=5");

if($kode != "" && $nama != "" && $satuan != "" && $kategori != "Pilih

Kategori..." && $hargabeli > 0 && $hargajual > 0){

$i = mysql_query("insert into barang (kode, nama, kategori,

satuan, letak, hargabeli, hargajual, stokmin,

stokmak)

values('$kode','$nama','$kategori','$satuan','$letak','$hargabeli',

'$hargajual',$stokmin, $stokmak)", $koneksi);

if($i){

redirect_to("new.php?s=1");

} else {

redirect_to("new.php?s=0");

}

} else {

redirect_to("new.php?s=0");

}

Page 56: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

95

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript" src="<?php echo $base; ?>/scripts/jquery-

1.8.3.min.js"></script>

<script type="text/javascript" src="<?php echo $base;

?>/scripts/global.js"></script>

<title><?php echo $konten; ?> Baru</title>

<link rel="stylesheet" href="../css/editor.css">

<style type="text/css">

input.textshort, input.text, textarea, select {

text-align: left;

padding: 8px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 8px;

}

input.textshort {

width: 300px;

}

select {

width: 400px;

cursor: pointer;

}

textarea {

overflow: hidden;

height: 75px;

}

div.konten-items2 {

padding: 16px 32px;

background: #eee;

border-radius: 8px;

border: 3px solid #888;

}

</style>

</head>

<body>

<h1 class="samples" style="float:right; margin-top:16px;"><a href="<?php

echo $base; ?>/barang/index.php"><< Kembali</a></h1>

<h1 class="samples" style="float:left; margin-top:16px;">Barang Baru

</h1>

<?php

if(isset($_GET['s'])){

Page 57: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

96

if($_GET['s'] == 1){

$pesan = "Data berhasil disimpan.";

} elseif($_GET['s'] == 0){

$pesan = "Data gagal disimpan. Data belum lengkap!";

} elseif($_GET['s'] == 4){

$pesan = "Data gagal disimpan. Stok maksimum harus lebih besar

dari stok minimum barang!";

} elseif($_GET['s'] == 5){

$pesan = "Data gagal disimpan. Kode yang diinput sudah ada!";

}

?>

<div class="satuan"><?php echo $pesan; ?></div>

<?php } ?>

<br style="clear:both;" />

<div class="konten-items">

<form action="" method="post" enctype="multipart/form-data">

<p>

<strong>Kode Barang * :</strong><br />

<input name="KODE" type="text" class="textshort" id="KODE"

size="35" maxlength="35" />

<strong><br />

Nama Barang * :</strong><br />

<input class="text" name="JUDUL" type="text" id="JUDUL" size="50"

maxlength="50" /><br />

<strong>Kategori Barang * :</strong><br />

<select name="KATEGORI" id="KATEGORI">

<option>Pilih Kategori...</option>

<?php

$q = mysql_query("select * from kategori order by id asc",

$koneksi);

if(mysql_num_rows($q) !=0 ){

while($data = mysql_fetch_array($q)){

$nama = html($data['kategori']);

echo "<option>$nama</option>";

}}

?>

</select>

+ <a href="kategori/index.php">Kategori Baru</a><br />

<strong>Satuan * :</strong><br />

<input class="textshort" name="SATUAN" type="text" id="SATUAN"

size="35" maxlength="20" /><br />

<strong>Letak Barang :</strong><br />

<input class="textshort" name="LETAK" type="text" id="LETAK"

size="35" maxlength="20" /><br />

<strong>Harga Beli * :</strong><br />

Page 58: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

97

<input class="textshort angka" name="HARGABELI" type="text"

id="HARGABELI" size="35" />

*Hanya angka, contoh: 10000<br />

<strong>Harga Jual * :</strong><br />

<input class="textshort angka" name="HARGAJUAL" type="text"

id="HARGAJUAL" size="35" />

*Hanya angka, contoh: 15000<br />

<strong>Stok Minimum * :</strong><br />

<input class="textshort angka" name="SM" type="text" id="SM"

size="35" />

*Hanya angka, contoh: 10. <em>Isi dengan angka 0 jika barang tidak memiliki

stok minimum</em>.<br />

<strong>Stok Maksimum * :</strong><br />

<input class="textshort angka" name="SX" type="text" id="SX" size="35" />

*Hanya angka, contoh: 10. <em>Isi dengan angka 0 jika barang tidak memiliki

stok maksimum.</em><br />

<input name="insert" type="submit" class="btnsave2" id="insert"

style="margin: 8px 0 0 0px;" value="Simpan" />

<!--<input name="reset" type="reset" class="btnsave2" id="reset"

style="margin: 8px 0 0 0px;" value="Reset" />-->

<div class="clear"></div>

</p>

<input type="hidden" name="tipe" id="tipe" value="<?php echo $tipe;

?>" />

</form>

</div>

</body>

</html>

4. Form Tambah Customer Halaman Administrator

<?php

@session_start();

require_once("../inc/config.php");

require_once("../inc/functions.php");

if(!isset($_SESSION['gliese581netjspos'])) redirect_to("../index.php");

$tipe = "customer";

$konten = ucfirst($tipe);

if(isset($_POST['insert'])){

$kode = addslashes(trim($_POST['KODE']));

$nama = addslashes(trim($_POST['NAMA']));

$kota = addslashes(trim($_POST['KOTA']));

$alamat = addslashes(trim($_POST['ALAMAT']));

$telepon = $_POST['TELEPON'];

if (cek_data("customer","kode",$kode)==1) redirect_to("new.php?s=2");

Page 59: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

98

if($kode != "" && $nama != ""){

$i = mysql_query("insert into customer (kode, nama, kota, alamat,

telepon)

values('$kode','$nama', '$kota','$alamat','$telepon')", $koneksi);

if($i){

redirect_to("new.php?s=1");

} else {

redirect_to("new.php?s=0");

}

} else {

redirect_to("new.php?s=0");

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title><?php echo $konten; ?> Baru</title>

<link rel="stylesheet" href="../css/editor.css">

<style type="text/css">

input.textshort, input.text, textarea, select {

text-align: left;

padding: 8px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 8px;

}

input.textshort {

width: 300px;

}

select {

width: 400px;

cursor: pointer;

}

textarea {

overflow: hidden;

height: 75px;

}

Page 60: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

99

div.konten-items2 {

padding: 16px 32px;

background: #eee;

border-radius: 8px;

border: 3px solid #888;

}

input.textshort1 { text-align: left;

padding: 8px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 8px;

}

</style>

<script type="text/javascript" src="<?php echo $base; ?>/scripts/jquery-

1.8.3.min.js"></script>

<script type="text/javascript" src="<?php echo $base;

?>/scripts/global.js"></script>

</head>

<body>

<h1 class="samples" style="float:right; margin-top:16px;"><a

href="index.php"><< Kembali</a></h1>

<h1 class="samples" style="float:left; margin-top:16px;"><?php echo

$konten; ?> Baru </h1>

<?php

if(isset($_GET['s'])){

if($_GET['s'] == 1){

$pesan = "Data berhasil disimpan.";

} elseif($_GET['s'] == 2){

$pesan = "Data gagal disimpan. Kode yang diinput sudah ada!";

} else {

$pesan = "Data gagal disimpan. Data belum lengkap!";

}

?>

<div class="satuan"><?php echo $pesan; ?></div>

<?php } ?>

<br style="clear:both;" />

<div class="konten-items">

<form action="" method="post">

<p>

<strong>Kode Customer * :</strong><br />

<input class="textshort" name="KODE" type="text" id="KODE"

size="35" maxlength="35" />

Page 61: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

100

<strong><br />

Nama Customer * :</strong><br />

<input class="text" name="NAMA" type="text" id="NAMA" size="35"

maxlength="35" />

<br />

<strong>Alamat:</strong><br />

<input class="text" name="ALAMAT" type="text" id="ALAMAT"

size="35" maxlength="35" /><br />

<strong>Kota:</strong><br />

<input class="textshort" name="KOTA" type="text" id="KOTA"

size="35" maxlength="35" /><br />

<strong>Telepon / Fax:</strong><br />

<input class="textshort" name="TELEPON" type="text" id="TELEPON"

size="35" maxlength="35" />

<br /><br />

<input name="insert" type="submit" class="btnsave2" id="insert"

style="margin: 8px 0 0 0px;" value="Simpan <?php echo $konten; ?>" />

<div class="clear"></div>

</p>

<input type="hidden" name="tipe" id="tipe" value="<?php echo $tipe;

?>" />

</form>

</div>

</body>

</html>

5. Form Index Menu Pembelian

<?php

@session_start();

require_once("../inc/config.php");

require_once("../inc/functions.php");

if(!isset($_SESSION['gliese581netjspos'])) redirect_to("../index.php");

$tipe = "pembelian";

$konten = ucfirst($tipe);

$userid = $_SESSION['UIDPOS'];

if(isset($_GET['batal'])){

if(isset($_SESSION['DPOS']) && $_SESSION['DPOS'] == 1){

if($_SESSION['UIDPOS'] != 'a') { redirect_to("../disabled.php"); }

}

$kodebeli = addslashes(trim($_GET['batal']));

$qd = mysql_query("select * from pembeliandetail where

nomor='$kodebeli'", $koneksi);

if(mysql_num_rows($qd) != 0){

while($rcd = mysql_fetch_array($qd)){

Page 62: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

101

$iss = mysql_query("update barang set stok=stok-$rcd[qty] where

kode='$rcd[kodebarang]'",$koneksi);

}

}

$iss = mysql_query("delete from pembeliandetail where

nomor='$kodebeli'",$koneksi);

$iss = mysql_query("delete from pembelian where

nomor='$kodebeli'",$koneksi);

reset_increment("pembelian");

redirect_to("beli.php");

}

if(isset($_GET['nomor'])){

$kodebeli = addslashes(trim($_GET['nomor']));

if(isset($_GET['d'])){

if(isset($_SESSION['DPOS']) && $_SESSION['DPOS'] == 1){

if($_SESSION['UIDPOS'] != 'a') { redirect_to("../disabled.php"); }

}

$kh = (int)$_GET['d'];

$kb = get_data("pembeliandetail","kodebarang","idbelidetail",$kh);

$qb = get_data("pembeliandetail","qty","idbelidetail",$kh);

$u = mysql_query("update barang set stok=stok-$qb where

kode='$kb'", $koneksi);

if($u) $qd = mysql_query("delete from pembeliandetail where

idbelidetail='$kh' limit 1");

$tot =

get_total("hargabeli*qty","pembeliandetail","nomor='$kodebeli'");

$h = mysql_query("update pembelian set total='$tot' where

nomor='$kodebeli'", $koneksi);

redirect_to("beli.php?nomor=$kodebeli");

}

$qd = mysql_query("select * from pembelian where nomor='$kodebeli'

limit 1", $koneksi);

if(mysql_num_rows($qd) != 0){

$dd = mysql_fetch_array($qd);

$kodes = $dd['kodesupplier'];

$namas = get_data("supplier","nama","kode",$dd['kodesupplier']);

$tglp = set_date_from_db($dd['tanggal']);

$kets = $dd['keterangan'];

} else {

$kodes = "";

$namas = "";

$tglp = date("d-m-Y");

$kets = "";

}

} else {

Page 63: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

102

$kodes = "";

$namas = "";

$tglp = date("d-m-Y");

$kets = "";

}

if(isset($_POST['insert'])){

if(isset($_GET['nomor'])){

$kodebeli = addslashes(trim($_GET['nomor']));

$kodes = addslashes(trim($_POST['KODES']));

$ket = addslashes(trim($_POST['KET']));

$tgl = addslashes(trim($_POST['TGL']));

if($kodes != "" && $tgl != ""){

$tgl = set_date_to_db($tgl);

$h = mysql_query("update pembelian set tanggal='$tgl',

kodesupplier='$kodes',

keterangan='$ket', userid='$userid' where nomor='$kodebeli'",

$koneksi);

}

}

redirect_to("index.php");

}

if(isset($_POST['ADD'])){

$qk = mysql_query("select concat('PB',lpad((coalesce(max(id),0)+1),8,0))

as kode from pembelian", $koneksi);

if(mysql_num_rows($qk) != 0){

$dk = mysql_fetch_array($qk);

$kode = $dk['kode'];

}

$kodes = addslashes(trim($_POST['KODES']));

$ket = addslashes(trim($_POST['KET']));

$tgl = addslashes(trim($_POST['TGL']));

$kodeb = addslashes(trim($_POST['KODEB']));

$namab = addslashes(trim($_POST['NAMAB']));

$qty = (int)addslashes(trim($_POST['QTY']));

$satuan = addslashes(trim($_POST['SATUAN']));

$hargabeli = (float)addslashes(trim($_POST['HARGA']));

$sb = (int)get_data("barang","stok","kode",$kodeb);

$stmak = (int)get_data("barang","stokmak","kode",$kodeb);

if($stmak!=0){

Page 64: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

103

if(($sb + $qty) > $stmak){

if(isset($_GET['nomor'])){

redirect_to("beli.php?s=2&nomor=$_GET[nomor]&sm=$stmak");

} else {

redirect_to("beli.php?s=2&sm=$stmak");

}

}

}

if($kodes != "" && $tgl != "" && $kodeb != ""){

$tgl = set_date_to_db($tgl);

if(isset($_GET['nomor'])){

$kodebeli = addslashes(trim($_GET['nomor']));

$h = mysql_query("update pembelian set tanggal='$tgl',

kode='$kodes',

keterangan='$ket', userid='$userid' where nomor='$kodebeli'",

$koneksi);

} else {

$kodebeli = $kode;

$h = mysql_query("insert into pembelian (nomor, tanggal,

kodesupplier, keterangan)

values('$kodebeli','$tgl','$kodes','$ket')", $koneksi);

}

$i = mysql_query("insert into pembeliandetail (nomor, kodebarang,

namabarang, qty, satuan, hargabeli)

values('$kodebeli','$kodeb','$namab','$qty','$satuan','$hargabeli')", $koneksi);

if($i){

$u = mysql_query("update barang set stok=stok+$qty where

kode='$kodeb'", $koneksi);

}

$tot =

get_total("hargabeli*qty","pembeliandetail","nomor='$kodebeli'");

$h = mysql_query("update pembelian set total='$tot' where

nomor='$kodebeli'", $koneksi);

if($h){

redirect_to("beli.php?s=1&nomor=$kodebeli");

} else {

redirect_to("beli.php?s=0&nomor=$kodebeli");

}

} else {

if(isset($_GET['nomor'])){

redirect_to("beli.php?s=0&nomor=$_GET[nomor]");

Page 65: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

104

} else {

redirect_to("beli.php?s=0");

}

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Pembelian Barang</title>

<link rel="stylesheet" href="../css/editor.css">

<link href="../thickbox/thickbox.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="../scripts/jquery-

1.8.3.min.js"></script>

<script type="text/javascript" src="../scripts/global.js"></script>

<script type="text/javascript" src="../thickbox/thickbox.js"></script>

<style type="text/css">

input.textshort, input.textshort2, input.text, textarea, select {

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

input.textshort {

width: 300px;

}

input.textshort2 {

width: 120px;

}

select {

width: 400px;

cursor: pointer;

}

textarea {

overflow: hidden;

height: 75px;

}

div.konten-items2 {

Page 66: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

105

padding: 16px 32px;

background: #eee;

border-radius: 8px;

border: 3px solid #888;

}

input.textshort1 {

text-align: left;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

table tr.header td {

text-align: center;

font-weight: bold;

background: #036;

color: #fff;

}

table.t input[type="text"] {

border: none;

}

input.textshort3 {

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

input.textshort21 {

text-align: left;

padding: 6px 4px;

width: 560px;

border: 1px solid #bbb;

margin-bottom: 0;

}

table td.center {

text-align: center;

}

table td a {

color: #090;

}

table tr.isi {

background: #FFC;

Page 67: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

106

}

</style>

</head>

<body>

<?php require_once("../inc/date-input.php"); ?>

<h1 class="samples" style="float:right; margin-top:16px;"><a

href="index.php"><< Kembali</a></h1>

<h1 class="samples" style="float:left; margin-top:16px;"><?php echo

$konten; ?> Barang </h1>

<?php

if(isset($_GET['s'])){

if($_GET['s'] == 1){

} elseif($_GET['s'] == 2) {

echo "<div class='satuan'>Jumlah barang yang dibeli melebihi

stok maksimum yang telah ditentukan!<br />

Stok maksimum: " . $_GET['sm'] . "</div>";

} else {

echo '<div class="satuan">Data gagal disimpan. Data belum

lengkap!</div>';

}

}

?>

<br style="clear:both;" />

<div class="konten-items">

<form action="" method="post">

<table width="100%" border="0" cellpadding="1" cellspacing="0">

<tr>

<td width="6%">Tanggal:</td>

<td width="20%"><input value="<?php echo $tglp;?>"

class="textshort2" name="TGL" type="text" id="TGL" size="35"

maxlength="35" /></td>

<td width="11%">Supplier | <a class="thickbox"

href="../load/supplier.php?width=960&amp;height=400">Cari:</a></td>

<td width="63%"><input name="KODES" type="text"

class="textshort2" id="KODES" value="<?php echo $kodes;?>" size="35"

maxlength="35" readonly="readonly" />

Page 68: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

107

<input name="NAMAS" value="<?php echo $namas;?>" type="text"

disabled="disabled" class="textshort" id="NAMAS" size="35"

maxlength="35" /></td>

</tr>

<tr>

<td><input name="TRAN" type="hidden" id="TRAN" value="BELI"

/></td>

<td valign="top"><em>dd-mm-yyyy</em></td>

<td>Keterangan:</td>

<td><input class="text" value="<?php echo $kets;?>" name="KET"

type="text" id="KET" size="35" maxlength="35" /></td>

</tr>

</table>

<p>

<table width="100%" height="0" border="1" cellpadding="3"

cellspacing="0" class="t">

<tr class="header">

<td width="14%" height="30" align="center"

valign="middle"><strong>Kode Barang | <a class="thickbox"

href="../load/barang.php?width=960&height=400">Cari</a></strong></td

>

<td width="29%" align="center" valign="middle"><strong>Nama

Barang</strong></td>

<td width="6%" align="center"

valign="middle"><strong>QTY</strong></td>

<td width="14%" align="center"

valign="middle"><strong>Satuan</strong></td>

<td width="15%" align="center" valign="middle"><strong>Harga

Beli</strong></td>

<td width="22%" align="center" valign="middle">Sub Total</td>

<td width="22%" align="center"

valign="middle"><strong>Action</strong></td>

</tr>

<tr>

<td height="0"><input name="KODEB" type="text" class="textshort2"

id="KODEB" readonly="readonly" /></td>

<td><input style="width:250px;" name="NAMAB" type="text"

class="textshort ro" id="NAMAB" readonly="readonly" /></td>

<td><input name="QTY" type="text" class="textshort2 angka" id="QTY"

style="text-align:right; width:50px;" /></td>

<td><input name="SATUAN" style="width:90px" type="text"

class="textshort2 ro" id="SATUAN" readonly="readonly" /></td>

<td><input name="HARGA" type="text" class="textshort2 angka"

id="HARGA" style="text-align:right" /></td>

<td class="center"><input name="SUBTOTAL" type="text"

class="textshort2 angka" id="SUBTOTAL" style="text-align:right"

readonly="readonly" /></td>

Page 69: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

108

<td class="center"><input type="submit" name="ADD" id="ADD"

value="ADD" /></td>

</tr>

<?php

if(isset($_GET['nomor'])){

$kodebeli = trim($_GET['nomor']);

$qisi = mysql_query("select * from pembeliandetail where

nomor='$kodebeli' order by kodebarang asc", $koneksi);

if(mysql_num_rows($qisi) != 0){

$mulai = 1;

while($disi = mysql_fetch_array($qisi)){

$nama = get_data("barang","nama","kode",$disi['kodebarang']);

?>

<tr class="isi">

<td><?php echo $disi['kodebarang']; ?></td>

<td><?php echo $nama; ?></td>

<td style="text-align:right"><?php echo

easy_number_format($disi['qty']); ?></td>

<td><?php echo $disi['satuan']; ?></td>

<td style="text-align:right"><?php echo

easy_number_format($disi['hargabeli']); ?></td>

<td style="text-align:right"><?php echo

easy_number_format($disi['hargabeli'] * $disi['qty']); ?></td>

<td class="center"><a onclick="return confirm('Hapus data ini?');"

href="beli.php?nomor=<?php echo $disi['nomor']; ?>&d=<?php

echo $disi['idbelidetail']; ?>">DEL</a></td>

</tr>

<?php } ?>

<tr>

<td colspan="5" style="background:#111;color:#FFF;font-

weight:bold;">GRAND TOTAL</td>

<td style="text-align:right;background:#933; color:#FFF;font-

weight:bold;">

<?php if(isset($_GET['nomor'])){

$nomor = addslashes(trim($_GET['nomor']));

echo

easy_number_format(get_total("hargabeli*qty","pembeliandetail","nomor='$

nomor'"));

} else {

echo 0;

}

?>

</td>

</tr>

<?php }} ?>

</table>

Page 70: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

109

<input style="padding:4px 22px;margin: 8px 0 0 0px" name="insert"

type="submit" class="btnsave2" id="insert" value="Selesai" />

<?php if(isset($_GET['nomor'])){ ?>

<a href="beli.php?batal=<?php echo $_GET['nomor']; ?>"

onclick="return confirm('Batalkan transaksi ini?');" style="padding:4.5px

22px;margin: 8px 0 0 4px; float:right" class="btnred">Batalkan

Transaksi</a>

<a href="../laporan/faktur.php?nomor=<?php echo $_GET['nomor'];

?>&tipe=pembelian" style="padding:4.5px 22px;margin: 8px 0 0 0px;

float:right" class="btnsave2">Cetak Faktur</a>

<?php } ?>

<div class="clear"></div>

</p>

</form>

</div>

</body>

</html>

4.4. Testing

1. Form Login

Tabel IV.19.

Hasil Pengujian Black Bok Testing Form Login

No Skenario Pengujian Test Case Hasil Yang

Diharapkan

Hasil

Pengujia

n

Kesi

m

pulan

1 Mengosongkan semua

isian data login

Administrator untuk

username dan password

lalu klik „Login‟

Username:

(kosong)

Password:

(kosong)

Sistem akan

menolak akses

login dan

menampilkan pesan

“UserID dan

Password tidak

sesuai”

Sesuai

harapan

Valid

2 Mengisi salah satu isian

data login Administrator

untuk username, lalu klik

„Login‟

Username:

(admin)

Password:

(kosong)

Sistem akan

menolak akses

login dan

menampilkan pesan

“UserID dan

Password tidak

sesuai”

Sesuai

harapan

Valid

3

Mengisi salah satu isian

data login Administrator

Username:

(kosong)

Sistem akan

menolak akses

Sesuai

harapan

Valid

Page 71: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

110

untuk password, lalu klik

„Login‟

Password:

(admin)

login dan

menampilkan pesan

“UserID dan

Password tidak

sesuai”

4 Menginput semua isian

data login untuk

Administrator dengan

benar, lalu klik „Login

Username:

(admin)

Password:

(admin)

Sistem akan

menerima akses

login dan

menampilkan

halaman pengguna

Sesuai

harapan

Valid

2. Form Index Menu Penjualan

Tabel IV.20.

Hasil Pengujian Black Bok Testing Form Index Menu Penjualan

No Skenario Pengujian Test Case Hasil Yang

Diharapkan

Hasil

Pengujia

n

Kesi

m

pulan

1 Menambah action dalam

satu transaksi tetapi tidak

input kode barang

klik add

action

tanpa cari

kode

barang

Sistem akan

menolak update

data dan

menampilkan pesan

“Data gagal

disimpan. Data

belum lengkap!”

Sesuai

harapan

Valid

2 Menambah transaksi atas

barang yang melampaui

stok minimum

Cari kode

barang

(stok

minimum),

lalu tekan

add action

Sistem akan

menolak update

data dan

menampilkan pesan

“Data gagal

disimpan. Stok

Barang tidak

mencukupi”

Sesuai

harapan

Valid

Page 72: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

111

3. Form Tambah Barang Menu Administrator

Tabel IV.21.

Hasil Pengujian Black Box Testing Form Tambah Barang

No Skenario Pengujian Test Case Hasil Yang

Diharapkan

Hasil

Pengujia

n

Kesi

m

pulan

1 Menambah data barang

dengan menginput kode

barang yang sudah ada

Masukan

kode

barang

yang sudah

ada

Sistem akan

menolak update

data dan

menampilkan pesan

"Data gagal

disimpan. Kode

yang diinput sudah

ada

Sesuai

harapan

Valid

4. Form Tambah Customer Menu Administrator

Tabel IV.22.

Hasil Pengujian Black Box Testing Form Tambah Customer Menu Admin

No Skenario Pengujian Test Case Hasil Yang

Diharapkan

Hasil

Pengujia

n

Kesi

m

pulan

1 Menambah data customer

dengan menginput kode

barang yang sudah ada

Masukan

kode

customer

yang sudah

ada

Sistem akan

menolak update

data dan

menampilkan pesan

"Data gagal

disimpan. Kode

yang diinput sudah

ada

Sesuai

harapan

Valid

Page 73: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

112

5. Form Index Menu Pembelian

Tabel IV.23.

Hasil Pengujian Black Box Testing Form Index Menu Pembelian

No Skenario Pengujian Test Case Hasil Yang

Diharapkan

Hasil

Pengujia

n

Kesi

m

pulan

1 Menambah action dalam

satu transaksi tetapi tidak

input kode barang

klik add

action

tanpa cari

kode

barang

Sistem akan

menolak update

data dan

menampilkan pesan

“Data gagal

disimpan. Data

belum lengkap!”

Sesuai

harapan

Valid

2 Menambah transaksi atas

barang yang melampaui

stok maksimum

Cari kode

barang

(stok

maksimum

), lalu

tekan add

action

Sistem akan

menolak update

data dan

menampilkan pesan

“Jumlah barang

yang dibeli

melebihi stok

maksimum…”

Sesuai

harapan

Valid

4.5. Support

Dalam Pembuatan Aplikasi Belanja yang akan membantu pembeli dan

pengguna aplikasi dalam hal ini administrator dan kasir untuk memproses

transaksi serta mengelola data-data dan membuat laporan untuk ini penulis

menggunakan program Dreamweaver CS 6 untuk membuat aplikasi, untuk

mengoperasikan program tersebut diperlukan spesifikasi komputer yang cukup

tinggi, untuk mendukung pembuatan aplikasi kebutuhan hardware yang di

perlukan meliputi: Processor, memory, monitor, hard disk, keyboard, mouse dan

kebutuhan software yang diperlukan meliputi sistem oprasi software program

Dreamweaver CS 6 dan software database.

Page 74: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

113

4.5.1. Publikasi Web

Sistem Aplikasi Point of Sale (pos) pada Koperasi Pegawai Bank

Indonesia menggunakan Local Area Network (LAN) yang dikelola oleh

Departemen Pengelola Sistem Informasi (DPSI) Bank Indonesia, sehingga tidak

memerlukan publikasi web untuk umum melainkan hanya internal anggota

KOPEBI. Aplikasi tersebut dapat diakses menggunakan proxy yang disediakan

oleh DPSI yaitu inetgw-proxy dengan port 8080 selama komputer atau laptop di

KOPEBI terhubung dengan kabel jaringan yang juga disediakan oleh DPSI Bank

Indonesia.

4.5.2. Spesifikasi Hardware dan Software

Tabel IV.24.

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Operasi Windows 7

Processor IntelI CoreI i5-2400CPU @3.10 Ghz

RAM 2 gb

Harddisk 500 gb

CD-ROM DVD writing and reading

Monitor 16:9 Ratio LCD

Keyboard 108 Keys

Printer Laser Jet Printer

Mouse Standar

Browser Internet Explore, Mozilla Firefox, Google Chrome

Software Macromedia Dreamweaver, XAMPP, Microsoft

Visio, Enterprise Architect 7.5

Network Local Area Network (LAN), inetgw-proxy

port:8080

Page 75: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

114

4.6. Spesifikasi Dokumen Sistem Usulan

1. Nama Dokumen : Struk

Fungsi : Sebagai bukti transaksi

Sumber : kasir

Tujuan : Customer

Media : Tampilan

Frekuensi : Setiap transaksi dilaksanakan

Format : Lampiran B1

2. Nama Dokumen : Faktur Pembelian

Fungsi : Sebagai bukti transaksi pembelian dari supplier

Sumber : administrasi

Tujuan : Pengurus KOPEBI

Media : Tampilan

Frekuensi : Setiap transaksi dilaksanakan

Format : Lampiran B2

3. Nama Dokumen : Laporan Data Barang

Fungsi : Sebagai pemberitahuan kepada administrator

posisi stok barang

Sumber : Admin

Tujuan : Pengurus KOPEBI

Media : Tampilan

Frekuensi : Setiap transaksi dilaksanakan

Format : Lampiran B3

4. Nama Dokumen : Laporan Data Supplier

Page 76: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN · 40 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Perangkat Lunak Sebuah program komputer tanpa terasosiasi dengan

115

Fungsi : Sebagai pemberitahuan data customer yang sering

bertransaksi di KOPEBI agar dapat diikuti promo

menarik

Sumber : Admin

Tujuan : Pengurus KOPEBI

Media : Tampilan

Frekuensi : Setiap selesai mengikuti ujian

Format : Lampiran B4

5. Nama Dokumen : Laporan Data Customer

Fungsi : Sebagai pemberitahuan data customer yang sering

bertransaksi di KOPEBI agar dapat diikuti promo

menarik

Sumber : Admin

Tujuan : Pengurus KOPEBI

Media : Tampilan

Frekuensi : Setiap selesai mengikuti ujian

Format : Lampiran B5

6. Nama Dokumen : Laporan Data Penjualan

Fungsi : Sebagai laporan untuk pengurus KOPEBI

Sumber : Admin

Tujuan : Pengurus dan Pengawas KOPEBI

Media : Tampilan

Frekuensi : Setiap bulan, triwulan dan tahunan

Format : Lampiran B6