BAB IV HASIL PENELITIAN DAN PEMBAHASAN
4.1 Peramalan dengan menggunakan Metode Dekomposisi Penggunaan metode Dekomposisi untuk forecasting berdasarkan langkah-langkah yang telah dijabarkan pada BAB II terhadap data jumlah penjualan diperoleh hasil sebagai berikut. 1. Metode Dekomposisi untuk forecasting jumlah penjualan di Karvak Langkahlangkah penggunaan metode Dekomposisi untuk peramalan (forecasting) sebagai berikut. a. Menyusun data kuartalan masing-masing tahun Jumlah Penjualan 2008 sampai dengan tahun 2010 perkuartal (tiga bulanan yaitu mulai : januari-februari-maret, april-mei-juni, juli-agustus-september serta oktober-november-desember), jumlah data ada 20 kuartal. b. Membuat scatter diagram garis trend linier Trend (Seculer Trend) adalah rata-rata perubahan (tiap tahun ) dalam jangka panjang. Kalau hal yang diteliti menunjukkan gejala kenaikan maka trend yang dimiliki memiliki rata-rata pertambahan (Trend Positif), tetapi kalau hal yang diteliti menunjukkan gejala semakin berkurang maka trend yang dimiliki menunjukkan rata-rata penurunan (Trend Negatif). Ada beberapa metode yang bisa digunakan untuk membuat trend yaitu metode trend linier Least Square, metode trend parabolic dan metode trend eksponensial. Penggunaan metode-metode tersebut disesuaikan dengan kebutuhan dan sifat data yang dimiliki. Grafik 4.1 menunjukkan bahwa perubahan dari data
1
2
tersebut mempunyai pola linier atau letaknya mendekati garis lurus, maka trend linier cocok digunakan. Berdasarkan data tersebut dibuat scatter diagram dan ditambahkan garis trend, sehingga dapat dilihat bagaimana kelinieran dari garis trend, pola dan kecenderungan naik atau turun, setelah itu baru dilakukan peramalan (forecasting) dengan metode dekomposisi. Normal P-P Plot of Regression Standardized Residual Dependent Variable: BULAN 1.00
Ex pec ted Cu m Pr ob
.75
.50 .25 0.00 0.00
.75 .25
.50
Observed Cum Prob Grafik 4.1 Uji linieritas jumlah penjualan
1.00
3
c. Menghitung besarnya nilai trend Langkah-langkah untuk menghitung besarnya nilai trend adalah sebagai berikut. 1) Susunlah data sesuai dengan urutan tahunnya dan letakkan nilai X sesuai dengan tahunnya.
Tabel 4.1 Mengubah data tahunan menjadi data kuartalan dari data penjualan Jumlah Penjualan
Tahun
Jumlah
Kuartal I
Kuartal II
Kuartal III
Kuartal IV
2008
440.340.259
365.721.048
370.370.445
494.911.566
1.671.343.318
2009
520.814.404
577.430.388
795.047.363
746.064.719
2.639.356.874
2010
431.987.306
650.454.973
622.586.422
699.652.466
2.404.681.167
2) Hitung nilai XY dan X2, kemudian carilah jumlah Y, jumlah XY, dan jumlah X2, carilah nilai a dan b dengan menggunakan rumus sebagai berikut:
=
=
∑
=
∑ ∑
=
. . .
. .
= 2.238.460.453
= 366.689.424,5
3) Masukkan nilai a dan b pada persamaan linier Ŷ = + . dari langkah 2 diperoleh persamaan trend sebagai berikut:
4
Ŷ = 2.238.460.453 + 366.689.424,5 X Tabel 4.1 Menghitung nilai Least Squar Trend dari data penjualan Tahun
Data
X
XY
X2
Ŷ
Penjualan (Y) 2008
1.671.343.318
-1
-1.671.343.318
1
1.871.771.028,5
2009
2.639.356.874
0
0
0
2.238.460.453
2010
2.404.681.167
1
2.404.681.167
1
2.605.149.877,5
733.378.849
2
6.715.381.359
Jumlah 6.715.381.359
4) Setelah didapat persamaan trend maka dapat dicari nilai trend tiap-tiap tahun dengan melakukan substitusi nilai X pada persamaan trend. 5) Forecast pada tahun yang akan datang, maka substitusikan nilai X pada tahun yang bersangkutan. 2011 ; Ŷ = 2.238.460.453 + 366.689.424,5 (2) = 2.971.839.302 6) Mengubah bentuk persamaan trend rata-rata. Dari persamaan trend tahunan kalau akan dibuat menjadi persamaan trend rata-rata tiap bulan dilakuakan dengan : a dibagi 12 dan b dibagi 12, kalau akan dijadikan trend rata-rata tiap kuartal baik a maupun b masing-masing
5
dibagi 4, kemudian substitusikan nilai X pada tahun yang bersangkutan sehingga didapat nilai trend yang merupakan trend rata-rata. Ŷ=
. ..
+
. .,
Ŷ = 559.615.113,25 + 91.672.356,125 X Maka nilai trend rata-ratanya menjadi: 2008
: 559.615.113,25 + 91.672.356,125 (-1) = 467.942.757,125
2009
: 559.615.113,25 + 91.672.356,125 (0) = 559.615.113,25
2010
: 559.615.113,25 + 91.672.356,125 (1) = 651.287.469,375
7) Mengubah persamaan trend rata-rata tiap kuartal menjadi trend bulanan dan kuartalan. Trend bulanan adalah trend dari bulan satu ke bulan berikutnya, menunjukkan perkiraan kenaikan atau perubahan setiap bulannya. Jadi bukan dari tahun satu ke tahun berikutnya tetapi dari bulan satu ke bulan berikutnya. Sedangkan trend kuartalan adalah trend yang menunjukkan perubahan dari kuartal ke kuartal. Kalau akan merubah persamaan trend tahunan yang satuan X satu tahun menjadi trend bulanan maka a dibagi 12 dan b dibagi 122, sedangkan kalau akan dirubah menjadi trend kuartalan maka a dibagi 4 dan b dibagi 42. Maka persamaan trend berubah menjadi:
Ŷ=
. ..
+
. .,
6
Ŷ = 559.615.113,25 + 22.916.807,78X
Tabel 4.2 Skala X untuk trend kuartalan
KI
K II
K III
K IV
2008
-5,5
-4,5
-3,5
-2,5
2009
-1.5
-0.5
0,5
1,5
2010
2,5
3,5
4,5
5,5
Sehingga nilai trend kuartalan menjadi: Tahun 2008
KI
; Ŷ = 559.615.113,25 + 22.916.807,78(-5,5) = 433.565.623,58
K II
; Ŷ = 559.615.113,25 + 22.916.807,78(-4,5) = 456.483.712,61
K III
; Ŷ = 559.615.113,25 + 22.916.807,78(-3,5)
7
= 479.401.801,64 K IV ; Ŷ = 559.615.113,25 + 22.916.807,78(-2,5) = 502.319.890,67 Tahun 2009
KI
; Ŷ = 559.615.113,25 + 22.916.807,78(-1,5) = 525.237.979,70
K II
; Ŷ = 559.615.113,25 + 22.916.807,78(-0,5) = 548.156.709,36
K III
; Ŷ = 559.615.113,25 + 22.916.807,78(0,5) = 571.074.157,76
K IV ; Ŷ = 559.615.113,25 + 22.916.807,78(1,5) = 593.992.246,79 Tahun 2010
KI
; Ŷ = 559.615.113,25 + 22.916.807,78(2,5) = 616.910.335,82
K II
; Ŷ = 559.615.113,25 + 22.916.807,78(3,5) = 639.828.424,85
K III
; Ŷ = 559.615.113,25 + 22.916.807,78(4,5) = 662.746.513,88
8
K IV ; Ŷ = 559.615.113,25 + 22.916.807,78(5,5) = 181.664.602,92 Untuk mencari nilai trend kuartalan seperti diatas hitungannya agak sulit karena X yang disubstitusikan pecahan, untuk mempermudah originnya dapat diubah menjadi kuartal yang terdekat (kuartal II dan kuartal III). Jika origin dirubah menjadi kuartal II tahun 2009 maka a-nya diganti dengan nilai trend pada kuartal II, sedangkan b-nya tetap. Sehingga persamaan trend-nya menjadi: Ŷ = 548.156.709,36 + 22.916.807,78X Tabel 4.3 Nilai X Kuartalan Setelah Originnya Dirubah
KI
K II
K III
K IV
2008
-5
-4
-3
-2
2009
-1
0
1
2
2010
3
4
5
6
Sehingga nilai trend kuartalan berubah menjadi :
9
Tahun 2008
KI
; Ŷ = 548.156.709,36 + 22.916.807,78(-5) = 433.565.623,57
K II
; Ŷ = 548.156.709,36 + 22.916.807,78(-4) = 456.483.712,60
K III
; Ŷ = 548.156.709,36 + 22.916.807,78(-3) = 479.401.801,63
K IV ; Ŷ = 548.156.709,36 + 22.916.807,78 (-2) = 502.319.890,66
Tahun 2009
KI
; Ŷ = 548.156.709,36 + 22.916.807,78(-1) = 525.237.979,69
K II
; Ŷ = 548.156.709,36 + 22.916.807,78(0) = 548.156.709,36
K III
; Ŷ = 548.156.709,36 + 22.916.807,78(1) = 571.074.157,76
K IV ; Ŷ = 548.156.709,36 + 22.916.807,78(2) = 593.992.246,79
10
Tahun 2010
KI
; Ŷ = 548.156.709,36 + 22.916.807,78(3) = 616.910.335,82
K II
; Ŷ = 548.156.709,36 + 22.916.807,78(4) = 639.828.424,85
K III
; Ŷ = 548.156.709,36 + 22.916.807,78(5) = 662.746.513,88
K IV ; Ŷ = 548.156.709,36 + 22.916.807,78(6) = 685.664.602,91
d. Menghitung Indeks Musiman Tertentu Menurut (Subagyo, 1986:51) Gelombang musim adalah gelombang pasang surut yang berulang kembali dalam waktu tidak lebih dari satu tahun . gelombang musim dinyatakan
dalam bentuk indeks , namanya indeks
musim. Hubungan antara komponen-komponen perubahan dinyatakan dalam perkalian sebagai berikut. X=TXMXSXR Artinya data yang terjadi ( X ) dapat dihitung dengan mengalikan nilai trend dengan indeks musim, indeks siklis dan perubahan-perubahan yang bersifat random. Ada tiga cara untuk menghitung indeks musiman yaitu dengan metode
11
rata-rata sederhana, metode persentase terhadap trend, dan metode persentase terhadap rata-rata bergerak. Metode yang akan digunakan dalam penelitian ini adalah metode rata-rata sederhana. Dalam metode ini indeks musim dihitung dengan berdasarkan rata-rata tiap periode musim setelah dibebaskan dari pengaruh trend. Langkah-langkah mencari indeks musim dengan menggunakan metode rata-rata sederhana Tabel 4.4 adalah sebagai berikut. 1) Susunlah data tiap kuartal (atau bulan sesuai dengan kebutuhan) untuk masing-masing tahun. Kuartal kebawah dan tahun kekanan. 2) Carilah rata-rata kuartal pada tahun 2008 sampai dengan tahun 2010. 3) Karena rata-rata masih mengandung unsur kenaikan (trend) maka hilangkan pengaruh trend tersebut yang diambil dari persamaan trend kuartalan. 4) Carilah rata-rata dari kolom sisa yaitu (2.088.959.606,0 : 4) = 522.239.901,58
5) Nyatakan angka-angka pada kolom sisa sebagai persentase dari rata-ratanya, sehingga diperoleh indeks musiman sebagai berikut: . .,
× 100 = 89
Kuartal I
=
Kuartal II
= . . , × 100 = 97
Kuartal III
= . . , × 100 = 103
Kuartal IV
= . . , × 100 = 111
. . , . . ,
. . ,
. .
12
Pada
metode
dekomposisi,
forecasting
dilakukan
dengan
menggabungkan komponen-komponen yang telah diperoleh yaitu trend, indeks musim, mestinya dengan indeks siklis dan perubahan-perubahan random. Tetapi gerak siklis sukar diperkirakan polanya karena faktor yang mempengaruhinya banyak sekali, demikian juga gerak random sangat sulit diperkirakan. Oleh karena itu forecasting biasanya hanya menggunakan trend (T) dan gerak Musiman (M) saja, sehingga forecast dapat dibuat dengan rumus sebagai berikut: F=TxM Sebagai contoh forecast permintaan konsumen pada tahun 2008 dengan menggunakan data, trend dan indeks musim yang telah diperoleh. Kita pakai persamaan trend sebagai berikut:
Dari persamaan
trend
yang telah dirubah originnya
yaitu
Ŷ=
548.156.709,36+ 22.916.807,78 X maka diperoleh nilai trend untuk tahun 2011 adalah sebagai berikut: Kuartal I
; Ŷ = 548.156.709,36 + 22.916.807,78(7) = 708.574.363,83
Kuartal II
; Ŷ = 548.156.709,36 + 22.916.807,78(8) = 731.491.171,61
Kuartal III
; Ŷ = 548.156.709,36 + 22.916.807,78(9) = 754.407.979,39
13
Kuartal IV ; Ŷ = 548.156.709,36 + 22.916.807,78(10) =777.324.787,17
Tabel 4.4 Menghitung indeks musiman dengan rata-rata sederhana 2008
2009
2010
Rata-rata
B
Rata-rata
Kumulatif
Kum
b
Inde ks Musi man
(1)
(2)
(3)
(4)
(5)
(6)
(7)
Kw I
440.340.259
520.814.404
431987306
464.380.656
0
464.380.656
88,9
Kw II
365.721.048
577.430.388
650454973
531.202.136
22.916.807
508.285.328
97,3
Kw III
370.370.445
759.047.363
622586422
584.001.410
45.833.615
538.167.794
103
Kw IV
494.911.566
746.064.719
699652466
646.876.250,
68.750.423
578.125.827
111
∑
1.671.343.318
2.603.356.874
2.404.681.167
2.088.959.60 6
Dengan memakai indeks musim maka akan diperoleh forcast jumlah penjualan untuk tahun 2011 (tiap kuartal) sebagai berikut: Forcast kuartal I = 708.574.363,83 ×
= 630.071.021,37 = 630.071.021
Forcast kuartal II = 731.491.171,61 ×
= 711.945.275,39 = 711.945.275
14
Forcast kuartal III
= 754.407.979,39×
= 777.416.810,18 = 777.416.810,18
Forcast kuartal IV = 777.324.787,17 ×
= 860.507.851,15 = 860.507.851
Tabel 4.5 Tabel Peramalan dan Average Error Kuartal
Peramalan
Average Error
Kuartal 1
Rp630.071.021
Rp60.857.323
Kuartal 2
Rp711.945.175
Rp16.954.146
Kuartal 3
Rp777.416.810
Rp24.927.252
Kuartal 4
Rp860.507.851
Rp52.884.004
15
Rp1.000.000.000 Rp900.000.000 Rp800.000.000 Rp700.000.000 Rp600.000.000 Rp500.000.000
peramalan
Rp400.000.000
Average Error
Rp300.000.000 Rp200.000.000 Rp100.000.000 Rp1
2
3
4
Grafik 4.2 Peramalan dan Average Error
4.2 Pengembangan Perangkat Lunak Secara umum proses pengembangan perangkat lunak ini mengacu kepada tiga fase perekayasaan perangkat lunak menurut Roger s Pressman (2002 : 30), menurutnya, usaha yang berhubungan dengan perekayasaan sebuah perangkat lunak dikategorikan menjadi tiga fase umum dengan tanpa memperhatikan
area
sistem
informasi,
ukuran
proyek,
maupun
kompleksitasnya. Ketiga fase tersebut adalah fase definisi (Definition Phase), fase
pengembangan
(Development
Phase),
dan
fase
pemeliharaan
(Maintenance Phase). Pendeskripsian dari ketiga fase tersebut dijelaskan dalam penjelasan berikut : 1. Fase Definisi (Definition Phase) Pada fase definisi ini, seorang pengembang perangkat lunak harus melakukan identifikasi informasi apa saja yang akan diproses, fungsi dan unjuk kerja apa yang dibutuhkan, tingkah laku sistem yang seperti apa yang diharapkan, dan batasan desain apa saja yang diberlakukan.
16
2. Fase Pengembangan (Development Phase) Pada fase ini seorang pengembang memfokuskan diri pada beberapa permasalahan, misalnya bagaimana fungsi – fungsi sistem yang telah dirumuskan diimplementasikan sebagai sebuah arsitektur perangkat lunak, bagaimana rancangan yang telah dibuat diterjemahkan ke dalam bahasa pemograman, dan bagaimana pengujian perangkat lunak dilakukan. 3. Fase Pemeliharaan (Maintenance Phase) Pada fase ini dilakukan beberapa perbaikan atau penyesuaian yang dibutuhkan terhadap kesalahan yang muncul dari perangkat lunak yang dibangun ketika lingkungan perangkat lunak berubah. Secara khusus, dalam pengembangan sistem informasi yang akan dibuat, kesemua fase diatas dituangkan ke dalam sebuah pendekatan pengembangan perangkat lunak model sekuensial linear, model sekuensial linear ini biasa juga disebut dengan model air terjun (waterfall model). (Pressman, 2002). 4.2.1 Batasan Perangkat Lunak Untuk tidak melebarnya pembahasan penelitian yang dimaksud maka penulis membatasi dalam batasan perangkat lunak, diantaranya yaitu hanya menyajikan jumlah peramalan permintaan barang pada periode satu tahun berikutnya yang dihitung berdasarkan jumlah penjualan bulanan barang 3 tahun sebelumnya. 4.2.2 Analisis kebutuhan perangkat lunak Pada penelitian yang dilakukan, proses analisis kebutuhan ini dilakukan melalui observasi dan wawancara. Untuk mengetahui kebutuhan apa saja yang diperlukan bagi pihak perusahaan untuk sistem informasi yang dibuat, penulis melakukan wawancara tidak terstruktur dengan pemilik perusahaan langsung. Wawancara yang telah dilakukan membahas mengenai kebutuhan fungsional maupun non fungsional yang diperlukan dalam sistem.
17
Semua kebutuhan ini dijelaskan di dalam dokumen spesifikasi perangkat lunak yang telah disusun oleh penulis. Berdasarkan dokumen teknis pengembangan perangkat lunak yang disertakan, beberapa kebutuhan fungsional dan non fungsional yang telah dirumuskan dijelaskan dalam penjelasan berikut : 4.2.2.1 Kebutuhan Fungsional
Tabel 1 Kebutuhan Fungsional Perangkat Lunak APPB No 1
Kode Fungsi PLPP-F-01
Nama Fungsi
Deskripsi
Login
Merupakan fungsi yang digunakan oleh pengguna untuk dapat masuk kedalam
sistem
yang
akan
digunakan. 2
PLPP-F-02
Master
Terdapat beberapa menu setelah admin berhasil login ke sistem
3
PLPP-F-03
Input penjualan
data Merupakan fungsi yang digunakan untuk menambahkan data penjualan bulanan
4
PLPP-F-04
Peramalan
Merupakan menu untuk melakukan perhitungan peramalan
5
PLPP-F-05
Hitung
Merupakan
Peramalan
menghitung
fungsi
untuk
peramalan
mulai setelah
memilih detail barang yang akan diramalkan
yang akan langsung
masuk ke menu Laporan 6
PLPP-F-6
Lihat peramalan
detail Merupakan fungsi untuk melihat detail hasil peramalan dari kedua model sementara yang mungkin
18
digunakan sebagai model peramalan
4.2.2.2 Kebutuhan Non Fungsional Tabel 1.1 Kebutuhan Non Fungsional Perangkat Lunak APPB No
Kode Fungsi
Nama Fungsi
Deskripsi
1
APPB-NF-01
Availibility
Sistem informasi harus mampu berjalan dengan baik apabila data masukan yang dibutuhkan tersedia
2
APPB-NF-02
Ergonomi
Sistem informasi harus bersifat friendly
user
dari segi tampilan, mudah
digunakan, kenyamanan
dan
memberikan
dalam
pengoperasian
fungsi-fungsi atau menu-menu yang ada 3
APPB-NF-03
Portability
Sistem informasi mampu berjalan baik pada
pada
pada system
operasi
windows 4
APPB-NF-04
Response Time
Sistem informasi mampu memberikan respon dengan cepat berdasarkan input pengguna
5
APPB-NF-05
Maintainability Sistem and
informasi
mampu
untuk
dikembangkan lebih lanjut
Upgradeability 6
APPB-NF-06
Security
Sistem informasi di lengkapi password untuk login
19
20
4.2.3 Analisis Pengguna Setelah menganalisis masalah diatas, maka akan diperlukan sebuah sistem yang nantinya akan digunakan oleh admin yang mempunyai hak akses pada sistem informasi peramalan ini. Berikut adalah analisis pengguna dari sistem yang akan dibuat. Admin yaitu user yang dapat menginputkan, mengedit dan menghapus data yang dibutuhkan oleh sistem informasi peramalan ini seperti data barang dan data penjualan bulanan. Selain itu admin bertugas untuk menghitung peramalan itu sendiri.
4.2.4 Desain Perangkat Lunak Desain perangkat lunak merupakan suatu tahapan yang dilakukan setelah melakukan analisis dari siklus pengembangan perangkat lunak, pendefinisian dan kebutuhan-kebutuhan fungsional, persiapan
rancang
bangun, implementasi, menggambarkan bagaimana suatu perangkat lunak tersebut
dibentuk.
Perangkat
lunak
yang
dibentuk
dapat
berupa
penggambaran, perancangan, dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah kedalam suatu kesatuan yang utuh dan berfungsi baik dari komponen-komponen perangkat lunak maupun perangkat keras dari suatu sistem. 4.2.4.1 Desain Input
21
Pada sistem informasi peramalan
penjualan barang ini, terdapat
beberapa proses input. Proses input tersebut diantaranya berupa data barang dan data penjualan bulanan dalam kurun waktu 4 tahun terakhir. Proses penginputan ini dilakukan oleh admin. Sedangkan untuk hasil peramalannya, akan di inputkan langsung oleh sistem setelah dilakukan perhitungan dengan menggunakan metode Dekomposisi. Penginputan Data Nomor Barang Nama Barang
Data penjualan
Kuartal I Kuartal II Kuartal III Kuartal IV
Input
Bersih Teks
Gambar 4.5 Antarmuka tambah barang
Batal
Selesai
22
4.2.4.2 Desain Output Desain output (keluaran) merupakan produk dari sistem yang dapat terlihat. Pada sistem informasi peramalan penjualan barang ini, output yang dihasilkan berupa hasil perhitungan peramalan selama satu tahun kedepan berdasarkan
penjualan
bulanan
selama 3
tahun
sebelumnya
yang
perhitungannya menggunakan metode Dekomposisi. Hasil peramalan Tahun
Indeks Musiman
Trend
Kuarta1
Kuartal 2
Kuartar 3
Gambar 4.5 Antarmuka hasil peramalan
Persen(%)
Kuartal 4
Hasil Ramal
23
4.2.5
Pemodelan Data Menurut Pressman (2002: 355), dalam suatu proses pemodelan data
ada tiga elemen penting yang berperan, elemen tersebut antara lain: •
Objek Data (Data Object) Objek data ini berupa entitas eksternal yang memproduksi maupun yang mengkonsumsi sebuah informasi, bentuk dari objek data ini bisa berupa suatu benda, peristiwa, event, atau suatu unit organisasional. •
Atribut
Suatu atribut menentukan properti suatu objek data dan digunakan untuk menamai suatu objek data, mendeskripsikan karakteristiknya, atau menjadi referensi bagi objek data lain. •
Relasi (Relationship)
Relationship berfungsi untuk menghubungkan antara objek data yang satu dengan yang lainnya. Dalam pemodelan data, ketiga elemen diatas dinotasikan menjadi sebuah diagram ERD (Entity Relationship Diagram), diagram ini menetapkan semua data yang disimpan, ditransformasi, dan diproduksi oleh suatu perangkat lunak. Dalam pemodelan data yang dilakukan, digunakan bentuk CDM (Conceptual Data Model) untuk menotasikan objek data dan relasi yang ada, di bawah ini digambarkan diagram CDM yang telah dibuat :
24
data ramal
hasil ramal nomor tahun trend indeks musiman hasil
tmaster
nom or
nomor nama barang nom or
nomor tahun Kw1 Kw2 Kw3 Kw4 jumlah
user id_user nama password
Gambar 4.7 Diagram CDM (Conceptual Data Model)
4.2.6
Pemodelan Fungsional Dalam pemodelan fungsional ini, penulis menggunakan diagram
DFD (Data Flow Diagram) untuk menotasikan fungsi-fungsi dari sistem yang mentrasformasikan informasi yang masuk ke sistem, fungsi-fungsi tersebut dinotasikan dengan bentuk lingkaran, untuk informasi input atau output digambarkan dengan notasi anak panah yang diberi label, sedangkan entitas eksternal yang memproduksi data dan mengkonsumsi informasi dinotasikan dengan gambar kotak. Keseluruhan fungsi dari sistem digambarkan sebagai trasnformasi informasi tunggal, hal ini bisa dinotasikan dengan bentuk konteks diagram, berikut konteks diagram dari sistem yang dikembangkan:
1 admin
data_penjualan_tahunan_dan_data_barang
perangkat_lun perkiraan_permintaan_barang_masa_mendatang bagian ak_peramalan produksi _penjualan
+
25
Gambar 4.8 Diagram Konteks Sistem Informasi Peramalan Permintaan Barang
Diagram konteks di atas terdiri atas sebuah proses tunggal yang merepresentasikan semua elemen perangkat lunak peramalan permintaan barang, sementara untuk entitas eksternalnya yaitu bagian penjualan dan bagian produksi. Entitas eksternal tersebut memproduksi informasi / data yang dibutuhkan oleh sistem dan mengkonsumsi semua informasi yang digenerasi oleh sistem, sedangkan simbol anak panah yang diberi label merepresentasikan objek data yang mengalir. DFD level 1 sistem informasi peramalan permintaan barang dapat dilihat pada gambar berikut ini. 1 admin data_penjualan_tahunan_dan_data_barang
olah data master
data_barang
+
barang
data_ penjualan tahunan data penjualan tahunan dan data barang penjualan tahunan 2 data hasil peramalan peramalan
peramalan
+ data hasil peramalan
data hasil peramalan 3 perkiraan_permintaan_barang_masa_mendatang laporan
Gambar 4.9 DFD level 1 sistem informasi peramalan permintaan barang
bagian produksi
26
Untuk analisis sistem, lebih lengkapnya dapat dilihat pada dokumen teknis. 4.3
Implementasi (Coding)
4.3.1
Implementasi Modul Program Table 4.11 Implementasi modul program
No.
Antarmuka
Hasil Implementasi
Keterangan
1.
Tampilan login
Login.vb
Halaman untuk tampilan login admin
2.
Tampilan utama
3.
Tampilan
input
Form1.vb data Input data.vb
barang
Halaman tampilan utama Halaman
untuk
menginput
data barang
Untuk lebih lengkapnya implementasi program dapat dilihat dalam dokumen teknis. 4.3.2
Implementasi Sistem Untuk implementasi system, dibuat program aplikasi menggunakan Visual Basic.Net dan MySQL dengan database SqlYog tools versi 5.1
27
4.3.2.1 Fungsi Trend Sub mencari_Trend() Try SimpleButton4.PerformClick() dg7.Columns.Clear() dg7.Columns.Add(1, "Kwartal") For x As Integer = 0 To Dg1.RowCount - 1 dg7.Columns.Add(x, Dg1.Rows(x).Cells(0).Value) Next dg7.Columns.Add(1, "Rata-rata") dg7.Columns.Add(1, "B Kumulatif") dg7.Columns.Add(1, "Rata2 B Kumulatif") dg7.Columns.Add(1, "Index musiman") Dim y, j As Integer y=1 For l As Integer = 1 To 5 dg7.Rows.Add() 'dg7.Rows(l).Cells(0).Value = "Kw " & l Next For j = 0 To Dg1.RowCount - 1 For k As Integer = 1 To 4 dg7.Rows(k).Cells(y).Value = Dg1.Rows(j).Cells(k).Value dg7.Rows(k).Cells(0).Value = "Kw " & k Next y += 1 Next dg7.Rows.RemoveAt(0) 'Mejumlahkan data kwartalan per tahun dg7.Rows.Add() dg7.Rows(4).Cells(0).Value = "jumlah" Dim hasil As Long For komlom As Integer = 1 To j hasil = 0 For baris As Integer = 0 To 3 hasil += dg7.Rows(baris).Cells(komlom).Value Next dg7.Rows(4).Cells(komlom).Value = hasil Next dg7.Rows(0).Cells(j + 2).Value = "0" dg7.Rows(1).Cells(j + 2).Value = dg6.Rows(0).Cells(5).Value dg7.Rows(2).Cells(j + 2).Value = dg6.Rows(0).Cells(5).Value * 2 dg7.Rows(3).Cells(j + 2).Value = (dg6.Rows(0).Cells(5).Value * 2) + dg6.Rows(0).Cells(5).Value hasil = 0 For bar As Integer = 0 To 3 hasil = 0 For kol As Integer = 1 To j hasil += dg7.Rows(bar).Cells(kol).Value Next dg7.Rows(bar).Cells(j + 1).Value = hasil / j Next
28
For p As Integer = 0 To 3 dg7.Rows(p).Cells(j + 3).Value = dg7.Rows(p).Cells(j + 1).Value dg7.Rows(p).Cells(j + 2).Value Next Dim hasil1 As Long For baris1 As Integer = 0 To 3 hasil1 += dg7.Rows(baris1).Cells(j + 3).Value Next dg7.Rows(4).Cells(j + 3).Value = hasil1 Rata2B.Text = hasil1 Baris.Text = 4 TextEdit2.Text = hasil1 / 4 For t As Integer = 0 To 3 dg7.Rows(t).Cells(j + 4).Value = dg7.Rows(t).Cells(j + 3).Value / (hasil1 / 4) * 100 Next
4.3.2.2 Fungsi Trend Dg8.Columns.Clear() Dg8.Columns.Add(1, "Tahun") Dg8.Columns.Add(1, "Kw") Dg8.Columns.Add(1, "Penjualan") Dg8.Columns.Add(1, "Trend") Dg8.Columns.Add(1, "Index musiman") Dg8.Columns.Add(1, "Normal") Dg8.Columns.Add(1, "Variasi Siklis Dan Random (SxR)") Dg8.Columns.Add(1, "Jumlah Bergerak tertimbang 3 bulan") Dg8.Columns.Add(1, "index siklis") Dg8.Columns(0).FillWeight = 50 Dg8.Columns(1).FillWeight = 25 Dg8.Columns(2).FillWeight = 50 Dg8.Columns(3).FillWeight = 40 Dg8.Columns(4).FillWeight = 40 For m As Integer = 0 To Dg8.Columns.Count - 1 Dg8.Columns(m).SortMode = DataGridViewColumnSortMode.NotSortable Next Dim jumlah As Integer For h As Integer = 1 To j For v As Integer = 0 To 3 jumlah += 1 Dg8.Rows.Add() Next Next Dim dg As Integer = 0
29 For i As Integer = 1 To j For row As Integer = 0 To 3 Dg8.Rows(dg).Cells(2).Value = dg7.Rows(row).Cells(i).Value dg += 1 Next Next Call Nambahin_Kuartal() Dim musim As Integer = 0 For mu As Integer = 0 To Dg8.RowCount - 1 If musim > 3 Then musim = 0 End If Dg8.Rows(mu).Cells(5).Value = (dg7.Rows(musim).Cells(j + 4).Value * Dg8.Rows(mu).Cells(3).Value) / 100 Dg8.Rows(mu).Cells(4).Value = dg7.Rows(musim).Cells(j + 4).Value musim += 1 Dg8.Rows(mu).Cells(6).Value = (Dg8.Rows(mu).Cells(2).Value / Dg8.Rows(mu).Cells(5).Value) * 100 Next Dim pk As Integer = 1 DgPangkat.Rows.Clear() For pangkat As Integer = 0 To Dg8.RowCount - 1 DgPangkat.Rows.Add() DgPangkat.Rows(0).Cells(0).Value = Dg8.Rows(0).Cells(6).Value Next For z As Integer = 1 To Dg8.RowCount - 1 DgPangkat.Rows(z).Cells(0).Value = Dg8.Rows(z).Cells(6).Value * 2 Next DgPangkat.Rows(Dg8.RowCount - 1).Cells(0).Value = Dg8.Rows(Dg8.RowCount 1).Cells(6).Value * 1 For yx As Integer = 0 To (Dg8.RowCount - 1) - 1 If yx >= Dg8.RowCount Then Exit For End If Dg8.Rows(yx + 1).Cells(7).Value = Dg8.Rows(yx).Cells(6).Value + DgPangkat.Rows(yx + 1).Cells(0).Value + Dg8.Rows(yx + 1).Cells(6).Value Next Dg8.Rows(Dg8.RowCount - 1).Cells(7).Value = 0
For xy As Integer = 1 To (Dg8.RowCount - 1) - 1 Dg8.Rows(xy).Cells(8).Value = Dg8.Rows(xy).Cells(7).Value / 4 Next SimpleButton3.PerformClick() Catch ex As Exception MsgBox(ex.Message) End Try End Sub
30
4.3.2.3 Hasil Forcasting
Sub hasil_Forcasting() Try
dg10.Rows.Clear() Dim j As Integer For j = 0 To Dg1.RowCount - 1 Next Dim baris3 As Integer = 0 For xx As Integer = 0 To Dg9.RowCount - 1 dg10.Rows.Add() If baris3 > 3 Then baris3 = 0 End If dg10.Rows(xx).Cells(4).Value = (Dg9.Rows(xx).Cells(8).Value * dg7.Rows(baris3).Cells(j + 4).Value) / 100 dg10.Rows(xx).Cells(1).Value = Dg9.Rows(xx).Cells(8).Value dg10.Rows(xx).Cells(2).Value = dg7.Rows(baris3).Cells(j + 4).Value dg10.Rows(xx).Cells(3).Value = 100 baris3 += 1 dg10.Rows(xx).Cells(0).Value = Dg9.Rows(xx).Cells(0).Value dg10.Rows(xx).Cells(5).Value = Dg9.Rows(xx).Cells(0).Value
Next
ComboBoxEdit1.Properties.Items.Clear() For w As Integer = 0 To dg10.RowCount - 1 Step 4 dg10.Rows(w).DefaultCellStyle.BackColor = Color.Azure Dg9.Rows(w).DefaultCellStyle.BackColor = Color.Azure ComboBoxEdit1.Properties.Items.Add(dg10.Rows(w).Cells(0).Value) For tmp As Integer = w To (w + 3) dg10.Rows(tmp).Cells(5).Value = dg10.Rows(w).Cells(5).Value Next Next
Catch ex As Exception MsgBox(ex.Message) End Try End Sub
31
4.4
Pengujian Tahap selanjutnya adalah proses pengujian perangkat lunak, pengertian
dari perangkat lunak menurut Myers adalah suatu proses menjalankan program dengan maksud menemukan kesalahan (Myers, 1979), proses pengujian ini dilakukan untuk memastikan perangkat lunak yang telah dibuat telah sesuai dengan kebutuhan. 4.4.1 Lingkungan Pengujian Lingkungan perangkat keras yang digunakan dalam proses pengujian sistem informasi ini adalah sebagai berikut: 1. Processor Intel Core Duo 2. RAM 2 GB 3. Hard Disk 160 GB 4. Mouse Untuk lingkungan perangkat lunak yang digunakan dalam pengujian sistem informasi peramalan permintaan barang ini dideskripsikan dalam penjelasan berikut: 1. Sistem Operasi Microsoft Windows XP Professional Edition SP 2 2. MySql Server 5.1 Sql Yog Inteprise 3. Vusual Studio Visual Basic 2008 Bentuk dari pengujian yang dilakukan adalah pengujian kebenaran fungsional unit program, pengujian yang dilakukan menggunakan teknik pengujian Black Box. Menurut Pressman (2002: 551), pengujian blackbox dilakukan untuk menemukan kesalahan yang terjadi seperti fungsi yang tidak
32
benar/hilang, kesalahan interface, kesalahan struktur data, kesalahan kinerja, atau kesalahan inisialisasi dan terminasi. 4.4.2
Rencana Pengujian
Tabel 4.12 Rencana Pengujian No 1. 2.
3. 4. 5.
Bentuk pengujian Pengujian koneksi ke database Pengujian input data barang, data penjualan bulanan Pengujian edit data Pengujian hapus data Pengujian pengelolaan peramalan
Metode pengujian Black box Black box
Black box Black box Black box
Data uji yang digunakan data sembarangan dalam database Data sembarang dapat mewakili data
keterangan (tujuan) Melihat koneksi database Melihat proses input data terjadi
Data sembarang dapat mewakili data Data sembarang dapat mewakili data Data sembarang dapat mewakili data
Melihat proses edit data terjadi Melihat proses hapus data terjadi Melihat cetak hasil peramalan terjadi
4.4.3 Hasil Pengujian Tabel 4.13 Hasil Pengujian menggunakan Black Box Testing
No
Deskripsi
Skenario
Hasil yang
Hasil Nyata
Hasil
diharapkan 1
Login
1. Memasukkan username
User
dan masuk
dapat User ke masuk
password yang halaman utama
halaman
benar
sesuai
dapat OK ke utama dengan
yang diharapkan
33
2. Tidak
mengisi User
username
tidak User tidak dapat
dan dapat masuk ke masuk
password
halaman utama
halaman sesuai
ke utama dengan
yang diharapkan 2
Tambah 1. Memasukkan barang
data barang
Data
barang Data barang yang OK
isian masuk
ke
secara dalam
tabel
lengkap
barang
dimasukkan tersimpan sesuai
dan pada tabel barang
tersimpan pada
dalam database
tabel tersebut 2. Memasukkan data barang
Keluar
Peringatan
isian peringatan secara inputan
tidak lengkap
inputan tidak tidak
boleh kosong
boleh kosong muncul sesuai yang diharapkan
3
Input data1. Memasukkan penjualan
data
bulanan
lengkap data
Data penjualan
secara kuartalan
tahunan yang
dan masuk
ke
isian dalam
tabel
tersimpan sesuai
dan
pada tabel
berupa angka
penjualan
tersimpan pada tabel tersebut 2. Memasukkan
Keluar
dan inputan
peramalan dalam database
inputan tidak tidak
boleh kosong
kosong
dan harus diisi
dan harus diisi
berupa angka
berupa angka
muncul sesuai
data isian selain boleh angka
dimasukkan
Peringatan
data secara tidak peringatan lengkap
Data penjualan
yang diharapkan
OK
34
6
Hitung
Memasukan
Peramalan
data
Perhitungan
penjualan peramalan bisa peramalan kurang dilanjutkan
harus dari
Perhitungan
3
dalam
OK bisa
dilanjutkan
tahun bentuk
kuartalan Pemilihan
Keluar
periode
Message
Peramalan
Box
Box masa peramalan
peramalan lebih masa
harus
atau kurang dari peramalan
berhasil muncul
3 tahun 7
Message
3
tahun
harus3 tahun
Melihat
setiap Langkah-
Langkah-langkah OK
langkah
proses langkah
peramalan tidak
peramalan dengan akhir
peramalan tidak ada hasil ada
yang terlewati
muncul terlewati
yang dan
dan hasil
akhir hasil
hasil
hasil
akhir berupa
peramalannya
berupa
hasil peramalan model
peramalan model
yang disesuaikan yang
disesuaikan 8
Lihat detail Melihat hasil
Hasil
Hasil peramalan
OK