SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data...

83
i SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PENGADAAN STOK BARANG UNTUK TOSERBA DENGAN METODE SIMPLE MOVING AVERAGE (Studi Kasus : Toko Serba Ada “Ainun Mart”) SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Oleh : Andreas Dian Sukarno Putro 125314113 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Transcript of SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data...

Page 1: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

i

SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PENGADAAN

STOK BARANG UNTUK TOSERBA DENGAN METODE SIMPLE

MOVING AVERAGE

(Studi Kasus : Toko Serba Ada “Ainun Mart”)

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

Andreas Dian Sukarno Putro

125314113

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2016

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

ii

DECISION SUPPORT SYSTEMS FOR SUPPLYING MINI MARKET’S

GOODS STOCK WITH SIMPLE MOVING AVERAGE METHOD

(Case Study : Mini Market “Ainun Mart”)

A Final Project

Presented as Fulfillment of The Requirement

To Obtain Sarjana Komputer Degree

In Informatics Engineering Study Program

Oleh :

Andreas Dian Sukarno Putro

125314113

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2016

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

vii

Sistem Pendukung Pengambilan Keputusan Pengadaan Stok Barang Untuk

Toserba Dengan Metode Simple Moving Average

(Studi Kasus : Toko Serba Ada “Ainun Mart”)

ABSTRAK

Toserba “Ainun mart” memiliki banyak data penjualan. Data penjualan ini

sering dibuang karena dianggap tidak berguna. Sebenarnya, data penjualan dapat

sangat berguna jika diolah dengan benar. Salah satu pengolahan data penjualan

adalah membuat sistem pedukung pengambilan keputusan peramalan data stok

dari data penjualan bulanan toserba. Tujuan peramalan stok untuk

menyeimbangkan stok yang berada di gudang sehingga tidak berlebih dan tidak

kurang sehingga konsumen tidak lari ke kompetitor.

Metode simple moving average digunakan untuk sistem karena data

penjualan memiliki pola acak. Tahap pertama dalam penghitungan metode simple

moving average dalam sistem yang dibuat adalah mengambil data penjualan dari

24 bulan sebelum periode peramalan. Dilanjutkan dengan menghitung peramalan

dengan menggunakan data 3 periode. Penghitungan dibagi menjadi 4 variasi

penghitungan. Dari semua penghitungan, dicari Mean Absolut Percent Error

(MAPE) terkecil. Peramalan yang memiliki MAPE terkecil akan ditunjukkan

kepada pengguna sistem.

Hasil akhir sistem menunjukkan bahwa algoritma moving average dapat

digunakan untuk meramalkan stok barang, tetapi tidak semua peramalan memiliki

hasil yang baik karena datanya yang banyak dan pola yang bervariasi. Oleh karena

itu, pada setiap peramalan juga dicantumkan perkiraan error peramalan untuk

pertimbangan pengambilan keputusan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

viii

Decision Support Systems For Supplying Mini Market’s Goods Stock With

Simple Moving Average Method

(Case Study : Mini Market “Ainun Mart”)

ABSTRACT

“Ainun mart” minimarket has a lot of sales data. The sales data is often

discarded because they are not useful. Actually, the sales data can be very useful

if treated properly. One of the sales data processing is to make the decision

support system of data forecasting from the minimarket’s monthly sales data. The

purpose of forecasting the stock is to balance the stock in the warehouse so that no

overload and no less so that consumers do not go into competitors.

Simple moving average method is used for systems because the sales data

has a random pattern. The first stage in the calculation of simple moving average

method in the system is taking sales data from the 24 months before the forecast

period. Followed by calculating forecasting using data from three periods.

Calculations are divided into 4 variation calculation. From all the counting,

searched the smallest Mean Absolute Percent Error (MAPE). Forecasting which

has the smallest MAPE will be shown to users.

The final results show that the algorithm system moving average can be

used to predict stock items, but not all of forecasting have good results because

the data are many and varied patterns. Therefore, at each forecasting, forecasting

error estimates are also listed for consideration decision.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

ix

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas

berkat, rahmat dan penyertaan-Nya sehingga penulis dapat menyelesaikan skripsi

dengan judul “Sistem Pendukung Pengambilan Keputusan Pengadaan Stok

Barang Untuk Toserba Dengan Metode Simple Moving Average (Studi Kasus :

Toko Serba Ada “Ainun Mart”)”.

Penulisan skripsi ini diajukan untuk memenuhi syarat memperoleh gelar

sarjana computer program studi S1 jurusan Teknik Informatika Universitas Sanata

Dharma. Penulis menyadari bahwa skripsi ini masih jauh dari kata sempurna, oleh

karena itu penulis mengharapkan kritik dan saran yang membangun dari pembaca

demi kesempurnaan skripsi ini.

Skripsi ini dapat selesai tidak lepas dari pentingnya berbagai pihak,

sehingga pada kesempatan ini penulis mengucapkan terimakasih yang sebesar-

besarnya kepada semua yang terlibat memberikan dukungan baik secara langsung

maupun tidak langsung. Ucapan terimakasih saya ajukan kepada :

1. Tuhan Yesus selaku pembimbing hidup saya yang selalu menuntun

saya sehingga sampai pada titik ini.

2. Kedua Orang tua, Bapak VL Susilo dan Ibu Nanik Purwati yang selalu

mendukung saya, memberikan motivasi, serta memberikan dukungan

moral dan finansial yang tidak terhitung jumlahnya.

3. Kedua saudara penulis, Astrid Dian Ikasari dan Johanes Dian

Triatmaja yang memberikan keceriaan dan kebersamaanya dikala

penat menulis skripsi.

4. Ibu Sri Hartati Wijono, S.Si., M.Kom. selaku pembimbing yang

selalu setia memberikan pengarahan serta solusi dalam pengerjaan

skripsi ini hingga selesai.

5. Odilia Chandra Okvantina yang selalu setia menemani, mendukung,

memberikan semangat ketika penulis sedang terpuruk dan memarahi

ketika pemulis sedang malas mengerjakan skripsi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

x

6. Semua teman-teman Teknik Informatika angkatan 2012 dan

khususnya TI kelas D yang telah berjuang bersama dan saling berbagi

keceriaan, semangat dan inspirasi.

7. Semua pihak yang telah membantu penulis dalam proses penyelesian

skripsi baik yang membantu secara langsung maupun tidak langsung.

Penulis menyadari bahwa masih banyak kekurangan dalam penulisan

skripsi ini, namun penulis berharap skripsi ini dapat bermanfaat untuk menambah

wawasan maupun referensi bagi pembaca.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

xi

DAFTAR ISI

HALAMAN JUDUL ........................................................................................... i

HALAMAN JUDUL ........................................................................................... ii

HALAMAN PERSETUJUAN ............................................................................ iii

HALAMAN PENGESAHAN ............................................................................. iv

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

LEMBAR PERNYATAAN PERSETUJUAN ................................................... vi

ABSTRAK .......................................................................................................... vii

ABSTRACT ........................................................................................................ viii

KATA PENGANTAR ........................................................................................ ix

DAFTAR ISI ....................................................................................................... xi

DAFTAR GAMBAR .......................................................................................... xiii

DAFTAR TABEL ............................................................................................... xiv

BAB I

PENDAHULUAN .............................................................................................. 1

1.1 Latar Belakang ........................................................................................... 1

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

1.3 Tujuan Penelitian ....................................................................................... 2

1.4 Batasan Masalah ........................................................................................ 2

1.5 Manfaat Penelitian ..................................................................................... 3

1.6 Metode Penelitian ...................................................................................... 3

1.7 Sistematika Penulisan ................................................................................ 4

BAB II

LANDASAN TEORI .......................................................................................... 5

2.1 Sistem Pendukung Pengambilan Keputusan (SPPK) ................................ 5

2.2 Peramalan .................................................................................................. 6

BAB III

ANALISA DAN PERANCANGAN SISTEM ................................................... 15

3.1 Fase Intelegensi ......................................................................................... 15

3.2 Fase Desain ................................................................................................ 15

3.3 Fase Pemilihan ........................................................................................... 15

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

xii

3.4 Fase Implementasi ..................................................................................... 16

BAB IV

FASE IMPLEMENTASI .................................................................................... 26

4.1 Manajemen Data ........................................................................................ 26

4.2 Manajemen Model ..................................................................................... 27

4.3 Manajemen Dialog..................................................................................... 56

BAB V

HASIL PENGUJIAN DAN ANALISA HASIL ................................................. 60

5.1 Pengujian dan Hasil ................................................................................... 60

5.2 Kelebihan dan Kekurangan Sistem ............................................................ 62

BAB VI

KESIMPULAN DAN SARAN ........................................................................... 63

6.1 Kesimpulan ................................................................................................ 63

6.2 Saran .......................................................................................................... 63

DAFTAR PUSTAKA ......................................................................................... 64

LAMPIRAN ........................................................................................................ 65

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

xiii

DAFTAR GAMBAR

Gambar 3.1 : ER Diagram ................................................................................... 17

Gambar 3.2 : Use Case Diagram Software Tester .............................................. 19

Gambar 3.3 : Use Case Diagram software User ................................................. 19

Gambar 3.4 : Class Diagram Software Tester ..................................................... 20

Gambar 3.5 : Class Diagram Software User ....................................................... 20

Gambar 3.6 : Sequence Diagram Software Tester .............................................. 21

Gambar 3.7 : Sequence Diagram Software User ................................................ 22

Gambar 3.8 : Activity Diagram Software Tester ................................................ 23

Gambar 3.9 : Activity Diagram Software User ................................................... 24

Gambar 3.10 : Halaman Dialog Software Tester ................................................ 24

Gambar 3.11 : Halaman Dialog Software User .................................................. 25

Gambar 4.1 : Tabel BarangAinun ....................................................................... 26

Gambar 4.2 : Tabel PenjualanAinun ................................................................... 26

Gambar 4.3 : Tabel BarangPredik ....................................................................... 27

Gambar 4.4 : User Interface SimulasiTest .......................................................... 56

Gambar 4.5 : User Interface UserFrame ............................................................. 57

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

xiv

DAFTAR TABEL

Tabel 3.1 Barang (BarangAinun) ....................................................................... 18

Tabel 3.2 Penjualan (PenjualanAinun) ............................................................... 18

Tabel 3.3 Peramalan (BarangPredik) .................................................................. 18

Tabel 5.1 Peramalan MA Normal ....................................................................... 60

Tabel 5.2 Peramalan MA Variasi 1 ..................................................................... 60

Tabel 5.3 Peramalan MA Variasi 2 ..................................................................... 61

Tabel 5.4 Peramalan MA Variasi 3 ..................................................................... 61

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Dengan kemajuan teknologi informasi dewasa ini, kebutuhan akan

informasi yang akurat dan dapat menunjang untuk seseorang atau

kelompok sangat dibutuhkan. Kebutuhan akan informasi yang tinggi harus

diimbangi dengan pengadaan data yang memadai, valid dan berjumlah

banyak agar informasi yang dihasilkan menjadi akurat. Kemampuan

teknologi informasi dalam mengumpulkan, menganalisis dan mengolah

data sangat cepat dan akurat meninggalkan metode tradisional yang lebih

lambat dan tidak dapat menagani data dalam jumlah besar.

Pemanfaatan data yang ada dalam sistem informasi untuk

menunjang pengambilan keputusan, tidak hanya mengandalkan data saja,

tetapi data juga harus digali potensi-potensi informasi yang ada.

Pengolahan data untuk mengambil informasi berguna dalam membantu

meramalkan apa yang akan terjadi selanjutnya sehingga dapat diambil

keputusan yang tepat untuk merancang sebuah strategi.

Salah satu penerapan peramalan untuk mendapatkan informasi baru

adalah peramalan stok. Peramalan stok dapat diterapkan dalam

pengelolaan toserba (Toko Serba Ada). Toserba mempunyai banyak data

transaksi yang dilakukan tiap hari yang dapat mengurangi ketersediaan

stok dan data tersebut disimpan dalam database. Dengan transaksi yang

begitu banyak, terkadang ada toserba yang membuang data tersebut

setelah setahun berlalu, seperti toserba yang dipakai untuk studi kasus

penelitian ini yaitu Ainun mart. Data yang dibuang sebenarnya sangat

berharga bagi pemilik toko untuk membantu membuat strategi bisnis.

Salah satunya mengenai pengendalian stok dengan cara meramalkan

terlebih dahulu stok yang akan diambil untuk periode selanjutnya. Oleh

karena itu, dibutuhkan suatu sistem untuk meramalkan stok barang untuk

periode yang akan datang. Peramalan ini bertujuan untuk menjaga

kestabilan stok agar tidak berlebih yang dapat membuat barang expired

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

2

dan merugikan pemilik toko atau stok kurang yang akan membuat

pelanggan lari ke toserba kompetitor.

Maka pada tugas akhir ini akan dilakukan penelitian analisa data

transaksi pada toserba dengan menggunakan metode simple moving

average yang diaplikasikan pada sebuah sistem pendukung pengambilan

keputusan pengadaan stok yang diharapkan dapat memberikan

pengetahuan untuk mengatur kestabilan stok. Pengambilan keputusan

pengadaan stok yang dimaksud adalah meramalkan stok barang dengan

metode simple moving average. Metode simple moving average digunakan

karena data barsifat fluktuatif, random dan polanya sulit deketahui.

1.2 Rumusan Masalah

Berdasarkan permasalahan yang ada,maka rumusan masalah yang dapat

disimpulkan adalah :

1. Bagaimana metode simple moving average mampu meramalkan stok

barang pada data transaksi penjualan di suatu toserba?

2. Berapa presentase error dari peramalan stok yang telah diramalkan

dengan metode simple moving average?

1.3 Tujuan Penelitian

Penelitian dalam tugas akhir ini memiliki tujuan, yaitu membuat suatu

sistem pendukung pengambilan keputusan pengadaan stok barang dengan

menerapkan metode simple moving average dari analisis data transaksi

sehingga mendapatkan informasi tentang ramalan stok barang.

1.4 Batasan Masalah

Batasan masalah pada tugas akhir ini adalah :

1. Proses analisa data dilakukan dengan data di Ainun mart pada periode

transaksi penjualan tahun 2014 dan 2015.

2. Metode yang digunakan dalam penelitian adalah metode simple

moving average.

3. Pengguna sistem adalah pemilik mini market.

4. Data yang diolah diperoleh dari data yang telah tersimpan dalam

database.

5. Periode data yang digunakan adalah periode 3 bulan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

3

1.5 Manfaat Penelitian

Adapun beberapa manfaat yang diharapkan dari penulisan tugas akhir ini

adalah :

1. Bagi Penulis

Penulis dapat lebih mengetahui cara menerapkan ilmu-ilmu yang telah

dipelajari selama ini dalam merancang dan membuat sebuah sistem

dengan teknik peramalan simple moving average.

2. Bagi Pengguna Sistem

Pengguna sistem diharapkan bisa mendapatkan informasi yang

berguna tentang peramalan stok barang di gudang sehingga dapat

merencanakan pengadaan stok untuk periode penjualan berikutnya.

1.6 Metode Penelitian

Metode yang digunakan menggunakan adalah paradigma waterfall dengan

tahapan sebagai berikut:

1. Analisis Kebutuhan

Menganalisa kebutuhan untuk merancang sistem dan mengumpulkan

data-data yang dibutuhkan untuk meramalkan stok.

2. Perancangan Sistem

Merancang sebuah rancangan sistem yang akan diterjemahkan

kedalam perangkat lunak. Perancangan yang dilakukan antara lain

perancangan desain database, user interface dan rancangan

implementasi program.

3. Penulisan Program

Melakukan penerjemahan rancangan yang telah dibuat kedalam bahasa

pemrograman.

4. Pengujian

Pengujian dilakukan untuk menemukan dan menganalisis program

yang telah dibuat sehingga program dapat sesuai dengan yang

diharapkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

4

1.7 Sistematika Penulisan6

BAB I PENDAHULUAN

Bab ini menjelaskan latar belakang masalah, rumusan

masalah, tujuan penelitian, batasan masalah, manfaat

penelitian, metode penelitian, serta sitematika penulisan

laporan dari penelitian yang akan dilakukan.

BAB II LANDASAN TEORI

Bab ini berisi penjelasan tentang teori-teori yang digunakan

untuk memecahkan masalah yang akan diteliti.

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab ini membahas mengenai analisa dan perancangan

sistem yang akan dibuat.

BAB IV FASE IMPLEMENTASI

Bab ini berisi penjelasan mengenai implementasi sistem

sesuai dengan analisis dan rancangan sistem ke dalam

bentuk program.

BAB V HASIL PENGUJIAN DAN ANALISA HASIL

Bab ini berisi hasil pengujian dan analisa dari implementasi

sistem yang telah dibuat.

BAB VI KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang telah diperoleh dari

penelitian yang telah dikerjakan serta saran untuk

pengembangan sistem selanjutnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

5

BAB II

LANDASAN TEORI

2.1 Sistem Pendukung Pengambilan Keputusan (SPPK)

2.1.1 Pengertian SPPK

Sistem pendukung keputusan atau DSS (Decision Support

System) diciptakan oleh Glory dan Scoot Morton pada tahun 1971.

Gagasan tersebut didasarkan pada perlunya suatu kerangka kerja

untuk mengarahkan aplikasi komputer kepada pengambilan

keputusan manajemen

Pengambilan keputusan adalah sebuah proses memilih

tindakan (di antara berbagai alternatif) untuk mencapai suatu tujuan

atau beberapa tujuan (Turban, 2005).

2.1.2 Proses Pengambilan Keputusan

Dalam proses pengambilan keputusan disarankan untuk

mengikuti fase-fase proses pengambilan keputusan. Fase-fase

tersebut dibagi menjadi 4, yaitu :

1. Fase Intelegensi

Merupakan fase pemindaian masalah, kebutuhan atau

kesempatan yang ada dan yang akan dipecahkan menggunakan

sistem yang akan dibuat.

2. Fase Desain

Merupakan fase untuk merancang cara-cara yang akan

digunakan untuk memecahkan masalah. Pada tahap ini,

perancang dapat melihat dari berbagai sudut untuk mencari

pemecahan masalah.

3. Fase Pilihan

Merupakan Fase untuk memilih alternatif keputusan yang

terbaik dari sekian banyak cara yang sudah ditemukan pada

tahap sebelumnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

6

4. Fase Implementasi

Merupakan fase untuk mengimplementasikan sistem yang telah

dirancang pada tahap-tahap sebelumnya.

2.1.3 Komponen-komponen SPPK

Aplikasi SPPK dapat terdiri dari 4 subsistem. Setiap sub

sistem berkaitan satu dengan yang lainnya. Berikut adalah 4

subsistem tersebut (Turban, 2005) :

1. Subsistem manajemen data

Subsistem manajemen data memasukkan satu database yang

berisi data yang relevan untuk situasi dan dikelola oleh

perangkat lunak yang disebut DBMS (Database Management

System) .

2. Subsistem manajemen model

Merupakan paket perangkat lunak yang memasukkan berbagai

model yang diperlukan dalam sistem sehingga memberikan

kapabilitas analitik dan management perangkat lunak yang

tepat.

3. Subsistem manajemen dialog

Memuat fasilitas bagi pengguna untuk dapat berkomunikasi

dengan sistem melalui antarmuka yang meliputi piranti

masukan dan keluaran.

4. Subsistem manajemen pengetahuan

Subsistem ini dapat mendukung semua subsistem lain atau

bertindak sebagai suatu komponen independen yang

memberikan intelegensi untuk memperbesar kemampuan

pengetahuan si pengambil keputusan.

2.2 Peramalan

2.2.1 Pengertian Peramalan

Peramalan (forecasting) merupakan alat bantu yang penting

dalam perencanaan yang efektif dan efisien khususnya dalam

bidang ekonomi. Dalam organisasi modern mengetahui keadaan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

7

yang akan datang tidak saja penting untuk melihat yang baik atau

buruk tetapi juga bertujuan untuk melakukan persiapan peramalan.

Peramalan adalah prediksi, proyeksi atau estimasi tingkat

kejadian yang tidak pasti dimasa yang akan datang (Yamit,

2003:13).

Peramalan merupakan prediksi nilai-nilai sebuah variabel

berdasarkan kepada nilai yang diketahui dari variabel tersebut atau

variabel yang berhubungan (Makridakis, 2003:24).

Beberapa faktor umum lingkungan yang mempengaruhi peramalan,

yaitu :

1. Kondisi umum bisnis dan ekonomi.

Hal ini berkaitan dengan perkembangan bisnis dan ekonomi

secara global.

2. Reaksi dan tindakan pesaing

Kita dapat memperhatikan segala reaksi dan tindakan pesaing

agar pola peramalan yang ditetapkan dapat mengimbangi

pesaing tersebut.

3. Tindakan pemerintah

Tindakan pemerintah secara makro ekonomi mengakibatkan

pola peramalan dapat berubah.

2.2.2 Tipe Peramalan

Berikut ini adalah tipe peramalan bedasarkan kegunaannya

(Alfatah, 1998):

1. Peramalan fasilitas

Peramalan fasilitas akan menghasilkan keluaran maksimum

sesuai yang diharapkan. Jangkauan waktu peramalannya adalah

jangkauan waktu perancanaan fasilitas dan waktu konstruksi

ditambah waktu pengembangan fasilitas.

2. Peramalan perencanaan produksi

Peramalan perencanaan produksi menghasilkan hasil volume

produk sesuai dengan tipe yang dipilih. Jangkauan waktu

peramalannya adalah beberapa siklus pembuatan atau paling

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

8

sedikit satu siklus permintaan dengan penjualan menurut

periode tertentu.

3. Peramalan produk

Peramalan produk menghasilkan satuan produk yang dijual.

Jangkauan waktu ditambah paling sedikit satu siklus

pembuatan.

2.2.3 Langkah Peramalan

Dalam melakukan peramalan, dibutuhkan langkah-langkah untuk

melakukannya. Secara ringkas ada tiga langkah yang harus

dilakukan dalam merancang suatu metode peramalan, yaitu:

1. Melakukan analisis data record untuk mendapatkan gambaran

tentang pola dari data yang bersangkutan.

2. Memilih metode yang digunakan. Metode untuk teknik

peramalan ada bermacam-macam. Pemilihan metode harus

berdasarkan kebutuhan karena tidak semua metode dapat

dianggap baik. Selain kebutuhan, pola dari data juga

memengaruhi pemilihan metode yang akan digunakan.

3. Proses transformasi dari data record menjadi peramalan

dengan metode yang telah dipilih. Jika diperlukan, maka dapat

diubah sesuai dengan kebutuhan.

2.2.4 Prinsip Peramalan

Metode peramalan merupakan metode yang tidak memiliki tingkat

akurasi 100%. Terdapat empat karakteristik atau prinsip peramalan,

yaitu (Arnold and Chapman, 2004):

1. Peramalan biasanya salah

Kesalahan dalam peramalan tidak bisa dielakkan, jadi

sebaiknya kesalahan juga harus diprediksi. Kesalahan biasanya

terjadi karena tujuan dari peramalan itu sendiri adalah melihat

masa depan yang belum diketahui sehingga bisa salah.

2. Setiap peramalan seharusnya menyertakan estimasi kesalahan

Estimasi kesalahan harus disertakan dalm setiap peramalan.

Sertakan besaran estimasi kesalahan yang dapat diukur sebagai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

9

tingkat kepercayaan. Tingkat estimasi kesalahan dapat disajikan

dalam bentuk presentase besarnya kesalahan sebagai rentang

nilai minimum dan maksimum.

3. Peramalan akan lebih akurat untuk kelompok atau grup

Perilaku dari setiap data satuan dalam grup adalah acak bahkan

ketika grup dalam keadaan stabil. Contohnya ketika meramal

suatu kelas, akan lebih sulit jika meramal satu orang murid

daripada meramalkan rata-rata keseluruhan kelas. Sehingga

dapat dikatakan bahwa peramalan kelompok akan lebih akurat

daripada meramalkan data satuan.

4. Peramalan lebih akurat untuk jangka waktu yang lebih dekat

Peramalan yang dilakukan untuk janka panjang akan memiliki

tingkat kesalahan yang lebih tinggi karena tidak diketahuinya

kejadian-kejadian yang akan terjadi dimasa yang akan datang.

Jadi akan lebih baik jika meramalkan dalam jangka waktu yang

lebih pendek dengan melakukan pendekata situasi yang terjadi

pada saat peramalan dilakukan.

2.2.5 Metode-metode peramalan

Peramalan jika dilihat dari sifat-sifat peramalan dapat dibedakan

menjadi dua macam, yaitu (Makridakis & Wheelwright, 1999) :

1. Peramalan kualitatif

Model peramalan yang digolongkan sebagai model kualitatif

adalah:

a. Dugaan manajemen

Dugaan manajemen adalah metode peramalan dimana

peramalan berdasarkan pada pertimbangan manajemen.

Metode ini cocok untuk situasi sensitif terhadap intuisi dari

satu atau sekelompok kecil orang yang karena

pengalamannya mampu memberikan opini yang kritis dan

relevan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

10

b. Riset pasar

Riset pasar adalah metode peramalan berdasarkan hasil

survey pasar dari tenaga pemasaran produk atau yang

mewakili hasil survey pasar tersebut. Metode ini

menggunakan informasi dari pelanggan untuk melihat

rencana pembelian produk di masa yang akan datang.

c. Metode kelompok terstruktur

Metode kelompok terstruktur adalah metode peramalan

berdasarkan proses konvergensi opini beberapa orang atau

ahli secara interaktif dan membutuhkan fasilitator untuk

menyimpulkan hasil dari peramalan.

d. Analogi historis

Analogi historis merupakan metode peramalan beradarkan

pola data record dari sebuah produk yang disamakan secara

analogi.

2. Peramalan kuantitatif

Peramalan kuantitatif adalah peramalan dengan dasar

kuantitatif pada masa lampau. Peramalan kuantitatif dibedakan

menjadi dua, yaitu:

a. Metode kausal

Merupakan metode dengan mengembangkan suatu model

sebab akibat antara permintaan yang akan diramalkan

dengan variabel-variabel yang dapat memengaruhinya.

Metode kausal dibagi lagi menjadi tiga bagian:

1) Metode korelasi regresi

Metode ini cocok bila digunakan untuk meramalkan

dalam jangka pendek dan data yang digunakan

merupakan kumpulan dari data beberapa tahun.

Peramalan dengan metode ini sering digunakan untuk

peramalan penjualan, peramalan keuntungan, peramalan

permintaan, dan peramalan keadaan ekonomi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

11

2) Metode ekonometrik

Metode ini cocok bila digunakan untuk meramalkan

kumpulan data beberapa tahun dan dengan peramalan

jangka pendek atau jangka panjang. Peramalan dengan

metode ini sering digunakan untuk peramalan penjualan

menurut kelas produksi dan peramalan keadaan

ekonomi masyarakat meliputi permintaan harga atau

penawaran.

3) Metode input-output

Metode ini cocok bila digunakan untuk meramalkan

kumpulan data 10-15 tahun dengan peramalan jangka

panjang. Peramalan dengan metode ini sering digunakan

untuk peramalan penjualan perusahaan dan peramalan

produksi dari sector atau sub-sektor industri.

b. Metode deret berkala (Time Series)

Merupakan metode dengan menganalisis suatu pola

hubungan antara variabel yang akan diramalkan dengan

variabel waktu yang dapat dipengaruhi keempat komponen

utama tren (trend), siklus (cycle), musiman (seasonal) dan

acak (random). Dalam metode deret berkala, dibagi lagi

menjadi dua metode yaitu metode moving average dan

metode ARIMA (box Jenkins). Kemudian ada metode

winter, smoothing, metode dekomposisi dan metode

proyeksi tren dengan regresi.

2.2.6 Metode Deret Berkala

Merupakan metode peramalan yang meramalkan penjualan atau

permintaan pada periode yang akan datang dengan mengolah data

record. Metode yang termasuk deret berkala adalah :

1. Metode moving average

Metode moving average merupakan metode untuk

mengembangkan suatu model berdasarkan hasil rata-rata dari

sebagian besar penelitian.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

12

2. Metode weighted moving average

Metode weighted moving average merupakan metode dari

pengembangan moving average. Pembobotan nilai perhitungan

belum melakukan penghitungan rata-rata dari sebagian besar

penelitian.

3. Metode exponantial smoothing

Metode ini menerapkan sistem pembobotan pada data record

untuk melakukan peramalan. Pembobotan berubah menurun

secara eksponensial bergantung dari data record.

Berdasarkan pembobotannya, metode exponential smoothing

dibagi menjadi 3 jeni yaitu:

a. Metode single exponential smoothing

Pembobotan pada model ini berdasarkan level.

b. Metode double exponential smoothing

Metode ini seperti metode single exponential smoothing,

tetapi ditambahkan unsur tren pada pembobotan

penghitungannya.

c. Metode triple exponential smoothing

Metode ini dikenal juga dengan nama winter’s method.

Metode ini adalah pengembangan dari double exponential

smoothing dengan menambahkan unsur seasonal pada

pembobotan penghitungannya.

4. Metode Trend

Metode trend adalah metode peramalan dengan menggunakan

kuadrat terkecil yang membentuk trend garis lurus melalui

persamaan.

5. Metode seasonal trend

Metode seasonal trend dibagi menjadi dua, yaitu:

a. Metode seasonal

Metode seasonal merupakan metode pramalan dengan

membagi periode yang disimulasikan menjadi empat bagian

untuk mencari index yang akan digunakan untuk peramalan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

13

Metode ini dibagi menjadi dua jenis, yaitu multiplicative

dan additive (Lurgio, 1997).

b. Metode seasonal trend

Metode seasonal trend adalah perpaduan antara metode

trend dan musiman. Data yang didapatkan akan disesuaikan

dengan musiman, kemudian deseasonalized data tersebut

dihitung dengan metode trend.

2.2.7 Metode Simple Moving Average

Metode ini merupakan metode peramalan yang

menggunakan rata-rata dari suatu data dimana ditentukan terlebih

dahulu suatu titik-titik data pada outset sehingga rata-rata dapat

dihitung untuk memperkirakan data yang baru tersebut. Dengan

munculnya data yang baru, maka nilai rata-rata yang baru dapat

dihitung dengan menghilangkan data yang terlama dan

menambahkan data yang baru (Lincoln, 2001).

Menurut Spyros dkk (1993), untuk menghilangkan

pengaruh data masa lalu terhadap nilai peramalan, maka harus

ditentukan terlebih dahulu berapa jumlah nilai observasi masa lalu

yang dimasukkan untuk menghitung nilai tengah. Untuk

menggambarkan prosedur ini maka diperlukan suatu metode, yaitu

rata-rata bergerak (Moving Average) karena setiap muncul nilai

observasi baru, nilai rata-rata baru dapat dihitung dengan

membuang nilai observasi yang paling tua dan menghasilkan nilai

observasi terbaru.

Rumus single moving average dapat ditunjukkan sebagai

berikut:

dimana:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

14

Sedangkan untuk menghitung kesalahan digunakan Mean

Absolute Percent Error (MAPE). MAPE merupakan metode

perhitungan kesalahan yang dihitung dengan mencari presentase

kesalahan dari setiap periode peramalan kemudian membaginya

dengan jumlah data/periode yang digunakan. Berikut merupakan

persamaan dari MAPE :

dimana :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

15

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1 Fase Intelegensi

Toserba Ainun mart selalu membuang data record penjualan, disisi

lain data tersebut sangat berguna untuk dikaji dan digunakan untuk

mengendalikan stok yang ada didalam gudang. Untuk itu, dibutuhkan

sebuah sistem yang dapat mengolah data penjualan tersebut menjadi data

yang bernilai untuk pemilik toko. Sistem yang dibuat memiliki

kemampuan untuk mendukung pengambilan keputusan pengadaan stok

barang di toserba Ainun mart. Data yang dibutuhkan adalah jumlah

transaksi penjualan selama 2 tahun sebelumnya yang digolongkan sesuai

nama barang dan digolongkan sesuai bulan transaksi dilakukan.

Selanjutnya, data yang telah masukkan akan diolah. Output yang

dikeluarkan berupa hasil pengambilan keputusan pengadaan stok.

3.2 Fase Desain

Salah satu metode untuk sistem pendukung pengambilan keputusan

pengadan stok barang adalah metode peramalan. Metode peramalan jika

dilihat dari sifatnya dibagi menjadi 2 yaitu peralaman secara kualitatif dan

kuantitatif. Dalam hal ini, peramalan stok barang termasuk dalam metode

kuantitatif karena baik input dan outputnya berupa angka.

Pola data penjualan toserba biasanya berupa trend, siklus, musiman

dan acak sehingga peramalan penjualan termasuk dalam metode deret

berkala. Dalam metode deret berkala, dapat dipecah lagi kedalam beberapa

metode lagi, yaitu : Metode moving average, metode weighted moving

average, metode exponential smoothing, metode trend, dan metode

seasonal trend.

3.3 Fase Pemilihan

Data penjualan dari 10 sample barang pada toserba Ainun mart

selama tahun 2014 dan 2015 menunjukkan bahwa pola penjualannya acak.

Pola penjualan yang acak dapat diramalkan dengan menggunakan metode

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

16

moving average. Sehingga dalam penelitian ini, digunakan metode simple

moving average untuk meramalkan pengadaan stok.

Metode simple moving average yang digunakan dalam penelitian

ini menggunakan n = 3. Penggunaan n yang kecil untuk meningkatkan

keakuratan karena berhubungan dengan faktor-faktor kejadian terdekat

yang dapat mempengaruhi peramalan. Dalam penelitian ini, dicoba juga

kedalam beberapa variasi pemodelan data yang baru dengan metode

simple moving average.

Variasi pemodelan data yang baru dibuat untuk memenuhi

kemungkinan jika pola data suatu barang memiliki pola yang sama setiap

tahunnya. Variasi dibagi menjadi 3 yaitu variasi 1, variasi 2 dan variasi 3.

Inti dari variasi pemodelan data yang baru adalah sama, yaitu peramalan

menggunakan data yang telah ditentukan dari tahun sebelumnya untuk

dirata-rata sehingga dapat memperkirakan data yang baru. Yang

membedakan dari ketiga variasi adalah target dari peramalan. Contoh data

yang diambil adalah data bulan 1, 2, dan 3 pada tahun 2014, kemudian

dirata-rata. Target dari variasi 1 adalah bulan 1 tahun 2015, target dari

variasi 2 adalah bulan 2 tahun 2015 dan target dari variasi 3 adalah bulan 3

tahun 2015.

3.4 Fase Implementasi

3.4.1 Manajemen data

1. Perancangan Konseptual

Sistem pendukung pengambilan keputusan memiliki 3 entitas,

antara lain : entitas kategori barang, entitas penjualan, entitas

prediksi. Entitas kategori barang memilik relasi dengan entitas

penjualan, sedangkan entitas prediksi tidak mempunyai relasi

dengan entitas lain.

a. Entitas Barang

Entitas barang menyimpan data yang berkaitan dengan

kriteria khusus mengenai kode barang dan nama barang.

Entitas ini dibuat untuk mengelompokkan barang sesuai

kriterianya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

17

b. Entitas Penjualan

Entitas Penjualan menyimpan data yang berkaitan dengan

transaksi penjualan berupa kode penjualan. Dalam proses

peramalan, data pada entitas ini dibutuhkan untuk

menghitung peramalan.

c. Entitas Peramalan

Entitas Peramalan menyimpan data yang berkaitan dengan

peramalan barang mengenai data penjualan dan hasil

peramalannya. Entitas peramalan merupakan sebuah entitas

untuk membantu dalam proses penghitungan peramalan.

BarangAinun PenjualanAinun

BarangPredik

memiliki

KodeBarang KodePenjualanNamaBarang

Jumlah

no

Penjualan

Prediksi

N1

Gambar 3.1 : ER Diagram

2. Perancangan Logikal

BarangAinun

-KodeBarang : varchar(20) PK

-NamaBarang : varchar(20)

Penjualan Ainun

-KodePenjualan : varchar(20) PK

-jumlah : number

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

18

BarangPredik

-No : number

-Penjualan : number

-Prediksi : number

3. Perancangan Fisikal

Nama Field Tipe Data Lebar Keterangan

KodeBarang varchar 20 kode barang yang

dijual di toserba

Ainun.

NamaBarang varchar 20 nama dari barang

Tabel 3.1 Barang (BarangAinun)

Nama Field Tipe Data Lebar Keterangan

KodePenjualan varchar 20 kode penjualan

selama 1 bulan

KodeBarang number - kode dari barang

yang terjual

Jumlah number - jumlah penjualan

selama 1 bulan

Tabel 3.2 Penjualan (PenjualanAinun)

Nama Field Tipe Data Lebar Keterangan

No number - nomor dari prediksi

Penjualan number - data penjualan

Prediksi number - hasil dari

peramalan

Tabel 3.3 Peramalan (BarangPredik)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

19

3.4.2 Manajemen Model

1. Usecase diagram

a. Software Tester

user

System

Setting mode

Peramalan

Setting Target

Peramalan

Lihat hasil

Peramalan

Input Data

Penjualan

Gambar 3.2 : Use Case Diagram Software Tester

b. Software User

user

System

Lihat Kategori

Barang

Setting Target

Peramalan

Lihat hasil

Peramalan

Input Data

Penjualan

Gambar 3.3 : Use Case Diagram software User

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

20

2. Class Diagram

a. Software Tester

+CatatPredik()

+CariSelisih()

+CariSelisih1()

+CariSelisih2()

+CariSelisih3()

+CariPredik1()

+CariPredik2()

+CariPredik3()

-No

-Penjualan

-Prediksi

BarangPredik

Gambar 3.4 : Class Diagram Software Tester

b. Software User

+CatatPredik()

+CariSelisih()

+CariSelisih1()

+CariSelisih2()

+CariSelisih3()

+CariPredik1()

+CariPredik2()

+CariPredik3()

-No

-Penjualan

-Prediksi

BarangPredik

+CariBarangPrepared()

+LihatSeluruhBarang()

-KodeBarang

-NamaBarang

BarangAinun

+CariData()

-KodePenjualan

-KodeBarang

-Jumlah

PenjualanAinun

Gambar 3.5 : Class Diagram Software User

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

21

3. Sequence diagram

a. Software Tester

SimulasiTest SimulasiKontrolsimulasiClass MAsimulasiDBUser ActionEvent

1 : Masukkan data()

2 : ButtonPredikActionPerformed()3 : simpan data()

4 : simpan bulan()

5 : simpan nama bulan()

6 : simpan tahun()

7 : simpan vasriasi()

8 : hitungMA()

9 : ambil data()

10 : getAvg()

11 : hasil prediksi()

12 : catatPredik()

13 : kembali()

14 : mape()15 : cariPredik()

16 : data Prediksi()

17 : cariSelisih()

18 : hasil MAPE()

19 : simpan hasil()

20 : tampil hasil()

Gambar 3.6 : Sequence Diagram Software Tester

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

22

b. Software User

UserFrame UserKontrolUserClass MAUserDBuser Action Event

1 : Masukkan data()

2 : ButtonPredictActionPerformed()

3 : simpan kode barang()

4 : simpan nama barang()

5 : simpan bulan()

6 : simpan nama bulan()

7 : simpan tahun()

8 : hitungMA()

9 : cariData()

10 : data penjualan()

11 : getAvg()

12 : hasil prediksi()

13 : catatPredik()

14 : kembali()

15 : mapeNormal()

16 : cariSelisih()

17 : hasil MAPE()

18 : kembali()

19 : mapeVar1()20 : cariPredik1()

21 : data Prediksi()

22 : cariSelisih1()

23 : hasil MAPE()

24 : kembali()

25 : mapeVar2()26 : cariPredik2()

27 : data Prediksi()

28 : cariSelisih2()

29 : hasil MAPE()

30 : kembali()

31 : mapeVar3()32 : cariPredik3()

33 : data Prediksi()

34 : cariSelisih3()

35 : hasil MAPE()

36 : simpanhasil()

37 : tampil hasil()

Gambar 3.7 : Sequence Diagram Software User

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

23

4. Activity diagram

a. Software Tester

Halaman SimulasiTest

masukkan data

klik Button Prediksi hitungMA mapeNormal

mode=normal

else

mode = Variasi 1

SistemUser

hitungMA mapeVar1

else

mode = Variasi 2

hitungMA mapeVar2

else

mode = Variasi 3

hitungMA mapeVar3

tampil hasil

Gambar 3.8 : Activity Diagram Software Tester

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

24

b. Software User

Halaman SimulasiTest

masukkan data

klik Button Prediksi hitungMA mapeNormal

SistemUser

mapeVar1

mapeVar2

mapeVar3cari MAPE terendah

Tampil hasil

Gambar 3.9 : Activity Diagram Software User

3.4.3 Manajemen dialog

1. Tampilan Software Tester

Mode Prediksi

Target Prediksi Bulan Tahun n Bulan

Prediksi Batal Keluar

Tahun

Januari

Februari

Maret

April

Mei

Juni

Juli

Agustus

September

Oktober

November

Desember

Tahun

Januari

Februari

Maret

April

Mei

Juni

Juli

Agustus

September

Oktober

November

Desember

Gambar 3.10 : Halaman Dialog Software Tester

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

25

2. Tampilan Software User

SPPK Pengadaan Stok Barang

Kode Barang

Nama Barang

Bulan Tahun

Prediksi

Batal

Close

Hasil Prediksi

Kode Barang Nama Barang

Gambar 3.11 : Halaman Dialog Software User

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

26

BAB IV

FASE IMPLEMENTASI

4.1 Manajemen Data

Langkah pertama dalam mengimplementasikan program yang telah

dirancang sebelumnya adalah membuat database. Database dibuat untuk

menampung data yang akan dipakai atau telah dihasilkan oleh sistem

kedalam tabel untuk disimpan sebagai record. Tabel yang dibuat ada 3

yaitu :

1. Tabel BarangAinun

Gambar 4.1 : Tabel BarangAinun

Gambar 4.1, merupakan tabel dari BarangAinun beserta

keterangannya. Tabel BarangAinun merupakan tabel dummy dari tabel

barang di ainun mart. Tabel ini berisi data barang apa saja yang dijual

oleh ainin mart. Tabel ini hanya memilik 2 kolom yaitu kolom

kodeKategori(PK) dan namaKategori karena dalam sistem yang dibuat

hanya membutuhkan 2 kolom tersebut.

2. Tabel PenjualanAinun

Gambar 4.2 : Tabel PenjualanAinun

Gambar 4.2 diatas, merupakan table dari PenjualanAinun beserta

keterangannya. Tabel PenjualanAinun merupakan tabel dummy dari

tabel penjualan bulanan di ainun mart. Tabel ini berisi data penjualan

bulanan barang ainun mart yang dikategorikan per barang dan per

bulan. Tabel memiliki 3 kolom, yaitu kolom kodePenjualan(PK),

kodeBarang dan jumlah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

27

3. Tabel BarangPredik

Gambar 4.3 : Tabel BarangPredik

Gambar 4.3 diatas, merupakan table dari BarangPredik beserta

keterangannya. Tabel BarangPredik merupakan tabel bantu untuk

program yang telah dibuat. Fungsi dari tabel ini adalah menyimpan

sementara data penjualan dan hasil prediksi untuk mempermudah

penghitungan MAPE. Tabel ini memiliki 3 kolom, yaitu kolom no,

penjualan, prediksi.

4.2 Manajemen Model

4.2.1 Software Tester

Berikut adalah fungsi-fungsi dan tahapan-tahapan peramalan pada

software tester :

1. Button Prediksi

Merupakan sebuah tombol untuk melakukan prediksi dari data-

data yang telah dimasukkan. Pada tombol prediksi dibagi

menjadi 3 kondisi sesuai dengan mode peramalan yang telah

dipilih sebelumnya. Langkah fungsi buttonPrediksi() dalam

melakukan prediksi peramalan adalah sebagai berikut :

a. Melakukan peramalan

public void hitungMA(simulasiClass sm) throws

SQLException {

int[] windowSizes = {sm.getVar()};

double[] data = {sm.getJan1(),

sm.getFeb1(), sm.getMar1(), sm.getApr1(),

sm.getMei1(), sm.getJun1(),

sm.getJul1(), sm.getAgt1(), sm.getSep1(),

sm.getOkt1(), sm.getNov1(),

sm.getDes1(), sm.getJan2(), sm.getFeb2(),

sm.getMar2(), sm.getApr2(),

sm.getMei2(), sm.getJun2(), sm.getJul2(),

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

28

sm.getAgt2(), sm.getSep2(),

sm.getOkt2(), sm.getNov2(), sm.getDes2()};

int i = 1;

for (int windSize : windowSizes) {

MA ma = new MA(windSize);

for (double x : data) {

if (x != 0) {

sm.setNo(i);

ma.newNum(x);

sm.setData(x);

double p = ma.getAvg();

System.out.println("Next

number = " + x + ", SMA = " + p);

sm.setPrediksi(p);

simulasiDB.getKoneksi().catatPredik(sm);

}

i++;

}

}

}

b. Menghitung dengan algoritma moving average

package testerPack;

import java.util.LinkedList;

import java.util.Queue;

public class MA {

private final Queue<Double> window = new

LinkedList<Double>();

private final int period;

private double sum;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

29

public MA(int period) {

assert period > 0 : "Period must be a

positive integer";

this.period = period;

}

public void newNum(double num) {

sum += num;

window.add(num);

if (window.size() > period) {

sum -= window.remove();

}

}

public double getAvg() {

if (window.isEmpty()) {

return 0; // technically the

average is undefined

}

return sum / window.size();

}

}

c. Memasukkan hasil prediksi kedalam tabel bantu

public void catatPredik(simulasiClass sim)

throws SQLException {

PreparedStatement pstmt = null;

try {

conn.setAutoCommit(false);

String sql = "update barangPredik

set penjualan=? ,prediksi=? "

+ "where no=?";

pstmt = conn.prepareStatement(sql);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

30

pstmt.setDouble(3, sim.getNo());

pstmt.setDouble(2,

sim.getPrediksi());

pstmt.setDouble(1, sim.getData());

pstmt.executeUpdate();

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

} finally {

try {

conn.setAutoCommit(true);

if (pstmt != null) {

pstmt.close();

}

} catch (SQLException exception) {

throw exception;

}

}

}

d. Mencari prediksi

public void cariPredik1(simulasiClass sim)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String p = "";

try {

conn.setAutoCommit(false);

String sql = "Select prediksi from

barangPredik where "

+ "no=?";

statement =

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

31

conn.prepareStatement(sql);

statement.setInt(1, sim.getBulan()

+ 2);

result = statement.executeQuery();

if (result.next()) {

p =

result.getString("prediksi");

Double pr =

Double.parseDouble(p);

sim.setPrediksi(pr);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

public void cariPredik2(simulasiClass sim)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String p = "";

try {

conn.setAutoCommit(false);

String sql = "Select prediksi from

barangPredik where "

+ "no=?";

statement =

conn.prepareStatement(sql);

statement.setInt(1, sim.getBulan()

+ 1);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

32

result = statement.executeQuery();

if (result.next()) {

p =

result.getString("prediksi");

Double pr =

Double.parseDouble(p);

sim.setPrediksi(pr);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

public void cariPredik3(simulasiClass sim)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String p = "";

try {

conn.setAutoCommit(false);

String sql = "Select prediksi from

barangPredik where "

+ "no=?";

statement =

conn.prepareStatement(sql);

statement.setInt(1,

sim.getBulan());

result = statement.executeQuery();

if (result.next()) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

33

p =

result.getString("prediksi");

Double pr =

Double.parseDouble(p);

sim.setPrediksi(pr);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

e. Mencari MAPE dan menampilkan hasil

public void mapeNormal(simulasiClass sm) throws

SQLException {

int setno = sm.getNo() - 6;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

for (int j = 0; j < 6; j++) {

simulasiDB.getKoneksi().cariSelisih(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

jum = jum + mape;

sm.setJum(jum);

System.out.println("no :" + no + "

mape :" + sm.getMAPE()

+ " jumlah Mape:" +

sm.getJum());

}

int mapes = sm.getJum() / 6;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

34

sm.setJum(mapes);

sm.setHasil("Hasil prediksi untuk bulan

" + sm.getNamaBulan()

+ " tahun " + sm.getTahun() +

"\n adalah " + sm.getPrediksi()

+ "\n MAPE : " + sm.getJum() +

"%");

}

public void mapeVar1(simulasiClass sm)

throws SQLException {

simulasiDB.getKoneksi().cariPredik1(sm);

int setno = sm.getBulan() + 6;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

for (int j = 0; j < 6; j++) {

simulasiDB.getKoneksi().cariSelisih1(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

jum = jum + mape;

sm.setJum(jum);

System.out.println("no :" + no + "

mape :" + sm.getMAPE()

+ " jumlah Mape:" +

sm.getJum());

}

int mapes = sm.getJum() / 6;

sm.setJum(mapes);

sm.setHasil("Hasil prediksi untuk bulan

" + sm.getNamaBulan()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

35

+ " tahun " + sm.getTahun() +

"\n adalah " + sm.getPrediksi()

+ "\n MAPE : " + sm.getJum() +

"%");

}

public void mapeVar2(simulasiClass sm)

throws SQLException {

simulasiDB.getKoneksi().cariPredik2(sm);

int setno = sm.getBulan() + 6;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

for (int j = 0; j < 6; j++) {

simulasiDB.getKoneksi().cariSelisih2(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

jum = jum + mape;

sm.setJum(jum);

System.out.println("no :" + no + "

mape :" + sm.getMAPE()

+ " jumlah Mape:" +

sm.getJum());

}

int mapes = sm.getJum() / 6;

sm.setJum(mapes);

sm.setHasil("Hasil prediksi untuk bulan

" + sm.getNamaBulan()

+ " tahun " + sm.getTahun() +

"\n adalah " + sm.getPrediksi()

+ "\n MAPE : " + sm.getJum() +

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

36

"%");

}

public void mapeVar3(simulasiClass sm)

throws SQLException {

simulasiDB.getKoneksi().cariPredik3(sm);

int setno = sm.getBulan() + 6;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

for (int j = 0; j < 6; j++) {

simulasiDB.getKoneksi().cariSelisih3(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

jum = jum + mape;

sm.setJum(jum);

System.out.println("no :" + no + "

mape :" + sm.getMAPE()

+ " jumlah Mape:" +

sm.getJum());

}

int mapes = sm.getJum() / 6;

sm.setJum(mapes);

sm.setHasil("Hasil prediksi untuk bulan

" + sm.getNamaBulan()

+ " tahun " + sm.getTahun() +

"\n adalah " + sm.getPrediksi()

+ "\n MAPE : " + sm.getJum() +

"%");

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

37

f. Mencari selisih error

public void cariSelisih(simulasiClass sim)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, sim.getNo() +

1);

statement.setInt(2, sim.getNo());

statement.setInt(3, sim.getNo() +

1);

result = statement.executeQuery();

if (result.next()) {

p = result.getInt("mape");

sim.setMAPE(p);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

38

}

}

public void cariSelisih1(simulasiClass sim)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, sim.getNo());

statement.setInt(2, sim.getNo() -

10);

statement.setInt(3, sim.getNo());

result = statement.executeQuery();

if (result.next()) {

p = result.getInt("mape");

sim.setMAPE(p);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

39

throw exception;

}

}

public void cariSelisih2(simulasiClass sim)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, sim.getNo());

statement.setInt(2, sim.getNo() -

11);

statement.setInt(3, sim.getNo());

result = statement.executeQuery();

if (result.next()) {

p = result.getInt("mape");

sim.setMAPE(p);

}

conn.commit();

} catch (SQLException exception) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

40

conn.rollback();

throw exception;

}

}

public void cariSelisih3(simulasiClass sim)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, sim.getNo());

statement.setInt(2, sim.getNo() -

12);

statement.setInt(3, sim.getNo());

result = statement.executeQuery();

if (result.next()) {

p = result.getInt("mape");

sim.setMAPE(p);

}

conn.commit();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

41

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

2. Button Batal

Merupakan sebuah tombol yang akan mengembalikan semua

text field dalam sistem simulasi menjadi bersih kembali

sehingga tidak harus menghapusnya satu persatu.

3. Button Keluar

Merupakan sebuah tombol yang fungsinya adalah untuk

menutup sistem.

4.2.2 Software User

Berikut adalah fungsi-fungsi dan tahap-tahap peramalan pada

software user :

1. Button Prediksi

Merupakan sebuah tombol untuk melakukan prediksi. Berbeda

dengan software tester, software user akan langsung

menghitung keempat mode peramalan sekaligus. Keempat

mode peramalan yang dihitung akan dicari MAPE terkecil dan

MAPE terkecil itulah yang akan dikeluarkan sebagai hasil

peramalan. Langkah fungsi buttonPrediksi() dalam melakukan

prediksi peramalan adalah sebagai berikut :

a. Mencari data penjualan dalam database untuk diproses

public void cariData(UserClass usr) throws

SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String p = "";

try {

conn.setAutoCommit(false);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

42

String sql = "Select jumlah from

penjualanAinun where "

+ "kodePenjualan=?";

statement =

conn.prepareStatement(sql);

statement.setString(1,

usr.getKodePjualan());

result = statement.executeQuery();

if (result.next()) {

p = result.getString("jumlah");

Double pr =

Double.parseDouble(p);

usr.setPjualan(pr);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

b. Melakukan peramalan

public void hitungMA(UserClass sm) throws

SQLException {

int[] windowSizes = {3};

double[] data = new double[24];

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

if (sm.getBulan() < 10) {

sm.setBlnStr("0" +

sm.getBulan());

} else {

String bln =

String.valueOf(sm.getBulan());

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

43

sm.setBlnStr(bln);

}

UserDB.getKoneksi().cariData(sm);

sm.setBulan(sm.getBulan() + 1);

if (sm.getBulan() == 13) {

sm.setBulan(1);

sm.setTahun(sm.getTahun() + 1);

}

data[i] = sm.getPjualan();

}

int i = 1;

for (int windSize : windowSizes) {

MA ma = new MA(windSize);

for (double x : data) {

if (x != 0) {

sm.setNo(i);

ma.newNum(x);

sm.setData(x);

double p = ma.getAvg();

sm.setPrediksi(p);

UserDB.getKoneksi().catatPredik(sm);

}

i++;

}

}

}

c. Menghitung dengan algoritma moving average

package testerPack;

import java.util.LinkedList;

import java.util.Queue;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

44

public class MA {

private final Queue<Double> window = new

LinkedList<Double>();

private final int period;

private double sum;

public MA(int period) {

assert period > 0 : "Period must be a

positive integer";

this.period = period;

}

public void newNum(double num) {

sum += num;

window.add(num);

if (window.size() > period) {

sum -= window.remove();

}

}

public double getAvg() {

if (window.isEmpty()) {

return 0; // technically the

average is undefined

}

return sum / window.size();

}

}

d. Memasukkan hasil prediksi kedalam table bantu

public void catatPredik(UserClass usr) throws

SQLException {

PreparedStatement pstmt = null;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

45

try {

conn.setAutoCommit(false);

String sql = "update barangPredik

set penjualan=? ,prediksi=? "

+ "where no=?";

pstmt = conn.prepareStatement(sql);

pstmt.setDouble(3, usr.getNo());

pstmt.setDouble(2,

usr.getPrediksi());

pstmt.setDouble(1, usr.getData());

pstmt.executeUpdate();

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

} finally {

try {

conn.setAutoCommit(true);

if (pstmt != null) {

pstmt.close();

}

} catch (SQLException exception) {

throw exception;

}

}

}

e. Mencari prediksi

public void cariPredik1(UserClass usr) throws

SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String p = "";

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

46

try {

conn.setAutoCommit(false);

String sql = "Select prediksi from

barangPredik where "

+ "no=?";

statement =

conn.prepareStatement(sql);

statement.setInt(1, usr.getNo1() +

14);

result = statement.executeQuery();

if (result.next()) {

p =

result.getString("prediksi");

Double pr =

Double.parseDouble(p);

usr.setPrediksi(pr);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

public void cariPredik2(UserClass usr)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String p = "";

try {

conn.setAutoCommit(false);

String sql = "Select prediksi from

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

47

barangPredik where "

+ "no=?";

statement =

conn.prepareStatement(sql);

statement.setInt(1, usr.getNo1() +

13);

result = statement.executeQuery();

if (result.next()) {

p =

result.getString("prediksi");

Double pr =

Double.parseDouble(p);

usr.setPrediksi(pr);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

public void cariPredik3(UserClass usr)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

String p = "";

try {

conn.setAutoCommit(false);

String sql = "Select prediksi from

barangPredik where "

+ "no=?";

statement =

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

48

conn.prepareStatement(sql);

statement.setInt(1,

usr.getNo1()+12);

result = statement.executeQuery();

if (result.next()) {

p =

result.getString("prediksi");

Double pr =

Double.parseDouble(p);

usr.setPrediksi(pr);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

f. Mencari MAPE dan menampilkan hasil

public void mapeNormal(UserClass sm) throws

SQLException {

int setno = sm.getNo() - 6;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

sm.setMAPE1(0);

sm.setJum(0);

for (int j = 0; j < 6; j++) {

UserDB.getKoneksi().cariSelisih(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

49

jum = jum + mape;

}

public void mapeVar1(UserClass sm) throws

SQLException {

UserDB.getKoneksi().cariPredik1(sm);

int setno = sm.getNo1() + 18;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

for (int j = 0; j < 6; j++) {

UserDB.getKoneksi().cariSelisih1(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

jum = jum + mape;

}

int mapes = jum / 6;

if (mapes < sm.getMAPE1()) {

sm.setJum(sm.getPrediksi());

sm.setMAPE1(mapes);

}

}

public void mapeVar2(UserClass sm) throws

SQLException {

UserDB.getKoneksi().cariPredik2(sm);

int setno = sm.getNo1() + 18;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

for (int j = 0; j < 6; j++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

50

UserDB.getKoneksi().cariSelisih2(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

jum = jum + mape;

}

int mapes = jum / 6;

if (mapes < sm.getMAPE1()) {

sm.setJum(sm.getPrediksi());

sm.setMAPE1(mapes);

}

}

public void mapeVar3(UserClass sm) throws

SQLException {

UserDB.getKoneksi().cariPredik3(sm);

int setno = sm.getNo1() + 18;

int jum = 0;

sm.setNo(setno);

sm.setMAPE(0);

for (int j = 0; j < 6; j++) {

UserDB.getKoneksi().cariSelisih3(sm);

int no = sm.getNo() + 1;

sm.setNo(no);

int mape = sm.getMAPE();

jum = jum + mape;

}

int mapes = jum / 6;

if (mapes < sm.getMAPE1()) {

sm.setJum(sm.getPrediksi());

sm.setMAPE1(mapes);

}

int stok = (int) sm.getJum();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

51

sm.setHasil("Rekomendasi pengadaan stok

untuk \nbarang "

+sm.getNamaBrg()+"\npada bulan

"+ sm.getNamaBulan()

+ " tahun " + sm.getTahun() +"

adalah "+stok);

}

g. Mencari selisih error

public void cariSelisih(UserClass usr) throws

SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, usr.getNo() +

1);

statement.setInt(2, usr.getNo());

statement.setInt(3, usr.getNo() +

1);

result = statement.executeQuery();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

52

if (result.next()) {

p = result.getInt("mape");

usr.setMAPE(p);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

public void cariSelisih1(UserClass usr)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, usr.getNo());

statement.setInt(2, usr.getNo() -

10);

statement.setInt(3, usr.getNo());

result = statement.executeQuery();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

53

if (result.next()) {

p = result.getInt("mape");

usr.setMAPE(p);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

public void cariSelisih2(UserClass usr)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, usr.getNo());

statement.setInt(2, usr.getNo() -

11);

statement.setInt(3, usr.getNo());

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

54

result = statement.executeQuery();

if (result.next()) {

p = result.getInt("mape");

usr.setMAPE(p);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

public void cariSelisih3(UserClass usr)

throws SQLException {

PreparedStatement statement = null;

ResultSet result = null;

int p = 0;

try {

conn.setAutoCommit(false);

String sql = "select ((ABS((select

penjualan from barangpredik "

+ "where no=?)-(select

prediksi from "

+ "barangpredik where

no=?))/(select penjualan "

+ "from barangpredik where

no=?))*100) as MAPE from dual";

statement =

conn.prepareStatement(sql);

statement.setInt(1, usr.getNo());

statement.setInt(2, usr.getNo() -

12);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

55

statement.setInt(3, usr.getNo());

result = statement.executeQuery();

if (result.next()) {

p = result.getInt("mape");

usr.setMAPE(p);

}

conn.commit();

} catch (SQLException exception) {

conn.rollback();

throw exception;

}

}

2. Button Batal

Merupakan sebuah tombol yang akan mengembalikan semua

text field dalam sistem simulasi menjadi bersih kembali

sehingga tidak harus menghapusnya satu persatu.

3. Button Keluar

Merupakan sebuah tombol yang fungsinya adalah untuk

menutup sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

56

4.3 Manajemen Dialog

4.3.1 Software Tester

Gambar 4.4 : User Interface SimulasiTest

Sistem simulasi merupakan sistem yang dibuat untuk

melakukan percobaan-percobaan penghitungan dengan beberapa

permodelan terhadap barang tertentu. Sistem simulasi jika

dijalankan akan memiliki tampilan seperti diatas, yaitu tampilan

dari form simulasiTest. SimulasiTest memiliki 5 panel sesuai

dengan urutan dalam menjalankan sistem simulasi.

Urutan pertama adalah mode prediksi. Panel mode prediksi

memiliki pilihan untuk memilih mode prediksi. Mode prediksi

yang dapat dipilih adalah mode normal, variasi1, variasi2, dan

variasi3. Setiap mode prediksi yang ada memiliki algoritma yang

sama tetapi dengan variasi pemodelan data yang berbeda.

Urutan kedua adalah menentukan target prediksi. Target

prediksi dibagi menjadi 3 text field yaitu text field bulan, tahun dan

n bulan. Text field bulan dan tahun adalah target bulan pada tahun

tertentu yang ingin diramalkan. Text field n bulan adalah berapa

banyaknya n yang akan dihitung dalam algoritma. Khusus untuk n

bulan akan dapat diisi jika mode prediksi yang dipilih adalah mode

normal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

57

Urutan ketiga adalah panel data penjualan. Panel data

penjualan dibagi menjadi 2 yaitu data pada tahun target prediksi

dan data sebelum tahun target prediksi. Masing-masing panel

berisi text field bulan yang akan diisi sesuai data penjualan pada

bulan tersebut. Text field akan terbuka dari januari pada tahun-1

sebelum target prediksi sampai bulan-1 pada tahun target prediksi

yang telah ditentukan pada panel target prediksi.

Urutan keempat adalah panel button. Panel button memiliki

3 button yaitu button Prediksi, batal dan keluar. Button Prediksi

fungsinya akan memprediksi data yang telah diinputkan oleh user.

Button Batal memiliki fungsi me-reset semua field menjadi kosong

seperti pertama membuka form simulasiTest. Kemudian button

terakhir adalah button keluar, fungsinya untuk keluar dari sistem.

Urutan kelima adalah panel hasil. Panel ini berisi informasi

hasil dari proses peramalan yang telah dilakukan, seperti hasil

peramalan dan nilai MAPE. Informasi hasil akan keluar setelah

dilakukan peramalan.

4.3.2 Software User

Gambar 4.5 : User Interface UserFrame

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

58

Sistem user merupakan sistem yang akan diterapkan

kepada user di ainun mart. User interface yang dibuat terlihat

simple dan lebih minimalis dari sistem simulasi karena data yang

akan diolah diambil dari dummy database sehingga tidak perlu

memasukkan data barang secara manual. Pada sistem ini, semua

variasi pemodelan data peramalan akan dilakukan dan ditampilkan

hasil MAPE terkecil sehingga user hanya akan menerima informasi

hasil peramalan dengan persentase error terkecil sebagai

pertimbangan pengambilan keputusan. Sistem user memiliki

beberapa panel yaitu panel barang, target prediksi, table barang,

button, dan hasil.

Panel barang berisi text field kode barang dan nama barang.

Fungsi dari panel ini adalah untuk menentukan barang apa yang

akan diramalkan. Untuk menentukan barang hanya perlu

memasukkan kode barang lalu tekan enter. Jika kode barang valid

maka nama barang akan otomatis terisi. Sebaliknya, jika kode

barang tidak valid maka akan muncul notifikasi error.

Panel target prediksi berisi bulan dan tahun. Input bulan

dan tahun digunakan untuk menentukan bulan dan tahun berapa

prediksi yang ingin diketahui. Selain untuk menentukan bulan dan

tahun peramalan,target prediksi juga digunakan untuk menentukan

penjualan pada bulan dan tahun berapa saja yang akan dimasukkan

kedalam algoritma peramalan.

Selanjutnya, ada tabel barang. Tabel barang berisi kategori

barang apa saja yang dijual di ainun mart. Tabel barang berguna

sebagai pedoman dalam mengisi kode barang jika user lupa atau

tidak tahu kode barang dari barang yang akan diramalkan.

Panel button berisi tombol-tombol yang akan melakukan

aksi jika diklik. Panel button memilik 3 button yaitu button

prediksi, batal dan keluar. Button prediksi fungsinya akan

memprediksi data yang telah diinputkan oleh user. Button batal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

59

memiliki fungsi me-reset semua field menjadi kosong seperti

pertama membuka form userFrame. Kemudian button terakhir

adalah button keluar, fungsinya untuk keluar dari sistem.

Panel yang terakhir adalah panel hasil. Panel ini berisi

informasi hasil dari peramalan, seperti hasil peramalan dan nilai

MAPE. Informasi hasil akan keluar setelah dilakukan peramalan.

Informasi ini akan sangat berguna bagi user untuk menentukan

besaran jumlah stok yang akan diambil untuk bulan tersebut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

60

BAB V

HASIL PENGUJIAN DAN ANALISA HASIL

5.1 Pengujian dan Hasil

Penguji sistem dilakukan dengan melakukan peramalan dan

pengukuran MAPE terhadap beberapa data penjualan. Pengujian yang

dilakukan menggunakan 10 data barang pada periode penjualan tahun

2014 dan 2015. Pengujian dilakukan 4 kali dengan menggunakan variasi

pemodelan data yang berbeda. Berikut adalah hasil dari percobaan-

percobaan yang telah dilakukan :

1. MA Normal

Tabel 5.1 Peramalan MA Normal

Percobaan pertama dengan menggunakan algoritma MA normal dan

menggunakan n=3. Dari percobaan yang dilakukan, dihasilkan 17

peramalan dengan nilai absolut error berada dibawah 10%. Rata-rata

error peramalan terendah berdasarkan bulan peramalan adalah pada

bulan 3 tahun 2015, sedangkan berdasarkan item barang ditemukan

bahwa beras mentik per kg yang paling rendah rata-rata error-nya.

2. Variasi 1

Tabel 5.2 Peramalan MA Variasi 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

61

Percobaan pertama dengan menggunakan algoritma MA dan

menggunakan variasi pemodelan data 1. Dari percobaan yang

dilakukan, dihasilkan 21 peramalan dengan nilai absolut error berada

dibawah 10%. Rata-rata error peramalan terendah berdasarkan bulan

peramalan adalah pada bulan 5 tahun 2015, sedangkan berdasarkan

item barang ditemukan bahwa indomie goreng yang paling rendah

rata-rata error-nya.

3. Variasi 2

Tabel 5.3 Peramalan MA Variasi 2

Percobaan pertama dengan menggunakan algoritma MA dan

menggunakan variasi pemodelan data 2. Dari percobaan yang

dilakukan, dihasilkan 15 peramalan dengan nilai absolut error berada

dibawah 10%. Rata-rata error peramalan terendah berdasarkan bulan

peramalan adalah pada bulan 7 tahun 2015, sedangkan berdasarkan

item barang ditemukan bahwa marlboro yang paling rendah rata-rata

error-nya.

4. Variasi 3

Tabel 5.4 Peramalan MA Variasi 3

Percobaan pertama dengan menggunakan algoritma MA dan

menggunakan variasi pemodelan data 3. Dari percobaan yang

dilakukan, dihasilkan 13 peramalan dengan nilai absolut error berada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

62

dibawah 10%. Rata-rata error peramalan terendah berdasarkan bulan

peramalan adalah pada bulan 7 tahun 2015, sedangkan berdasarkan

item barang ditemukan bahwa marlboro yang paling rendah rata-rata

error-nya.

Semua pengujian yang telah dilakukan menunjukkan bahwa hasil

peramalan sangat acak dan memiliki persentase tingkat error yang

berbeda-beda untuk masing-masing variasi pemodelan data pada

barang dan periode yang sama. Variasi pemodelan data tertentu tidak

dapat digunakan secara mutlak pada suatu barang yang sama untuk

semua periode atau pada periode yang sama untuk barang yang

berbeda. Setiap peramalan memiliki ciri khas sendiri sesuai dengan

data dan polanya, sehingga variasi pemodelan data yang cocok juga

akan berbeda disetiap peramalan yang dilakukan.

5.2 Kelebihan dan kekurangan Sistem

5.3.1 Kelebihan Sistem

1. Sistem user dapat melakukan peramalan stok barang dari data

yang berasal dari database sistem.

2. Sistem menyediakan informasi tentang pertimbangan jumlah

stok yang harus disediakan oleh toko untuk bulan selanjutnya.

5.3.2 Kekurangan Sistem

1. Sistem sangat sederhana, hanya disesuaikan dengan kebutuhan

untuk menerapkan algoritma Moving Average untuk

meramalkan stok barang.

2. Sistem tidak bisa memproses dengan benar jika ada data 0

(nol) pada data penjualan yang menjadi masukkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

63

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Algoritma moving average dapat digunakan untuk meramalkan

stok barang, akan tetapi tidak semua peramalan memiliki hasil yang baik

karena datanya yang banyak dan bervariasi. Oleh karena itu, pada setiap

peramalan juga dicantumkan perkiraan error peramalan yang telah

dilakukan untuk pertimbangan pengambilan keputusan. Dalam percobaan

ini, juga dikembangkan variasi pemodelan data yang baru untuk

melengkapi cara yang sudah ada sehingga dapat mengurangi tingkat error

untuk memungkinkan pengambilan keputusan yang lebih baik.

Presentase error yang ditimbulkan pada setiap barang bervariasi

berdasarkan pola data penjualan dari masing-masing barang. Setiap variasi

pemodelan data juga dapat menimbulkan presentase error yang berbeda.

Oleh karena itu, sistem yang ditujukan untuk user akan menghitung setiap

variasi pemodelan data, kemudian menyeleksi presentase terkecil untuk

ditampilkan kepada user.

6.2 Saran

Adapun beberapa saran yang penulis berikan untuk pengembangan sistem

ini, antara lain :

1. Sistem yang telah dibuat hanya menggunakan 4 metode MA yang

berbeda. Oleh karena itu, diharapkan dalam pengembangannya dapat

dimasukkan variasi-variasi pemodelan data yang lain sehingga

peramalan yang dilakukan akan semakin akurat.

2. Sistem yang telah dibuat tidak dapat mengenali pola penjualan. Dalam

pengembangannya, diharapkan sistem diberikan kemampuan untuk

dapat mengenal pola penjualan sehigga dapat diketahui metode mana

yang cocok dengan pola tersebut tanpa harus menghitung dengan

semua variasi pemodelan data.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

64

DAFTAR PUSTAKA

Alfatah, V.A. (1998) Pemilihan Metode Peramalan (Forcasting) untuk Produk

Passanger Car C Class dan E Class Pada PT. German Motor

Manufacturing, Depok: Universitas Indonesia.

Arnold, J. R. and Chapman, N.S. (2004) Introduction to Material Management,

New Jersey: Prentice-Hall Inc.

Assauri, Sofyan. (1991) Teknik dan Metode Peramalan, Jakarta : LPFE UI.

Turban, Efraim. (2005) Decision Support Systems and Intelligent Systems 7th Ed,

New Jersey : Pearson Education

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

65

LAMPIRAN

1. Sample penjualan 2014

1 2 3 4 5 6 7 8 9 10 11 12

1 Indomie Ayam Bawang 68 153 88 150 42 52 81 88 62 59 76 104

2 Indomie Goreng 274 273 285 304 182 275 360 369 365 390 332 338

3 Cheetos Jagung Bakar 67 34 54 45 37 81 30 35 15 96 125 77

4 Telur per kg 88 99 118 96 162 117 121 130 150 113 160 130

5 Pantene Biru 70ml 0 1 1 0 2 2 1 3 2 2 3 2

6 Marlboro 6 27 40 20 27 43 31 34 33 37 30 31

7 Aqua Galon 92 78 93 66 94 101 83 75 67 83 73 77

8 Beras Mentik per kg 27 56 97 110 37 70 82 130 143 122 132 128

9 Kacang 2 Kelinci 100g 12 1 5 4 5 1 1 5 1 1 4 3

10 Bumbu Racik Nasi Goreng 17 17 12 11 8 0 8 16 5 8 4 12

No Nama2014

2. Sample penjualan 2015

1 2 3 4 5 6 7 8 9 10 11 12

1 Indomie Ayam Bawang 75 55 73 109 65 58 46 70 96 78 72 102

2 Indomie Goreng 231 363 410 294 295 375 380 267 460 336 230 314

3 Cheetos Jagung Bakar 116 85 59 141 80 86 60 55 52 62 126 49

4 Telur per kg 114 90 117 117 89 128 151 96 85 91 86 108

5 Pantene Biru 70ml 2 3 4 1 2 0 3 1 1 4 2 5

6 Marlboro 5 25 25 31 34 25 32 40 48 47 38 36

7 Aqua Galon 84 30 43 69 110 125 112 112 75 22 32 29

8 Beras Mentik per kg 157 53 143 151 158 154 119 114 141 105 138 174

9 Kacang 2 Kelinci 100g 8 3 7 9 3 1 2 3 2 5 1 5

10 Bumbu Racik Nasi Goreng 11 0 7 9 6 9 7 6 13 4 6 8

No Nama2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

66

3. Penghitungan

Penghitungan untuk meramalkan stok barang indomie ayam bawang untuk periode januari 2016.

Bulan Penjualan Normal APE MAPE Variasi 1 APE MAPE Variasi 2 APE MAPE Variasi 3 APE MAPE

Jan-14 68

Feb-14 153

Mar-14 88

Apr-14 150 103 31

May-14 42 130 210

Jun-14 52 93 79

Jul-14 81 81 0

Aug-14 88 58 34

Sep-14 62 74 19

Oct-14 59 77 31

Nov-14 76 70 8

Dec-14 104 66 37

Jan-15 75 80 6 103 37

Feb-15 55 85 55 130 137 103 87

Mar-15 73 78 7 93 28 130 79 103 41

Apr-15 109 68 38 81 25 93 14 130 20

May-15 65 79 22 58 10 81 25 93 44

Jun-15 58 82 42 74 27 58 1 81 40

Jul-15 46 77 68 77 67 74 60 58 27

Aug-15 70 56 20 70 0 77 10 74 5

Sep-15 96 58 40 66 32 70 27 77 20

Oct-15 78 71 9 80 2 66 16 70 11

Nov-15 72 81 13 85 18 80 11 66 9

Dec-15 102 82 20 78 24 85 17 80 22

Jan-16 ? 84 28 68 24 78 23 85 16

Tabel Penghitungan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

67

a. MA Normal

b. MA Variasi 1

c. MA Variasi 2

d. MA Variasi 3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

68

e. MAPE peramalan Januari 2016 MA Normal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN … · Toserba “Ainun mart” memiliki banyak data penjualan. ... “Ainun mart” minimarket has a lot of sales data. ... Use Case Diagram

69

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI