T0__BAB IV Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Sistem Informasi Supplier, Inventory, Produksi dan Penjualan Pastry dan Bakery T0 BAB IV

BAB IV
HASIL DAN ANALISIS

4.1. Implementasi
Implementasi merupakan hasil karya dalam bentuk sistem
berdasarkan

perancangan

yang

telah

dibahas

pada

bab

sebelumnya. Implementasi yang dibahas meliputi implementasi
aplikasi pada login role, supplier , inventory bahan mentah, produk,

penjualan dan reporting.
4.1.1

Implementasi Aplikasi pada Login Role
Menu login merupakan menu yang digunakan oleh client

untuk mengubah status pengguna aplikasi dari guest menjadi
member. Menu login berada di dalam form login seperti yang dapat
dilihat pada Gambar 4.1.

Gambar 4.1 User Interface Form Login

55

56

Pada gambar 4.1 menunjukkan halaman awal program, login
digunakan sebagai pembagian hak akses pada masing – masing
pengguna. Status setelah berhasil login adalah owner, pengurus
supplier, inventory bahan, bagian produksi dan bagian pengeluaran

produk. Kode Program untuk autentikasi login dapat dilihat pada
Kode Program 4.1 berikut:
Kode Program 4.1 Autentikasi Pengguna
1. Public Sub New(ByVal userName As String, ByVal password As
String)
2.
ui = UserIdentity.GetIdentity(userName, password)
3.
Thread.CurrentPrincipal = Me
4.
End Sub

Pada Kode Program 4.1 diatas terdapat constructor untuk
memvalidasi user name dan password. User name dan password
didapatkan dari Class UserIdentity. Class UserPricipal kemudian
mendapatkan system thread security dari Iprincipal.
4.1.2 Implementasi Aplikasi pada Kelola Supplier
Aplikasi pada sisi pengurus supplier digunakan untuk
melakukan pendataan pada supplier yang menyuplai bahan,
seperti dapat dilihat pada Gambar 4.2 berikut:


57

Gambar 4.2 User Interface Customize untuk bagian Supplier
Setelah role dari sisi pengurus supplier berhasil login,
maka aplikasi akan menampilkan control-control untuk olah data
supplier (create, update delete) yang dapat digunakan oleh user,

selain itu pengurus supplier juga dapat mengatur supplier mana
yang masih aktif atau tidak aktif. Kode program untuk
menampilkan seluruh data dari supplier bahan dapat dilihat pada
Kode Program 4.1 dibawah:

58

Kode Program 4.2 Kode untuk Menampilkan List Suppliers
1. Private Sub FillListView(ByVal sil As SupplierInfoList)
2.
ListView1.Items.Clear()
3.

arrSupplier.Clear()
4.
arrkode.Clear()
5.
arrKontak.Clear()
6.
arrCompany.Clear()
7.
For Each si As SupplierInfo In sil
8.
Dim lvi As New ListViewItem(si.KodeSupplier)
9.
arrkode.Add(si.KodeSupplier)
10.
arrSupplier.Add(si.SupplierName.ToUpper)
11.
lvi.SubItems.Add(si.SupplierName)
12.
lvi.SubItems.Add(si.CompanyName)
13.

lvi.SubItems.Add(si.Phone)
14.
lvi.SubItems.Add(si.Status)
15.
lvi.SubItems.Add(si.TanggalUpdate)
16.
lvi.Tag = si
17.
Me.ListView1.Items.Add(lvi)
18.
Next
19.
End Sub

Pada Kode Program 4.1 baris ke-1 hingga baris ke-19
Menunjukkan procedure untuk mengisi list dari database. Setelah
clear ListView dilakukan looping dari BussinessLogic Layer

(SupplierInfo) untuk mengisi satu per satu SubItems dalam
ListView, kemudian melakukan Tag pada ListViewItem. Untuk


melakukan penambahan data supplier dapat dilihat pada Kode
Program 4.3 dibawah ini:
Kode Program 4.3 Kode untuk Menambah Data Supplier
1. Private Sub AddSupplier()
2.
Dim fds As New FormDetailSupplier
3.
Dim se As SupplierEditable = SupplierEditable.CreateObj
4.
fds.MySE = se
5.
fds.ArrSupplier = arrSupplier
6.
fds.ArrKode = arrkode
7.
fds.ArrKontak = arrKontak
8.
fds.ArrCompany = arrCompany
9.

If fds.ShowDialog(Me) = Windows.Forms.DialogResult.OK
Then
10.
Call FillListView(SupplierInfoList.ListSupplier)
11.
End If
12. End Sub

Pada line 2 prosedur diatas langkah pertama adalah
memanggil FormDetailSupplier

selanjutnya menginisialisasi

59

pembuatan object dari BussinesLogic Layer (SupplierEditable),
kemudian PublicProperty pada FormDetailSupplier disamakan
dengan ArrayList pada kode form ini. Jika DialogResult telah Ok
maka data telah siap disimpan di ListView. Untuk melakukan
update data dapat dilihat pada Kode Program 4.4 berikut:

Kode Program 4.4 Update Data Supplier
1. Private Sub EditDataSupplier()
2.
Dim si As SupplierInfo
3.
If Me.ListView1.SelectedItems.Count = 0 Then
4.
MsgBox("Pilih Data untuk Diedit")
5.
Else
6.
si = Me.ListView1.SelectedItems(0).Tag
7.
GetOneSupplier(si.SupplierID)
8.
End If
9. End Sub

Untuk melakukan update data pada satu supplier tertentu
terlebih dahulu sistem akan mengecek apakah user telah memilih

supplier tersebut atau belum, jika sudah maka Tag pada
SelectedItemListViewCollection akan membaca data dari Bussines
Logic Layer yaitu SupplierInfo. SupplierID digunakan sebagai

acuan dalam membawa serangkaian data dari manipulasi ini.
4.1.3 Implementasi Aplikasi pada Kelola Inventory Bahan
Mentah
Implementasi aplikasi pada inventory bahan dilakukan oleh
user yang memiliki role pengurus inventory, dapat dilihat pada
gambar 4.3 dibawah ini:

60

Gambar 4.3 User Interface Custom Inventory Bahan
Pada bagian ini pengurus inventory bahan mendata bahanbahan apa saja yang dibutuhkan untuk proses produksi (dimuat
fungsi

create,

update,


delete).

Pengurus

supplier

dapat

memasukkan berapa jumlah bahan yang diambil untuk persediaan.
Kode untuk menampilkan list data bahan dapat dilihat pada Kode
Program 4.5 di bawah ini:
Kode Program 4.5 Menampilkan List Data Bahan
1.Private Sub FillListView(ByVal bil As BahanInfoList)
2.
Me.ListView1.Items.Clear()
3.
arrbahan.Clear()
4.
arrkode.Clear()

5.
For Each bi As BahanInfo In bil
6.
Dim lvi As New ListViewItem(bi.KodeBahan)
7.
arrkode.Add(bi.KodeBahan)
8.
arrbahan.Add(bi.NamaBahan.ToUpper)
9.
lvi.SubItems.Add(bi.NamaBahan)
10
lvi.SubItems.Add(bi.SatuanBahan)
11.
lvi.SubItems.Add(bi.JumlahBahan)
12.
lvi.SubItems.Add(bi.TanggalUpdate)
13.
lvi.Tag = bi
14.
Me.ListView1.Items.Add(lvi)
15.
Next
16.End Sub

61

Pada Kode Program 4.5 diatas terdapat prosedur untuk
menampung data ke dalam ListView. Setelah isi ListView dan
ArrayList telah di clear , maka dilakukan looping pada
BussinessLogic Layer (BahanInfo) untuk kemudian dimasukkan

ke dalam ArrayList dan ListView SubItems. Langkah terakhir
adalah melakukan Tag pada ListViewItems kemudian memasukkan
ListViewItems ke dalam Control ListView. Kode Program untuk

menambah data bahan dapat dilihat pada Kode Program 4.6
berikut:
Kode Program 4.6 Menambah Data Bahan
1.Private Sub BahanBaru()
2.
Dim fdb As New FormDetailBahan
3.
Dim be As BahanEditable = BahanEditable.CreateObj
4.
fdb.MyBE = be
5.
fdb.ArrBahan = arrbahan
6.
fdb.ArrKode = arrkode
7.
If fdb.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
8.
FillListView(BahanInfoList.GetListBahan)
9.
End If
10. End Sub

Pada

procedure

diatas,

setelah

manginisialisasi

FormDetailBahan, sistem akan memanggil fungsi CreateObject

pada BussinessLogic (BahanEditable). Jika user telah melakukan
click OK pada DialogResult, sistem akan mengisi kembali
ListView dengan attribute dari Bussinesslogic Layer yaitu fungsi
GetListBahan pada BahanInfoList. Kode Program untuk update

bahan dapat dilihat pada Kode Program 4.7 berikut:

62

Kode Program 4.7 Update Data Bahan
1.Private Sub BahanBaru()
2.
Dim fdb As New FormDetailBahan
3.
Dim be As BahanEditable = BahanEditable.CreateObj
4.
fdb.MyBE = be
5.
fdb.ArrBahan = arrbahan
6.
fdb.ArrKode = arrkode
7.
If fdb.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
8.
FillListView(BahanInfoList.GetListBahan)
9.
End If
10. End Sub

Pada kode program diatas user akan menerima form detail
bahan untuk melakukan customize data bahan, setelah selesai user
akan memilih menyimpan hasil manipulasi kemudian sistem akan
memanggil fungsi CreateObject dari BussinessLogic Layer untuk
menampung Array. Langkah terakhir, sistem akan mengcompile
list bahan baru dan menampilkan kembali dalam Control ListView.
4.1.4 Implementasi Aplikasi pada Kelola Produksi
Petugas bagian produksi dapat memulai proses perencaan
pembuatan suatu produk pastry bakery setelah berhasil melakukan
login. Form untuk custom produksi dapat dilihat pada gambar 4.4,
gambar 4.5 dan gambar 4.6 dibawah ini:

63

Gambar 4.4 User Interface Proses ketika Pengambilan Bahan
untuk Produksi
Pada gambar 4.4 diatas custom produksi dapat mengambil
data bahan dari inventory. Form ini dapat mengatur berapa
kuantitas masing-masing bahan yang diperlukan dalam proses
pembuatan pastry & bakery. Kode program untuk menyimpan
bahan ke dalam list produk dapat dilihat pada Kode Program 4.8
berikut:
Kode Program 4.8 Kode untuk Mengambil List Bahan
1.Private Sub BahanBaru()
2.
Dim fdb As New FormDetailBahan
3.
Dim be As BahanEditable = BahanEditable.CreateObj
4.
fdb.MyBE = be
5.
fdb.ArrBahan = arrbahan
6.
fdb.ArrKode = arrkode
7.
If fdb.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
8.
FillListView(BahanInfoList.GetListBahan)
9.
End If
10. End Sub

Setelah user mendapatkan bahan-bahan yang digunakan
untuk produksi, user akan menginput identitas produk beserta
jumlahnya dan untuk mengantisipasi kesalahan yang dilakukan

64

oleh user disaat menginput data, sistem menyediakan menu edit
pada blanko detail data product yang dapat dilihat pada Gambar
4.5

Gambar 4.5 User Interface Data Detail Produk
Pada form data detail produk diatas, menampilkan
customize data produk yang meliputi: image, jumlah produk, detail

masing-masing bahan yang digunakan, serta tanggal update. Kode
untuk menambah data produk tersebut dapat dilihat Kode Program
4.9 berikut:

65

Kode Program 4.9 Kode untuk Menambahkan Data Produk Baru
1. Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
2.
Dim savePic As New IO.MemoryStream
3.
If Not Me.PictureBox1.Image Is Nothing Then
4.
Me.PictureBox1.Image.Save(savePic,
Me.PictureBox1.Image.RawFormat)
5.
End If
6.
Dim binaryPic As Byte() = savePic.GetBuffer
7.
savePic.Close()
8.
Try
9.
With MyPE
10.
.ProductID = Me.TextBoxKodeProduct.Tag
11.
.KodeProduct = Me.TextBoxKodeProduct.Text
12.
.ProductName = Me.TextBoxNamaProduct.Text
13.
.JumlahProduct =
Me.NumericUpDownJumlahProduct.Value
14.
.Picture = binaryPic
15.
.TanggalUpdate = Date.Now
16.
.SaveData()
17.
End With
18.
For i As Integer = 0 To
Me.ListViewBahanProduct.Items.Count - 1
19.
Dim jml As Integer =
CType(Me.ListViewBahanProduct.Items(i).SubItem
s(2).Text, Integer) *
Me.NumericUpDownJumlahProduct.Value
DopEditable.PotongStok(Me.ListViewBahanProduct.Items(i).Text
, jml)
20.
Next
21.
Catch ex As Exception
22.
MsgBox(ex.Message)
23.
End Try
24. End Sub

Pada kode program 4.6 diatas ketika user menekan tombol
untuk menyimpan data maka pertama kali sistem akan
menginisialisasi isi data dari control yang sudah ada, kemudian
sistem

akan

memanggil

prosedur

SaveData

pada

layer

BusinessLogic (ClassProductEditable). Setelah objek data produk

baru dimasukkan sistem akan melakukan looping untuk memotong

66

stok

bahan

produksi

melalui

BusinessLogicLayer

(Class

DOPEditable).

Gambar 4.6 User Interface Manifest Data Produk
Setelah proses pendataan produksi yang telah dilalui,
sistem akan menyimpan data manifest produk-produk pastry
bakery, yang meliputi jumlah, nama produk, kode dan tanggal
update produk.

4.1.5 Implementasi Aplikasi pada Kelola Pengeluaran
Produk
User role untuk bagian pengeluaran produk mendata dan

mengambil produk dari bagian produksi yang, form untuk
implementasi aplikasi ini dapat dilihat pada gambar 4.7 dan 4.8
dibawah ini:

67

Gambar 4.7 Form Pengambilan Produk untuk Penjualan
Pada gambar 4.7 diatas custom pengeluaran produk dapat
mengambil data produk dari list produk. Form ini dapat mengatur
berapa kuantitas masing-masing produk yang dapat diambil dalam
proses pengeluaran produk pastry & bakery. Kode program untuk
menyimpan produk ke dalam list pengeluaran produk dapat dilihat
pada Kode Program 4.10 berikut:

68

Kode Program 4.10 Kode untuk Mengambil Data Produk
1. Private Sub ButtonAdd_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ButtonAdd.Click
2.
Dim pi As ProductInfo
3.
If Me.NumericUpDownJumlahProduct.Value >
CType(Me.ListViewProduct.SelectedItems(0).SubItems(2).
Text, Integer) Or Me.NumericUpDownJumlahProduct.Value
= 0 Then
4.
MsgBox("Stok tidak cukup atau inputan nol")
5.
Else
6.
If Me.ListViewProduct.SelectedItems.Count = 0 Then
7.
MsgBox("Pilih Product! dulu")
8.
Else
9.
pi = Me.ListViewProduct.SelectedItems(0).Tag
10.
End If
11.
Dim lvi As ListViewItem =
Me.ListViewProduct.SelectedItems(0)
DopEditable.InsertDetailP(lvi.Text,
Me.NumericUpDownJumlahProduct.Value,
lvi.SubItems(1).Text)
12.
MsgBox("Product Telah Ditambahkan")
13.
Me.Close()
14.
End If
15.
End Sub

Pada Kode Program 4.10 diatas sistem pertama kali akan
menginisialisasi

objek

(BusinessLogicLayer).

baru

Kemudian

dari
sistem

class
akan

ProductInfo

memeriksa

kelengkapan validasi control (NumericUpDown, SelectedItems
pada ListView). Jika telah sesuai sistem akan memanggil prosedur
InsertDetailProduct pada kelas DOPEditable yang ada pada
BusinessLogicLayer .

InsertDetailProduct

akan

melakukan

perintah manipulasi pada DataAccess. Setelah selesai sistem akan
memberitahukan melalui MessageBox.

69

Gambar 4.7 Form Data Pengeluaran Produk
Pada gambar 4.7 terdapat record pengambilan produk dari
list produk, dari data record tersebut, kemudian ditambahkan

tanggal dan nomor transaksi untuk kemudian disimpan ke dalam
manifest pengeluaran produk.

4.1.6

Implementasi Reporting
Untuk membuat pelaporan (reporting) digunakan Crystal

Report yang telah terintegrasi dengan Microsoft Visual Studio

2010. Pelaporan ini hanya dapat dilihat oleh user yang memiliki
role Owner.

1.

Laporan Supplier Identity
Supplier Identitiy merupakan data detail supplier yang dapat

dilihat oleh pemilik perusahaan, tampilan laporan data identitas
supplier dapat dilihat pada gambar 4.8 berikut:

70

Gambar 4.8 Reporting Data Supplier
Pada pelaporan data supplier di atas owner dapat melihat
detail supplier siapa saja yang menjadi pemasok bahan baku di
dalam usahanya.
2. Laporan Supplier Bahan
Laporan supplier bahan diasumsikan sebagai data-data
bahan yang berasal dari supplier tertentu. Pada gambar 4.9 dapat
dilihat bahwa satu supplier memasok bahan berikut jumlahnya.

71

Gambar 4.9 Reporting Data Bahan yang Disuplai Supplier
Pada pelaporan data bahan yang dibawa oleh masing-masing
supplier, owner dapat melihat bahwa setiap supplier membawa

bahan-bahan apa saja yang dibutuhkan oleh usahanya.
3.

Laporan Persediaan Bahan
Laporan persediaan bahan merupakan list data bahan yang

ada di dalam inventory. Data Bahan ini seluruhnya dikelola oleh
user yang memiliki role pengurus inventory dan pelaporan ini

dilihat oleh user yang memiliki role owner .

72

Gambar 4.10 Laporan Persediaan Bahan Baku
Gambar 4.10 menunjukkan laporan persediaan bahan baku
yang dapat dilihat dan telah dikelompokkan per bulan. Sehinggga
dalam tiap periode per bulan dapat dilihat berapa saja jumlah
persediaan per item bahan yang ada.
4.

Laporan List Produk
List Produk merupakan data produk jadi yang dapat dilihat

dalam pelaporan ini. Pengguna reporting ini dapat melihat jumlah
persediaan produk apa saja yang mencukupi atau tidak mencukupi

73

Gambar 4.11 Laporan Data Produk
Gambar 4.11 menunjukkan fungsi pelaporan data produk
yang telah dibangun oleh SAP Crystal Report. Dengan memilih
tombol laporan produk pengguna dapat langsung melihat laporan
ini namun tidak dapt memanipulasinya.
5.

Laporan Bahan untuk Produksi (Per Produk)
Laporan ini berfungsi untuk melihat kuantitas bahan apa saja

yang ada dalam detail per produk. Dalam laporan ini satu produk
dapat memuat beberapa item bahan beserta jumlahnya.

74

Gambar 4.12 Laporan Bahan yang digunakan untuk Produksi
(Per Produk)
Gambar 4.12 menunjukkan bahwa produk-produk pastry
bakery sebelum diolah memuat beberapa bahan yang diambil dari
inventory.

6.

Laporan Pengeluaran Produk
Laporan pengeluaran produk merupakan fungsi pendataan

paket-paket produk yang dikeluarkan dari perusahaan. Produkproduk tersebut dikelompokkan berdasarkan nomor transaksinya.

75

Gambar 4.13 Laporan Pengeluaran Produk
Gambar 4.13 menunjukkan bahwa reporting menyimpan
data-data produk selama transaksi berlangsung yang dilakukan
oleh user role pengurus pengeluaran produk.
4.2. Hasil Pengujian
Pengujian penelitian ini menggunakan metode Black-Bock
hasil yang diharapkan dapat dilihat pada Tabel 4.1
Tabel 4.1
Hasil Pengujian Sistem Login
Proses

Login

Hasil yang
diharapkan
Menampilkan
pilihan bisnis
yang bisa
dimanipulai
sesuai dengan
role

Hasil yang
Muncul
Main menu
yang berisi
bisnis sesuai
dengan role

Kesimpulan

Valid

76

Tabel 4.2
Hasil Pengujian Sistem Kelola Inventory Bahan
Proses
Klik Button
Bahan
Produksi

Input data
bahan baru
dan update
bahan yang
telah ada

Hasil yang
diharapkan
Menampilkan
record data
bahan dengan
pilihan
manipulasi add,
edit, delete
Menampilkan
blanko form
baru, edit data
bahan pada
ListView

Hasil yang
Kesimpulan
Muncul
Record bahan
tampil
meliputi kode
Valid
bahan, nama
bahan, satuan,
jumlah, dan
tanggal update
Blanko form
baru mucul
user dapat
input kode
Valid
bahan, nama
bahan, jumlah
bahan, satuan
dan supplier

77

Tabel 4.3
Hasil Pengujian Sistem Kelola Supplier
Hasil yang
Kesimpulan
Muncul
Klik Button
Record supplier
Supplier
tampil meliputi
kode supplier ,
nama supplier ,
Valid
nama
perusahaan,
kontak, status
dan tanggal
update
Input data
Blanko form baru
supplier
Menampilkan mucul user dapat
baru dan
input kode kerja
blanko form
update data baru, edit data supplier , nama
Valid
supplier
supplier pada supplier , nama
yang telah
perusahaan,
ListView
ada
kontak dan status
Menampikan
form baru
Melakukan form
dengan
Klik button
untuk memilih
pilihan untuk
Valid
pengeluaran
produk apa saja
melakukan
produk
yang akan
pilihan
dikeluarkan
pengeluaran
produk
Proses

Hasil yang
diharapkan
Menampilkan
record data
supplier
dengan
pilihan untuk
manipulasi

78

Tabel 4.4
Hasil Pengujian Sistem Kelola Produksi
Hasil yang
Kesimpulan
Muncul
Klik Button
Record data
Produksi
produksi tampil
meliputi kode
Valid
produksi, nama
produk, jumlah
dan tanggal
update
Input data
Menampilkan Blanko form baru
produk baru blanko form
mucul user dapat
dan update baru, edit data input kode
data produk produk pada
produk, nama
yang telah
ListView
produk, jumlah,
ada
menambah
Valid
gambar dan
memasukkan
data bahan apa
saja yang akan
digunakan
Input data
Menampilkan Blanko form baru
bahan
blanko list
muncul, user
untuk
data bahan
dapat memilih
produksi
data bahan apa
Valid
saja yang
dibutuhkan
beserta
kuantitasnya
Proses

Hasil yang
diharapkan
Menampilkan
record data
produk
dengan
pilihan untuk
manipulasi

79

Tabel 4.5
Hasil Pengujian Sistem Kelola Pengeluaran Produk
Hasil yang
diharapkan
Menampikan
form baru
dengan pilihan
Klik button
untuk
pengeluaran
melakukan
produk
pilihan
pengeluaran
produk
Proses

Hasil yang
Muncul

Kesimpulan

Melakukan
form untuk
memilih
produk apa
saja yang akan
dikeluarkan

Valid