Prediksi Jumlah Permintaan Barang Musiman Menggunakan Metode Holt-winters

(1)

PREDIKSI JUMLAH PERMINTAAN BARANG MUSIMAN

MENGGUNAKAN METODE

HOLT-WINTERS

SKRIPSI

LIA HARTATI SIMANJUNTAK

081402069

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

PREDIKSI JUMLAH PERMINTAAN BARANG MUSIMAN MENGGUNAKAN METODE HOLT-WINTERS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

LIA HARTATI SIMANJUNTAK 081402069

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Judul : PREDIKSI JUMLAH PERMINTAAN BARANG

MUSIMAN MENGGUNAKAN METODE HOLT-WINTERS

Kategori : SKRIPSI

Nama : LIA HARTATI SIMANJUNTAK

Nomor Induk Mahasiswa : 081402069

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 2014 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Romi Fadillah R, B.Comp.Sc.M.Sc. Sajadin Sembiring,S.Si,M.Comp.Sc NIP 19860303 201012 1 004 NIP

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Prof. Dr. Opim Salim Sitompul, M.Sc. NIP 19610817 198701 1 001


(4)

PERNYATAAN

PREDIKSI JUMLAH PERMINTAAN BARANG MUSIMAN MENGGUNAKAN METODE HOLT-WINTERS

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, ….. 2014

Lia Hartati Simanjuntak 081402069


(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis sampaikan kepada Tuhan Yang Maha Esa yang telah memberikan rahmat dan anugerah-NYA sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada Bapak Sajadin Sembiring,S.Si,M.Comp.Sc selaku pembimbing satu dan Bapak Romi Fadillah R, B.Comp.Sc.M.Sc selaku pembimbing dua yang telah banyak membantu dan membimbing juga memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Bapak Dedy Arisandi, ST.M.Kom dan Bapak Dr. Mahyudin Nst, M.IT yang telah bersedia menjadi dosen pembanding. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

Skripsi ini terutama penulis persembahkan untuk orang tua dan keluarga penulis yang tak lelah memberikan dukungan. Terima kasih penulis ucapkan kepada teman-teman yang selalu memberikan dukungan. My bestfriend Frisillia eomma, Ayah Sani, Umi, teman senasib Siska Stanley, Desfi, Ika, Ester, Fani, Muti, teman-teman di lantai 3, seluruh angkatan 08, lainnya yang tidak dapat penulis sebutkan satu persatu. Semoga Tuhan Yang Maha Esa membalas kebaikan kalian dengan nikmat yang berlimpah.


(6)

ABSTRAK

Melonjaknya jumlah permintaan barang musiman saat periode musimannya dimulai membuat pengusaha sering menghadapi kendala dalam memenuhi permintaan pasar, salah satunya adalah seragam sekolah dasar. Metode memprediksi jumlah permintaan untuk periode mendatang, merupakan hal penting bagi pengusaha konveksi seragam untuk mengoptimalkan keuntungan, agar tidak ada permintaan yang terpaksa ditolak karena kekurangan bahan baku atau tenaga kerja. Dalam penelitian ini digunakan metode Holt-Winters untuk memprediksi jumlah permintaan seragam sekolah dasar yang bersifat musiman. Holt-Winters merupakan metode exponential smoothing yang menggunakan tiga parameter untuk mendapatkan hasil prediksinya. Pengukuran tingkat akurasi hasil prediksi dilakukan dengan nilai MAPE (Mean Absolute Percentage Error). Hasil prediksi yang dilakukan untuk tahun 2013 menggunakan Holt-Wintersdengan konstanta parameter (α) = 0,γ5 , beta ( ) = 0,15 , dan gamma ( ) = 0,47, pada data penjualan seragam sekolah dasar periode Januari 2010 sampai dengan Desember 2012 menghasilkan tingkat akurasi prediksi sebesar 95,74% dengan nilai error rata-rata sebesar 4,26%.


(7)

HOLT-WINTERS METHOD FOR PREDICTING SEASONAL GOODS DEMAND

ABSTRACT

The growing number of demand for seasonal goods when the seasonal period started making entrepreneurs often face obstacles in fulfilling the market demands, one of which is an elementary school uniforms. Predicting the number of demand for the coming period is essential for entrepreneurs in uniforms convection to increase profits, so there is no demand rejected due to lack of raw materials or labor. In this study, Holt-Winters method is used to predict the demand of school uniforms for elementary school that contains seasonal behavior. Holt-Winters is an exponential smoothing method that uses three parameters to obtain the prediction results. The accuracy of the prediction results is measured by the value of MAPE (Mean Absolute Percentage Error). The results of the predictions using Holt-Winters method made for the year 2013 with constant parameters (α) = 0.35, beta ( ) = 0.15, and gamma ( ) = 0.47, on the basis of school uniforms sales data period from January 2010 up to December 2012 resulted in prediction accuracy level up to 95,74% with an average error of 4.26%.


(8)

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1

1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Batasan Masalah 2

1.4Tujuan Penelitian 3

1.5Manfaat Penelitian 3

1.6Metode Penelitian 3

1.7Sistematika Penulisan 4

Bab 2 Tinjauan Pustaka 6

2.1Teknik Peramalan 6

2.2Prediksi Penjualan 11

2.3Definisi Barang-Barang Musiman 13

2.4Ukuran Akurasi Prediksi 13

2.5Metode Pemulusan Eksponensial (Exponential Smoothing) 14

2.6Metode Holt-Winters 16

2.6.1Metode Holt-Winters Additif 16

2.6.2Metode Holt-Winters Multiplikatif 17

2.7 Unified Modelling Language 16

2.7.1Use case diagram 21

2.7.2Use caseSpesification 21

2.7.3Activity Diagram 22

2.7Teknik Prediksi Terdahulu 23

BAB 3 Analisis dan Perancangan Sistem 28

3.1Identifikasi Masalah 28

3.2 Pemakaian Data 29

3.3Analisis Sistem 31

3.4Perancangan Sistem 34

3.4.1Use case diagram 34

3.4.2Use case spesifikasi 35

3.4.3Diagram Aktivitas 39

3.4.4Model entity-relationship 43


(9)

3.4.6Perancangan antarmuka 44

3.4.6.1Rancangan halaman Login 44

3.4.6.2Rancangan halaman Menu Utama 44

3.4.6.3Rancangan halaman Pengguna 45

3.4.6.4Rancangan halaman Data Penjualan 46 3.4.6.5 Rancangan halaman Penjualan 47 3.4.6.6 Rancangan halaman Prediksi 48 3.4.6.7 Rancangan halaman History 48

Bab 4 Implementasi dan Pengujian Sistem 51

4.1Implementasi Sistem 51

4.1.1Spesifikasi perangkat keras dan lunak yang digunakan 51 4.1.2Implementasi perancangan antarmuka 52

4.1.3Implementasi data 57

4.2Pengujian Sistem 58

4.2.1Rencana pengujian sistem 58

4.2.2Kasus dan hasil pengujian sistem 59

4.2.3Pengujian kinerja sistem 63

4.2.4Pengujian data 70

Bab 5 Kesimpulan dan Saran 72

5.1Kesimpulan 72

5.2Saran 73

Daftar Pustaka 74


(10)

DAFTAR TABEL

Hal. Tabel 2.1 Penelitian Terdahulu untuk Prediksi Musiman 25 Tabel 2.2 Penelitian Terdahulu dengan Holt-Winters 26 Table 3.1 Data Penjualan Seragam Sekolah Dasar dalam Tiap Ukuran 29 Tabel 3.2 Use case Specification untuk Use case Pengguna 36 Tabel 3.3 Use case Specification untuk Use case Data Penjualan 36 Tabel 3.4 Use case Specification untuk Use case Input Penjualan 37 Tabel 3.5 Use case Specification untuk Use case Prediksi 38 Tabel 3.6 Use case Specification untuk Use caseHistory 38 Tabel 4.1 Tabel Data Penjualan Seragam Sekolah Dasar 57

Tabel 4.2 Rencana Pengujian 59

Tabel 4.3 Hasil Pengujian 59

Tabel 4.4 Data Penjualan Seragam Tahun 2010-2012 63

Tabel 4.5 Tabel 12 Periode Musim Pertama 66

Tabel 4.6 Hasil Perhitungan Parameter dan Prediksi 67 Tabel 4.7 Hasil Prediksi Penjualan Tahun 2013 69


(11)

DAFTAR GAMBAR

Hal. Gambar 2.1 Data Time Series Dengan Pola Horizontal (Tanjung, 2012) 9 Gambar 2.2 Data Time Series Dengan Pola Trend (Tanjung, 2012) 9 Gambar 2.3 Data Time Series Dengan Pola Musiman (Tanjung, 2012) 10 Gambar 2.4 Data Time Series Dengan Pola Siklis (Tanjung, 2012) 11

Gambar 2.5 Simbol Diagram Aktivitas 23

Gambar 3.1 Pola Musiman Penjualan Seragam Sekolah Dasar 2010-2013 30 Gambar 3.2 Algoritma Holt-Winters Pada Sistem 32

Gambar 3.3 Use case Diagram Sistem 35

Gambar 3.4 Diagram Aktivitas untuk Pengaturan Data Pengguna 40 Gambar 3.5 Diagram Aktivitas Melihat Data Penjualan 40 Gambar 3.6 Diagram Aktivitas untuk Pengaturan Data Penjualan 41 Gambar 3.7 Diagram Aktivitas untuk Prediksi Penjualan 42

Gambar 3.8 Diagram Aktivitas untuk Hisory 42

Gambar 3.9 Model E-R 43

Gambar 3.10 Struktur Menu Sistem 43

Gambar 3.11 Rancangan Halaman Login 44

Gambar 3.12 Rancangan Halaman Menu Utama 45

Gambar 3.13 Rancangan Halaman Pengguna 46

Gambar 3.14 Rancangan Halaman Data Penjualan 47

Gambar 3.15 Rancangan Halaman Penjualan 48

Gambar 3.16 Rancangan Halaman Prediksi Penjualan 49

Gambar 3.17 Rancangan Halaman History 50

Gambar 4.1 Halaman Login 52

Gambar 4.2 Halaman Pengguna 53

Gambar 4.3 Halaman Data Penjualan 54

Gambar 4.4 Input Penjualan 54

Gambar 4.5 Halaman Prediksi 55

Gambar 4.6 Halaman History 56

Gambar 4.7 Data Penjualan Seragam Tahun 2010-2012 65


(12)

ABSTRAK

Melonjaknya jumlah permintaan barang musiman saat periode musimannya dimulai membuat pengusaha sering menghadapi kendala dalam memenuhi permintaan pasar, salah satunya adalah seragam sekolah dasar. Metode memprediksi jumlah permintaan untuk periode mendatang, merupakan hal penting bagi pengusaha konveksi seragam untuk mengoptimalkan keuntungan, agar tidak ada permintaan yang terpaksa ditolak karena kekurangan bahan baku atau tenaga kerja. Dalam penelitian ini digunakan metode Holt-Winters untuk memprediksi jumlah permintaan seragam sekolah dasar yang bersifat musiman. Holt-Winters merupakan metode exponential smoothing yang menggunakan tiga parameter untuk mendapatkan hasil prediksinya. Pengukuran tingkat akurasi hasil prediksi dilakukan dengan nilai MAPE (Mean Absolute Percentage Error). Hasil prediksi yang dilakukan untuk tahun 2013 menggunakan Holt-Wintersdengan konstanta parameter (α) = 0,γ5 , beta ( ) = 0,15 , dan gamma ( ) = 0,47, pada data penjualan seragam sekolah dasar periode Januari 2010 sampai dengan Desember 2012 menghasilkan tingkat akurasi prediksi sebesar 95,74% dengan nilai error rata-rata sebesar 4,26%.


(13)

HOLT-WINTERS METHOD FOR PREDICTING SEASONAL GOODS DEMAND

ABSTRACT

The growing number of demand for seasonal goods when the seasonal period started making entrepreneurs often face obstacles in fulfilling the market demands, one of which is an elementary school uniforms. Predicting the number of demand for the coming period is essential for entrepreneurs in uniforms convection to increase profits, so there is no demand rejected due to lack of raw materials or labor. In this study, Holt-Winters method is used to predict the demand of school uniforms for elementary school that contains seasonal behavior. Holt-Winters is an exponential smoothing method that uses three parameters to obtain the prediction results. The accuracy of the prediction results is measured by the value of MAPE (Mean Absolute Percentage Error). The results of the predictions using Holt-Winters method made for the year 2013 with constant parameters (α) = 0.35, beta ( ) = 0.15, and gamma ( ) = 0.47, on the basis of school uniforms sales data period from January 2010 up to December 2012 resulted in prediction accuracy level up to 95,74% with an average error of 4.26%.


(14)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Dalam dunia usaha, ada hal yang disebut dengan barang-barang musiman atau seasonal, yaitu barang-barang yang jumlah permintaannya meningkat karena kebutuhan akan barang tersebut pada musim-musim tertentu meningkat jauh, seperti: busana muslim pada musim lebaran, alat-alat tulis dan seragam sekolah pada musim tahun ajaran baru dan lainnya (Susanty, 2012).

Melonjaknya permintaan akan barang-barang musiman tersebut tentu akan memberikan keuntungan besar bagi para pelaku usaha. Namun dalam bisnis penjualan ini terdapat masalah penting yaitu, pengendalian persediaan barang dan prediksi penjualan yang akan datang (Sari, 2008). Para pelaku usaha barang musiman ini sering menghadapi kendala dalam memenuhi permintaan barang saat periode musimnya dimulai. Masalah yang paling sering terjadi adalah kekurangan stok barang. Jika pada musim-musim tertentu dimana permintaan barang sedang sangat tinggi namun pelaku usaha hanya memiliki stok yang sedikit, tentu permintaan tidak dapat dipenuhi sehingga menyebabkan penurunan jumlah penjualan yang tentu berdampak buruk bagi pelaku usaha. Untuk menghindari ketidakefesienan ini diperlukan sebuah metode perencanaan dalam penyediaan jumlah barang demi mencapai jumlah penjualan yang maksimal dan mencapai target.

Salah satu metode perencanaan yang umum digunakan adalah prediksi permintaan yang akan datang. Metode prediksi dapat membantu meminimalisasi kesalahan dalam penyediaan barang. Untuk menghasilkan hasil prediksi yang lebih akurat terutama untuk barang yang bersifat musiman, dibutuhkan sistem cerdas yang menggabungkan antara ilmu pengetahuan, teknik dan metode dari berbagai sumber. Adapun penelitian yang telah dilakukan untuk memprediksi jumlah permintaan barang


(15)

yang mengandung pola musiman, diantaranya: Metode Dekomposisi (Ernawati, 2007), Metode Regresi Time Series (Rochmah, 2010); dan Metode Sarima (Hermanto, 2007).

Dalam penelitian ini sistem prediksi untuk barang musiman dikembangkan dengan menggunakan Holt-Winters yakni metode prediksi runtun waktu (time series) yang dapat menangani perilaku musiman (seasonal) pada sebuah data berdasarkan pada data masa lalu. Metode ini dipilih karena menurut Makridakis (1999), metode ini sangat baik meramalkan pola data yang bersifat tren dan musiman yang timbul secara serempak. Teknik Holt-Winters sendiri telah banyak digunakan dalam memprediksi berbagai masalah dengan perilaku musiman seperti memprediksi pendapatan katering (Harsaputra, 2007), prediksi penambahan mesin rajut (Legi, 2008), prediksi curah hujan (Nurmaida, 2012), dan lain sebagainya.

1.2 Rumusan Masalah

Adanya kendala dalam memenuhi permintaan barang musiman yang melonjak tinggi saat periode musimannya dimulai membuat pelaku usaha sering merasa kewalahan. Hal ini dapat menyebabkan penurunan jumlah penjualan yang dapat berdampak buruk bagi pelaku usaha. Salah satu cara untuk mengatasi masalah tersebut adalah dengan menggunakan metode perencanaan yaitu memprediksi permintaan barang yang akan datang. Oleh karena itu dibutuhkan sebuah pendekatan untuk memprediksi jumlah permintaan barang sehingga para pelaku usaha dapat memenuhi permintaan konsumen akan barang musiman saat periode musimannya dimulai.

1.3Batasan Masalah

Agar pembahasan dalam penulisan ini lebih terarah dan mencegah adanya perluasan masalah dan pembahasan yang terlalu kompleks, maka penulis membuat batasan masalah yang akan dijadikan pedoman dalam pelaksanaan tugas akhir yaitu:

1. Data yang digunakan merupakan data penjualan seragam sekolah dasar pada suatu usaha konveksi seragam sekolah.


(16)

2. Sistem yang dibangun akan menghasilkan prediksi jumlah permintaan seragam sekolah SD untuk bulan-bulan berikutnya.

3. Penelitian ini tidak membahas tentang masalah harga jual barang.

4. Hasil penelitian ini tidak mempertimbangkan kejadian-kejadian yang berhubungan dengan alam yang mungkin mempengaruhi hasil prediksi tersebut, seperti : gempa bumi, banjir, kebakaran, dan lain sebagainya.

1.4Tujuan Penelitian

Tujuan penelitian ini adalah adalah membuat prediksi jumlah permintaan barang musiman yang akan datang berdasarkan data penjualan di masa lalu dengan menggunakan metode Holt-Winters.

1.5Manfaat Penelitian

Manfaat yang dapat diperoleh dari penelitian ini adalah:

1. Mengetahui kemampuan metode Holt-Winters dalam memprediksi jumlah permintaan barang musiman.

2. Memberikan suatu teknik alternatif mengenai prediksi permintaan barang musiman dengan menggunakan metode Holt-Winters serta sebagai referensi untuk penelitian lain yang berhubungan dengan metode Holt-Winters dan prediksi permintaan barang musiman.

1.6Metode Penelitian

Tahapan yang dilakukan pada pelaksanaan penelitian skripsi ini adalah sebagai berikut:


(17)

1. Studi Literatur

Pada tahap ini dilakukan studi kepustakaan yaitu penulis mengumpulkan seluruh informasi yang menyeluruh dari referensi-referensi yang mencakup prediksi dan metode Holt-Winters.

2. Analisis

Pada tahap ini dilakukan analisis terhadap studi literatur untuk mengetahui dan mendapatkan pemahaman mengenai Holt-Winters untuk menyelesaikan masalah prediksi.

3. Perancangan

Pada tahap perancangan sistem dilakukan perancangan arsitektur, pengumpulan data, pelatihan, dan perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan.

4. Implementasi

Pada tahap ini dilakukan proses implementasi pengkodean program dalam aplikasi komputer menggunakan bahasa pemrograman yang telah dipilih sesuai dengan analisis dan perancangan yang sudah dilakukan.

5. Pengujian

Pada tahap ini dilakukan pengujian aplikasi yang telah dibuat guna memastikan aplikasi telah berjalan sesuai dengan apa yang diharapkan.

6. Dokumentasi dan Penyusunan Laporan

Pada tahap ini akan dilakukan dokumentasi hasil analisis dari penelitian metode Holt-Winters untuk menyelesaikan masalah prediksi permintaan barang yang bersifat musiman.

1.7Sistematika Penulisan


(18)

Bab 1: Pendahuluan

Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

Bab 2: Landasan Teori

Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini. Pada bab ini dijelaskan tentang penerapan Holt-Winters untuk memprediksi permintaan barang musiman dan data-data pendukungnya.

Bab 3: Analisis dan Perancangan

Bab ini berisi analisis dan penerapan metode Holt-Winters untuk memprediksi permintaan barang musiman pada periode yang akan datang, serta perancangan seperti pemodelan dengan flowchart, use case dan activity diagram.

Bab 4: Implementasi dan Pengujian

Bab ini berisi pembahasan tentang implementasi dari analisis dan perancangan yang disusun pada Bab 3 dan pengujian apakah hasil yang didapatkan sesuai dengan yang diharapkan.

Bab 5: Kesimpulan Dan Saran

Bab ini berisi kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran- saran yang diajukan untuk pengembangan penelitian selanjutnya.


(19)

BAB 2

LANDASAN TEORI

Bab ini membahas teori penunjang dan penelitian sebelumnya yang berhubungan dengan penerapan metode Holt-Winters untuk prediksi penjualan barang musiman.

2.1Teknik Peramalan

Peramalan atau forecast merupakan suatu fungsi bisnis yang digunakan untuk memperkirakan permintaan dan penggunaan produk sehingga produk-produk tersebut dibuat dalam jumlah atau kuantitas yang tepat (Gaspersz, 2004). Tujuan dari peramalan dalam kegiatan produksi adalah untuk mengurangi ketidakpastian, sehingga diperoleh suatu perkiraan yang mendekati keadaan yang sebenarnya. Kegunaan peramalan tersebut akan terlihat pada saat pengambilan keputusan. Keputusan yang baik adalah keputusan yang didasarkan pertimbangan apa yang akan terjadi pada waktu keputusan itu dilaksanakan.

Menurut Levine (2002) ada dua pendekatan umum untuk jenis metode peramalan menurut sifatnya, yaitu teknik kualitatif dan teknik kuantitatif. Teknik peramalan kualitatif digunakan saat data historis tidak tersedia, namun metode ini bersifat sangat subjektif dan membutuhkan penilaian dari pakar. Sedangkan teknik peramalan kuantitatif menggunakan data historis atau data masa lalu yang dibuat dalam bentuk angka.

Dalam peramalan dikenal istilah prakiraan dan prediksi. Prakiraan didefinisikan sebagai proses peramalan suatu kejadian dimasa datang dengan berdasar pada data kejadian itu dimasa sebelumnya. Data masa lampau tersebut secara sistematik diolah bersama dengan suatu metode tertentu untuk memperoleh prakiraan kejadian yang akan datang. Sementara prediksi adalah proses peramalan suatu variabel pada masa yang akan datang berdasarkan pada pertimbangan intuisi daripada


(20)

data-data sebelumnya, meskipun lebih berdasarkan pada pertimbangan intuisi, namun prediksi juga sering digunakan data kuantitatif sebagai pelengkap informasi dalam melakukan peramalan. (Herjanto, 2006).

Berdasarkan horizon waktu, peramalan dapat dikelompokkan dalam tiga bagian, yaitu peramalan jangka panjang, peramalan jangka menengah, dan peramalan jangka pendek.

1. Peramalan jangka panjang, yaitu mencakup waktu lebih besar dari 18 bulan. Misalnya, peramalan yang berkaitan dengan penanaman modal, perencanaan fasilitas, dan perencanaan untuk kegiatan litbang.

2. Peramalan jangka menengah, yaitu mencakup waktu antara 3 sampai 18 bulan. Misalnya peramalan untuk perencanaan penjualan, perencanaan produksi, dan perencanaan tenaga kerja tidak tetap.

3. Peramalan jangka pendek, yaitu untuk jangka waktu kurang dari 3 bulan. Misalnya, peramalan dalam hubungannya dengan penjadwalan kerja atau penugasan karyawan.

Peramalan jangka panjang banyak menggunakan pendekatan kualitatif sedangkan peramalan jangka menengah dan pendek biasanya menggunakan pendekatan kuantitatif.

Metode peramalan kuantitatif terbagi dalam dua kelompok utama, yaitu metode data time series dan metode kausal. Data tersebut tentunya sangat diperlukan dalam penelitian, maupun pengambilan keputusan. (Winarno, 2007).

a. Data Time Series (Runtun Waktu)

Data Runtun Waktu atau Data Time series adalah data yang menggambarkan suatu objek dari waktu ke waktu atau periode secara historis dan terjadi berurutan. (Winarno, 2007). Interval waktu perekaman dapat amat singkat (beberapa bagian dari satu detik saja) dan dapat cukup panjang (harian, mingguan, bulanan, tahunan, dan bahkan puluhan tahun), tergantung dari macamnya data yang direkam. Contohnya adalah data produksi karet dari


(21)

tahun 2000 hingga 2010, data pergerakan angin dari menit pertama hingga menit ke-30, data jumlah siswa dari tahun 1997 hingga 2012, dan lain-lain. Time Series ini mencakup penelitian pola data yang digunakan untuk memeriksa apakah data tersebut stasioner atau tidak. Stasioner itu sendiri berarti bahwa tidak terdapat pertumbuhan atau penurunan pada data. Data secara kasar harus horizontal sepanjang waktu. Dengan kata lain fluktuasi data tetap konstan.

b. Data Causal (Data Kausal)

Metode peramalan kausal mengembangkan model sebab-akibat antara permintaan yang diramalkan dengan variabel-variabel lain yang mempengaruhi. Contohnya adalah, jumlah permintaan baju baru bisa saja berhubungan dengan jumlah populasi, rata-rata pendapatan masyarakat, jenis kelamin, musiman atau bulan-bulan khusus (hari raya, natal, tahun baru). Data dari variabel tersebut dikumpulkan dan dianalisa untuk menentukan keakuratan dari model peramalan yang diusulkan. Metode ini biasa dipakai untuk dengan kondisi dimana variabel penyebab terjadinya item yang akan diramalkan sudah diketahui. Dengan adanya hubungan tersebut, output dapat diketahui jika input diketahui.

Yang terpenting dalam suatu deret berkala (time series) adalah mempertimbangkan jenis pola data. Menurut Makridakis (1999) pola tersebut dapat dibedakan menjadi empat :

1. Pola Data Horizontal

Pola Data Horizontal adalah pola data yang terjadi jika data berfluktuasi di sekitar nilai rata-rata yang konstan. Tipe ini pada data runtun waktu disebut stationary. Sebagai contoh penjualan tiap bulan suatu produk tidak meningkat atau menurun secara konsisten pada suatu waktu dapat dipertimbangkan untuk pola horizontal. Contoh pola data seperti ini dapat dilihat pada Gambar 2.1.


(22)

Gambar 2.1 Data Time Series Dengan Pola Horizontal (Tanjung, 2012)

Gambar 2.1 menunjukkan grafik jumlah penjualan beras pada sebuah usaha pengecer beras selama satu tahun. Dapat dilihat pada grafik bahwa jumlah penjualan beras pada satu tahun tersebut berfluktuasi di sekitar nilai rata-rata yang konstan, yakni sejumlah lima karung beras. Pola data seperti ini juga biasa dijumpai pada jenis barang kebutuhan pokok lainnya, seperti gula, telur, dan lainnya.

2. Pola Data Trend

Pola Trend terjadi apabila data menunjukkan pola kecendrungan naik atau turun atau bahkan konstan untuk jangka waktu yang panjang. Contoh pola data seperti ini dapat dilihat pada Gambar 2.1.


(23)

Gambar 2.2 menunjukkan grafik produk domestik bruto (Gross Domestic Product) yakni jumlah nilai produk berupa barang dan jasa yang dihasilkan oleh unit-unit produksi di dalam batas wilayah suatu negara (domestik) selama satu tahun. Pada Gambar 2.2 tampak pola kenaikan untuk jangka waktu yang panjang yang dimulai dari tahun pertama hingga tahun ke-11. Jumlah produk nampak meningkat dari rata-rata lima ribu ditahun pertama dan meningkat hingga bernilai rata-rata-rata-rata tiga puluh ribu di tahun ke-11.

3. Pola Data Musiman

Pola Musiman terjadi apabila dalam data terlihat pola perubahan yang berulang secara otomatis dalam suatu interval tertentu. Hal ini terjadi karena dipengaruhi oleh faktor musiman seperti faktor cuaca, musim libur panjang, musim tahun ajaran baru, hari raya keagamaan yang akan berulang secara periodik tiap tahunnya. Pola musiman berguna dalam meramalkan penjualan dalam jangka pendek. Pola data ini terjadi bila nilai data sangat dipengaruhi oleh musim, misalnya permintaan bahan baku jagung untuk makanan ternak ayam pada pabrik pakan ternak selama satu tahun.

Gambar 2.3 Data Time Series Dengan Pola Horizontal (Tanjung, 2012)

Gambar 2.3 merupakan grafik penjualan seragam sekolah pada sebuah toko penyedia seragam dari bulan pertama hingga bulan ke-12 di tahun 2011. Dapat dilihat bahwa jumlah penjualan seragam sekolah dipengaruhi oleh faktor musiman. Jumlah


(24)

penjualan meningkat tajam di bulan Juli yakni bulan dimana semester baru di sekolah dimulai.

4. Pola Data Siklis

Pola Siklis terjadi apabila fluktuasi permintaan jangka panjang membentuk pola gelombang/siklus. Biasanya pola ini dipengaruhi oleh siklus bisnis.

Gambar 2.4 Data Time Series Dengan Pola Siklis (Tanjung, 2012)

Gambar 2.3 menunjukkan grafik penjualan mobil dari tahun 2000 hingga tahun 2008 pada sebuah perusahaan dealer mobil. Dapat dilihat bahwa penjualan mobil dipengaruhi oleh faktor ekonomi di Indonesia tiap tahunnya. Pada tahun 2002 dan tahun 2008, dimana keadaan ekonomi rakyat Indonesia lebih baik membuat tingkat penjualan mobil yang termasuk sebagai kebutuhan tersier juga ikut mengalami peningkatan.

2.2Prediksi Penjualan

Aktivitas prediksi penjualan mengindikasikan penjualan yang diharapkan terhadap pasar dari produk yang didefinisikan selama periode waktu tertentu. (Craven, 2003). Prediksi penjualan diperlukan perusahaan karena setiap kegiatan pembuatan keputusan penjualan di perusahaan memiliki dampak terhadap keadaan perusahaan di


(25)

masa depan. Dengan prediksi perusahaan dapat mengetahui hal-hal apa saja yang perlu diperbaiki atau ditingkatkan dari kondisi penjualan perusahaan (Hanke, 2005).

Menurut Hanke, langkah-langkah dalam prediksi penjualan adalah :

a. Identifikasi masalah dan pengumpulan data

Dalam tahap ini, perusahaan perlu menemukan masalah-masalah yang terjadi pada penjualan, dan mengumpulkan data yang lengkap agar masalah dapat diidentifikasi dengan jelas.

b. Manipulasi dan pemilihan data

Data yang telah dikumpulkan diseleksi agar mendapatkan data yang benar-benar relevan dengan masalah yang dihadapi. Data kemudian dimanipulasi agar sesuai dengan kebutuhan perusahaan dalam membuat model prediksi penjualan.

c. Pembangunan dan evaluasi model

Data yang telah dikumpulkan dan dimanipulasi, diaplikasikan ke dalam model prediksi yang sesuai dengan kondisi perusahaan untuk meminimalkan terjadinya kesalahan dalam prediksi.

d. Implementasi model

Model yang telah dipilih diimplementasikan langsung terhadap data penjualan, sehingga didapatkan target prediksi penjualan yang benar-benar sesuai dengan kebutuhan perusahaan.

e. Evaluasi prediksi penjualan

Dalam tahap ini, prediksi penjualan yang telah dibuat dibandingkan dengan kondisi aktual penjualan perusahaan. Dalam proses ini, perusahaan dapat mengetahui kesalahan-kesalahan yang terjadi pada saat implementasi, sehingga dapat memperbaiki dan menemukan model prediksi penjualan yang cocok.


(26)

2.3 Definisi Barang-Barang Musiman

Yang disebut dengan barang-barang musiman adalah barang-barang yang jumlah penjualannya meningkat dikarenakan kebutuhan akan barang tersebut pada musim-musim tertentu meningkat jauh (Susanty, 2012). Dari hasil penjualan barang-barang musiman ini pedagang mampu menarik keuntungan yang berlipat-lipat ganda dibandingkan dengan penjualan di hari-hari biasa. Contoh dari barang-barang musiman ini misalnya (Tanjung, 2012): busana muslim, kerudung, atau sarung pada libur Lebaran atau Idul Fitri, buku, alat tulis, dan seragam sekolah pada musim tahun ajaran baru, dan lain-lain.

2.4Ukuran Akurasi Prediksi

Tidak mungkin suatu ramalan akan benar-benar akurat. Ramalan akan selalu berbeda dengan permintaan aktual. Perbedaan antara ramalan dengan data aktual disebut kesalahan ramalan. Meskipun suatu jumlah kesalahan ramalan tidak dapat dielakkan namun tujuan ramalan adalah agar kesalahan sekecil mungkin (Hermanto, 2007).

Ukuran ketepatan yang sering digunakan untuk mengetahui ketepatan suatu model prediksi dalam memodelkan data deret waktu yaitu nilai, MAPE (Mean Absolute Percentage Error) danMAE (Mean AbsoluteError).

a. Mean Absolute Percentage Error (MAPE)

MAPE dihitung dengan menemukan kesalahan absolut pada setiap periode, kemudian membaginya dengan nilai observasi pada periode tersebut dan kemudian merata-ratakan persentase absolutnya (Nurmaida, 2012).. Pendekatan ini akan sangat berguna apabila ukuran variabel merupakan faktor penting dalam mengevaluasi akurasi prediksi. MAPE menunjukkan seberapa besar kesalahan prediksi dibandingkan dengan nilai sebenarnya dari suatu runtun waktu. MAPE juga dapat digunakan untuk membandingkan akurasi dari teknik yang sama atau berbeda pada dua runtun waktu yang berbeda.


(27)

Dengan PEt adalah galat persentase yang didefinisikan sebagai berikut :

t PE =

t t t

X F

X

(2.2)

b. Mean Absolut Error (MAE)

MAE adalah rata-rata absolute dari kesalahan yaitu dengan menghiraukan tanda positif ataupun negatif dari nilai kesalahan (Nurmaida, 2012).. MAE dapat dihitung dengan menggunakan persamaan:

∑ | |

Pengukuran akurasi prediksi ini digunakan untuk (Hanke, 2005) :

1. Membandingkan keakuratan dari dua atau lebih teknik prediksi yang berbeda.

2. Mengukur kegunaan atau reliabilitas teknik tertentu. 3. Membantu mencari teknik yang optimal.

2.5Metode Pemulusan Eksponensial (Exponential Smoothing)

Smoothing atau metode pemulusan adalah metode prediksi yang melakukan pemulusan terhadap suatu deret berkala dari sederetan data masa lalu, yaitu dengan membuat rata-rata tertimbang dari nilai beberapa tahun untuk menaksir data pada beberapa tahun kedepan. Dasar dari metode smoothing adalah pembobotan sederhana atau pemulusan pengamatan masa lalu dalam suatu deret berkala untuk memperoleh ramalan masa mendatang (Makridakis, 1999).

Menurut Makridakis (1999) metode pemulusan eksponensial (exponential smoothing) adalah metode yang mengulang perhitungan secara terus-menerus dengan menggunakan data terbaru. Metode ini menggunakan bobot berbeda untuk setiap data masa lalu dan karena bobotnya berciri menurun seperti eksponensial dari titik data terakhir sampai dengan yang terawal hingga disebut metode pemulusan eksponensial.


(28)

Dengan kata lain, setiap data diberikan sebuah nilai dimana data yang lebih baru memiliki nilai yang lebih besar.

Metode exponential smoothing merupakan metode prediksi yang cukup baik untuk prediksi jangka panjang dan jangka menengah, terutama untuk operasional suatu perusahaan. Kelebihan utama dari metode exponential smoothing dapat dilihat dari kemudahan dalam operasi, dengan kata lain mudah dalam penerapannya, dan kecepatannya untuk diterima juga biaya yang rendah (Nurmaida, 2012).

Metode prediksi dengan pemulusan eksponensial lebih digunakan untuk pola data yang tidak stabil atau perubahannya besar dan bergejolak. Apabila galat ramalan (forecast error) adalah positif, atau nilai aktual permintaan lebih tinggi daripada nilai ramalan (A–F>0), maka model pemulusan eksponensial akan secara otomatis meningkatkan nilai ramalannya. Sebaliknya, apabila galat ramalan (forecast error) adalah negatif, atau nilai aktual permintaan lebih rendah daripada nilai ramalan (A – F < 0), maka metode pemulusan eksponensial akan secara otomatis menurunkan nilai ramalan. Proses penyesuaian ini berlangsung secara terus-menerus, kecuali galat ramalan telah mencapai nol. (Gaspersz, 2004).

Bentuk umum dari metode pemulusan (Exponential Smoothing) ini adalah (Makridakis, 1999):

(2.5)

Dengan :

= prediksi satu periode ke depan

= data aktual periode = prediksi pada periode

= parameter pemulusan (0< >1)

Nilai yang digunakan adalah untuk data yang paling baru, untuk data sebelumnya, untuk data yang lebih lama lagi, dan seterusnya. Bila bentuk umum tersebut diperluas maka akan berubah menjadi :


(29)

Dari perluasan bentuk umum diatas dapat dikatakan bahwa dalam metode Exponential Smoothing nilai observasi yang baru diberikan bobot yang relatif lebih besar dibanding observasi yang lebih tua.

2.6Metode Holt-Winters

Seringkali data time series menunjukkan gejala musiman. Musiman mengacu pada kecenderungan data time series menunjukkan gejala berulang pada setiap periode waktu tertentu atau pada setiap periode T. Dengan kata lain istilah musiman digunakan untuk mewakili periode waktu sebelum perilaku mulai terulang. Sebagai contoh, harga daging sapi akan melonjak tinggi pada musim lebaran, atau harga cabai akan membumbung tinggi setiap bulan Desember. Pola ini akan terus berulang setiap tahunnya. Akan tetapi nilai kenaikan tersebut akan berubah secara relatif dari tahun ke tahun, walaupun tetap dengan pola yang sama .

Metode Holt-Winters merupakan metode yang dapat menangani faktor musiman dan trend yang muncul secara sekaligus pada sebuah data time series (Kalekar, 2004). Metode ini didasarkan atas tiga unsur yaitu untuk unsur stasioner, trend dan musiman untuk setiap periode dan memberikan tiga pembobotan dalam

prediksinya, yaitu α, ,dan . Pembobotan α memberikan pembobotan pada nilai level,

memberikan pembobotan pada trend, dan memberikan pembobotan pada efek musiman. Besarnya koefisien α, , , memiliki jarak (range) diantara 0 dan 1 yang ditentukan secara subjektif atau dengan meminimalkan nilai kesalahan dari estimasi tersebut (Makridakis, 1999).

Sebagai contoh kasus, misalkan selama bulan Desember penjualan daging sapi mungkin meningkat hingga 1000 ton setiap tahun. Dengan demikian, kita bisa menambahkan 1000 ton dalam perkiraan pada setiap bulan Desember untuk fluktuasi musiman. Untuk kasus ini, musiman adalah additif. Sementara dalam kasus lain, misalkan selama bulan Desember penjualan daging sapi meningkat sebesar 30%, maka musiman dalam kasus ini adalah multiplikatif .

2.6.1Metode Holt-Winters Additif

Menurut Montgomery (β008) dalam buku mereka „Forecasting and Time Series Analysis – second edition„ : Model musiman aditif cocok untuk prediksi deret berkala


(30)

(time series) yang dimana amplitudo (atau ketinggian) pola musimannya tidak tergantung pada rata-rata level atau ukuran data.

Tiga persamaan yang digunakan dalam metode Holt-Winters Additif adalah (Makridakis, 1999):

Level : St

(XtItL)(1

)(St1Tt1)

(2.7) Trend : Tt

(StSt1)(1

)Tt1

(2.8) Musim : It

(XtSt)(1

)ItL

(2.9) Forecast : Ftm

StTtm

ItLm (2.10) Dimana :

t

S = nilai Level

= konstanta level (0<<1) t

T = estimasi trend

= konstanta perkiraan trend (0<<1) t

I = estimasi musim

= konstanta untuk perkiraan musim (0<<1)

L = jumlah periode dalam satu siklus musim

2.6.2Metode Holt-Winters Multiplikatif

Model musiman multiplikatif cocok untuk prediksi deret berkala (time series) yang dimana amplitudo (atau ketinggian) dari pola musimannya proporsional dengan rata-rata level atau tingkatan dari deret data (Montgomery, 2008). Dengan kata lain, pola musiman membesar seiring meningkatnya ukuran data. Pada kenyataan di lapangan, model multiplikatif lebih banyak dan lebih efektif dipakai.

Seperti halnya pada metode Holt-Winters aditif, metode Holt-Winters multiplikatif juga memiliki tiga persamaan dengan sedikit perbedaan.

Tiga persamaan yang digunakan dalam metode Holt-Winters Multiplikatif adalah (Makridakis, 1999).:


(31)

Level : (1 )( 1 1)

 

t t

L t

t

t S T

I X

S  

(2.11) Trend : Tt

(StSt1)(1

)Tt1 (2.12)

Musim : t L

t t

t I

S X

I  (1)

(2.13) Forecast : Ftm

StTtm

ItLm (2.14) Dimana :

t S

= nilai Level

= konstanta level (0<<1)

t T

= estimasi trend

= konstanta perkiraan trend (0<<1) t

I

= estimasi musim

= konstanta untuk perkiraan musim (0<<1)

L = jumlah periode dalam satu siklus musim

Untuk memulai perhitungan, diperlukan penentuan nilai awal untukSt, Tt, dan

t

I . Proses penentuan nilai awal atau inisialisasi pada prediksi dengan metode Holt-Winters ini diperlukan paling sedikit satu kelompok data musiman lengkap yaitu L

periode untuk menentukan estimasi awal dari indeks musiman ItL, dan perlu juga untuk menaksir faktor trend dari satu periode ke periode selanjutnya.

Beberapa pendekatan yang dapat diterapkan untuk menentukan nilai awal (proses inisialisasi) pada metode Holt-Winters berpengaruh terhadap prediksi berikutnya juga bergantung pada panjang deret waktu dan nilai dari ketiga parameternya. Pendekatan tersebut tersebut antara lain sebagai berikut:

1. Nilai inisial S dapat disamakan dengan nilai aktualnya

(

X

L

)

atau berupa rata-rata dari beberapa nilai pada musim yang sama.


(32)

L

L

X

S

atau 1( ... )

2

1 L

L X X X

L

S    

(2.15)

2. Sedangkan untuk menginisialisasi faktor trend digunakan:

L

T

            L X X L X X L X X L L L L L

L ) ( ) ... )

(

1 1 1 2 2

(2.16)

3. Inisialisasi untuk faktor musiman, pada satu siklus musim pertama dilakukan dengan membagi setiap data nilai aktual

(

X

L

)

dengan rata-rata pada siklus itu.

L k S X I L k

k  , 1,2,...,

(2.17)

Karena metode Holt-Winters memodelkan data yang memiliki pola musiman, maka data yang diperlukan akan lebih banyak daripada jumlah data untuk metode dengan pola data stationer. Agar ukuran musiman memadai, data yang digunakan paling sedikit memiliki dua musim dari data bulanan, sehingga metode ini dapat diterapkan dan mendapat hasil optimum (Makridakis, 1999)..

2.7 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem piranti lunak dan pengembangan sistem (Rama, 2008). Unified Modeling Language (UML) bukanlah merupakan bahasa pemprograman tetapi model-model yang tercipta berhubungan langsung dengan berbagai macam bahasa pemprograman. Dengan menggunakan UML, pemodelan sistem prediksi menjadi lebih terstruktur sebelum diimplementasikan ke bahasa pemrograman tertentu.


(33)

1. Memberikan bahasa pemodelan yang siap pakai dan ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.

2. Menyediakan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.

3. Menyediakan basis formal untuk pemahaman bahasa pemodelan.

4. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.

UML terdiri dari bermacam-macam diagram yg digunakan untuk permodelan pada saat pengembangan sistem mulai dari tahap analisi sampai implementasi. Pada saat melakukan desain sistem, tidak harus semua diagram pada UML diimplementasikan. Diagram dalam UML dikelompokan menjadi 2, yaitu :

1. Diagram Struktur /Statis diagram

Diagram struktur atau statis diagram memvisualisasi, menspesifikasikan,

membangun dan mendokumentasikan aspek statik dari sistem (Darwiyanti, 2003). Diagram struktur di UML terdiri dari :

a. Diagram kelas (Class diagram)

b. Diagram objek (Object diagram)

c. Diagram komponen (Component diagram)

d. Diagram deployment (Deployment diagram)


(34)

Diagram perilaku sistem atau behavior diagram memvisualisasi, menspesifikasi,

membangun dan mendokumentasikan aspek dinamis dari sistem (Darwiyanti, 2003). Diagram perilaku di UML terdiri dari :

a. Diagram use-case (Use case diagram)

b. Diagram sekuen (Sequence diagram)

c. Diagram kolaborasi (Collaboration diagram)

d. Diagram statechart (Statechart diagram)

e. Diagram aktivitas (Activity Diagram)

2.7.1 Diagram Use Case

Use case mendeskripsikan interaksi antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. (Fowler, 2005). Diagram use case menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang berada diluar sistem (aktor) dan menunjukan fungsionalitas suatu sistem atau kelas dan bagaimanan sistem berinteraksi dengan dunia luar.

2.7.2 Use Case Spesification

Use Case Spesification atau spesifikasi use case merupakan penjabaran alur kinerja atau langkah-langkah setiap use case melalui skenario. Spesifikasi use case dapat dibuat setelah use case diagram selesai dibuat dan sudah diketahui fungsionalitas masing-masing use case.

Dalam use case spesifikasi terdapat beberapa elemen, seperti (Darwiyanti, 2003):

1. Aktor : Aktor menyatakan jenis peran yang dimainkan oleh entitas yang berinteraksi dengan subjek (misalnya bertukar sinyal dan data). Aktor dapat mewakili peran yang dimainkan oleh pengguna manusia, perangkat keras eksternal, atau hal lain.


(35)

2. Brief Description : Merupakan deskripsi singkat dari use case. Menunjukkan tujuan dari use case tersebut.

3. Flow of Events : Menunjuk pada alur tentang jalannya sebuah use case. Flow of events haruslah menjelaskan tentang apa yang sistem lakukan.

4. Alternative Flow : Merupakan alur alternatif dari jalannya use case. Alternatif flow disebut sebagai alur lain yang dipakai untuk mencapai tujuan dari use case tersebut, selain dari alur biasa.

5. Special Requirement : Merupakan kondisi khusus agar use case dapat dijalankan.

6. Pre-Conditions : Menunjuk pada keadaan sebuah sistem dan komponennya yang dibutuhkan sebelum use case dapat dijalankan.

7. Post Conditions : Adalah kondisi dari sebuah sistem setelah sebuah use case berakhir.

8. Extension Points : Penambahan-penambahan yang mungkin diperlukan untuk sebuah use case.

2.7.3 Activity Diagram

Activity diagram atau diagram aktivitas adalah sebuah model alur kerja (work flow) atau urutan aktivitas pada suatu proses. Diagram aktivitas memperlihatkan aliran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem (Darwiyanti, 2003). Diagram ini terutama penting dalam pemodelan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek.

Diagram aktivitas sangat berguna ketika ingin menggambarkan perilaku paralel atau menjelaskan bagaimana perilaku dalam berbagai use case berinteraksi. Adapun symbol-simbol yang digunakan dalam sebuah diagram aktivitas terlihat pada Gambar 2.5.


(36)

Gambar 2.5 Simbol Diagram Aktivitas

2.8Teknik Prediksi Terdahulu

Suatu data runtun waktu yang bersifat musiman, didefinisikan sebagai suatu data runtun waktu yang memiliki pola perubahan berulang secara tahunan. Dalam teknik prediksi musiman biasanya memperkirakan indeks musiman dari data tersebut. Indeks musiman ini nantinya digunakan untuk menghilangkan pengaruh seperti itu dari nilai-nilai yang di observasi. Ada beberapa teknik yang biasa digunakan untuk prediksi musiman ini.

Ernawati (2007) menggunakan teknik Dekomposisi dalam memprediksi penjualan minuman botol. Adapun langkah-langkah metode Dekomposisi yang dilakukan oleh Ernawati adalah:

1. Menghitung faktor musiman awal dengan melakukan penyesuaian musiman terhadap data aktual.


(37)

2. Menghitung penyesuaian musiman akhir dengan rata-rata bergerak dari Spencer untuk menghilangkan setiap pengaruh musiman dan unsur acak yang tidak terdeteksi sebelumnya.

3. Melakukan pengujian deret data untuk menentukan keberhasilan proses dekomposisi yang telah dilakukan. Dalam hal ini dilakukan uji perubahan persentasi dari komponen acak dan trend-siklus.

4. Menghitung Bulan Dominasi Siklus (MCD) yang digunakan untuk mengetahui berapa lama komponen acak mendominasi komponen trend siklus atau sebaliknya.

5. Menghitung taksiran trend-siklus dengan menghitung rata-rata bergerak dari data akhir yang telah disesuaikan menurut musim. Dalam hal ini digunakan rata-rata bergerak tiga bulanan.

6. Membuat prediksi untuk jumlah penjualan minuman botol dua tahun kedepan.

Pada tahun 2007, Hermanto menggunakan metode Sarima dalam memprediksi tingkat penjualan motor berdasarkan pola data seasonality. Metode Sarima atau Seasonal Autoregressive Integrated Moving Average yang dipakai Hermanto (2007) memiliki langkah-langkah sebagai berikut:

1. Tahap Identifikasi

Mengenali adanya fakor musiman dalam data yang digunakan.

2. Tahap estimasi

Setelah menetapkan model sementara, selanjutnya digunakan estimasi maksimum likelihood atau metode kuadrat terkecil untuk mendapatkan parameter dari model.

3. Tahap pengecekan dignostik

Sebelum menggunakan model untuk prediksi, perlu adanya pengecekan terhadap model yang telah diidentifikasi. Model telah memadai apabila nilai


(38)

residual dari model yang dipilih tidak dapat dipergunakan untuk memperbaiki nilai prediksi.

Prediksi dengan data musiman lainnya yang pernah diteliti adalah menggunakan metode regresi time series dalam memprediksi penjualan produk pakaian (Rochmah, 2010). Langkah-langkah dalam memprediksi barang musiman dengan menggunakan metode regresi time series yang digunakan Rochmah adalah sebagai berikut:

1. Data dibagi menjadi dua, yaitu data insample dan data outsample.

2. Identifikasi model untuk mengetahui apakah volume penjualan dipengaruhi oleh pola tren atau musiman atau keduanya.

3. Melakukan pemodelan dengan metode regresi 4. Penaksiran model pengujian parameter. 5. Melakukan prediksi.

Dari beberapa penelitian terdahulu yang telah disebutkan di atas memiliki kelemahan dan error dalam melakukan prediksi. Adapun kelemahan dan error pada teknik di atas dirangkum pada Tabel 2.1.

Tabel 2.1 Penelitian Terdahulu untuk Prediksi Musiman No. Peneliti Teknik Yang

Digunakan

Kelemahan Error

1. Ernawati Dekomposisi Trend digambarkan sebagai pencocokan data terhadap suatu garis lurus. Pencocokan data terhadap garis lurus menyebabkan terjadi bias saat pemulusan mendekati akhir data deret waktu.


(39)

Tabel 2.1 Penelitian Terdahulu untuk Prediksi Musiman (Lanjutan) No. Peneliti Teknik Yang

Digunakan

Kelemahan Error

2. Hermanto Sarima Adanya ketidakmampuan dalam menghasilkan prediksi jangka panjang yang handal

MSE = 84,726

3. Rochmah Regresi Time Series

Tidak mampu menunjukkan titik jenuh fungsi yang sedang diselidiki. Akibatnya selalu timbul kemungkinan kesalahan prediksi (ektraspolasi).

Untuk penelitian yang menggunakan metode Holt-Winters terdapat beberapa studi kasus untuk prediksi data musiman. Beberapa dari penelitian tersebut seperti dalam Tabel 2.2.

Tabel 2.2 Penelitian Terdahulu dengan Holt-Winters No

.

Penulis Tahun Judul Dipublikas

i

Kesimpulan

1. Harsaputra, Windy

2007 Sistem Pendukung Keputusan untuk Monitoring Pendapatan Catering dengan metode Winters Sekolah Tinggi Manajemen Informatika & Teknik Komputer Surabaya

Penggunaan metode ini sangat membantu dalam pengambilan keputusan bagi pihak manajemen catering.

2. Hendra, Legi

2008 Perancangan Aplikasi Peramalan dengan Metode Winters Tripel Eksponential Smoothing untuk Menentukan Kelayakan Penambahan Mesin Rajut Universitas Bina Nusantara Jakarta

Dari hasil evaluasi, metode ini memberikan ketepatan

peramalan yang untuk studi kasus yang diamati.


(40)

Tabel 2.2 Penelitian Terdahulu dengan Holt-Winters (Lanjutan) No

.

Penulis Tahun Judul Dipublikasi Kesimpulan

3. Nurmaida, Ai

2012 Penerapan Metode Exponential Smoothing Holt-Winters dalam Sistem

Peramalan Curah Hujan

Universitas Pendidikan Indonesia

Metode ini memiliki tingkat keakuratan yang cukup baik digunakan untuk peramalan curah hujan yang mengandung unsur-unsur data pemulusan, trend dan musiman.

Berdasarkan penelitian sebelumnya penulis akan melakukan penelitian mengenai prediksi permintaan barang musiman dengan objek penelitian data musiman yaitu seragam sekolah dasar (SD) dengan metode Holt-Winters, dimana Holt-Winters merupakan metode yang dapat menangani faktor musiman dan trend yang muncul secara sekaligus dengan memberikan indeks bobot yang berbeda untuk setiap parameternya (Kalekar, 2004). Dengan cara ini diharapkan perhitungan untuk setiap indeks-nya tidak lagi terlalu rumit dan nilai akurasi dari prediksi akan lebih tinggi.


(41)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini secara garis besar membahas analisis metode Holt-Winters pada sistem dan tahap-tahap yang akan dilakukan dalam perancangan sistem yang akan dibangun.

3.1Identifikasi Masalah

Barang musiman atau seasonal adalah barang-barang yang jumlah permintaannya meningkat pada musim-musim tertentu, seperti: busana muslim pada musim lebaran, alat-alat tulis dan seragam sekolah pada musim tahun ajaran baru dan lainnya (Susanty, 2012).

Melonjaknya permintaan akan barang-barang musiman tersebut tentu akan memberikan keuntungan besar bagi para pelaku usaha. Namun para pelaku usaha barang musiman ini sering menghadapi kendala dalam memenuhi permintaan barang saat periode musimnya dimulai. Masalah yang paling sering terjadi adalah kekurangan stok barang. Jika pada musim-musim tertentu dimana permintaan barang sedang sangat tinggi namun pelaku usaha hanya memiliki stok yang sedikit, tentu permintaan tidak dapat dipenuhi sehingga menyebabkan penurunan jumlah penjualan. Untuk menghindari ketidakefesienan ini, para pelaku usaha memerlukan sebuah metode perencanaan dalam penyediaan jumlah barang demi mencapai jumlah penjualan yang maksimal dan mencapai target. Salah satu metode perencanaan yang umum digunakan adalah prediksi permintaan yang akan datang. Metode prediksi dapat membantu meminimalisasi kesalahan dalam penyediaan barang.


(42)

3.2Pemakaian Data

Data penjualan seragam sekolah dasar yang digunakan dalam penelitian ini adalah data penjualan seragam sekolah dasar pada sebuah perusahaan jasa konveksi dari bulan Januari 2010 s.d Desember 2013. Data dikelompokkan per bulan agar dapat lebih mudah melihat pola musimannya. Seluruh data yang digunakan dalam penelitian ini berjumlah 48 yang terbagi dalam tiga ukuran seragam sekolah yaitu ukuran S(Small), M(Medium) dan L(Large) dapat dilihat pada Tabel 3.1.

Table 3.1 Data Penjualan Seragam Sekolah Dasar dalam Tiap Ukuran

Tahun Bulan Periode Jumlah Penjualan Seragam Tiap Ukuran

S M L

2010

Jan 1 159 150 139

Feb 2 146 119 111

Mar 3 143 137 124

Apr 4 166 159 139

Mei 5 197 184 189

Jun 6 339 319 317

Jul 7 604 581 520

Agt 8 362 318 308

Sep 9 202 179 183

Okt 10 177 140 138

Nov 11 169 157 144

Des 12 133 122 108

2011

Jan 1 122 132 136

Feb 2 111 104 91

Mar 3 115 128 120

Apr 4 142 139 134

Mei 5 199 195 153

Jun 6 315 353 268

Jul 7 581 627 469

Agt 8 366 382 333

Sep 9 194 203 176

Okt 10 154 148 117

Nov 11 142 146 142

Des 12 129 151 130

2012

Jan 1 153 142 133

Feb 2 126 130 112

Mar 3 130 119 108

Apr 4 156 151 148


(43)

Table 3.1 Data Penjualan Seragam Sekolah Dasar Tiap Ukuran (Lanjutan)

Tahun Bulan Periode Jumlah Penjualan Seragam Tiap Ukuran

S M L

Jul 7 577 562 487

Aug 8 331 342 316

Sep 9 161 163 139

Oct 10 120 142 135

Nov 11 123 123 128

Dec 12 127 129 121

2013 Jan 1 142 132 125

Feb 2 117 115 104

Mar 3 127 111 101

Apr 4 143 140 139

May 5 168 177 157

Jun 6 273 303 232

Jul 7 539 510 449

Aug 8 319 326 303

Sep 9 155 156 130

Oct 10 115 134 126

Nov 11 116 118 121

Dec 12 119 126 116

Dalam bentuk chart, data penjualan seragam sekolah di atas dapat dilihat pada Gambar 3.1.

Gambar 3.1 Pola Musiman Penjualan Seragam Sekolah Dasar 2010-2013

0 100 200 300 400 500 600 700 Jan -10 Ma r-10 Ma y -1 0 Ju l-10 Se p -10 N o v-10 Jan -11 Ma r-11 Ma y -1 1 Ju l-11 Se p -11 N o v-11 Jan -12 Ma r-12 Ma y -1 2 Ju l-12 Se p -12 N o v-12 Jan -13 Ma r-13 Ma y -1 3 Ju l-13 Se p -13 N o v-13


(44)

Gambar 3.1 menunjukkan pola data yang terjadi pada data penjualan seragam sekolah dasar pada sebuah usaha konveksi seragam dari bulan Januari 2010 sampai dengan bulan Desember 2013. Pada grafik, garis berwarna biru menunjukkan penjualan seragam sekolah dasar ukuran S. Garis berwarna merah menunjuk kepada penjualan seragam sekolah dasar ukuran M, dan garis berwarna hijau menunjukkan penjualan seragam ukuran L. Dapat dilihat bahwa data dipengaruhi oleh perilaku musiman dengan pola kenaikan dan penurunan yang berulang setiap tahunnya. Lonjakan kenaikan paling tinggi terjadi pada bulan Juli setiap tahun, dimana bulan Juli merupakan musim tahun ajaran baru dimulai, sehingga kebutuhan akan seragam sekolah akan meningkat tajam. Dari hal tersebut dapat disimpulkan bahwa penjualan seragam sekolah dasar dipengaruhi oleh faktor musiman.

3.3Analisis Sistem

Proses prediksi permintaan barang musiman menggunakan metode Holt-Winters ini dapat dilakukan apabila terdapat sekumpulan data time series tertentu selama beberapa periode, konstanta-konstanta prediksi dan panjang musiman untuk menghasilkan suatu nilai prediksi untuk periode berikutnya.

Sistem prediksi permintaan barang musiman menggunakan metode Holt-Winters ini merupakan suatu sistem yang akan memberikan hasil prediksi jumlah permintaan barang berdasarkan data runtun waktu di masa lalu. Sistem akan menerima masukan berupa data penjualan barang musiman perbulan. Kemudian data tersebut dihitung dengan metode Holt-Winters untuk mendapatkan hasil prediksi. Adapun gambaran algoritma metode Holt-Winters dapat dilihat pada Gambar 3.2.


(45)

Mulai

Input data penjualan seragam

sekolah

Menset nilai bobot α,β, dan γ

Penghitungan data

stationer.

Menghitung kesalahan prediksi (MAPE)

Selesai

Proses prediksi periode berikutnya Penghitungan data

trend.

Penghitungan data

musiman.

Nilai hasil prediksi

Kombinasi nilai α,β, dan γ

menghasilkan nilai terkecil?

F

Output nilai prediksi untuk bulan-bulan

berikutnya

Inisialisasi nilai stationer, trend, dan musiman

pertama. Data >= 24 periode

(2 tahun) ?

F

T

Penentuan panjang periode

p peramalan

Gambar 3.2 Algoritma Holt-Winters Pada Sistem

Adapun cara kerja sistem prediksi permintaan barang musiman yang akan dibangun, dirancang untuk beroperasi sebagai berikut:

1. Input data penjualan seragam sekolah dasar yang akan diprediksi. Data dipilih berdasarkan ukuran yang dikelompokkan dalam bulan.


(46)

2. Sistem akan memastikan data yang akan diprediksi lebih besar atau sama dengan 24 periode atau data untuk dua tahun penjualan. Jika data yang dimasukkan tidak memenuhi syarat, maka sistem akan kembali ke langkah (1).

3. Dengan menggunakan data penjualan yang sudah dipilih, inisialisasi nilai stationer (SL), trend (TL) dan musiman (IL) awal.

4. Nilai stationer awal (SL) dapat ditentukan dengan dua cara yaitu, dengan

menyamakan dengan nilai aktualnya atau dengan mencari rata-rata dari beberapa nilai pada periode musim yang sama dengan menggunakan persamaan (2.15)

5. Nilai trend awal TL dicari dengan menggunakan persamaan (2.16).

6. Untuk nilai inisial musim (IL), pada satu periode musim pertama dilakukan

dengan membagi setiap data pengamatan (X) dengan rata-rata pengamatan pada periode musim tersebut menggunakan persamaan (2.17)

7. Menentukan nilai alpha (α), beta ( ), dan gamma ( ) dimana masing-masing

range berada antara 0 – 1.

8. Menghitung nilai stationer untuk t (periode) berikutnya dengan rumus pada persamaan (2.11).

9. Setelah mendapatkan nilai stationer (St), maka hitung nilai trend untuk t (periode) yang samadengan rumus pada persamaan (2.12).

10.Menghitung nilai musiman untuk masing I pada t (periode) yang samadengan rumus pada persamaan (2.13).

11.Setelah mendapatkan nilai dari ketiga persamaan tersebut, hitung nilai prediksi untuk t (periode) yang sama dengan menggunakan persamaan (2.14). Dengan menset nilai m = 1, yakni 1 periode kedepan.


(47)

12.Ulangi langkah (8), (9), (10), dan (11) hingga diperoleh nilai untuk stationer, trend, musiman dan prediksi keseluruhan periode yaitu untuk hingga t (periode) terakhir.

13.Menghitung nilai kesalahan prediksi dengan MAPE, dan MAE menggunakan persamaan (2.1) dan (2.3).

14.Sistem akan menyimpan nilai dari hasil kesalahan prediksi kemudian mengulangi proses kembali ke langkah (7) untuk mencari nilai kombinasi

alpha (α), beta ( ), dan gamma ( ) lainnya, kemudian membandingkan nilai hasil kesalahan prediksinya hingga mendapatkan nilai kesalahan yang terkecil.

15.Setelah mendapatkan nilai kombinasi alpha (α), beta ( ), dan gamma ( ) yang menghasilkan nilai kesalahan terkecil, tentukan panjang periode prediksi p. Dengan kembali menggunakan persamaan (2.11), set nilai m = 1, untuk mencari nilai prediksi 1 periode berikut atau 1 bulan berikutnya. Misalkan untuk 1 tahun kedepan atau sama dengan 12 periode kedepan maka set nilai m dengan m = 1, m = 2 , dan m = 3 dan seterusnya hingga m = 12. Gunakan nilai stationer, trend dan musiman terakhir untuk melakukan prediksi ini.

16.Tampilkan nilai-nilai prediksi untuk periode yang dicari.

3.4Perancangan Sistem

Pada tahap perancangan sistem akan dilakukan perancangan bagaimana data penjualan seragam sekolah diproses di dalam sistem dan dilakukan juga perancangan tentang antarmuka sistem yang akan dibangun.

3.4.1 Use case diagram

Use case diagram adalah sebuah spesifikasi urutan tindakan pada sebuah sistem. Use case mendeskripsikan interaksi antara para pengguna sistem dengan sistem itu sendiri,


(48)

dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. (Fowler, 2005).

Use case yang sederhana hanya melibatkan satu interaksi/hubungan dengan seorang aktor, sementara use case yang lebih kompleks melibatkan lebih dari satu aktor. Untuk menjabarkan use case dalam sistem, sangat baik bila dimulai dengan memperhatikan aktor dan actions/aksi yang mereka lakukan dalam sistem. Gambar 3.3 menggambarkan use case diagram dari sistem yang akan dibuat.

Gambar 3.3 Use case Diagram Sistem

3.4.2Use case spesifikasi

Use case spesifikasi merupakan deskripsi yang mencatat mengenai detil pemrosesan dari suatu use case.

Use case spesifikasi untuk sistem yang akan dibangun dapat dilihat pada Tabel 3.2, Tabel 3.3, Tabel 3.4, Tabel 3.5 dan Tabel 3.6. Tabel use case spesifikasi untuk skenario Pengguna dari sistem prediksi permintaan barang musiman yang dibangun dapat dilihat pada Tabel 3.2.


(49)

Tabel 3.2 Use case Specification untuk Use case Pengguna

Tipe Use case Penjelasan

Nama use case Pengguna

Aktor User

Deskripsi Use case ini digunakan oleh user untuk mengatur data pengguna.

Pre condition User harus memiliki username dan password untuk masuk ke sistem.

Characteristic of activation Eksekusi dapat dilakukan oleh User. Basic flow 1. User mengklik menu data pengguna.

2. Sistem menampilkan data pengguna.

3. User dapat mencari, menambah, mengedit, dan menghapus data pengguna. [H-1: Pengguna tidak ada di database]

4. Jika pengguna ada di database, maka akan muncul tampilan data pengguna.

5. Use case ini berakhir ketika sistem telah selesai menampilkan semua data pengguna.

Alternative flow H-1: Data Pengguna tidak ada di database

Sistem akan memberikan pesan bahwa data pengguna tidak tersedia di database.

Post condition Pada use case ini user dapat melakukan pencarian, menambah, mengedit, dan menghapus data pengguna.

Limitations -

Scenariouse case Data Penjualan dapat dilihat pada Tabel 3.3.

Tabel 3.3 Use case Specification untuk Use case Data Penjualan

Tipe Use case Penjelasan

Nama use case Data Penjualan

Aktor User

Deskripsi Use case ini digunakan oleh user untuk melihat data penjualan seragam.

Pre condition User harus memiliki username dan password untuk masuk ke sistem.

Characteristic of activation Eksekusi dilakukan oleh User.

Basic flow 1. User mengklik menu data penjualan.


(50)

Tabel 3.3 Use case Specification untuk Use case Data Penjualan(Lanjutan)

3. User dapat memilih data penjualan untuk ditampilkan berdasarkan periode dan ukuran. 4. Sistem menampilkan data penjualan dan grafik

berdasarkan pilihan User.

Alternative flow H-1: Data penjualan tidak ada di database

Sistem akan memberikan pesan bahwa data penjualan tidak tersedia di database.

Post condition Pada use case ini user dapat melakukan pencarian, menambah, mengedit, dan menghapus data penjualan.

Limitations -

Scenariouse case Input Penjualan dapat dilihat pada Tabel 3.4.

Tabel 3.4 Use case Specification untuk Use case Input Penjualan

Tipe Use case Penjelasan

Nama use case Input Penjualan

Aktor User

Deskripsi Use case ini digunakan oleh user untuk menginput data penjualan.

Pre condition User harus memiliki username dan password untuk masuk ke sistem.

Characteristic of activation Eksekusi dapat dilakukan oleh User. Basic flow User mengklik menu Form Penjualan.

Sistem menampilkan Form penjualan.

User dapat menambah, mengedit, dan menghapus data penjualan dan melihat total data penjualan. Use case ini berakhir ketika sistem telah selesai menampilkan semua data penjualan.

Alternative flow -

Post condition Pada use case ini user dapat melihat semua data penjualan sesuai periode yang dimasukkan user.


(51)

Scenariouse case Prediksi dapat dilihat pada Tabel 3.5.

Tabel 3.5 Use case Specification untuk Use case Prediksi

Tipe Use case Penjelasan

Nama use case Prediksi

Aktor User

Deskripsi Use case ini digunakan oleh user untuk melihat prediksi penjualan barang musiman yaitu seragam sekolah.

Pre condition User harus memiliki username dan password untuk masuk ke sistem

Characteristic of activation Eksekusi dapat dilakukan oleh User

Basic flow

1. User mengklik menu prediksi.

2. Sistem menampilkan halaman prediksi penjualan.

3. User memilih ingin mengambil data dari database atau dari file dokumen lain.

4. Lalu user memilih ingin melihat prediksi pada periode keberapa juga ukurannya.

5. User memilih bulan dan tahun yang ingin diprediksi.

6. User memilih ingin melakukan prediksi dengan metode Holt-Winters multiplikatif atau additif. 7. Sistem menampilkan hasil prediksi penjualan

seragam sekolah dasar.

8. User dapat memilih untuk menyimpan hasil proses prediksi atau tidak.

9. Use case ini berakhir ketika sistem telah selesai menampilkan hasil prediksi penjualan seragam sekolah dasar juga grafik dan persentase kesalahan prediksi.

Alternative flow User dapat memilih melakukan prediksi dengan menggunakan data dari luar database.

Post condition Pada use case ini user dapat melakukan prediksi penjualan seragam sekolah dasar.


(52)

Scenariouse caseHistory dapat dilihat pada Tabel 3.6.

Tabel 3.6 Use case Specification untuk Use caseHistory

Tipe Use case Penjelasan

Nama use case History

Aktor User

Deskripsi Use case ini digunakan oleh user untuk melihat data hasil dari proses prediksi yang sudah pernah dilakukan sebelumnya.

Pre condition User harus memiliki username dan password untuk masuk ke sistem

Characteristic of activation Eksekusi dapat dilakukan oleh User Basic flow 1. User mengklik menu history.

2. Sistem menampilkan seluruh data hasil proses prediksi yang sudah pernah dilakukan sebelumnya.

3. User memilih memilih salah satu dari data yang ditampilkan untuk melihat detailnya.

4. Sistem akan menampilkan seluruh detail dari data hasil prediksi yang dipilih beserta dengan grafik dan persentase kesalahannya.

5. Use case ini berakhir ketika sistem telah selesai menampilkan hasil proses prediksi yang sudah pernah dilakukan juga grafik dan persentase kesalahan prediksi.

Alternative flow -

Post condition Pada use case ini user dapat melihat seluruh hasil dari proses prediksi yang sudah pernah dilakukan sebelumnya.

3.4.3Diagram Aktivitas

Diagram aktifitas (activity diagram) adalah kumpulan dari aktifitas dan transisi yang menghasilkan sebuah kegiatan. Activity diagram merupakan sebuah tipe dari diagram workflow yang menggambarkan tentang aktivitas dari pengguna ketika melakukan setiap kegiatan. Berikut ini adalah diagram aktivitas untuk sistem yang akan dibangun.


(53)

Pilih Data Pengguna

Pengguna Sistem

Menampilkan semua data pengguna

Melakukan aktivitas pada data

Menambah data

Mengubah data

Menghapus data tambah

ubah

hapus

Menambah data baru ke database

Mengubah data di database

Menghapus data dari database

Gambar 3.4 Diagram Aktivitas untuk Pengaturan Data Pengguna

Pada Gambar 3.4 user dapat melakukan pengaturan data pengguna, yang dilakukan dengan memilih menu data pengguna.Sistem akan menampilkan semua data pengguna yang ada di database. User dapat menambah, mengubah, dan menghapus data. Kemudian sistem akan memproses aktivitas dipilih.

Pada Gambar 3.5 jika pengguna ingin melihat data penjualan, dapat dilakukan dengan memilih menu data penjualan. Sistem akan menampilkan data penjualan yang ada di database. Untuk mencari data tertentu, pengguna dapat melakukan pencarian dengan mengisikan form pencarian. Sistem akan mencari data penjualan sesuai dengan yang diinginkan.

Pilih Data Penjualan

Pengguna Sistem

Menampilkan semua data penjualan

Mencari data penjualan

Menampilkan data penjualan yang telah difilter


(1)

Exit Sub End If

OpenDB(txtFile.Text)

DataGridView1.Rows.Clear() DataGridView2.Rows.Clear()

'jika textbox alpha kosong maka nilai random dari 0-1 If Len(Trim(TextBox4.Text)) <= 0 Then

alpha = Math.Round(Rnd(0.99), 2) Else

alpha = TextBox4.Text End If

'jika textbox beta kosong maka nilai random dari 0-1 If Len(Trim(TextBox5.Text)) <= 0 Then

beta = Math.Round(Rnd(0.99), 2) Else

beta = TextBox5.Text End If

'jika textbox gamma kosong maka nilai random dari 0-1 If Len(Trim(TextBox6.Text)) <= 0 Then

gamma = Math.Round(Rnd(0.99), 2) Else

gamma = TextBox6.Text End If

TextBox4.Text = alpha TextBox5.Text = beta TextBox6.Text = gamma Dim tmpjlh As Integer = 0 Dim thn As Integer

'select total jumlah penjualan per ukuran & periode yang sudah di pilih

tblMerk = ExeQuery("select * from [Sheet1$]") Dim j_index As Integer = tblMerk.Rows.Count Dim index As Integer = j_index + 12

'set tahun dari periode data yang sudah ada dalam database tblMerk = ExeQuery("select tahun,ukuran from [Sheet1$]") thn = tblMerk.Rows(tblMerk.Rows.Count - 1).Item("tahun") ukrn = tblMerk.Rows(tblMerk.Rows.Count - 1).Item("ukuran") Dim thn2 As Integer = tblMerk.Rows(0).Item("tahun")

tblMerk = ExeQuery("select sum(jumlah) as jlh from [Sheet1$] where tahun = " & thn2)

'nilai awal Sl Dim Sl As Double =

Math.Round(CInt(tblMerk.Rows(0).Item("jlh")) / 12, 2) Dim T As Double = 0


(2)

tblMerk = ExeQuery("Select jumlah,bulan, tahun from [Sheet1$] ")

Tt(11) = 0

Dim sum_e As Double = 0 Dim sum_e_p As Double = 0 Dim N As Integer = 0 'initial chart

Chart1.Series.Clear()

'tambahkan series di chart untuk forecast dan data penjualan (nilai aktual)

Chart1.Series.Add("Forecast")

Chart1.Series.Add("Data Penjualan") 'type chart Line

Chart1.Series(0).ChartType =

DataVisualization.Charting.SeriesChartType.Line Chart1.Series(1).ChartType =

DataVisualization.Charting.SeriesChartType.Line Chart1.ChartAreas(0).AxisX.Interval = 1 Chart1.ChartAreas(0).AxisY.LineWidth = 3 Chart1.ChartAreas(0).AxisX.LineWidth = 3 Chart1.ChartAreas(0).AxisX2.LineWidth = 3

Chart1.ChartAreas(0).AxisX.IsStartedFromZero = True 'telusuri data periode yang sudah ada dalam database For i = 0 To tblMerk.Rows.Count - 1

'total penjualan dalam periode

tmpjlh = tblMerk.Rows(i).Item("jumlah") '12 periode pertama januari - desember If i < 12 Then

'hitung nilai T

T += (CInt(tblMerk.Rows(i + 12).Item("jumlah")) - tmpjlh) / 12

'hitung I untuk periode pertama It(i) = Math.Round(tmpjlh / Sl, 2)

'jika posisi berada dalam periode ke 12 pertama If i = 11 Then

'hitung nilai T & S

Tt(i) = Math.Round(T / 12, 2) St(i) = tmpjlh

End If Else

'12 periode berikutnya

'hitung nilai S, T, I, F (periode 12 berikutnya dari data yang sudah ada)

St(i) = Math.Round(alpha * (tmpjlh / It(i - 12)) + (1 - alpha) * (St(i - 1) + Tt(i - 1)), 2)

Tt(i) = Math.Round(beta * (St(i) - St(i - 1)) + (1 - beta) * Tt(i - 1), 2)

It(i) = Math.Round(gamma * (tmpjlh / St(i)) + (1 - gamma) * It(i - 12), 2)

Ft(i) = Math.Round((St(i) + Tt(i)) * It(i - 12), 2) 'hitung nilai error (e)

Et(i) = Math.Round(tmpjlh - Ft(i), 2) 'abs


(3)

abse(i) = Math.Abs(Et(i))

abse_xt(i) = Math.Round(abse(i) / tmpjlh, 2) sum_e += abse(i)

sum_e_p += abse_xt(i) N += 1

End If

'tampilkan data dari perhitungan ke GridView

DataGridView2.Rows.Add(tblMerk.Rows(i).Item("bulan") & ", " & tblMerk.Rows(i).Item("tahun"), ukrn, tmpjlh, St(i), Tt(i), It(i), Ft(i), Et(i), abse_xt(i), abse(i))

'tampilkan dalam chart (forecast & nilai aktual)

Chart1.Series(0).Points.AddXY(tblMerk.Rows(i).Item("bulan") & ", " & tblMerk.Rows(i).Item("tahun"), Ft(i))

Chart1.Series(1).Points.AddXY(tblMerk.Rows(i).Item("bulan") & ", " & tblMerk.Rows(i).Item("tahun"), tmpjlh)

Next

'hitung MAE & MAPE

MAE = Math.Round(sum_e / N, 2) MAPE = Math.Round(sum_e_p / N, 2) TextBox1.Text = (MAPE * 100) & "%" TextBox3.Text = MAE

j_index = j_index - 1 Dim m As Integer = 1

Dim yr As Integer = thn + 1 Dim bln As Integer

'Hitung periode akhir / periode yang akan diprediksi

'lakukan perulangan berdasarkan prediksi periode yang dipilih For i = 1 To 12

'hitung nilai forecase index j + m

Ft(j_index + m) = Math.Round((St(j_index) + Tt(j_index) * m) * It(j_index - 12 + m), 2)

If i Mod 12 = 0 Then bln = 12

Else

bln = i Mod 12 End If

'tampilkan forecast dalam gridview

DataGridView2.Rows.Add(CDate(bln & "/01/" &

yr).ToString("MMMM, yyyy"), ukrn, " ", " ", " ", " ", Ft(j_index + m), " ", " ", " ")

DataGridView1.Rows.Add(CDate(bln & "/01/" &

yr).ToString("MMMM, yyyy"), ukrn, Math.Round(Ft(j_index + m), 0)) 'tampilkan dalam chart

Chart1.Series(0).Points.AddXY(CDate(bln & "/01/" & yr).ToString("MMMM, yyyy"), Ft(j_index + m))

Chart1.Series(1).Points.AddXY(CDate(bln & "/01/" & yr).ToString("MMMM, yyyy"), 0)


(4)

If i Mod 12 = 0 Then yr += 1

End If

'nilai m bertambah berdasar perulangan m += 1

Next End Sub

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click

If DataGridView1.RowCount <= 0 Then Exit Sub

End If

If MessageBox.Show("Apakah anda yakin akan menyimpan data prediksi ini ?", "Simpan", MessageBoxButtons.YesNo,

MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then Exit Sub

End If

Dim ID As String = Now.Day & "." & Now.Month & "." & Now.Year & "." & Now.Hour & "." & Now.Minute & "." & Now.Second

For i = 0 To DataGridView1.RowCount - 1

ExecuteNonQuery("INSERT INTO tbl_prediksi VALUES('" & ID & "','" & CDate(DataGridView1.Rows(i).Cells(0).Value) & "','" & DataGridView1.Rows(i).Cells(1).Value & "'," &

DataGridView1.Rows(i).Cells(2).Value & ",'" & Now & "'," & (MAPE * 100) & "," & MAE & ")")

Next

MessageBox.Show("Data berhasil disimpan !", "", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub End Class

6.

Form History

Imports Microsoft.VisualBasic Imports System.Data.Sql

Imports System.Data.SqlClient Public Class FrmHistory

Sub Data_Record()

DatatoTable(Me.DataGridView1, "select distinct id as ID,

tanggal as Tanggal, year(periode) as Periode,mape as MAPE, mae as MAE from tbl_prediksi")

DataGridView1.Columns("Tanggal").DefaultCellStyle.Format = "dd MMMM,yyyy"

DataGridView1.Columns("MAPE").DefaultCellStyle.Format = "#" End Sub

Dim tblMerk As DataTable

Private Sub FrmHistory_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Data_Record() End Sub


(5)

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

If DataGridView1.RowCount <= 0 Then Exit Sub

End If

DataGridView2.Rows.Clear()

tblMerk = ExecuteQuery("select * from tbl_prediksi where id = '" & DataGridView1.CurrentRow.Cells(0).Value & "'")

Chart1.Series.Clear()

Chart1.Series.Add("Prediksi") Chart1.Series(0).ChartType =

DataVisualization.Charting.SeriesChartType.Line Chart1.ChartAreas(0).AxisX.Interval = 1

Chart1.ChartAreas(0).AxisX.IsStartedFromZero = True For i = 0 To tblMerk.Rows.Count - 1

With tblMerk.Rows(i)

DataGridView2.Rows.Add(CDate(.Item("periode")).ToString("MMMM, yyyy"), .Item("ukuran"), .Item("jumlah"))

Chart1.Series(0).Points.AddXY(CDate(.Item("periode")).ToString("MMMM, yyyy"), .Item("jumlah"))

End With Next

End Sub End Class

7.

Class Koneksi

Imports Microsoft.VisualBasic Imports System.Data.Sql

Imports System.Data.SqlClient Module ClsKoneksi

Private tblPengguna = New DataTable Private SQL As String

Private Cn As SqlClient.SqlConnection Private Cmd As SqlClient.SqlCommand Private Da As SqlClient.SqlDataAdapter Private Ds As DataSet

Private Dt As DataTable

Public sizes() As String = {"S", "M", "L"} Public Function OpenConn() As Boolean Cn = New SqlClient.SqlConnection("Data

Source=RUU\KOMPUTER;Initial Catalog=dbwinter;Integrated Security=True")

Cn.Open()

If Cn.State <> ConnectionState.Open Then Return False


(6)

Return True End If

End Function

Public Sub CloseConn()

If Not IsNothing(Cn) Then Cn.Close()

Cn = Nothing End If

End Sub

Public Function ExecuteQuery(ByVal Query As String) As DataTable If Not OpenConn() Then

MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed")

Return Nothing Exit Function End If

Cmd = New SqlClient.SqlCommand(Query, Cn) Da = New SqlClient.SqlDataAdapter

Da.SelectCommand = Cmd Ds = New Data.DataSet Da.Fill(Ds)

Dt = Ds.Tables(0) Return Dt

Dt = Nothing Ds = Nothing Da = Nothing Cmd = Nothing CloseConn() End Function

Public Sub ExecuteNonQuery(ByVal Query As String) If Not OpenConn() Then

MsgBox("Koneksi Gagal..!!", MsgBoxStyle.Critical, "Access Failed..!!")

Exit Sub End If

Cmd = New SqlClient.SqlCommand Cmd.Connection = Cn

Cmd.CommandType = CommandType.Text Cmd.CommandText = Query

Cmd.ExecuteNonQuery() Cmd = Nothing

CloseConn() End Sub

Public Sub DatatoTable(ByVal dgv As DataGridView, ByVal query As String)

dgv.DataSource = Nothing

dgv.DataSource = ExecuteQuery(query) dgv.AllowUserToAddRows = False

dgv.AllowUserToDeleteRows = False End Sub