Post on 08-Nov-2021
PERAMALAN PERMINTAAN ROTI KELAPA MENGGUNAKAN
METODE WEIGHT MOVING AVERAGE PADA
PABRIK ROTI GEDANGAN
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Untuk Menyelesaikan Pendidikan Strata Satu (S-1)
Program Studi Sistem Informasi
Disusun Oleh:
RISMAWATI
16.22.0200
Sekolah Tinggi Manajemen Informatika dan Komputer Royal
STMIK ROYAL KISARAN
2020
HALAMAN PERSEMBAHAN
Yang utama dari segalanya...
Sujud beserta syukur Kepada ALLAH SWT karena dengan izin-Nya saya
mampu Menyelesaikan Laporan Skripsi saya. Sholawat dan salam selalu
terlimpahkan atas kehadirat Rasulullah Muhammad SAW...
Kupersembahkan karya sederhana ini kepada semua orang yang sangat
kusayangi dan kucintai.
Mamak dan Ayak Tercinta...
Sebagai tanda bukti, hormat dan rasa terima kasih yang tiada terhingga risma
persembahkan laporan skripsi ini untuk mamak dan ayak yang telah
melahirkan dan membesarkan risma dengan penuh kasih sayang dan cinta,
serta doa yang tiada hentinya. Dukungan dari mamak dan ayak yang mampu
menguatkan risma sampai sekarang ini, semoga ini menjadi langkah awal
untuk membuat mamak dan ayah bangga serta bahagia. Aamiin Yarobbal
Alamin....
Dosen Pembimbing Tugas Akhirku...
Untuk Ibu Nurwati, M.Kom dan Ibu Uswatun Hasanah, S.Sy, M.HI selaku
dosen pembimbing tugas akhir saya, terima kasih banyak bu..., sudah banyak
membantu selama ini, sudah menasehati, sudah diajari, saya tidak akan lupa
atas bantuan dan kesabaran dari ibu...
Seluruh Dosen STMIK Royal Kisaran...
Terima kasih telah membagi ilmunya kepada kami, semoga ilmunya berkah
untuk kami semua, dan bisa kami terapkan di dunia kerja nantinya kelak...
Teman-teman SI-8F Tersayang...
Suka duka kita lalui bersama dari awal masuk perkuliahan sampai sekarang.
Terima kasih sudah sama-sama berjuang dan saling mendukung satu sama
lain. Untuk lia,tika,ria,putri,kak desi, ella,lisa, ayu,veby,dea terima kasih
sudah menjadi teman yang baik, selalu mensuportku. Semoga ilmu yang kita
dapat berkah aamiin...
~Rismawati~
ABSTRAK
PERAMALAN PERMINTAAN ROTI KELAPA MENGGUNAKAN
METODE WEIGHT MOVING AVERAGE PADA PABRIK ROTI
GEDANGAN
Oeh : Rismawati (16.22.0200)
Pabrik Roti Gedangan merupakan usaha yang bergerak dibidang produksi roti
salah satunya roti kelapa yang berada di Kota Kisaran. Berdasarkan data yang
diperoleh peneliti Pabrik Roti Gedangan dalam proses produksinya dihadapkan
pada ketidakpastian permintaan akan roti kelapa yang mengakibatkan jumlah roti
kelapa yang diproduksi pun tidak pasti jumlahnya. Selama ini jumlah roti kelapa
yang akan diproduksi mengandalkan intuisi dan pengamalan dari bagian produksi
Pabrik Roti Gedangan. Hal inilah yang menyebabkan Pabrik Roti Gedangan
mengalami kesulitan dalam memperkirakan tingkat kebutuhan permintaan roti
kelapa. Oleh karena itu dibutuhkan sistem peramalan produksi roti kelapa yang
memudahkan pihak Pabrik Roti Gedangan menentukan jumlah produksi roti
kelapa agar mampu memenuhi kebutuhan permintaan konsumen. Adapun metode
peramalan yang digunakan yaitu Weight Moving Average yang merupakan
metode peramalan dengan hasil rata-rata bergerak yang memiliki nilai dan bobot,
nilai dari bobot ini dapat berupa apa saja sesuai panjang periode per 3 bulan yang
ditetapkan dengan ketentuan nilai bobot untuk harga yang terbaru adalah lebih
besar dari pada nilai bobot untuk harga sebelumnya dan bahasa Pemrograman
yang digunakan adalah Visual Basic Net 2010 dan databasenya MySQL.
Kata Kunci : Peramalan, Permintaan, Weight Moving Average, dan Pabrik
Roti Gedangan.
ABSTRACT
FORECASTING DEMAND OF COCONUT BREAD USING WEIGHT
MOVING AVERAGE METHOD IN GEDANGAN BREAD FACTORY
By : Rismawati (16.22.0200)
Pabrik Roti Gedangan is a business engaged in the production of bread, one of
which is coconut bread in the Kisaran City. Based on the data obtained by the
authors of the Pabrik Roti Gedangan in its production process, it is faced with an
uncertain demand for coconut bread which result in an uncertain amount of
coconut bread produced. So far, the amount of coconut bread that will be
produced depends on the intuition and practice of the production of the Pabrik
Roti Gedangan. This has caused the Pabrik Roti Gedangan to have difficulty in
estimating the level of demand for coconut bread. Therefore we need a coconut
bread production forecasting system that makes it easy for the Pabrik Roti
Gedangan to determine the amount of coconut bread production in order to be
able to meet the needs of consumer demand. The forecasting method used is the
Weight Moving Average which is a forecasting method with the results of Weight
Moving Average that have a value, the value and weight can be anything
according to the length of the period 3 months determined by the provisions of the
weight value for the latest price is more greater than the weight value for the
previous price and the programming language used is Visual Basic Net 2010 and
the MySQL database.
Keywords: Forecasting Demand, Weight Moving Average, Pabrik Roti
Gedangan.
KATA PENGANTAR
Puji Syukur kepada Allah SWT yang telah memberikan rahmat dan
hidayah-Nya kepada penulis, sehingga penulis dapat menyelesaikan skripsi ini.
Skripsi yang berjudul “Peramalan Permintaan Roti Kelapa Menggunakan
Metode Weight Moving Average Pada Pabrik Roti Gedangan” ini
dimaksudkan adalah sebagai syarat untuk menyelesaikan pendidikan program
Strata Satu (SI) STMIK Royal Kisaran.
Dalam proses pembuatan skripsi ini, penulis telah mendapatkan
bimbingan, nasehat, doa dan materi dari berbagai pihak, maka penulis
mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Bapak Anda Putra Lubis, SE, M.MA selaku Ketua Yayasan Pendidikan
Royal Teladan Asahan;
2. Ibu Wan Mariatul Kifti, M.M selaku Plt Ketua STMIK Royal Kisaran dan
Wakil Ketua 2 STMIK Royal Kisaran;
3. Ibu Rizky Fauziah, S.Sos., M.I.Kom., M.Kom selaku Wakil Ketua 1 STMIK
Royal Kisaran;
4. Bapak Sudarmin M.Kom selaku Wakil Ketua 3 STMIK Royal Kisaran;
5. Bapak William Ramdhan, S.Kom, M.Kom selaku Kepala Prodi Sistem
Informasi STMIK Royal Kisaran;
6. Ibu Nurwati, M.Kom selaku Dosen Pembimbing 1, yang telah banyak
membantu dalam proses penyelesaian skripsi;
7. Ibu Uswatun Hasanah, S.Sy, M.HI selaku dosen pembimbing II yang telah
banyak membantu dalam penulisan dan memberikan banyak masukan.
8. Pimpinan dan seluruh karyawan Pabrik Roti Gedangan yang banyak
membantu dalam riset;
9. Pimpinan dan seluruh karyawan Pabrik Roti Gedangan yang banyak
membantu dalam riset;
10. Seluruh Dosen dan Staff Kependidikan STMIK Royal yang telah banyak
membantu kelancaran perkuliahan penulis.
Dalam penyusunan skripsi ini penulis menyadari sepenuhnya bahwa masih
jauh dari kesempurnaan, oleh karena itu segala kritik dan saran yang bersifat
membangun sangat penulis harapkan demi kesempurnaan skripsi ini dan
membantu ilmu pengetahuan penulis.
Kisaran, September 2020
Penulis
Rismawati
NIM : 16.22.0200
DAFTAR ISI
Halaman
HALAMAN JUDUL .............................................................................. i
HALAMAN PERSETUJUAN ............................................................... ii
HALAMAN PENGESAHAN ................................................................ iii
HALAMAN KEASLIAN ....................................................................... iv
HALAMAN PERSEMBAHAN ............................................................. v
ABSTRAK .............................................................................................. vi
ABSTRACT............................................................................................. vii
KATA PENGANTAR ............................................................................ viii
DAFTAR ISI .......................................................................................... x
DAFTAR GAMBAR .............................................................................. xiii
DAFTAR TABEL .................................................................................. xvi
BAB I PENDAHULUAN ....................................................................... 1
1.1 Latar Belakang Masalah ............................................................ 1
1.2 Identifikasi Masalah .................................................................. 3
1.3 Pembatasan Masalah ................................................................. 4
1.4 Perumusan Masalah .................................................................. 4
1.5 Tujuan Penelitian ...................................................................... 4
1.6 Manfaat Penelitian .................................................................... 5
1.7 Sistematika Penulisan................................................................ 6
BAB II TINJAUAN PUSTAKA ............................................................ 8
2.1 Konsep Dasar Peramalan........................................................... 8
2.1.1 Peramalan ....................................................................... 8
2.1.2 Metode Weight Moving Average ..................................... 10
2.1.3 Nilai Ukuran Kesalahan .................................................. 10
2.1.4 Permintaan ...................................................................... 12
2.1.5 Roti ................................................................................ 14
2.1.6 Pemodelan Menggunakan Flowchart .............................. 15
2.1.7 Perangkat Lunak yang Digunakan ................................... 20
2.2 Tinjauan Penelitian ................................................................... 24
2.3 Kerangka Pemikiran .................................................................. 25
2.4 Tinjauan Umum Perusahaan ...................................................... 26
2.4.1 Pabrik Roti Gedangan........................................................ 26
2.4.2 Struktur Organisasi Pabrik Roti Gedangan......................... 27
2.5 Hipotesis .................................................................................... 29
BAB III METODOLOGI PENELITIAN ............................................. 30
3.1 Kerangka Kerja Penelitian ......................................................... 30
3.2 Metode Penelitian ..................................................................... 32
3.3 Teknik Pengumpulan Data ........................................................ 32
3.4 Waktu dan Tempat Penelitian ................................................... 33
BAB IV ANALISIS DAN PERANCANGAN ........................................ 35
4.1 Analisis Sistem ........................................................................ 35
4.1.1 Analisis Masalah ............................................................. 37
4.1.2 Analisis Kebutuhan Sistem .............................................. 37
4.1.3 Analisis Data ................................................................... 37
4.1.2.2 Analisis Pengguna ......................................................... 39
4.1.2.3 Analisis Perangkat Keras ............................................... 39
4.1.2.4 Analisis Perangkat Lunak .............................................. 40
4.2 Perancangan Sistem Secara Umum .......................................... 40
4.2.1 Algoritma Weight Moving Average ................................... 40
4.2.2 Analisis Sistem Baru ........................................................ 41
4.2.3 Unified Modeling Language (UML).................................. 43
4.2.4 Flowchart ......................................................................... 61
4.2.5 Perancangan Basis Data.................................................... 69
4.2.6 Perancangan Antar Muka ................................................. 71
BAB V IMPLEMENTASI DAN PENGUJIAN .................................... 79
5.1 Implementasi ................................................................................ 79
5.1.1 Implementasi Basis Data ..................................................... 79
5.1.2 Implementasi Antar Muka ................................................... 81
5.2 Pengujian ..................................................................................... 89
5.3 Kelebihan dan Kekurangan ........................................................... 91
5.3.1 Kelebihan Sistem ................................................................. 91
5.3.2 Kekurangan Sistem .............................................................. 91
BAB VI KESIMPULAN DAN SARAN................................................. 92
6.1 Kesimpulan .................................................................................. 92
6.2 Saran ............................................................................................ 93
DAFTAR PUSTAKA
DAFTAR LAMPIRAN
1. Listing Program
2. Surat Riset
3. Surat balasan Riset dari Instansi
4. Surat Penunjukan Pembimbing
5. Berita Acara
6. Daftar Riwayat Hidup
DAFTAR GAMBAR
Halaman
Gambar 2.1 Microsoft Visual Studio 2010 ................................................ 21
Gambar 2.2 Crystal Report 13.0.4 ............................................................ 22
Gambar 2.3 MySQL ................................................................................. 23
Gambar 2.4 Simbol MySQL ..................................................................... 24
Gambar 2.5 Kerangka Pemikiran ............................................................. 26
Gambar 2.6 Struktur Organisasi Pabrik Roti Gedangan ............................ 28
Gambar 3.1 Kerangka Kerja ..................................................................... 30
Gambar 4.1 Aliran Sistem Informasi lama................................................ 36
Gambar 4.2 Aliran Sistem Informasi Baru................................................ 43
Gambar 4.3 Use Case Diagram ................................................................ 44
Gambar 4.4 Class Diagram ...................................................................... 48
Gambar 4.5 Activity Diagram Login ......................................................... 49
Gambar 4.6 Activity Diagram Jenis .......................................................... 50
Gambar 4.7 Activity Diagram Periode ..................................................... 51
Gambar 4.8 Activity Diagram Nilai .......................................................... 52
Gambar 4.9 Activity Diagram Perhitungan .............................................. 53
Gambar 4.10 Activity Ubah Password ..................................................... 54
Gambar 4.11 Activity Diagram Logout .................................................... 54
Gambar 4.12 Sequense Diagram Login .................................................... 55
Gambar 4.13 Sequense Diagram Jenis ..................................................... 56
Gambar 4.14 Sequense Diagram Periode ................................................. 57
Gambar 4.15 Sequense Diagram Nilai ..................................................... 58
Gambar 4.16 Sequense Diagram Perhitungan .......................................... 59
Gambar 4.17 Sequense Diagram Ubah Password .................................... 60
Gambar 4.18 Sequense Diagram Logout .................................................. 60
Gambar 4.19 Deployment Diagram .......................................................... 61
Gambar 4.20 Flowchart Login ................................................................. 62
Gambar 4.21 Flowchart Menu Utama ...................................................... 63
Gambar 4.22 Flowchart Jenis................................................................... 64
Gambar 4.23 Flowchart Periode .............................................................. 65
Gambar 4.24 Flowchart Nilai................................................................... 66
Gambar 4.25 Flowchart Perhitungan ........................................................ 67
Gambar 4.26 Flowchart Ubah Password .................................................. 68
Gambar 4.27 Flowchart Logout ............................................................... 68
Gambar 4.28 Entity Relationship Diagram ............................................... 69
Gambar 4.29 Form Login ......................................................................... 72
Gambar 4.30 Halaman Utama .................................................................. 72
Gambar 4.31 Form Jenis .......................................................................... 73
Gambar 4.32 Form Tambah Jenis ............................................................ 74
Gambar 4.33 Form Periode ...................................................................... 74
Gambar 4.34 Form Tambah Periode ........................................................ 75
Gambar 4.35 Form Nilai .......................................................................... 76
Gambar 4.36 Form Perhitungan ............................................................... 76
Gambar 4.36 Cetak Hasil Perhitungan ...................................................... 77
Gambar 4.36 Form Password ................................................................... 78
Gambar 5.1 Tampilan Tabel Database ..................................................... 79
Gambar 5.2 Tampilan Tabel Jenis ............................................................ 80
Gambar 5.3 Tampilan Tabel Nilai ............................................................ 80
Gambar 5.4 Tampilan Tabel Periode ........................................................ 80
Gambar 5.5 Tampilan Tabel User ............................................................ 81
Gambar 5.6 Tampilan Form Login ........................................................... 81
Gambar 5.7 Tampilan Halaman Menu Utama .......................................... 82
Gambar 5.8 Tampilan Form Data Jenis .................................................... 83
Gambar 5.9 Tampilan Form Tambah Data Jenis ....................................... 83
Gambar 5.10 Tampilan Form Data Periode .............................................. 84
Gambar 5.11 Tampilan Form Tambah Periode ......................................... 84
Gambar 5.12 Tampilan Form Data Nilai .................................................. 85
Gambar 5.13 Tampilan Form Ubah Data Nilai ......................................... 86
Gambar 5.14 Tampilan Form Perhitungan ............................................... 86
Gambar 5.15 Tampilan Form Hitung ....................................................... 87
Gambar 5.16 Tampilan Form Cetak Perhitungan ..................................... 87
Gambar 5.2 Tampilan Form Password ..................................................... 88
Gambar 5.2 Tampilan Konfirmasi Logout ................................................ 88
DAFTAR TABEL
Halaman
Tabel 1.1 Data Produksi dan Permintaan Roti Kelapa............................. 2
Tabel 2.1 Simbol Flowchart ................................................................... 15
Tabel 2.2 Simbol Entity Relationship Diagram ..................................... 16
Tabel 2.3 Simbol Use Case Diagram .................................................... 17
Tabel 2.4 Simbol Class Diagram .......................................................... 18
Tabel 2.5 Simbol Activity Diagram ....................................................... 18
Tabel 2.6 Simbol Sequence Diagram .................................................... 19
Tabel 2.7 Simbol Deployment Diagram ................................................ 19
Tabel 3.1 Waktu Penelitian ................................................................... 34
Tabel 4.1 Data Permintaan Roti kelapa Juli 2019 – Juni 2020............... 38
Tabel 4.2 Perangkat Keras .................................................................... 39
Tabel 4.3 Perangkat Lunak .................................................................... 40
Tabel 4.4 Perhitungan Permintaan Roti Kelapa ..................................... 40
Tabel 4.5 Deskripsi Use Case Diagram ................................................. 45
Tabel 4.6 Jenis ...................................................................................... 70
Tabel 4.7 Nilai ...................................................................................... 70
Tabel 4.8 Periode .................................................................................. 71
Tabel 4.9 User ...................................................................................... 71
Tabel 5.1 Kasus Dan Hasil pengujian .................................................... 89
BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Pada era globalisasi saat ini persaingan pasar dalam dunia industri
sangat kompetitif sehingga dibutuhkan kemampuan pengelola perusahaan yang
profesional supaya dapat memenangkan persaingan dalam pasar global. Pada
bidang produksi kemampuan itu antara lain merupakan kemampuan
merencanakan atau menentukan jumlah produksi barang. Hal ini supaya dapat
memenuhi permintaan pasar dengan jumlah yang sesuai dengan memperhatikan
persediaan barang sehingga bisa mendapatkan keuntungan yang maksimal.
Keuntungan yang maksimal diperoleh dari penjualan yang maksimal.
Dimana penjualan yang maksimal artinya dapat memenuhi semua permintaan
yang ada, apabila jumlah produk yang di produksi oleh perusahaan kurang
dari permintaan maka perusahaan akan kehilangan peluang untuk
mendapatkan keuntungan yang maksimal. Sebaliknya jika perusahaan
memproduksi produk lebih banyak dari jumlah permintaan maka perusahaan
akan mengalami kerugian. Oleh sebab itu, perencanaan jumlah produksi dalam
suatu perusahaan sangatlah penting agar dapat memenuhi permintaan pasar
yang tepat dan dengan jumlah yang sesuai. penyebab yang perlu diperhatikan
dalam menentukan jumlah produksi, antara lain: jumlah persediaan dan jumlah
permintaan.
Pabrik Roti Gedangan merupakan usaha yang bergerak dibidang produksi
roti salah satunya roti kelapa yang berada di Kota Kisaran.
Tabel 1.1 Data Produksi dan Permintaan Roti Kelapa
di Pabrik Roti Gedangan
Periode (Bulan) Produksi
(Bungkus)
Permintaan
(Bungkus)
Juli 2019 52000 51000
Agustus 2019 54000 52000
September 2019 51000 49250
Oktober 2019 37700 34900
November 2019 35000 32000
Desember 2019 47000 45000
Januari 2020 49000 47000
Februari 2020 39000 36550
Maret 2020 40000 38700
April 2020 47000 45250
Mei 2020 45000 44500
Juni 2020 45000 43000 Sumber: Pabrik Roti Gedangan (2020)
Berdasarkan tabel 1.1 di atas diperoleh fakta yaitu Pabrik Roti Gedangan
dalam proses produksinya dihadapkan pada ketidakpastian permintaan akan roti
kelapa yang mengakibatkan jumlah roti kelapa yang diproduksi pun tidak pasti
jumlahnya. Selama ini jumlah roti kelapa yang akan diproduksi mengandalkan
intuisi dan pengamalan dari bagian produksi Pabrik Roti Gedangan. Hal inilah
yang menyebabkan Pabrik Roti Gedangan mengalami kesulitan dalam
memperkirakan tingkat kebutuhan permintaan roti kelapa. Oleh karena itu
dibutuhkan sistem peramalan produksi roti kelapa yang memudahkan pihak
Pabrik Roti Gedangan menentukan jumlah produksi roti kelapa agar mampu
memenuhi kebutuhan permintaan konsumen.
Peramalan merupakan masukan dasar dalam proses pengambilan
keputusan perusahaan tentang permintaan di masa mendatang menggunakan
tujuan untuk memilih berapa kapasitas atau persediaan yang dibutuhkan untuk
menciptakan keputusan staffing, budget yang wajib disiapkan, pemesanan barang
berdasarkan supplier dan partner menurut rantai pasok yang diharapkan membuat
suatu perencanaan (Ngantung dan Jan, 2019: 4850).
Metode yang digunakan dalam penelitian ini adalah Weight Moving
Average yang merupakan metode peramalan dengan hasil rata-rata bergerak yang
memiliki nilai dan bobot, nilai dari bobot ini dapat berupa apa saja sesuai panjang
periode yang ditetapkan dengan ketentuan nilai bobot untuk harga yang terbaru
adalah lebih besar dari pada nilai bobot untuk harga sebelumnya (Monalisa, dkk,
2018: 310).
Berdasarkan latar belakang masalah diatas, maka peneliti bermaksud
melakukan penelitian menggunakan bahasa pemrograman Visual Basic Net 2010
dan database MySQL. Adapun judul penelitian yang diambil adalah “Peramalan
Permintaan Roti Kelapa Menggunakan Metode Weight Moving Average pada
Pabrik Roti Gedangan”.
1.2 Identifikasi Masalah
Adapun identifikasi masalah dalam penelitan ini adalah:
1. Proses produksi di Pabrik Roti Gedangan dihadapkan pada ketidakpastian
permintaan akan roti kelapa yang mengakibatkan jumlah roti kelapa yang
diproduksi pun tidak pasti jumlahnya.
2. Pabrik Roti Gedangan belum mempunyai metode yang membantu dalam
meramalkan jumlah produksi roti kelapa dimasa yang akan datang untuk
dapat memenuhi permintaan pelanggan.
1.3 Pembatasan Masalah
Adapun batasan masalah dalam penelitian ini adalah:
1. Menggunakan metode Weight Moving Average.
2. Bahasa Pemrograman Visual Basic Net 2010.
3. Database yang digunakan MySQL.
4. Data yang digunakan adalah data permintaan roti mulai Juli 2019 sampai Juni
2020.
5. Menggunakan Moving Average per 3 bulan.
1.4 Perumusan Masalah
Adapun rumusan masalah dalam penelitian ini adalah:
1. Bagaimana peramalan permintaan roti kelapa pada Pabrik Roti Gedangan yang
akan dilakukan?
2. Bagaimana cara meenerapkan permintaan roti kelapa dengan menggunakan
metode Weight Moving Average?
3. Bagaimana merancang sistem aplikasi peramalan permintaan roti kelapa pada
Pabrik Roti Gedangan berbasis desktop?
1.5 Tujuan Penelitian
Berikut adalah tujuan dari penelitian ini :
1. Melakukan peramalan permintaan roti kelapa pada Pabrik Roti Gedangan pada
periode berikutnya berdasarkan data yang ada saat ini.
2. Menerapkan metode Weight Moving Average untuk peramalan permintaan roti
kelapa berdasarkan data yang diperoleh pada Pabrik Roti Gedangan.
3. Merancang sistem aplikasi peramalan permintaan roti kelapa pada Pabrik Roti
Gedangan dengan menggunakan metode Weight Moving Average dengan
bahasa pemrograman Visual Basic Net 2010 dan database MySQL.
1.6 Manfaat Penelitian
Berikut adalah manfaat dari penelitian ini :
1. Bagi Peneliti
Untuk meningkatkan kemampuan dan keterampilan serta menambah
pengetahuan, wawasan dan pengalaman sebagai bekal memasuki lapangan
pekerjaan sesuai dengan bidang ilmu yang ditekuni dan menerapkan ilmu yang
diperoleh selama mengikuti perkuliahan di STMIK Royal Kisaran.
2. Bagi Pabrik Roti Gedangan
Sebagai bahan acuan dalam upaya melakukan pengambilan keputusan
peramalan permintaan kelapa oleh Kepala Gudang Pabrik Roti Gedangan.
3. Bagi STMIK Royal Kisaran
Sebagai suatu bahan tambahan ilmu pengetahuan dan bahan referensi yang
bermanfaat bagi peneliti sejenis agar dapat dikembangkan untuk penelitian
selanjutnya.
1.7 Sistematika Penulisan
Adapun sistematika penulisan skripsi ini adalah:
BAB I PENDAHULUAN
Pada bab ini, berisikan sub-sub seperti latar belakang masalah, identifikasi
masalah, pembatasan masalah, perumusan masalah, tujuan penelitian, manfaat
penelitian dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Pada bab ini berisikan semua penjelasan tentang teori, dapat berupa
definisi-definisi atau model yang berkaitan dengan tema atau masalah yang
diteliti, dituliskan juga tools/software yang digunakan untuk pembuatan aplikasi.
BAB III METODOLOGI PENELITIAN
Pada bab ini menjelaskan berbagai metode yang digunakan antara lain:
analisis data dan masalah, jenis dan metode pengumpulan data, rancangan/desain
penelitian, implementasi, dan penyimpulan hasil penelitian dan lainnya yang
berhubungan dengan penelitian.
BAB IV ANALISA DAN PERANCANGAN
Pada bab ini analisa dari masalah yang terkait dengan skripsi dan
rancangan dari perangkat keras, diagram blok sistem, modul sistem, cara kerja
serta rancang bangunnya berupa schematic.
BAB V IMPLEMENTASI DAN HASIL
Pada bab ini terdiri atas spesifikasi sistem, rencana implementasi serta
hasil yang diharapkan.
BAB VI KESIMPULAN DAN SARAN
Pada bab ini terdiri atas kesimpulan yang mengemukakan secara singkat
hasil penting yang diperoleh dan menginterpretasikan sesuai dengan masalah dan
tujuan penelitian dan saran yang merupakan sumbangan pemikiran berupa
persetujuan yang diambil dari hasil analisis dan pembahasan serta hasil
kesimpulan.
BAB II
TINJAUAN PUSTAKA
2.1 Konsep Dasar Peramalan
2.1.1 Peramalan
2.1.1.1 Definisi Peramalan
Peramalan adalah gambaran kondisi perusahaan pada masa yang akan
datang. Gambaran tersebut sangat penting bagi manajemen perusahaan karena
dengan gambaran tersebut maka perusahaan dapat memprediksi tahapan apa saja
yang diambil dalam memenuhi permintaan konsumen (Muryati, 2017: 260).
Peramalan adalah manfaat bisnis yang berusaha untuk memprediksi
permintaan pasar , penjualan dan penggunaan produk sehingga produk-produk itu
dapat dibuat dalam kuantitas yang tepat. Tujuan dari peramalan adalah agar dapat
menentukan jumlah permintaan pada masa yang akan mendatang. Dengan kata
lain, peramalan adalah estimasi terhadap permintaan yang akan datang
berdasarkan data formal maupun informal (Riyanto, dkk, 2017: 39).
2.1.1.2 Peranan Peramalan
Beberapa bagian organisasi dimana peramalan kini memainkan peranan
yang penting antara lain (Ngantung dan Jan, 2019: 4861):
1. Penjadwalan sumber daya yang tersedia
Penggunaan sumber daya yang efisien dibutuhkan penjadwalan produksi,
kas, personalia, dan transportasi dan sebagainya.
2. Penyediaan sumber daya tambahan
Waktu tenggang (Lead Time) untuk memperoleh bahan baku, membeli mesin
atau menerima pekerja baru dan peralatan dapat berkisar antara beberapa hari
sampai beberapa tahun. Peramalan diperlukan agar dapat menetapkan
kebutuhan sumber daya di masa yang akan datang.
3. Penentuan sumber daya yang diinginkan
Setiap organisasi harus dapat menentukan sumber daya yang ingin dimiliki
dalam jangka panjang. Keputusan seperti itu bergantung pada kesempatan
pasar, faktor-faktor lingkungan dan pengembangan internal dari sumber daya
financial, manusia, produk dan teknologis. Dalam penentuan ini perlu
ramalan yang baik dan manajer bisa menafsirkan perkiraan serta membuat
keputusan yang tepat.
2.1.1.3 Tahapan Dasar Peramalan Permintaan
Berikut ini adalah tujuh tahap dasar dalam melakukan peramalan
permintaan menurut Nugraha dan Suletra (2017:415):
1. Menentukan penggunaan dari peramalan.
2. Menentukan horizon dari peramalan.
3. Memilih model peramalan.
4. Memilih kuantitas atau items yang akan diramalkan.
5. Mengumpulkan data yang diperlukan untuk memperoleh peramalan.
6. Melakukan peramalan.
7. Memvalidasi peramalan dan mengimplementasikan hasil peramalan.
2.1.2 Metode Weight Moving Average
Metode Weight Moving Average (WMA) adalah rata-rata bergerak yang
memiliki bobot. Nilai bobot bisa berapa saja sesuai panjang periode yang
ditetapkan dengan ketentuan nilai bobot untuk harga yang terbaru adalah lebih
besar dari pada nilai bobot untuk harga sebelumnya. Pemberian bobot yang lebih
besar pada data terbaru karena data terbaru dianggap lebih relevan sehingga lebih
responsif terhadap perubahan (Hendriani, dkk, 2016: 208).
Persamaan matematis dari metode WMA menurut Hayuningtyas (2017:
218) adalah:
WMA = (∑ (Dt * bobot)) / (∑ bobot).................................................(1)
Keterangan:
Dt = Data aktual pada periode t
Bobot = Bobot yang diberikan untuk setiap bulan
2.1.3 Nilai Ukuran Kesalahan
Nilai ukuran kesalahan dibuat untuk mengetahui ketepatan hasil
peramalan yang dilakukan. Ketepatan metode peramalan adalah kesesuaian dari
suatu metode yang pada akhirnya menunjukkan seberapa jauh model peramalan
tersebut mampu memprediksi data yang telah diketahui. Setiap metode peramalan
pasti menghasilkan kesalahan. Jika tingkat kesalahan yang dihasilkan semakin
kecil, maka hasil peramalan semakin mendekati tepat. Jika merupakan data aktual
untuk periode ke-t dan merupakan ramalan untuk periode yang sama, maka error
didefinisikan sebagai berikut:
et = X𝑡 – 𝐹𝑡...........................................................................................(2)
dimana:
X : Data aktual periode waktu ke-t
𝐹 : Ramalan periode ke-t
ke-t : Periode yang akan datang
Adapun perhitungan yang digunakan untuk nilai kuruan kesalahan dalam
peralaman (Ramadania, 2018: 331) adalah:
1. Mean Absolute Deviation (MAD)
MAD merupakan rata-rata kesalahan mutlak selama periode tertentu. Nilai
absolut berfungsi untuk menghindari nilai penyimpangan positif dan
penyimpangan negatif saling meniadakan. Secara matematis, MAD dapat
dirumuskankan sebagai berikut:
MAD = 1/n ∑ ( )𝑛
𝑡=1......................................................................(3)
dimana :
et = Error pada periode ke-t
n = Jumlah periode
2. Mean Square Error (MSE)
MSE adalah kesalahan nilai tengah kuadrat atau rata-rata kesalahan
peramalan yang dikuadratkan, semakin kecil nilai MSE maka semakin kecil
kesalahan hasil prediksi peramalan. Secara matematis, MSE dapat dirumuskankan
sebagai berikut:
MSE = 1/n ∑ ( )𝑛
𝑡=1.......................................................................(4)
dimana :
| et |
| et |2
et = Error pada periode ke-t
n = Jumlah periode
3. Mean Absolute Perentage Error (MAPE)
MAPE merupakan ukuran ketepatan relatif yang digunakan untuk
mengetahui persentase penyimpangan hasil peramalan. Semakin kecil nilai MAPE
maka semakin kecil kesalahan hasil prediksi, sebaliknya semakin besar nilai
MAPE maka semakin besar kesalahan hasil prediksi. Hasil suatu metode
peramalan memiliki kemampuan peramalan sangat baik jika nilai MAPE < 10%
dan memiliki kemampuan peramalan baik jika nilai MAPE diantara 10% dan
20%. Secara matematis, MAPE dapat dirumuskankan sebagai berikut:
MAPE = 1/n ∑ ( )𝑛
𝑡=1...........................................................(5)
dimana :
et = Error pada periode ke-t
n = Jumlah periode
2.1.4 Permintaan
Permintaan merupakan banyaknya kesatuan barang yang akan dibeli oleh
pembeli pada bermacam-macam tingkat harga dalam syarat tertentu dan jangka
waktu tertentu. Permintaan dapat dikatakan juga sebagai keinginan untuk
mendapatkan barang dan jasa yang diikuti oleh kemampuan beli (Rusdi dan
Suparta, 2016: 285).
Berikut ini adalah faktor-faktor yang mempengaruhi permintaan:
1. Harga barang itu sendiri
| et/xt | x 100%
Kenaikan harga yang menyebabkan para pembeli mencari barang lain yang d
digunakan sebagai pengganti terhadap barang yang mengalami kenaikan
harga. Sebaliknya, apabila harga turun maka orang mengurangi pembelian
terhadap barang lain yang sama jenisnya dan menambah pembelian terhadap
barang yang mengalami penurunan harga.
2. Harga barang-barang lain
Hubungan antara suatu barang dengan berbagai jenis barang lainnya bisa
dibedakan oleh tiga golongan, yaitu : barang pengganti, barang pelengkap
dan barang netral.
3. Pendapatan para pembeli
Pendapatan para pembeli merupakan faktor yang sangat penting dalam
menentukan corak permintaan terhadap berbagai barang. Perubahan
pendapatan selalu menyebabkan perubahan terhadap permintaan berbagai
jenis barang.
4. Distribusi pendapatan
Distribusi pendapatan bisa mempengaruhi corak permintaan terhadap
berbagai jenis barang. Sejumlah pendapatan masyarakat yang tertentu
besarnya akan menimbulkan corak permintaan masyarakat yang berbeda
apabila pendapatan tersebut diubah corak distribusinya.
5. Cita rasa masyarakat
Cita rasa memiliki pengaruh yang cukup besar terhadap keinginan masyarakat
untuk membeli barang-barang.
6. Jumlah penduduk
Pertambahan penduduk tidak dengan sendirinya menimbulkan pertambahan
permintaan. Tetapi biasanya pertambahan penduduk di ikuti oleh
perkembangan dalam kesempatan kerja. Dengan demikian lebih banyak orang
yang menerima pendapatan dan ini menambah daya beli dalam masyarakat.
Pertambahan daya beli ini akan menambah permintaan.
7. Ekspektasi tentang masa depan
Perubahan-perubahan yang diramalkan mengenai keadaan di masa mendatang
dapat mempengaruhi permintaan. Ramalan para konsumen bahwa harga-
harga akan menjadi bertambah tinggi pada masa depan akan mendorong
mereka untuk menghemat pengeluaran pada masa yang akan datang, untuk
membeli lebih banyak pada masa kini.
2.1.5 Roti
Roti adalah makanan yang terbuat dari tepung terigu difermentasi dengan
ragi, garam, air atau tanpa tambahan bahan lain dan dimasak dengan cara di
panggang atau di oven, ke dalamnya dapat ditambahkan bahan lain seperti gula,
lemak, susu, pengemulsi dan lainnya. (Suryatna, 2015: 18).
Menurut Jamilah dan Khaerunnisa (2019: 2) roti merupakan makanan
berbahan dasar utama tepung terigu dan air yang difermentasikan dengan ragi,
tetapi ada juga yang tidak menggunakan ragi. Namun karena semakin majunya
teknologi manusia pembuatan roti juga dapat menggunakan bahan lain seperti
garam, minyak, mentega, ataupun telur yang berfungsi sebagai pembentuk tekstur,
pemberi rasa, dan sebagai penambah protein pada produk roti.
2.1.6 Pemodelan Sistem
2.1.6.1 Flowchart
Flowchart merupakan gambaran atau bagan yang memperlihatkan urutan
dan hubungan antar proses berserta perusahaan (Heryanto dan Solikin, 2015: 19).
Berikut ini adalah simbol-simbol dari flowchart:
Tabel 2.1 Simbol Flowchart
Sumber: Rosyidi L, dkk (2019: 104)
Simbol Nama Keterangan
Terminator
Permulaan atau akhir dari program.
Garis Alir
(Flow Line)
Arah aliran program.
Preparation
Proses inisialisasi atau pemberian harga awal.
Proses
Proses perhitungan atau proses pengolahan
data.
Input / Output
Data
Proses input atau output data, parameter
maupun informasi.
Predefined
Process (Sub
Program)
Peramalan sub program atau proses
menjalankan sub program.
Decision
Perbandingan pernyataan, menyeleksi data
yang memberikan pilihan untuk langkah
selanjutnya.
One Page
Connector
Penghubung bagian-bagian flowchart yang
berada pada satu halaman.
Off Page
Connector
Penghubung bagian-bagian flowchart yang
berada pada halaman berbeda.
2.1.6.2 Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) merupakan diagram yang digunakan
untuk merancang tabel-tabel yang nantinya akan diimplementasikan pada basis
data (Sulianta, 2017: 158). Berikut ini adalah simbol-simbol dari ERD:
Tabel 2.2 Simbol Entity Relationship Diagram
Simbol Nama Keterangan
Entitas
Suatu objek yang dapat diidentifikasikan
ke dalam lingkungan pemakai.
Atribut
Mendeskripsikan karakter entitas (atribut yang
berfungsi sebagai primary key diberi garis
bawah).
Relasi
Menunjukkan adanya relasi atau hubungan
antar sejumlah entitias yang berbeda.
Garis Relasi
Sebagai penghubung antara relasi dengan
entitas, relasi dan entitias dengan atribut.
Sumber: Purwanto, dkk (2019:416)
2.1.6.3 Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah sebuah bahasa yang
berdasarkan gambar atau grafik untuk memvisualisasi, menspesifikasikan,
membangun, dan pendokumentasian dari sebuah sistem pengembangan software
berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan
sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-
kelas dalam bahasa program yang spesifik, skema database, dan komponen-
komponen yang diperlukan dalam sistem software (Suendri, 2018: 2).
nama_entitas
nama_atribut
Relasi
Adapun diagram UML yang digunakan dalam penelitian ini adalah:
1. Use Case Diagram
Use case diagram adalah diagram yang harus dibuat pertama kali saat
pemodelan perangkat lunak berorientasi objek dilakukan. Use case diagram akan
menggambarkan apa yang dikerjakan oleh aktor (Sulianta, 2017: 216). Adapun
simbol-simbol dari use case diagram adalah sebagai berikut:
Tabel 2.3 Simbol Use Case Diagram
Sumber: Sulianta (2017:217)
2. Class Diagram
Class diagram dibuat setelah use case diagram. Pada class diagram harus
menjelaskan hubungan apa saja yang terjadi antara suatu objek dengan objek
lainnya sehingga terbentuklah suatu sistem aplikasi (Sulianta, 2017: 218). Adapun
simbol-simbol dari class diagram adalah sebagai berikut:
Simbol Nama Keterangan
Aktor Merupakan pengguna dari sistem.
Penamaan aktor menggunakan kata benda.
Use Case Merupakan pekerjaan yang dilakukan oleh
aktor. Penamaan use case dengan kata kerja.
Asosiasi
Hubungan antara aktor dengan use case.
<<uses>> Include Hubungan antara use case dengan use case,
include menyatakan bahwa sebelum
pekerjaan dilakukan harus mengerjakan
pekerjaan lain terlebih dahulu.
<<extends>> Extends Hubungan antara use case dengan use case,
extend menyatakan bahwa jika pekerjaan
yang dilakukan tidak sesuai atau terdapat
kondisi khusus, maka lakukan pekerjaan itu.
Tabel 2.4 Simbol Class Diagram
Sumber: Sulianta (2017:219-220)
3. Activity Diagram
Activity diagram merupakan penggambaran proses-proses yang terjadi saat
aktifitas dimulai sampai dengan aktifitas berhenti. Activity diagram ini mirip
dengan flowchart diagram (Isnayati dan Saptari, 2017: 173). Berikut ini adalah
simbol-simbol dari activity diagram:
Tabel 2.5 Simbol Activity Diagram
Sumber: Urva dan Siregar (2015:94)
Simbol Nama Keterangan
Nama Kelas
+atribut
+operasi()
Kelas (Class) Kelas terdiri atas 3 (tiga) bagian yaitu nama
kelas, atribut kelas dan operasi kelas.
Asosiasi
(Association) Relasi antarkelas dengan makna umum,
asosia biasanya disertai dengan multiplicity.
Simbol Nama Keterangan
Status Awal
(Start Point) Diletakkan pada pojok kiri atas dan
merupakan awal aktivitas.
Status Akhir
(End Point) Merupakan akhir dari aktivitas.
Aktivitas
(Activitis) Menggambarkan suatu proses atau kegiatan
bisnis.
Percabangan
(Fork)
Digunakan untuk menunjukkan kegiatan yang
dilakukan secara paralel atau untuk
menggabungkan dua kegiatan paralel menjadi
satu.
Penggabungan
(Join)
Digunakan untuk menunjukkan adanya
dekomposisi.
Poin
Keputusan
(Decision
Points)
Menggambarkan pilihan untuk mengampilan
keputusan true atau false.
Swimlane Pembagian activity diagram untuk
menunjukkan siapa melakukan apa.
4. Sequence Diagram
Sequence diagram merupakan diagram yang dibuat agar mengetahui alur
dari interaksi antar objek. Isi dari sequence diagram harus sama dengan use case
diagram dan class diagram. Satu use case diagram tunggal akan digambarkan
dengan satu sequence diagram (Sulianta, 2017: 221). Berikut ini adalah simbol-
simbol dari sequence diagram:
Tabel 2.6 Simbol Sequence Diagram
Sumber: Sulianta (2017:222)
5. Deployment Diagram
Deployment diagram digunakan agar dapat menggambarkan detail
bagaimana komponen disusun di infrasturktur sistem (Hendini, 2016: 111).
Tabel 2.7 Simbol Deployment Diagram
Simbol Nama Keterangan
Objek/Aktor Sebuah objek yang berasal dari kelas. Atau
dapat dinamai dengan kelasnya saja. Aktor
termasuk objek. Garis putus-putus
menunjukkan garis hidup suatu objek.
Aktivasi Menunjukkan masa hidup dari objek.
Pesan
Interaksi antara satu objek dengan objek
lainnya. Objek dapat mengirimkan pesan ke
objek lain. Interaksi antar objek ditunjukkan
pada bagian operasi pada diagram kelas.
Return
Pesan kembalian dari komunikasi antar objek.
Simbol Nama Keterangan
Component Komponen-komponen yang ada diletakkan
di dalam node untuk memastikan
keberadaan posisinya.
Node Menggambarkan bagian-bagian hardware
dalam sebuah sistem. Notasi untuk node
digambarkan sebagai sebuah kubus 3 (tiga)
dimensi.
Sumber: Hendini (2016:111)
2.1.7 Perangkat Lunak yang Digunakan
2.1.7.1 Visual Basic Net 2010
Visual Studio 2010 adalah perangkat lunak yang dapat digunakan agar
pengembangan berbagai macam aplikasi yang memiliki berbagai macam tipe
antara lain aplikasi desktop. Visual Studio 2010 memiliki lebih dari satu kompiler,
SDK (Software Development Kid), dan Dokumentasi Tutorial (MDSN Library).
Kompiler yang dimasukkan ke dalam Visual Studio 2010 antara lain Visual Basic,
Visual C#, Visual C++, Visual InterDev, Visual J++, Visual F#, dan Visual
Source Safe dan banyak lainnya. Dan semua itu sudah terpaket dan diperuntukkan
ke dalam platform .Net Framework 4.0 atau versi lebih tinggi (Yesputra, 2017: 1).
Visual Studio 2010 (yang sering juga disebut dengan VB .Net 2010) pada
dasarnya merupakan sebuah bahasa pemrograman komputer. Dimana pengertian
dari bahasa pemrograman itu yaitu perintah-perintah atau instruksi yang
dimengerti oleh komputer untuk melakukan tugas-tugas tertentu (Gusrion, 2018:
151). Beberapa keistimewaan Visual Studio 2010 ini diantaranya seperti:
1. Menggunakan platform pembuatan program yang dinamakan developer
studio, yang memiliki tampilan dan sarana yang sama dengan Visual C++ dan
Visual J++. Dengan begitu programmer dapat bermigrasi atau belajar bahasa
pemrograman lainnya dengan mudah dan cepat.
Link Digambarkan dengan sebuah garis yang
menghubungkan dua node yang
menindikasikan jalur komunikasi antara
elemen-elemen hardware.
2. Memiliki compiler handal yang dapat menghasilkan file executable yang
lebih cepat dan lebih efisien dari yang sebelumnya.
3. Memiliki beberapa tambahan wizard yang baru. Wizard adalah sarana yang
mempermudah di dalam pembuatan aplikasi dengan mengotomisasi tugas-
tugas tertentu.
4. Visual Studio 2010 mempunyai beberapa fitur untuk pengembangan berbagai
macam aplikasi yang diantaranya: Windows Development, Web Development,
Office Development, Sharepoint Development, Cloud Development (Windows
Azure), Silverlight Tooling, Multi-Core Development, Customizable IDE.
Gambar 2.1 Microsoft Visual Studio 2010
2.1.7.2 Crystal Report
Crystal report merupakan program khusus untuk membuat laporan yang
terpisah dari program Microsoft Visual Basic tetapi keduanya dapat dihubungkan
(linkagge) (Desiyani, 2015: 2). Beberapa Kelebihan dari crystal reports adalah
sebagai berikut:
1. Pembuatan laporan dengan crystal reports tidak terlalu rumit dan banyak
melibatkan kode program.
2. Program crystal reports banyak digunakan karena mudah terintegrasi dengan
bahasa lain.
3. Fasilitas impor hasil laporan yang mendukung format-format paket program
lain, seperti Microsoft Office, Adobe Acrobat Reader, HTML, dan sebagainya.
4. Koneksi yang mudah karena disertai beberapa form yang memudahkan
koneksi (Gusrion, 2018: 152-153).
Gambar 2.2 Crystal Report 13.0.4
2.1.7.3 MySQL
MySQL (My Structured Query Languange) adalah sebuah program
pembuat dan pengelola database atau yang sering disebut dengan DBMS
(Database Management System), sifat dari DBMS ini adalah Open Source.
MySQL adalah program pengakses database yang bersifat jaringan, sehingga dapat
digunakan untuk aplikasi Multi User (banyak pengguna). Kelebihan lain dari
MySQL adalah menggunakan bahasa query (permintaan) standar SQL (Structured
Query Languange), SQL adalah suatu bahasa permintaan yang terstruktur.
Program-program aplikasi yang mendukung MySQL adalah PHP (Page Hipertext
Preprosesor), Borland Delphi, Borland C++ Builder, Visual Basic 5.0/6.0 dan
.Net, Visual FoxPro, Cold Fusion (Mulyanto dan Khasanah, 2018: 51).
Gambar 2.3 MySQL
2.1.7.4 XAMPP
XAMPP merupakan software web server apache yang terdapat didalamnya
server MySQL untuk membuat website yang dinamis. XAMPP mendukung dua
sistem operasi yaitu windows dan Linux, nyatanya lebih mudah dalam
penggunaaan XAMPP di Windows di banding dengan Linux karena dalam proses
penginstalannya di Linux menggunakan command line sedangkan untuk windows
dalam proses penginstalannya menggunakan interface grafis sehingga (Wiliani
dan Zambi, 2017: 79).
Gambar 2.4 Simbol MySQL
2.2 Tinjauan Penelitian
Berikut beberapa penelitian yang relevan dengan skripsi ini adalah:
1. Eby Gusdian, Abdul Muis dan Arifuddin Lamusa (2016) melakukan
penelitian dengan judul “Peramalan Permintaan Produk Roti pada Industri
“Tiara Rizki” di Kelurahan Boyaoge Kecamatan Tatanga Kota Palu.”
Hasilnya adalah metoda single exponential smoothing lebih cocok digunakan
untuk meramalakan hal-hal yang fluktuasinya secara random atau tidak
teratur dibandingkan dengan metoda single moving average.
2. Lina Saptaria (2016) melakukan penelitian dengan judul “Peramalan
Permintaan Produk Cincau Hitam dalam Memaksimalkan SCM (Supply
Chain Management).” Hasilnya adalah aplikasi peramalan dengan model time
series dan metode pemulusan eksponensial dapat memberikan hasil
peramalan permintaan yang efektif untuk memprediksi permintaan konsumen
UD RSA terhadap produk cincau hitam tahun 2016.
3. Eucharistia Yacoba Nugraha dan I Wayan Suletra (2017) melakukan
penelitian dengan judul “Analisis Metode Peramalan Permintaan Terbaik
Produk Oxycan pada PT. Samator Gresik”. Berdasarkan uji pola data dan uji
autokorelasi yang telah dilakukan diperoleh hasil bahwa pola data permintaan
produk Oxycan memiliki pola data musiman dan tren. Karena besarnya
residual tidak merata atau terpaut sangat jauh antara residual satu dengan
residual yang lain, pemilihan metode peramalan terbaik menggunakan nilai
MAE yang terkecil. Dari lima metode yang diuji, metode peramalan
permintaan terbaik adalah Pemulusan Eksponensial Ganda (Double
Eksponential Smoothing).
4. Anindya Palmitraazzah, Slamin dan Oktalia Juwita (2017) melakukan
penelitian dengan judul “Sistem Perencanaan dan Peramalan Distribusi
Produk Berdasarkan Jumlah Permintaan Menggunakan Metode Weigh
Moving Average.” Penelitian ini menghasilkan sebuah sistem perencanaan
dan peramalan distribusi produk pada Pusat Oleh-oleh Purnama Jati dengan
menggunakan metode Weight Moving Average. Sistem perencanaan dan
peramalan distribusi produk ini dapat meramalkan jumlah produk yang akan
didistribusikan pada masing-masing outlet untuk periode selanjutnya
berdasarkan data permintaan produk pada periode sebelumnya.
5. Marthinus Ngantung dan Arrazi Hasan Jan (2019) melakukan penelitian
dengan judul “Analisis Peramalan Permintaan Obat Antibiotik pada Apotik
Edelweis Tatelu.” Hasil penelitiannya adalah berdasarkan hasil perbandingan
3 (tiga) metode yang digunakan peramalan permintaan obat antibiotik lebih
baik menggunakan metode exponential dibandingkan dengan metode moving
average dan exponential smoothing.
2.3 Kerangka Pemikiran
Berikut ini adalah kerangka pemikiran dari “Peramalan Permintaan Roti
Kelapa Menggunakan Metode Weight Moving Average pada Pabrik Roti
Gedangan”:
Gambar 2.5 Kerangka Pemikiran
Identifikasi Masalah
1. Proses produksi di Pabrik Roti Gedangan dihadapkan pada
ketidakpastian permintaan akan roti kelapa yang
mengakibatkan jumlah roti kelapa yang diproduksi pun
tidak pasti jumlahnya.
2. Pabrik Roti Gedangan belum mempunyai sistem yang
membantu dalam meramalkan jumlah produksi roti kelapa
dimasa yang akan datang untuk dapat memenuhi
permintaan pelanggan.
Solusi
Sistem peramalan dengan metode Weight Moving Average
yang diramalkan adalah permintaan roti kelapa.
Perangkat Lunak yang Digunakan
1. Bahasa pemrograman Visual Basic Net 2010.
2. Database MySQL.
3. Perancangan dengan Visual Paradigm.
Implementasi
Sistem peramalan permintaan roti kelapa.
Hasil
Terciptanya aplikasi peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan.
2.4 Tinjauan Umum Perusahaan
2.4.1 Pabrik Roti Gedangan
Pabrik Roti Gedangan yang berlokasi di Jalan Besar Gedangan merupakan
pabrik yang bergerak dalam industri pangan yang memproduksi roti dengan
berbagai macam roti, mulai dari roti kelapa, roti manis, roti donat, roti paha ayam,
dan roti cokelat. Pabrik Roti Gedangan memiliki toko sendiri yang menjual hasil
produksi perusahaan dan juga memproduksi roti yang di pesan oleh banyak toko
roti sebagai penjual roti eceran yang ada di sekitar Kota Kisaran. Pabrik Roti
Gedangan didirikan pada tahun 1997 oleh Bapak Sutrisno. Menurut Pak Sutrisno
membuka usaha ini awalnya karena memperhatikan semakin pesatnya
perkembangan bisnis sehingga beliau mencoba untuk berusaha di bidang ini.
Adapun visi dan misi Pabrik Roti Gedangan adalah:
1. Visi
a. Menjadi perusahaan penyedia produk roti yang berkualitas dengan harga
terjangkau.
2. Misi
a. Menggunakan bahan-bahan yang berkualitas.
b. Melayani dengan sopan santun dan etika yang baik.
c. Memuaskan konsumen.
d. Memperluas lapangan pekerjaan bagi masyarakat sekitar.
2.4.2 Struktur Organisasi Pabrik Roti Gedangan
Struktur organisasi ini menggambarkan dengan jelas pemisahan kegiatan
pekerjaan antara yang satu dengan yang lain dan bagaimana hubungan aktivitas
dan fungsi dibatasi. Berikut ini adalah struktur organisasi dari Pabrik Roti
Gedangan:
Gambar 2.6 Struktur Organisasi Pabrik Roti Gedangan
Uraian tugas dari struktrur organisasi Pabrik Roti Gedangan adalah:
1. Pemilik/ Direktur
a. Bertanggung jawab terhadap kelangsungan hidup perusahaan.
b. Menentukan dan mengembangkan perusahaan baik jangka pendek maupun
jangka panjang.
c. Mengkoordinasi setiap kegiatan perusahaan.
d. Memberi upah, mengangkat dan memberhentikan keryawan.
2. Keuangan
a. Bertanggung jawab kepada pemilik/ direktur tentang laporan keuangan.
b. Mengatur keuangan perusahaan.
Pemilik Sutrisno
Keuangan
Sigit Prayogi
Produksi Riris Putri
Pemasaran
Vidella
Karyawan
3. Produksi
a. Mengawasi dan mengendalikan proses produksi agar terlaksana sesuai
yang diharapkan.
b. Bertanggung jawab dalam hal ketersediaan bahan baku.
4. Pemasaran
a. Mengembangkan produksi roti di pasaran.
b. Memperhatikan pemasaran produksi perusahaan sendiri maupun
perusahaan saingan.
c. Menyusun anggaran biaya iklan dan promosi yang bekerja sama dengan
bagian keuangan.
5. Karyawan
a. Bertanggung jawab dalam pembuatan roti baik kualitas dan
kehigienisannya.
2.5 Hipotesis
Adapun hipotesis dalam penelitian ini adalah peramalan permintaan roti
kelapa menggunakan metode Weight Moving Average diharapkan dapat
membantu Pabrik Roti Gedangan dalam meramalkan permintaan roti kelapa di
bulan berikutnya secara cepat dan akurat sehingga bisa memenuhi permintaan
masyarakat.
BAB III
METODOLOGI PENELITIAN
3.1 Kerangka Kerja Penelitian
Kerangka kerja ini merupakan tahapan yang akan dilakukan dalam
penyelesaian masalah yang akan dibahas. Kerangka kerja yang peneliti lakukan
dapat dilihat dari gambar di bawah ini:
Gambar 3.1 Kerangka Kerja
Pengumpulan Data
Analisa Data
Perancangan Sistem
Pengujian Sistem
Implementasi Sistem
Analisis Masalah
Identifikasi Masalah
Adapun uraian kerangka kerja pada gambar 3.1 adalah:
1. Identifikasi Masalah
Identifikasi masalah adalah proses dan hasil pengenalan masalah. Adapun
masalah yang terjadi di Pabrik Roti Gedangan adalah proses produksi di
Pabrik Roti Gedangan dihadapkan pada ketidakpastian permintaan akan roti
kelapa yang mengakibatkan jumlah roti kelapa yang diproduksi pun tidak
pasti jumlahnya. Pabrik Roti Gedangan belum mempunyai sistem yang
membantu dalam meramalkan jumlah produksi roti kelapa dimasa yang akan
datang untuk dapat memenuhi permintaan pelanggan.
2. Analisis Masalah
Analisis masalah adalah menguraikan masalah sehingga lebih mudah
dipahami dan menemukan solusi atas permasalahan yang terjadi. Berdasarkan
hasil identifikasi masalah pada Pabrik Roti Gedangan, maka solusinya adalah
dengan membuat aplikasi peramalan untuk meramalkan permintaan roti
kelapa di masa yang akan datang.
3. Pengumpulan Data
Pengumpulan data merupakan langkah atau cara yang digunakan untuk
memperoleh data yang dibutuhkan dalam penelitian. Metode pengumpulan
data yang digunakan adalah melakukan wawancara dengan Pemilik Pabrik
Roti Gedangan. Data yang dibutuhkan adalah jumlah permintaan roti kelapa
di Pabrik Roti Gedangan sejak bulan Juli 2019 sampai Agustus tahun 2020.
4. Analisis Data
Analisis Data merupakan langkah atau cara yang digunakan untuk mengolah
data yang telah diperoleh. Data jumlah permintaan roti kelapa di Pabrik Roti
Gedangan diolah dengan metode Weight Moving Average.
5. Perancangan Sistem
Perancangan sistem adalah memikirkan bagaimana membentuk sistem yang
akan dibuat. Perancangan sistem menggunakan Unified Modeling Language
(UML) dan entity relationship diagram yang digambarkan menggunakan
aplikasi Visual Paradigm. Permalan dengan metode Weight Moving Average
akan dibangun menggunakan bahasa pemrograman Visual Basic Net 2010
dan database MySQL.
6. Pengujian Sistem
Pengujian sistem merupakan pengujian program perangkat lunak yang
lengkap dan terintegrasi. Pengujian sistem dilakukan dengan membandingkan
hasil perhitungan manual dengan sistem. Apabila telah lulus pengujian, maka
permalan dengan metode Weight Moving Average dapat diimplementasikan.
7. Implementasi Sistem
Impelementasi sistem merupakan langkah dimana sistem informasi telah
digunakan oleh pengguna. Ketika sistem telah diimplementasikan diperoleh
kelebihan dan kekurangan dari sistem tersebut.
3.2 Metode Penelitian
Adapun metode penelitian ini menggunakan pendekatan kualitatif yang
merupakan metode penelitian yang berdasarkan pada filsafat positivisme,
digunakan untuk meneliti pada populasi atau sample tertentu, pengumpulan data
menggunakan instrumen penelitian, analisis data bersifat kuantitatif atau statistik,
dengan tujuan untuk menguji hipotesis yang telah di tetapkan.
3.3 Teknik Pengumpulan Data
Teknik pengumpulan data merupakan suatu cara yang sifatnya sistematis
dan objektif dengan tujuan untuk memperoleh dan mengumpulkan data dan
informasi yang diteliti secara detail dan benar. Dalam menyelesaikan Skripsi ini
peneliti melakukan teknik pengumpulan data sebagai berikut:
1. Penelitian Lapangan
Penelitian lapangan yang peneliti lakukan adalah penelitian dan pengambilan
data-data yang diperlukan langsung ditempat penelitian. Data yang diambil
adalah data permintaan roti kelapa selama Juli 2019 – Agustus 2020 dan juga
data sejarah, visi misi, struktur organisasi dan uraian tugas dari Pabrik Roti
Gedangan.
Penelitian dilakukan denga cara:
a. Wawancara data dengan cara tanya jawab secara langsung kepada Bapak
Sutrisno selaku pemilik Pabrik Roti Gedangan.
b. Pengamatan dengan datang langsung ke lokasi penelitian di Pabrik Roti
Gedangan yang beralamat di Jalan Besar Gedangan, Kecamatan Pulo
Bandring, Kabupaten Asahan.
2. Penelitian Kepustakaan
Penelitian kepustakaan dilakukan dengan cara mengumpulkan data dari buku-
buku dan jurnal, yang memuat sejumlah teori yang berhubungan dengan
penulisan skripsi.
3.4 Waktu dan Tempat Penelitian
Peneliti mengambil riset di Pabrik Roti Gedangan yang terletak di terletak
di Jalan Besar Gedangan, Kecamatan Pulo Bandring, Kabupaten Asahan dengan
skripsi yang berjudul “ Peramalan Permintaan Roti Kelapa Menggunakan
Metode Weight Moving Average pada Pabrik Roti Gedangan.” Dalam
melakukan penelitian nantinya peneliti melakukan riset dengan mengambil data-
data yang diperlukan untuk membangun aplikasi ini. Peneliti melaksanakan riset
dari bulan Maret 2020 sampai September 2020.
Tabel 3.1 WaktuPenelitian
BAB IV
ANALISIS DAN PERANCANGAN
4.1 Analisis Sistem
Analisis sistem digunakan untuk mengidentifikasi dan mengevaluasi
permasalahan yang terjadi dan kebutuhan–kebutuhan yang diharapkan, sehingga
dapat diusulkan perbaikan-perbaikan. Berikut ini adalah aliran perkiraan
permintaan roti kelapa menggunakan pada Pabrik Roti Gedangan:
1. Catatan permintaan roti kelapa ada pada Kepala Gudang.
2. Kepala Gudang membuat laporan permintaan roti kelapa.
3. Laporan permintaan roti kelapa diserahkan kepada Pemilik.
4. Pemilik memeriksa laporan permintaan roti kelapa.
5. Laporan permintaan roti kelapa yang telah diperiksa oleh Pemilik digunakan
untuk membuat keputusan oleh Kepala Gudang.
6. Jika laporan tidak setujui maka akan diserahkan kembali kepada Kepala
Gudang untuk diperbaiki.
7. Jika laporan disetujui maka akan digunakan oleh Pemilik untuk menentukan
jumlah permintaan roti kelapa pada periode selanjutnya.
8. Kepala Gudang memperbaiki laporan permintaan roti kelapa dan laporan
tersebut diserahkan kembali kepada pemilik.
9. Hasil penentuan jumlah permintaan roti kelapa yang akan disediakan periode
selanjutnya sebanyak satu rangkap disimpan oleh Pemilik dan satu rangkap
lagi diserahkan kepada Kepala Gudang.
Adapun gambar Aliran Sistem Informasi (ASI) perkiraan permintaan roti
kelapa menggunakan pada Pabrik Roti Gedangan adalah:
Aliran Sistem Informasi Lama
Kepala Gudang PemilikP
has
e
Catatan permintaan roti kelapa
Membuat laporan jumlah
permintaan roti kelapa
Laporan permintaan roti kelapa perbulan
Laporan permintaan roti kelapa perbulan
Memeriksa Laporan
Laporan permintaan roti kelapa perbulan yang telah diperiksa
Keputusan
Laporan permintaan roti kelapa diperbaiki
lagi
Menentukan perkiraan
jumlah permintaan roti kelapa
Hasil perkiraan permintaan roti
kelapa bulan berikutnya
AA
Hasil perkiraan permintaan roti
kelapa bulan berikutnya
Setuju
Tidak setuju
Memperbaiki Laporan
Laporan permintaan roti kelapa perbulan
Gambar 4.1 Aliran Sistem Informasi Lama (yang Sedang Berjalan)
4.1.1 Analisis Masalah
Pada tahap ini identifikasi masalah merupakan hal yang diperlukan
sehingga dapat diketahui kebutuhan apa yang perlu disediakan untuk
pengembangan sistem dan perangkat lunak. Pada penelitian ini, masalah-masalah
yang terjadi adalah:
3. Proses produksi di Pabrik Roti Gedangan dihadapkan pada ketidakpastian
permintaan akan roti kelapa yang mengakibatkan jumlah roti kelapa yang
diproduksi pun tidak pasti jumlahnya.
4. Pabrik Roti Gedangan belum mempunyai sistem yang membantu dalam
meramalkan jumlah produksi roti kelapa dimasa yang akan datang untuk
dapat memenuhi permintaan pelanggan.
4.1.2 Analisis Kebutuhan Sistem
Sebelum melakukan perancangan sistem, terlebih dahulu dilakukan
analisis kebutuhan sistem. Hal ini dimaksudkan agar dapat mengatasi
ketidaksesuaian antara aplikasi yang dirancang dengan kebutuhan pengguna.
Dalam penelitian ini dilakukan analisis masukan, proses, keluaran, pengguna,
perangkat keras, dan perangkat lunak.
4.1.2.1 Analisis Data
Analisis kebutuhan masukan yang berupa data masukan yang akan
diproses dengan perhitungan metode Weight Moving Average. Adapun data yang
dijadikan bahan masukan dalam penelitian ini adalah data permintaan roti kelapa
pada Pabrik Roti Gedangan Juli 2019 sampai dengan Juni 2020.
Tabel 4.1 Data Permintaan Roti Kelapa
Juli 2019 – Juni 2020
Periode (Bulan) Permintaan (Bungkus)
Juli 2019 51000
Agustus 2019 52000
September 2019 49250
Oktober 2019 34900
November 2019 32000
Desember 2019 45000
Januari 2020 47000
Februari 2020 36550
Maret 2020 38700
April 2020 45250
Mei 2020 44500
Juni 2020 43000 Sumber: Pabrik Roti Gedangan (2020)
Analisis kebutuhan proses yang berupa pengolahan data dan pemodelan
data. Analisis pengolahan data dilakukan dengan dua kali perhitungan yaitu
perhitungan manual dan perhitungan program aplikasi yang dibuat. Keduanya
sama-sama menggunakan perhitungan Weight Moving Average. Kemudian,
nantinya akan dibandingkan hasilnya antara perhitungan manual dengan
perhitungan program aplikasi.
Pemodelan sistem yang digunakan oleh penulis adalah pendekatan
terstruktur dengan pemakaian Unified Modeling Language (UML), flowchart dan
Entity Relationship Diagram (ERD) yang juga telah dijelaskan pada landasan
teori. Analisis kebutuhan keluaran berupa tampilan program aplikasi peramalan
dengan metode Weight Moving Average yang akan dirancang pada perancangan
antarmuka. Perancangan Antarmuka program aplikasi ini menggunakan perangkat
lunak pendukung Microsoft Visio. Program aplikasi ini nantinya akan dijalankan
pada sistem operasi yang digunakan oleh penulis dalam penelitian ini.
4.1.2.2 Analisis Pengguna
Pengguna merupakan orang yang mempunyai kewenangan untuk
mengakses sistem. Pada rancangan ini pengguna pada sistem ini yaitu Admin
yaitu Pemilik yang mengelola aplikasi peramalan mulai dari proses login, refresh,
tambah, ubah, hapus, keluar, hitung, cetak dan logout. Tujuan penggunaan
aplikasi peramalan di Pabrik Roti Gedangan adalah memudahkan Pemilik untuk
proses peramalan permintaan roti kelapa.
Strategi yang digunakan agar sistem peramalan dapat digunakan dengan
baik oleh pengguna adalah harus dirancang dengan tampilan yang mudah
dimengerti. Pemilihan bahasa untuk fitur-fitur juga harus sesuai dengan kebutuhan
pengguna. Apabila aplikasi peramalan ini telah selesai maka dilakukan pelatihan
penggunaan sistem untuk pengguna sebelum benar-benar diimplementasikan.
4.1.2.3 Analisis Perangkat Keras
Perangkat keras yang dibutuhkan untuk menunjang perancangan dan
pembangunan aplikasi peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan adalah:
Tabel 4.2 Perangkat Keras
No Nama Hardware Spesifikasi
1 CPU (Central Processing Unit) Processor 2.10 GHz
Memory 2 GB
Harddiskt 500 GB
2 Monitor 14.0” HD LED LCD
3 Keyboard 86 Keys
4 Mouse Optical/Touchpad
5 Printer Epson L360
4.1.2.4 Analisis Perangkat Lunak
Perangkat lunak yang dibutuhkan untuk menunjang perancangan dan
pembangunan aplikasi peramalan permintaan roti kelapa menggunakan metode
Weighted Moving Average pada Pabrik Roti Gedangan adalah:
Tabel 4.3 Perangkat Lunak
No Kebutuhan Keterangan
1 Sistem Operasi Windows 7
2 Aplikasi a. Microsoft Word 2007
b. Microsoft Excell 2007
c. Visual Basic Net 2010
d. MySQL
e. Visual Studio
4.2 Perancangan Sistem Secara Umum
Perancangan sistem merupakan tahap penggambaran, perencanaan dan
pembuatan sketsa dari beberapa elemen yang terpisah ke dalam satu kesatuan
yang utuh agar dapat memberikan gambaran yang jelas kepada user.
4.2.1 Algoritma Weight Moving Average
Berikut ini adalah algoritma Weight Moving Average pada peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Tabel 4.4 Perhitungan Peramalan Permintaan Roti Kelapa
Periode
(bulan)
Data
Permintaan
WMA Error Abs Error
Error^2
APE
(%)
Juli 2019 51000
Agustus 2019 52000
September 2019 49250
Oktober 2019 34900 50458,333 15558,333 15558,333 242061736,111 44,580
November 2019 32000 42533,333 10533,333 10533,333 110951111,111 32,917
Desember 2019 45000 35841,667 -9158,333 9158,333 83875069,444 20,352
Januari 2020 47000 38983,333 -8016,667 8016,667 64266944,444 17,057
Februari 2020 36550 43833,333 7283,333 7283,333 53046944,444 19,927
Maret 2020 38700 41441,667 2741,667 2741,667 7516736,111 7,084
April 2020 45250 39366,667 -5883,333 5883,333 34613611,111 13,002
Mei 2020 44500 41616,667 -2883,333 2883,333 8313611,111 6,479
Juni 2020 43000 43783,333 783,333 783,333 613611,111 1,822
Juli 2020 0 43875,000
MAD 6982,407
MSE 67251041,667
MAPE(%) 18,135%
WMA = (∑ (Data * bobot)) / (∑ bobot)
WMA = ((43000*3) + (44500*2) + (45250*1)) / (3+2+1) = 43875,000
Jadi hasil dari forecasting Permintaan Roti Kelapa Pada Pabrik Roti
Gedangan menggunakan metode Weight Moving Average untuk bulan Juli 2020
adalah 43875,000 per bungkus.
Adapun perhitungan error forecasting dengan menggunakan Mean
Absolute Deviation (MAD), Mean Square Error (MSE), dan Mean Absolute
Percentance Error (MAPE) sebagai berikut:
MAD = ((15558,333 + 10533,333 + 9158,333 + 8016,667+ 7283,333 +
2741,667 + 5883,333 + 2883,333 + 783,333)) / 9 = 6982,407
MSE = ((242061736,111 + 110951111,111 + 83875069,444 + 64266944,444 +
53046944,444 + 7516736,111 + 34613611,111 + 8313611,111 +
613611,111)) / 9 = 67251041,667
MAPE = ((44,580% + 32,917% + 20,352% + 17,057% + 19,927% + 7,084% +
13,002% + 6,479% + 1,822%)) / 9 = 18,135%
4.2.2 Analisis Sistem Baru
Rancangan sistem yang diusulkan dapat dilakukan setelah melakukan
analisa terhadap sistem yang sedang berjalan. Sistem yang diusulkan yang
dirancang ini merupakan perubahan dari sistem yang selama ini diterapkan
dengan dibantu oleh sebuah aplikasi bahasa pemrograman Visual Basic Net 2010
dan database MySQL.
Aliran sistem informasi baru peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
1. Catatan permintaan roti kelapa ada pada Kepala Gudang.
2. Kepala Gudang membuat laporan permintaan roti kelapa.
3. Laporan permintaan roti kelapa diserahkan kepada Pemilik.
4. Pemilik memeriksa laporan permintaan roti kelapa.
5. Laporan permintaan roti kelapa yang telah diperiksa oleh Pemilik digunakan
untuk menginputkan data ke sistem peramalan.
6. Pemilik menginputkan data jenis, data periode dan data nilai.
7. Sistem menyimpan data tersebut ke dalam database.
8. Pemilik melakukan perhitungan peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average.
9. Laporan hasil peramalan permintaan roti kelapa periode selanjutnya yang
telah dicetak dua rangkap oleh Pemilik, satu rangkap disimpan oleh Pemilik
dan satu rangkap lagi diberikan kepada Kepala Gudang.
Adapun gambar Aliran Sistem Informasi (ASI) pada peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan adalah:
Aliran Sistem Informasi Baru
Kepala Gudang PemilikSistemP
has
e
Catatan permintaan roti kelapa
A
Laporan hasil peramalan permintaan roti kelapa
bulan selanjutnya
Database
Membuat laporan jumlah permintaan roti
kelapa
Laporan permintaan roti kelapa perbulan
Laporan perhitungan roti kelapa perbulan
Input jenis, periode, dan nilai
Lakukan perhitungan Weight Moving Average
dan cetak
Laporan hasil permalan permintaan roti kelapa
bulan selanjutnya
A
Gambar 4.2 Aliran Sistem Informasi Baru (yang Diusulkan)
4.2.3 Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah salah satu standart bahasa yang
digunakan untuk membuat analisis dan desain, serta menggambarkan arsitektur
dalam pemrograman berorientasi objek.
1. Use Case Diagram
Use case diagram dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan mempunyai beberapa
use case yaitu validasi, mengelola jenis, mengelola periode, mengelola nilai,
mengelola perhitungan dan mengelola ubah password. Berikut ini adalah use case
diagram dari peramalan permintaan roti kelapa menggunakan metode Weight
Moving Average pada Pabrik Roti Gedangan:
Gambar 4.3 Use Case Diagram
Adapun deskripsi use case diagram dari dari peramalan permintaan roti
kelapa menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan
adalah:
Tabel 4.5 Deksripsi Use Case Diagram
Title Skenario Melakukan Login
Aktor Admin.
Antarmuka Form login dan halaman menu utama.
Deskripsi Admin melakukan login.
Pre-condition Admin belum melakukan login.
Basic Flow - Admin membuka form login.
- Admin menginputkan username dan password.
- Sistem memeriksa username dan password apakah
valid.
- Jika valid, sistem menampilkan halaman Admin.
- Jika tidak, sistem mengkonfirmasi bahwa kombinasi
username dan password salah di form login salah.
Post Condition Admin telah berhasil login ke halaman Admin.
Alternative(s) Flow Admin gagal login ke sistem.
Title Skenario Mengelola Jenis
Aktor Admin.
Antarmuka Form Jenis.
Deskripsi Admin mengelola jenis.
Pre-condition Admin belum mengelola jenis.
Basic Flow - Admin mengetik data jenis yang ingin dicari.
- Admin mengklik tombol cari data jenis.
- Sistem menampilkan data jenis dicari.
- Admin mengklik tombol tambah data jenis.
- Sistem menampilkan form input data jenis.
- Admin menginputkan data di form.
- Admin mengklik tombol simpan.
- Sistem menyimpan data jenis.
- Admin mengklik tombol ubah data jenis.
- Sistem menampilkan form ubah data jenis.
- Admin mengubah data yang inginkan.
- Admin mengklik tombol simpan.
- Sistem menyimpan data jenis yang diubah.
- Admin memilih data jenis yang akan dihapus.
- Admin mengklik tombol hapus data Jenis.
- Sistem memberikan pilihan yes dan no untuk
menghapus data.
- Jika Admin mengklik yes, maka sistem akan
menghapus data jenis.
- Jika Admin mengklik no, maka sistem tidak akan
menghapus data jenis.
- Admin mengklik tombol keluar.
- Sistem akan menutup form jenis.
Post Condition Admin telah berhasil mengelola jenis.
Alternative(s) Flow Admin gagal mengelola jenis.
Title Skenario Mengelola Periode.
Aktor Admin.
Antarmuka Form periode.
Deskripsi Admin mengelola periode.
Pre-condition Admin belum mengelola periode.
Basic Flow - Admin mengetik data periode yang ingin dicari.
- Admin mengklik tombol cari data periode.
- Sistem menampilkan data periode dicari.
- Admin mengklik tombol tambah data periode.
- Sistem menampilkan form input data periode.
- Admin menginputkan data di form.
- Admin mengklik tombol simpan.
- Sistem menyimpan data periode.
- Admin mengklik tombol ubah data periode.
- Sistem menampilkan form ubah data periode.
- Admin mengubah data yang inginkan.
- Admin mengklik tombol simpan.
- Sistem menyimpan data periode yang diubah.
- Admin memilih data periode yang akan dihapus.
- Admin mengklik tombol hapus data periode.
- Sistem memberikan pilihan yes dan no untuk
menghapus data periode.
- Jika Admin mengklik yes, maka sistem akan
menghapus data periode.
- Jika Admin mengklik no, maka sistem tidak akan
menghapus data periode.
- Admin mengklik tombol keluar.
- Sistem akan menutup form periode.
Post Condition Admin telah berhasil mengelola periode.
Alternative(s) Flow Admin gagal mengelola periode.
Title Skenario Mengelola Nilai
Aktor Admin.
Antarmuka Form nilai.
Deskripsi Admin mengelola nilai.
Pre-condition Admin belum mengelola nilai.
Basic Flow - Admin mengetik data nilai yang ingin dicari.
- Admin mengklik tombol cari data nilai.
- Sistem menampilkan data nilai yang dicari.
- Admin mengklik tombol ubah data nilai.
- Sistem menampilkan form ubah data nilai.
- Admin mengubah data yang inginkan.
- Admin mengklik tombol simpan.
- Sistem menyimpan data nilai yang diubah.
- Admin mengklik tombol keluar.
- Sistem akan menutup form nilai.
Post Condition Admin telah berhasil mengelola nilai.
Alternative(s) Flow Admin gagal mengelola nilai.
Title Skenario Mengelola Peramalan
Aktor Admin.
Antarmuka Form Perhitungan.
Deskripsi Admin mengelola perhitungan.
Pre-condition Admin belum mengelola perhitungan.
Basic Flow - Admin mengklik tombol hitung.
- Sistem menampilkan hasil perhitungan peramalan
dengan metode Weight Moving Average.
- Admin mengklik tombol cetak.
- Sistem mencetak hasil perhitungan.
- Admin mengklik tombol keluar.
- Sistem akan menutup form perhitungan.
Post Condition Admin telah berhasil mengelola peramalan.
Alternative(s) Flow Admin gagal mengelola peramalan.
Title Skenario Mengelola Ubah Password
Aktor Admin.
Antarmuka Form ubah password.
Deskripsi Admin mengelola ubah password.
Pre-condition Admin belum mengelola ubah password.
Basic Flow - Admin mengklik tombol ubah password.
- Sistem menampilkan form ubah password.
- Admin menginputkan data password di form.
- Admin mengklik tombol ubah password.
- Admin mengklik tombol keluar.
- Sistem akan menutup form ubah password.
Post Condition Admin telah berhasil mengelola password.
Alternative(s) Flow Admin gagal mengelola password.
Title Skenario Melakukan Logout
Aktor Admin.
Antarmuka Form Login
Deskripsi Admin melakukan logout.
Pre-condition Admin belum melakukan logout.
Basic Flow - Admin mengklik logout..
- Sistem menampilkan form login.
Post Condition Admin telah berhasil logout.
Alternative(s) Flow Admin gagal logout.
2. Class Diagram
Class diagram dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan mempunyai empat
kelas yaitu jenis, nilai, periode dan user. Tiap-tiap kelas mempunyai atribut dan
operasi. Kelas jenis mempunyai atribut yaitu kode jenis dan nama jenis dengan
operasinya yaitu refresh, tambah, ubah, hapus dan keluar. Kelas nilai mempunyai
atribut yaitu ID, kode periode, kode jenis dan nilai dengan operasinya yaitu
refresh, ubah, dan keluar.
Kelas periode mempunyai atribut yaitu kode periode, nama periode dan
keterangan dengan operasinya yaitu refresh, tambah, ubah, hapus dan keluar.
Kelas user mempuyai atribut yaitu user dan pass dengan operasinya yaitu login
dan keluar. Berikut ini adalah class diagram dari peramalan permintaan roti
kelapa menggunakan metode Weight Moving Average pada Pabrik Roti
Gedangan:
Gambar 4.4 Class Diagram
3. Activity Diagram
Activity diagram dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan terdiri atas beberapa
gambar yaitu:
a. Activity Diagram Login
Activity diagram login diawali dengan Admin masuk ke aplikasi, dan
sistem menampilkan form login. Admin menginputkan username dan password
dan sistem memprosesnya, apabila benar maka sistem akan menampilkan menu
utama, tetapi apabila salah maka akan kembali ke form login. Berikut ini adalah
activity diagram login dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 4.5 Activity Diagram Login
b. Activity Diagram Jenis
Activity diagram jenis diawali dengan Admin memilih menu jenis dan
sistem menampilkan form jenis. Admin mempunyai beberapa pilihan proses yaitu
refresh, tambah, ubah, hapus dan keluar. Berikut ini adalah activity diagram jenis
dari peramalan permintaan roti kelapa menggunakan metode Weight Moving
Average pada Pabrik Roti Gedangan:
Gambar 4.6 Activity Diagram Jenis
c. Activity Diagram Periode
Activity diagram periode diawali dengan Admin memilih menu periode
dan sistem menampilkan form periode. Admin mempunyai beberapa pilihan
proses yaitu refresh, tambah, ubah, hapus dan keluar. Berikut ini adalah activity
diagram periode dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 4.7 Activity Diagram Periode
d. Activity Diagram Nilai
Activity diagram periode diawali dengan Admin memilih menu nilai dan
sistem menampilkan form nilai. Admin mempunyai beberapa pilihan proses yaitu
refresh, ubah, dan keluar. Berikut ini adalah activity diagram nilai dari peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada
Pabrik Roti Gedangan:
Gambar 4.8 Activity Diagram Nilai
e. Activity Diagram Perhitungan
Activity diagram perhitungan diawali dengan Admin memilih menu
perhitungan dan sistem menampilkan form perhitungan. Admin mempunyai
beberapa pilihan proses yaitu hitung, cetak dan keluar. Berikut ini adalah activity
diagram perhitungan dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 4.9 Activity Diagram Perhitungan
f. Activity Diagram Ubah Password
Activity diagram ubah password diawali dengan Admin memilih menu
ubah password dan sistem menampilkan form ubah password. Admin mempunyai
beberapa pilihan proses yaitu ubah password dan keluar. Berikut ini adalah
activity diagram ubah password dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 4.10 Activity Diagram Ubah Password
g. Activity Diagram Logout
Activity diagram logout diawali dengan Admin memilih menu logout dan
sistem memproses logout sehingga tampil form login. Berikut ini adalah activity
diagram logout dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 4.11 Activity Diagram Logout
4. Sequence Diagram
Sequence diagram dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan terdiri atas beberapa
gambar yaitu:
a. Sequence Diagram Login
Sequence diagram login diawali dengan Admin menginputkan username
dan password untuk melakukan login. Jika username dan password yang
diinputkan benar, maka Admin akan masuk ke halaman utama. Namun, jika
username dan password yang diinputkan salah, maka akan kembali ke form login.
Berikut ini adalah sequence diagram login dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 4.12 Sequence Diagram Login
b. Sequence Diagram Jenis
Sequence diagram jenis diawali dari Admin memilih menu jenis dan
berhasil mengaksesnya. Form jenis memiliki lima tombol proses yaitu refresh
untuk mencari data jenis, tambah untuk menambah data jenis, ubah untuk
mengubah data jenis, hapus untuk menghapus data jenis dan keluar untuk keluar
dari form jenis. Berikut ini adalah sequence diagram jenis dari peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Gambar 4.13 Sequence Diagram Jenis
c. Sequence Diagram Periode
Sequence diagram periode diawali dari Admin memilih menu periode dan
berhasil mengaksesnya. Form periode memiliki lima tombol proses yaitu refresh
untuk mencari data periode, tambah untuk menambah data periode, ubah untuk
mengubah data periode, hapus untuk menghapus data periode dan keluar untuk
keluar dari form periode. Berikut ini adalah sequence diagram periode dari
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan:
Gambar 4.14 Sequence Diagram Periode
d. Sequence Diagram Nilai
Sequence diagram nilai diawali dari Admin memilih menu nilai dan
berhasil mengaksesnya. Form nilai memiliki tiga tombol proses yaitu refresh
untuk mencari data nilai, ubah untuk mengubah data nilai, dan keluar untuk keluar
dari form nilai. Berikut ini adalah sequence diagram nilai dari peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Gambar 4.15 Sequence Diagram Nilai
e. Sequence Diagram Perhitungan
Sequence diagram perhitungan diawali dari Admin memilih menu
perhitungan dan berhasil mengaksesnya. Form perhitungan memiliki tiga tombol
proses yaitu hitung untuk menghitung data menggunakan metode Weighted
Moving Average, cetak untuk mencetak hasil perhitungan dan keluar untuk keluar
dari form peramalan. Berikut ini adalah sequence diagram perhitungan dari
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan:
Gambar 4.16 Sequence Diagram Perhitungan
f. Sequence Diagram Ubah Password
Sequence diagram ubah password diawali dari Admin memilih menu ubah
password dan berhasil mengaksesnya. Form ubah password memiliki dua tombol
proses yaitu ubah data password untuk mengubah password sesuai dengan yang
diinginkan dan keluar untuk keluar untuk keluar dari form ubah password. Berikut
ini adalah sequence diagram ubah password dari peramalan permintaan roti
kelapa menggunakan metode Weight Moving Average pada Pabrik Roti
Gedangan:
Gambar 4.17 Sequence Diagram Ubah Password
g. Sequence Diagram Logout
Sequence diagram logout diawali dari Admin memilih menu logout dan
berhasil mengaksesnya sehingga menampilkan form login. Berikut ini adalah
sequence diagram ubah password dari peramalan permintaan roti kelapa
menggunakan metode Weighted Moving Average pada Pabrik Roti Gedangan:
Gambar 4.18 Sequence Diagram Logout
5. Deployment Diagram
Deployment diagram yang menggambarkan peramalan permintaan roti
kelapa menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan
dimulai dengan mengaktifkan local server yaitu XAMPP untuk mengaktifkan
database dan sistem. Adapun database yang digunakan yaitu MySQL. Sistem
peramalan yang dibangun menggunakan Visual Basic Net 2010 merupakan bahasa
pemrograman berbasis desktop. Setelah dapat mengakses sistem, maka laporan
yang ada pada sistem dapat dicetak dengan perangkat keras yaitu printer. Berikut
ini adalah deployment diagram dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 4.19 Deployment Diagram
4.2.4 Flowchart
Flowchart dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan terdiri atas beberapa gambar
yaitu:
1. Flowchart Login
Flowchart login diawali dengan Admin melakukan login dengan
menginputkan username dan password, kemudian sistem memprosesnya apabila
login sukses maka sistem akan menampilkan aplikasi peramalan permintaan roti
kelapa dan jika tidak kembali ke form login. Berikut ini adalah flowchart login
dari peramalan permintaan roti kelapa menggunakan metode Weight Moving
Average pada Pabrik Roti Gedangan:
Mulai
Admin Login
Login Sukses
Peramalan Permintaan Roti Kelapa
Selesai
T
Y
Gambar 4.20 Flowchart Login
2. Flowchart Menu Utama
Flowchart menu utama diawali dengan Admin sudah berada di menu
utama dengan sistem yang menampilkan beberapa pilihan proses yaitu menu jenis,
menu periode, menu nilai, menu perhitungan, menu ubah password, dan menu
logout. Berikut ini adalah flowchart menu utama dari peramalan permintaan roti
kelapa menggunakan metode Weight Moving Average pada Pabrik Roti
Gedangan:
Mulai
Menu Utama
Menu Jenis
Menu Periode
Menu Nilai
Menu Perhitungan
Menu Ubah Password
Jenis
Periode
Nilai
Perhitungan
Ubah Password
Menu Logout Logout
Selesai
Y
T
Y
Y
T
T
T
T
T
Y
Y
Y
Gambar 4.21 Flowchart Menu Utama
3. Flowchart Jenis
Flowchart jenis diawali dengan Admin sudah berada di menu jenis dengan
sistem yang menampilkan beberapa pilihan proses yaitu refresh data jenis, tambah
data jenis, ubah data jenis, hapus data jenis dan keluar dari form data jenis.
Berikut ini adalah flowchart jenis dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Mulai
Jenis
Refresh
Tambah
Ubah Jenis
Hapus
Refresh Data Jenis
Tambah Data Jenis
Ubah Data Jenis
Hapus Data Jenis
KeluarKeluar dari Form
Jenis
Selesai
Y
Y
Y
Y
Y
T
T
T
T
T
Gambar 4.22 Flowchart Jenis
4. Flowchart Periode
Flowchart periode diawali dengan Admin sudah berada di menu periode
dengan sistem yang menampilkan beberapa pilihan proses yaitu refresh data
periode, tambah data periode, ubah data periode, hapus data periode dan keluar
dari form data periode. Berikut ini adalah flowchart periode dari peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Mulai
Periode
Refresh
Tambah
Ubah
Hapus
Refresh Data Periode
Tambah Data Periode
Ubah Data Periode
Hapus Data Periode
KeluarKeluar dari Form
Periode
Selesai
Y
Y
Y
Y
Y
T
T
T
T
T
Gambar 4.23 Flowchart Periode
5. Flowchart Nilai
Flowchart nilai diawali dengan Admin sudah berada di menu nilai dengan
sistem yang menampilkan beberapa pilihan proses yaitu refresh data nilai, ubah
data nilai, dan keluar dari form data nilai. Berikut ini adalah flowchart nilai dari
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan:
Mulai
Nilai
Refresh
Ubah
Refresh
Ubah Nilai
KeluarKeluar dari Form
Nilai
Selesai
Y
Y
Y
T
T
T
Gambar 4.24 Flowchart Nilai
6. Flowchart Perhitungan
Flowchart perhitungan diawali dengan Admin sudah berada di menu
perhitungan dengan sistem yang menampilkan beberapa pilihan proses yaitu
hitung peramalan, cetak hasil perhitungan dan keluar dari form perhitungan.
Berikut ini adalah flowchart perhitungan dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Mulai
Perhitungan
KeluarKeluar dari
Perhitungan
Selesai
Y
Hitung
Cetak
Hitung
CetakY
Y
T
T
T
Gambar 4.25 Flowchart Perhitungan
7. Flowchart Ubah Password
Flowchart ubah password diawali dengan Admin sudah berada di menu
ubah password dengan sistem yang menampilkan beberapa pilihan proses yaitu
ubah password dan keluar dari form ubah password. Berikut ini adalah flowchart
ubah password dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan:
Mulai
Ubah Password
Ubah
Selesai
Keluar
Ubah Password
Keluar dari Password
Y
Y
T
T
Gambar 4.26 Flowchart Ubah Password
8. Flowchart Logout
Flowchart logout diawali dengan Admin mengklik menu logout, sistem
memproses logout sampai menampilkan form login. Berikut ini adalah flowchart
logout dari peramalan permintaan roti kelapa menggunakan metode Weight
Moving Average pada Pabrik Roti Gedangan:
Mulai
Logout
Selesai
Form Login
Gambar 4.27 Flowchart Logout
4.2.5 Perancangan Basis Data
Perancangan basis data dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan terdiri atas:
1. Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan terdiri
atas empat entiti yaitu jenis, periode, nilai dan user. Tiap-tiap entiti mempunyai
beberapa atribut yaitu entiti jenis mempunyai atribut yaitu kode jenis dan nama
jenis. Entiti periode mempunyai atribut kode periode, nama periode dan
keterangan. Entiti nilai mempunyai atribut ID, kode jenis, kode periode dan nilai.
User mempunyai atribut user dan pass. Berikut ini adalah Entity Relationship
Diagram (ERD) dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan:
Jenis
Input
Periode
Input
Administtrator
Input
Nilai
Nama JenisNama Jenis
Kode JenisKode Jenis
Kode PeriodeKode Periode
Nama PeriodeNama Periode
Kode PeriodeKode Periode
Kode JenisKode Jenis
NilaiNilai
IDID
Input
User
UserUser
PassPass
KeteranganKeterangan
Gambar 4.28 Entity Relationship Diagram (ERD)
2. Struktur Data
Struktur data dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan terdiri atas:
a. Tabel Jenis
primary key : kode_jenis
jumlah field : 2 (dua)
fungsi : menyimpan data jenis yang diinputkan oleh Admin.
Tabel 4.6 Jenis
No Field Type Size Description
1. kode_jenis Varchar 16 Kode Jenis
2. nama_jenis Varchar 255 Nama Jenis
b. Tabel Nilai
primary key : ID
jumlah field : 4 (empat)
fungsi : menyimpan data nilai yang diinputkan oleh Admin.
Tabel 4.7 Nilai
No Field Type Size Description
1. IDE Integer 11 ID
2. kode_periode Varchar 16 Kode Periode
3. kode_jenis Varchar 16 Kode Jenis
4. Nilai Double - Nilai
c. Tabel Periode
primary key : kode_periode
jumlah field : 3 (dua)
fungsi : menyimpan data periode yang diinputkan oleh Admin.
Tabel 4.8 Periode
No Field Type Size Description
1. kode_periode Varchar 16 Kode Periode
2. nama_periode Integer 11 Nama Periode
3. Keterangan Varchar 100 Keterangan
d. Tabel User
primary key : user
jumlah field : 2 (dua)
fungsi : menyimpan data user yang diinputkan oleh Admin.
Tabel 4.9 User
No Field Type Size Description
1. User Varchar 16 Username
2. Pass Varchar 16 Password
4.2.6 Perancangan Antar Muka
Adapun perancangan antar muka dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan
adalah:
a. Perancangan Tampilan Form Login
Perancangan tampilan form login memiliki 2 (dua) field yaitu username
dan password. Perancangan tampilan form login memiliki 2 (dua) tombol aksi
yaitu login dan keluar. Berikut ini adalah perancangan tampilan form login dari
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan:
Login
Username
Password
Login Keluar
X
Gambar 4.29 Form Login
b. Perancangan Tampilan Halaman Menu Utama
Perancangan tampilan halaman menu utama memiliki 6 (enam) menu
yaitu menu jenis, menu periode, menu nilai, menu perhitungan, menu ubah
password dan menu logout. Berikut ini adalah perancangan tampilan halaman
menu utama dari peramalan permintaan roti kelapa menggunakan metode Weight
Moving Average pada Pabrik Roti Gedangan:
Peramalan Permintaan Roti Kelapa Menggunakan Metode Weight Moving Average Pada Pabrik Roti Gedangan
Icon Icon Icon Icon Icon Icon
Jenis Periode Nilai PerhitunganUbah
PasswordLogout
- x
Gambar
Gambar 4.30 Halaman Menu Utama
c. Perancangan Tampilan Form Jenis
Perancangan tampilan form jenis memiliki 1 (satu) field yaitu data jenis.
Perancangan tampilan form jenis memiliki 5 (lima) tombol aksi yaitu refresh,
tambah, ubah, hapus dan keluar. Data yang terdapat di form jenis adalah kode
jenis dan nama jenis. Berikut ini adalah perancangan tampilan form jenis dari
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan:
Peramalan Permintaan Roti Kelapa Menggunakan Metode Weight Moving Average Pada Pabrik Roti Gedangan
Icon Icon Icon Icon Icon Icon
Jenis Periode Nilai PerhitunganUbah
PasswordLogout
- x
Data Jenis
Refresh Tambah Ubah Hapus Keluar
Kode_Jenis Nama_Jenis
xxx xxx
Gambar 4.31 Form Jenis
d. Perancangan Tampilan Form Tambah Jenis
Perancangan tampilan form tambah jenis memiliki 2 (dua) field yaitu kode
dan nama. Perancangan tampilan form tambah jenis memiliki 2 (dua) tombol aksi
yaitu simpan dan keluar. Berikut ini adalah perancangan tampilan form tambah
jenis dari peramalan permintaan roti kelapa menggunakan metode Weight Moving
Average pada Pabrik Roti Gedangan:
Input Data
Kode*
Nama*
Simpan Keluar
X
Gambar 4.32 Form Tambah Jenis
e. Perancangan Tampilan Form Periode
Perancangan tampilan form periode memiliki 1 (satu) field yaitu data
periode. Perancangan tampilan form periode memiliki 5 (lima) tombol aksi yaitu
refresh, tambah, ubah, hapus dan keluar. Data yang terdapat di form periode
adalah kode periode, nama periode dan keterangan. Berikut ini adalah
perancangan tampilan form periode dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Peramalan Permintaan Roti Kelapa Menggunakan Metode Weight Moving Average Pada Pabrik Roti Gedangan
Icon Icon Icon Icon Icon Icon
Periode Nilai PerhitunganUbah
PasswordLogout
- x
Data Periode
Refresh Tambah Ubah Hapus Keluar
Kode Periode Nama Periode
xxx xxx
xxx xxx
xxx xxx
xxx xxx
xxx xxx
Jenis
Keterangan
xxx
xxx
xxx
xxx
xxx
Gambar 4.33 Form Periode
f. Perancangan Tampilan Form Tambah Periode
Perancangan tampilan form tambah periode memiliki 3 (tiga) field yaitu
kode, nama dan keterangan. Perancangan tampilan form tambah periiode memiliki
2 (dua) tombol aksi yaitu simpan dan keluar. Berikut ini adalah perancangan
tampilan form tambah periode dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Input Data
Kode*
Nama*
Simpan Keluar
X
Keterangan *
Gambar 4.34 Form Tambah Periode
g. Perancangan Tampilan Form Nilai
Perancangan tampilan form nilai memiliki 1 (satu) field yaitu data nilai.
Perancangan tampilan form nilai memiliki 3 (tiga) tombol aksi yaitu refresh, ubah
dan keluar. Data yang terdapat di form nilai adalah kode, nama periode,
keterangan dan roti kelapa. Berikut ini adalah perancangan tampilan form nilai
dari peramalan permintaan roti kelapa menggunakan metode Weight Moving
Average pada Pabrik Roti Gedangan:
Peramalan Permintaan Roti Kelapa Menggunakan Metode Weight Moving Average Pada Pabrik Roti Gedangan
Icon Icon Icon Icon Icon Icon
Periode Nilai PerhitunganUbah
PasswordLogout
- x
Data Nilai
Refresh Ubah Keluar
KodeNama
Periode
xxx xxx
xxx xxx
xxx xxx
xxx xxx
Keterangan
xxx
xxx
xxx
xxx
Jenis
Roti Kelapa
xxx
xxx
xxx
xxx
Gambar 4.35 Form Nilai
h. Perancangan Tampilan Form Perhitungan
Perancangan tampilan form perhitungan memiliki 3 (tiga) field yaitu jenis,
next periode dan moving average. Perancangan tampilan form perhitungan
memiliki 3 (tiga) tombol aksi yaitu hitung, cetak dan keluar. Berikut ini adalah
perancangan tampilan form perhitungan dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Peramalan Permintaan Roti Kelapa Menggunakan Metode Weight Moving Average Pada Pabrik Roti Gedangan
Icon Icon Icon Icon Icon Icon
Periode Nilai PerhitunganUbah
PasswordLogout
- x
Jenis
Roti Kelapa Cetak Keluar
Periode Keterangan
xxx xxx
xxx xxx
xxx xxx
xxx xxx
Roti Kelapa
xxx
xxx
xxx
xxx
Next Periode
13
Moving Avg
3 Hitung
Jenis
Gambar 4.36 Form Perhitungan
i. Perancangan Tampilan Cetak Hasil Perhitungan
Perancangan tampilan cetak hasil perhitungan menampilkan data periode,
data aktual, data weighted, data peramalan, data error, data absolute error, data
error kuadrat, data APE, data MAD, data MSE dan data MAPE. Berikut ini
adalah perancangan tampilan cetak hasil perhitungan dari peramalan permintaan
roti kelapa menggunakan metode Weight Moving Average pada Pabrik Roti
Gedangan:
Peramalan Permintaan Roti Kelapa Menggunakan Metode Weight Moving Average Pada Pabrik Roti Gedangan
Icon Icon Icon Icon Icon Icon
Periode Nilai PerhitunganUbah
PasswordLogout
- x
Jenis
Roti Kelapa Cetak Keluar
Periode Keterangan
xxx xxx
xxx xxx
xxx xxx
xxx xxx
xxx xxx
Roti Kelapa
xxx
xxx
xxx
xxx
xxx
Next Periode
13
Moving Avg
3 Hitung
Jenis
Ft
xxx
xxx
xxx
xxx
xxx
Err
xxx
xxx
xxx
xxx
xxx
AbsErr
xxx
xxx
xxx
xxx
xxx
Err^2
xxx
xxx
xxx
xxx
xxx
xxx xxx
MAD xxx
MSE
MAPE(%)
xxx
xxx
Awal
APE(%)
xxx
xxx
xxx
xxx
xxx
Gambar 4.37 Cetak Hasil Perhitungan
j. Perancangan Tampilan Form Ubah Password
Perancangan tampilan form ubah password memiliki 3 (tiga) field yaitu
password lama, password baru dan konfirmasi password baru. Perancangan
tampilan form ubah password memiliki 2 (dua) tombol aksi yaitu simpan dan
keluar. Berikut ini adalah perancangan tampilan form ubah password dari
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan:
Ubah Password
Password Lama
Password Baru
Ubah Password Keluar
X
Konfirmasi Password Baru
Gambar 4.38 Form Password
BAB V
IMPLEMENTASI DAN PENGUJIAN
5.1 Implementasi
Implementasi merupakan tahapan sistem berdasarkan hasil perancangan
yang telah didesain sebelumnya sehingga sistem dapat difungsikan dalam keadaan
sebenarnya dan dapat diketahui apakah sistem yang dibuat berhasil mencapai
tujuan yang sebenarnya. Sistem peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan dikembangkan
dengan bahasa pemrograman Visual Basic Net 2010 dan dengan aplikasi database
MySQL.
5.1.1 Implementasi Basis Data
Berikut ini adalah tampilan implementasi basis data pada peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Gambar 5.1 Tampilan Tabel Database
1. Tabel Jenis
Tabel jenis merupakan tempat disimpannya data jenis yang terdiri atas
kode jenis dan nama jenis.
Gambar 5.2 Tampilan Tabel Jenis
2. Tabel Nilai
Tabel nilai merupakan tempat disimpannya data nilai yang terdiri atas ID,
kode periode, kode jenis dan nilai.
Gambar 5.3 Tampilan Tabel Nilai
3. Tabel Periode
Tabel periode merupakan tempat disimpannya data periode yang terdiri
atas kode periode, nama periode dan keterangan.
Gambar 5.4 Tampilan Tabel Periode
4. Tabel User
Tabel user merupakan tempat disimpannya data user yang terdiri atas
username dan password.
Gambar 5.5 Tampilan Tabel User
5.1.2 Implementasi Antarmuka
Implementasi antarmuka dilakukan dengan setiap halaman program yang
dibuat dan pengkodeannya dalam bentuk file program. Berikut ini adalah
implementasi antarmuka dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan:
1. Tampilan Form Login
Tampilan form login merupakan tampilan awal ketika menjalankan sistem
peramalan. Tampilan form login mempunyai 2 (dua) field yaitu username dan
password yang harus diinput dengan benar jika ingin masuk ke sistem peramalan.
Berikut ini adalah tampilan form login dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 5.6 Tampilan Form Login
2. Tampilan Halaman Menu Utama
Tampilan halaman menu utama akan tampil ketika admin sukses
melakukan login. Pada sistem ini, ada beberapa menu yang ada dalam halaman
menu utama yaitu menu data jenis, menu data periode, menu data nilai, menu
perhitungan, menu ubah password dan logout. Berikut ini adalah tampilan form
halaman utama dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 5.7 Tampilan Halaman Menu Utama
3. Tampilan Form Data Jenis
Tampilan form data jenis berisikan informasi data kode jenis dan nama
jenis. Tombol-tombol yang ada di form data jenis adalah refresh, tambah, ubah,
hapus dan keluar. Berikut ini adalah tampilan form jenis dari peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Gambar 5.8 Tampilan Form Data Jenis
4. Tampilan Form Tambah Data Jenis
Tampilan form tambah data jenis muncul ketika Admin mengklik tombol
tambah pada form data jenis. Form tambah data jenis mempunyai 2 (dua) field
yaitu kode dan nama. Kode secara otomatis telah terisi, maka tugas Admin
menginputkan data nama jenisnya saja. Berikut ini adalah tampilan form tambah
jenis dari peramalan permintaan roti kelapa menggunakan metode Weight Moving
Average pada Pabrik Roti Gedangan:
Gambar 5.9 Tampilan Form Tambah Data Jenis
5. Tampilan Form Data Periode
Tampilan form data periode berisikan informasi data kode periode, nama
periode dan keterangan. Tombol-tombol yang ada di form data periode adalah
refresh, tambah, ubah, hapus dan keluar. Berikut ini adalah tampilan form periode
dari peramalan permintaan roti kelapa menggunakan metode Weight Moving
Average pada Pabrik Roti Gedangan:
Gambar 5.10 Tampilan Form Data Periode
6. Tampilan Form Tambah Data Periode
Tampilan form tambah data periode muncul ketika Admin mengklik
tombol tambah pada form data periode. Form tambah data periode mempunyai 3
(tiga) field yaitu kode, nama dan keterangan. Kode secara otomatis telah terisi,
maka tugas Admin menginputkan data nama periode dan keterangannya. Berikut
ini adalah tampilan form tambah periode dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 5.11 Tampilan Form Tambah Data Periode
7. Tampilan Form Data Nilai
Tampilan form data nilai berisikan informasi data kode, nama periode,
keterangan dan roti kelapa. Tombol-tombol yang ada di form data nilai adalah
refresh, ubah, dan keluar. Berikut ini adalah tampilan form data nilai dari
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan:
Gambar 5.12 Tampilan Form Data Nilai
8. Tampilan Form Ubah Data Nilai
Tampilan form ubah data nilai muncul ketika Admin mengklik tombol
ubah pada form data nilai. Form ubah data periode mempunyai 3 (tiga) field yaitu
kode, nama dan roti kelapa. Kode dan nama secara otomatis tidak dapat dibuah,
maka tugas Admin mengubah data roti kelapa. Berikut ini adalah tampilan form
ubah data nilai dari peramalan permintaan roti kelapa menggunakan metode
Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 5.13 Tampilan Form Ubah Data Nilai
9. Tampilan Form Perhitungan
Form perhitungan berisikan informasi data periode, keterangan dan roti
kelapa. Tombol-tombol yang ada di form perhitungan adalah hitung, cetak dan
keluar. Berikut ini adalah tampilan form perhitungan dari peramalan permintaan
roti kelapa menggunakan metode Weight Moving Average pada Pabrik Roti
Gedangan:
Gambar 5.14 Tampilan Form Perhitungan
10. Tampilan Form Hitung
Tampilan form hitung akan muncul ketika admin mengklik tombol cetak
pada form perhitungan. Tampilan form hitung berisikan informasi data periode,
keterangan, roti kelapa, dan hasil perhitungan. Berikut ini adalah tampilan form
hitung dari peramalan permintaan roti kelapa menggunakan metode Weight
Moving Average pada Pabrik Roti Gedangan:
Gambar 5.15 Tampilan Form Hitung
11. Tampilan Halaman Cetak
Tampilan halaman cetak akan muncul ketika admin mengklik tombol
cetak pada form perhitungan. Tampilan halaman cetak berisikan informasi data
hasil perhitungan. Berikut ini adalah tampilan form hitung dari peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Gambar 5.16 Tampilan Cetak Perhitungan
12. Tampilan Form Ubah Password
Tampilan form ubah password mempunyai 3 (tiga) field yaitu password
lama, password baru dan konfirmasi password baru. Tombol-tombol yang ada di
halaman ubah password adalah ubah password dan keluar. Berikut ini adalah
tampilan form ubah password dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Gambar 5.17 Tampilan Form Password
13. Tampilan Form Konfirmasi Logout
Tampilan form konfirmasi logout akan muncul ketika admin mengklik
menu logout. Berikut ini adalah tampilan form konfirmasi logout dari peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan:
Gambar 5.18 Tampilan Konfirmasi Logout
5.2 Pengujian
Pengujian sistem dilakukan terhadap program yang telah dirancang
sebelumya. Pengujian sistem dilakukan dengan tujuan untuk menjamin sistem
yang dibangun sesuai dengan hasil analisa dan perancangan sehingga dapat dibuat
satu kesimpulan akhir. Pada pengujian perangkat lunak ini, menggunakan metode
pengujian black box yang merupakan metode pengujian perangkat lunak yang
menguji fungsionalitas aplikasi yang bertentangan dengan struktur internal atau
kerja.
Berikut ini adalah pengujian dari peramalan permintaan roti kelapa
menggunakan metode Weight Moving Average pada Pabrik Roti Gedangan:
Tabel 5.1 Kasus dan Hasil Pengujian
Menu Skenario Uji Hasil yang Diharapkan Hasil
Pengujian
Login
Login Input data login (jika
benar).
Tampil halaman utama
Admin.
Sesuai.
Input data login (jika
salah).
Muncul pesan salah
kombinasi username dan
password.
Sesuai.
Data Jenis
Data Jenis
Klik tombol refresh. Menampilkan data jenis
yang dicari.
Sesuai.
Klik tombol tambah. Menampilkan form
tambah data jenis.
Sesuai.
Klik tombol simpan. Data jenis tersimpan ke
dalam database.
Sesuai.
Klik tombol simpan
data jenis (jika ada
field yang belum
terisi).
Muncul pesan field yang
bertanda * tidak boleh
kosong.
Sesuai.
Klik tombol keluar
pada form tambah.
Menutup form tambah
data jenis.
Sesuai.
Klik tombol ubah. Menampilkan form ubah
data jenis.
Sesuai.
Klik tombol hapus. Muncul pesan konfirmasi
hapus data jenis yes dan
no.
Sesuai.
Klik tombol keluar. Menutup form data jenis. Sesuai.
Data Periode
Data Periode
Klik tombol refresh. Menampilkan data
periode yang dicari.
Sesuai.
Klik tombol tambah. Menampilkan form
periode data jenis.
Sesuai.
Klik tombol simpan. Data jenis tersimpan ke
dalam database.
Sesuai.
Klik tombol simpan
data periode (jika ada
field yang belum
terisi).
Muncul pesan field yang
bertanda * tidak boleh
kosong.
Sesuai.
Klik tombol keluar
pada form periode.
Menutup form tambah
data periode.
Sesuai.
Klik tombol ubah. Menampilkan form ubah
data periode.
Sesuai.
Klik tombol hapus. Muncul pesan konfirmasi
hapus data periode yes
Sesuai.
dan no.
Klik tombol keluar. Menutup form data
periode.
Sesuai.
Data Nilai
Data Nilai Klik tombol refresh. Menampilkan data nilai
yang dicari.
Sesuai.
Klik tombol keluar. Menutup form data nilai. Sesuai.
Perhitungan
Perhitungan
Pilih jenis. Menampilkan pilihan
data jenis.
Sesuai.
Klik hitung. Menampilkan hasil
perhitungan Weight
Moving Average.
Sesuai.
Klik cetak. Mencetak hasil
perhitungan Weight
Moving Average.
Susuai.
Klik tombol keluar. Menutup form
perhitungan.
Sesuai.
Password
Password
Input data (jika data
benar).
Data tersimpan ke dalam
database.
Sesuai.
Input data baru (jika
ada data yang belum
terisi).
Muncul pesan field yang
bertanda * tidak boleh
kosong.
Sesuai.
Logout
Tombol ya Klik tombol ya. Dapat keluar dari sistem. Sesuai.
Tombol tidak Klik tombol tidak. Dapat membatalkan
perintah logout.
Sesuai.
5.3 Kelebihan dan Kekurangan
5.3.1 Kelebihan Sistem
Adapun kelebihan dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan:
1. Sistem mampu menghasilkan perhitungan peramalan menggunakan metode
Weight Moving Average berdasarkan data peramalan permintaan roti kelapa
yang telah diinputkan sebelumnya sehingga memperkecil terjadinya
kesalahan.
2. Sistem dapat menyimpan data di dalam database yang kemudian digunakan
sebagai data untuk perhitungan peramalan.
5.3.2 Kekurangan Sistem
Adapun kekurangan dari peramalan permintaan roti kelapa menggunakan
metode Weight Moving Average pada Pabrik Roti Gedangan:
1. Belum tersedianya menu help yang dapat dijadikan sebagai panduan bagi
pengguna untuk menggunakan aplikasi.
2. Sistem masih bersifat single user yaitu hanya bisa digunakan oleh 1 (satu)
pengguna saja.
3. Belum tersedianya menu forget password yang membantu pengguna apabila
tidak mengingat password untuk mengakses aplikasi.
BAB VI
PENUTUP
6.1 Kesimpulan
Adapun kesimpulan yang dapat diambil dari penelitian peramalan
permintaan roti kelapa menggunakan metode Weight Moving Average pada Pabrik
Roti Gedangan adalah:
4. Pemilik Pabrik Roti Gedangan dihadapkan pada ketidakpastian permintaan
akan roti kelapa yang mengakibatkan jumlah roti kelapa yang diproduksi pun
tidak pasti jumlahnya.
5. Pabrik Roti Gedangan belum mempunyai sistem yang membantu dalam
meramalkan jumlah produksi roti kelapa dimasa yang akan datang untuk
dapat memenuhi permintaan pelanggan. Sehingga dirancang suatu sistem
peramalan dengan metode Weight Moving Average menggunakan bahasa
pemrograman Visual Basic Net 2010 dan database MySQL yang membantu
menghasilkan perhitungan peramalan yang relevan sehingga efektif dan
efisien dalam pengerjaannya.
6. Algoritma Weight Moving Average dengan perhitungan moving average 3
(tiga) dapat diterapkan untuk proses peramalan permintaan roti kelapa
sehingga memudahkan Pemilik Pabrik Roti Gedangan untuk menentukan
jumlah roti kelapa yang harus disediakan pada periode berikutnya.
6.2 Saran
Adapun saran-saran yang ingin disampaikan oleh penulis dalam penelitian
peramalan permintaan roti kelapa menggunakan metode Weight Moving Average
pada Pabrik Roti Gedangan adalah:
1. Diharapkan untuk menambah menu forget password serta menu help untuk
membantu pengguna apabila tidak mengingat password yang dapat dijadikan
panduan dalam mempermudah pengguna untuk mengaksesnya.
2. Bagi peneliti selanjutnya, sistem dapat dibuat menjadi aplikasi mobile khusus
untuk sistem peramalannya agar dapat di akses dimanapun.
DAFTAR PUSTAKA
Sumber Dari Buku:
Sulianta, F. (2017). Teknik Perancangan Arsitektur Sistem Informasi. Yogyakarta:
Andi
Yesputra, R. (2017). Belajar Visual Basic Net Dengan Visual Studio 2010.
Kisaran: Royal Asahan Press
Sumber Dari Jurnal:
Desiyani, M., Nurmiati, S., & Putri, K. D. (2015). Program Aplikasi Persediaan
Barang Pada PT.Panji Surya Abadi. TICOM, 3(3), 1–7.
Gusdian, E., Muis, A., & Lamusa, A. (2016). Peramalan Permintaan Produk Roti
Pada Industri “ Tiara Rizki ” Di Kelurahan Boyaoge Kecamatan Kecamatan
Tatanga Kota Palu. E-J, Agrotekbis, 4(1), 97–105.
Gusrion, D. (2018). Membuat Aplikasi Penyimpanan Dan Pengolahan Data
Dengan Vb . Net. komTekInfo, 5(1), 150–163.
Hayuningtyas, R. Y. (2017). Peramalan Persediaan Barang Menggunakan Metode
Weighted Moving Average dan Metode Double Exponential Smoothing.
Jurnal PILAR Nusa Mandiri, 13(2), 217–222.
Hendini, A. (2016). Pemodelan UML Sistem Informasi Monitoring Penjualan Dan
Stok Barang (Studi Kasus: Distro Zhezha Pontianak). Khatulistiwa
Informatika, 4(2), 107–116.
https://doi.org/10.2135/cropsci1983.0011183x002300020002x
Hendriani, T., Yamin, M., & Dewi, A. P. (2016). Sistem Peramalan Persediaan
Obat Dengan Metode Weight Moving Average Dan Reorder Point (Studi
Kasus: Puskesmas Soropia). semanTIK, 2(2), 207–214.
http://ojs.uho.ac.id/index.php/semantik/article/view/1811/0
Heryanto, D., & Solikin, I. (2015). Peramalan Stock Motor pada PT. Thamrin
Brothers Cabang Tugu Mulyo menggunakan Weighted Moving Average
(WMA). Media Informatika Dan Komputer, 6(1), 14–25.
Isnayati, & Saptari, M. A. (2015). Sistem Peramalan Penjualan Sepeda Motor
Menggunakan Metode Trend Projection Pada PT. UD Prima Nusantara.
Jurnal Sistem Informasi, 155–184.
Jamilah, & Khaerunnisa. (2019). Aplikasi Tepung Kelapa Dalam Produk Roti
Manis. Jurnal Industri Hasil Perkebunan, 14(1), 1–10.
Monalisa, S., Afriani, M., Kurnia, F., & Hartati, M. (2018). Sistem Informasi
Peramalan Persediaan Barang Menggunakan Metode Weighted Moving
Average. Jurnal Seminar Nasional Teknologi Informasi, Komunikasi Dan
Industri, 309–316. https://doi.org/10.36002/jutik.v4i1.397
Mulyanto, J. D., & Khasanah, U. (2018). Aplikasi Pembayaran Dsp Dan Spp
Sekolah Pada Smk Ti Bintra Purwokerto. Jurnal Evolusi, 6(1), 49–60.
https://doi.org/10.31294/evolusi.v6i1.3544
Muryati. (2017). Analisis Peramalan Penjualan Usaha Ardyla Bakery Di Muara
Bulian. Jurnal Ilmiah Universitas Batanghari Jambi, 17(2), 259–269.
Ngantung, M., & Hasan Jan, A. (2019). Analisis Peramalan Permintaan Obat
Antibiotik Pada Apotik Edelweis Tatelu Analysis Forecasting Of Antibiotic
Drug Requests On Edelweis Tatelu Pharmacies. 7(4), 4859–4867.
Nugraha, E. Y., & Suletra, I. W. (2017). Analisis Metode Peramalan Permintaan
Terbaik Produk Oxycan pada PT. Samator Gresik. Seminar Dan Konferensi
Nasional IDEC, 414–422.
https://www.google.com/search?rlz=1C1CHBF_enID883ID884&ei=4cpdXt6
OD47RrQHjm5jIDA&q=jurnal+tentang+metode+peramalan&oq=jurnal+tent
ang+peramalan&gs_l=psy-
ab.3.4.0l3j0i22i30l7.1592741.1598642..1602835...1.2..0.203.2703.14j10j1.....
.0....1..gws-wiz.......0i71
Palmitraazzah, A., Slamin, & Juwita, O. (2017). Sistem Perencanaan Dan
Peramalan Distribusi Produk Berdasarkan Jumlah Permintaan Menggunakan
Metode Weight Moving Average. Informatics Journal, 2(1), 45–53.
Purwanto, P., Kurniadi, D., & Riansyah, A. (2019). Sistem Pendukung Keputusan
untuk Prediksi Penjualan pada Toko Elyzabeth Parfum m enggunakan
Metode Brown ’ s Double Exponential Smoothing ( Studi Kasus : Toko
Elyzabeth Parfum Semarang ). KONFERENSI ILMIAH MAHASISWA
UNISSULA (KIMU), 413–419.
Ramadania, R. (2018). Peramalan Harga Beras Bulanan di Tingkat Penggilingan
dengan Metode Weighted Moving Average. Bimaster, 7(4), 329–334.
http://jurnal.untan.ac.id/index.php/jbmstr/article/view/28402/75676578415
Riyanto, R., Giarti, F. R., & Permana, S. E. (2017). Sistem Prediksi Menggunakan
Metode Weight Moving Average Untuk Penentuan Jumlah Order Barang.
Jurnal ICT : Information Communication & Technology, 16(2), 37–42.
https://doi.org/10.36054/jict-ikmi.v16i2.20
Rusdi, M. D., & Made, S. (2016). Analisa Faktor-Faktor Yang Mempengaruhi
Permintaan Daging Sapi Di Kota Surabaya. Jurnal Ekonomi & Bisnis, 1(2),
283–299.
Saptaria, L. (2016). Peramalan Permintaan Produk Cincau Hitam dalam
Memaksimalkan SCM (Supply Chain Management). Jmk, 1(3), 247–256.
Suendri. (2018). Implementasi Diagram UML (Unified Modelling Language)
Pada Perancangan Sistem Informasi Remunerasi Dosen Dengan Database
Oracle (Studi Kasus: UIN Sumatera Utara Medan). Jurnal Ilmu Komputer
Dan Informatika 3(1), 1–9.
http://jurnal.uinsu.ac.id/index.php/algoritma/article/download/3148/1871
Suryatna, B. S. (2015). Peningkatan Kelembutan Tekstur Roti Melalui Fortifikasi
Rumput Laut Euchema Cottoni. Teknobuga, 2(2), 18–25.
Urva, G., & Siregar, H. F. (2015). Pemodelan UML E- Marketing Minyak
Goreng. Teknologi Dan Sistem Informasi, 1(2), 92–101.
Wiliani, N., & Zambi, S. (2017). Rancang Bangun Aplikasi Kasir Tiket Nonton
Bola Bareng ada X Kasir Di Suatu Lokasi X Dengan Visual Basic 2010 Dan
Mysql. Rekayasa Informasi, 6(2), 77–83.
LISTING PROGRAM
Form Login
Public Class FrmLogin
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnLogin.Click
dr = openDR("SELECT * FROM tb_user WHERE user='" &
TxtUsername.Text & "' AND pass='" & TxtPassword.Text & "'")
If dr.Read Then
user = dr("user")
FrmUtama.Show()
Me.Close()
Else
msgError("Salah kombinasi username dan password")
TxtUsername.Focus()
End If
End Sub
Private Sub txtUsername_KeyPress(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.KeyPressEventArgs) Handles
TxtUsername.KeyPress
If e.KeyChar = Chr(13) Then
TxtPassword.Focus()
End If
End Sub
Private Sub txtPassword_KeyPress(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.KeyPressEventArgs) Handles TxtPassword.KeyPress
If e.KeyChar = Chr(13) Then
btnLogin_Click(Nothing, Nothing)
End If
End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKeluar.Click
Me.Close()
End Sub
Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
SkinEngine1.SerialNumber =
"kUb2DF5pvGF3X9dKPFvIdkXQ0sE8LkAVp9fMme9wCnjZ+ArdRVlxKw=="
SkinEngine1.SkinFile = "Skins/Diamond/DiamondOlive.ssk"
SkinEngine1.ApplyMainBuiltInSkin()
SkinEngine1.Active = True
End Sub
End Class
Form Menu Utama
Public Class FrmUtama
Private Sub FrmUtama_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
sb1.Text = "User: " & user
sb2.Text = Format(Date.Now, "dd MMMM yyyy HH:mm:ss")
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick
sb2.Text = Format(Date.Now, "dd MMMM yyyy HH:mm:ss")
End Sub
Private Sub BtnHitung_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnHitung.Click
Dim f As New FrmHitung
f.ShowAsChild(Me)
End Sub
Private Sub MnPassword_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
FrmPassword.ShowDialog()
End Sub
Private Sub BtnLapRangking_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs)
LapHitung.ShowAsChild(Me)
End Sub
Private Sub BtnLogout_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnLogout.Click
If MsgAsk("Apakah anda akan logout?") = vbYes Then
MsgInfo("Anda berhasil logout!")
FrmLogin.Show()
Me.Close()
End If
End Sub
Private Sub BtnPassword_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnPassword.Click
Dim f As New FrmPassword
f.ShowDialog()
End Sub
Private Sub BtnNilai_Click(sender As Object, e As EventArgs) Handles
BtnNilai.Click
Dim f As New FrmNilai
f.ShowAsChild(Me)
End Sub
Private Sub BtnPeriode_Click(sender As Object, e As EventArgs) Handles
BtnPeriode.Click
Dim f As New FrmPeriode
f.ShowAsChild(Me)
End Sub
Private Sub BtnJenis_Click(sender As Object, e As EventArgs) Handles
BtnJenis.Click
Dim f As New FrmJenis
f.ShowAsChild(Me)
End Sub
End Class
Form Jenis
Public Class FrmJenis
Private Sub BtnRefresh_Click(sender As Object, e As EventArgs) Handles
BtnRefresh.Click
Dgv.DataSource = OpenDT("SELECT Kode_jenis, Nama_jenis FROM
tb_jenis WHERE kode_jenis LIKE @0 OR nama_jenis LIKE @0 ORDER BY
kode_jenis", "%" & TxtCari.Text & "%")
End Sub
Private Sub FrmJenis_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Dgv.SetDefault()
BtnRefresh_Click(sender, e)
End Sub
Private Sub FrmJenis_KeyDown(sender As Object, e As KeyEventArgs)
Handles MyBase.KeyDown
If isRefresh(e) Then BtnRefresh_Click(sender, e)
If isClose(e) Then BtnKeluar_Click(sender, e)
End Sub
Private Sub TxtCari_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles TxtCari.KeyPress
If isEnter(e) Then BtnRefresh_Click(sender, e)
End Sub
Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnHapus_Click(sender As Object, e As EventArgs) Handles
BtnHapus.Click
If Not Dgv.CurrentCell Is Nothing Then
If msgAsk("Hapus data?") = vbYes Then
Delete("tb_jenis", "kode_jenis=@0", Dgv.getSelAt("kode_jenis"))
Delete("tb_nilai", "kode_jenis=@0", Dgv.getSelAt("kode_jenis"))
msgInfo("Data terhapus!")
BtnRefresh_Click(sender, e)
End If
End If
End Sub
Private Sub BtnTambah_Click(sender As Object, e As EventArgs) Handles
BtnTambah.Click
Dim f As New FrmJenisTambah
f.EditState = False
If f.ShowDialog = DialogResult.Yes Then
BtnRefresh_Click(sender, e)
End If
End Sub
Private Sub BtnUbah_Click(sender As Object, e As EventArgs) Handles
BtnUbah.Click
If Not Dgv.CurrentCell Is Nothing Then
Dim f As New FrmJenisTambah
f.EditState = True
f.TxtKode.Text = Dgv.getSelAt("kode_jenis")
If f.ShowDialog = DialogResult.Yes Then
BtnRefresh_Click(sender, e)
End If
End If
End Sub
End Class
Form Jenis Tambah
Public Class FrmJenisTambah
Public EditState As Boolean = False
Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnSimpan_Click(sender As Object, e As EventArgs) Handles
BtnSimpan.Click
If TxtKode.Text = "" Or TxtNama.Text = "" Then
MsgError("Field bertanda * tidak boleh kosong!")
ElseIf Not EditState And OpenDT("SELECT * FROM tb_jenis WHERE
kode_jenis=@0", TxtKode.Text).Rows.Count > 0 Then
MsgError("Kode sudah ada!")
Else
If EditState Then
Execute("UPDATE tb_jenis SET nama_jenis=@0 WHERE
kode_jenis=@1", TxtNama.Text, TxtKode.Text)
Else
Execute("INSERT INTO tb_jenis(kode_jenis, nama_jenis) VALUES
(@0, @1)", TxtKode.Text, TxtNama.Text)
Execute("INSERT INTO tb_nilai(kode_periode, kode_jenis, nilai)
SELECT kode_periode, @0, 0 FROM tb_periode", TxtKode.Text)
End If
MsgInfo("Data tersimpan")
Me.DialogResult = Windows.Forms.DialogResult.Yes
Me.Close()
End If
End Sub
Private Sub BtnAuto_Click(ByVal sender As Object, ByVal e As EventArgs)
TxtKode.Text = KodeOtomatis("kode_jenis", "tb_jenis", "J", 2)
End Sub
Private Sub FrmJenisTambah_Load(sender As Object, e As EventArgs)
Handles MyBase.Load
TxtKode.Enabled = Not EditState
If EditState Then
Dr = OpenDR("SELECT * FROM tb_jenis WHERE kode_jenis=@0",
TxtKode.Text)
If Dr.Read() Then
TxtKode.Text = Dr("kode_jenis")
TxtNama.Text = Dr("nama_jenis")
End If
Else
BtnAuto_Click(sender, e)
End If
End Sub
Private Sub FrmJenisTambah_KeyDown(sender As Object, e As
KeyEventArgs) Handles MyBase.KeyDown
If isSave(e) Then BtnSimpan_Click(sender, e)
If isClose(e) Then BtnKeluar_Click(sender, e)
End Sub
Private Sub TxtKode_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TxtKode.TextChanged
End Sub
End Class
Form Periode
Public Class FrmPeriode
Private Sub BtnRefresh_Click(sender As Object, e As EventArgs) Handles
BtnRefresh.Click
Dgv.DataSource = OpenDT("SELECT Kode_periode, Nama_periode,
keterangan FROM tb_periode WHERE kode_periode LIKE @0 OR
nama_periode LIKE @0 ORDER BY kode_periode", "%" & TxtCari.Text &
"%")
Dgv.Columns(0).Width = 100
Dgv.Columns(1).Width = 150
Dgv.Columns(2).Width = 150
Dgv.Columns(0).HeaderText = "Kode Periode"
Dgv.Columns(1).HeaderText = "Nama Periode"
Dgv.Columns(2).HeaderText = "Keterangan"
End Sub
Private Sub FrmPeriode_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
'Dgv.SetDefault()
BtnRefresh_Click(sender, e)
End Sub
Private Sub FrmPeriode_KeyDown(sender As Object, e As KeyEventArgs)
Handles MyBase.KeyDown
If isRefresh(e) Then BtnRefresh_Click(sender, e)
If isClose(e) Then BtnKeluar_Click(sender, e)
End Sub
Private Sub TxtCari_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles TxtCari.KeyPress
If isEnter(e) Then BtnRefresh_Click(sender, e)
End Sub
Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnHapus_Click(sender As Object, e As EventArgs) Handles
BtnHapus.Click
If Not Dgv.CurrentCell Is Nothing Then
If msgAsk("Hapus data?") = vbYes Then
Delete("tb_periode", "kode_periode=@0",
Dgv.getSelAt("kode_periode"))
Delete("tb_nilai", "kode_periode=@0", Dgv.getSelAt("kode_periode"))
msgInfo("Data terhapus!")
BtnRefresh_Click(sender, e)
End If
End If
End Sub
Private Sub BtnTambah_Click(sender As Object, e As EventArgs) Handles
BtnTambah.Click
Dim f As New FrmPeriodeTambah
f.EditState = False
f.Text = "Tambah Data"
If f.ShowDialog = DialogResult.Yes Then
BtnRefresh_Click(sender, e)
End If
End Sub
Private Sub BtnUbah_Click(sender As Object, e As EventArgs) Handles
BtnUbah.Click
If Not Dgv.CurrentCell Is Nothing Then
Dim f As New FrmPeriodeTambah
f.Text = "Ubah Data"
f.EditState = True
f.TxtKode.Text = Dgv.getSelAt("kode_periode")
If f.ShowDialog = DialogResult.Yes Then
BtnRefresh_Click(sender, e)
End If
End If
End Sub
Private Sub Dgv_CellContentClick(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.DataGridViewCellEventArgs) Handles
Dgv.CellContentClick
End Sub
Private Sub TxtCari_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TxtCari.TextChanged
End Sub
End Class
Form Periode Tambah
Public Class FrmPeriodeTambah
Public EditState As Boolean = False
Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnSimpan_Click(sender As Object, e As EventArgs) Handles
BtnSimpan.Click
If TxtKode.Text = "" Or TxtNama.Text = "" Then
msgError("Field bertanda * tidak boleh kosong!")
ElseIf Not EditState And OpenDT("SELECT * FROM tb_periode WHERE
kode_periode=@0", TxtKode.Text).Rows.Count > 0 Then
MsgError("Kode sudah ada!")
Else
If EditState Then
Execute("UPDATE tb_periode SET keterangan=@0,
nama_periode=@1 WHERE kode_periode=@2", TxtKeterangan.Text,
TxtNama.Text, TxtKode.Text)
Else
Execute("INSERT INTO tb_periode(kode_periode, nama_periode,
keterangan) VALUES (@0, @1, @2)", TxtKode.Text, TxtNama.Text,
TxtKeterangan.Text)
Execute("INSERT INTO tb_nilai (kode_periode, kode_jenis, nilai)
SELECT @0, kode_jenis, 0 FROM tb_jenis", TxtKode.Text)
End If
msgInfo("Data tersimpan")
Me.DialogResult = Windows.Forms.DialogResult.Yes
Me.Close()
End If
End Sub
Private Sub BtnAuto_Click(ByVal sender As Object, ByVal e As EventArgs)
TxtKode.Text = KodeOtomatis("kode_periode", "tb_periode", "P", 2)
End Sub
Private Sub FrmPeriodeTambah_Load(sender As Object, e As EventArgs)
Handles MyBase.Load
TxtKode.Enabled = Not EditState
If EditState Then
Dr = OpenDR("SELECT * FROM tb_periode WHERE
kode_periode=@0", TxtKode.Text)
If Dr.Read() Then
TxtKode.Text = Dr("kode_periode")
TxtNama.Text = Dr("nama_periode")
TxtKeterangan.Text = Dr("keterangan")
End If
Else
BtnAuto_Click(sender, e)
End If
End Sub
Private Sub FrmPeriodeTambah_KeyDown(sender As Object, e As
KeyEventArgs) Handles MyBase.KeyDown
If isSave(e) Then BtnSimpan_Click(sender, e)
If isClose(e) Then BtnKeluar_Click(sender, e)
End Sub
Private Sub TxtKode_TextChanged(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles TxtKode.TextChanged
End Sub
End Class
Form Nilai
Public Class FrmNilai
Public DtNilai As New DataTable
Private NilaiAwal As Integer = 0
Private Sub FrmNilai_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Dgv.AllowUserToAddRows = False
'Dgv.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells
isiGrid1()
End Sub
Sub isiGrid1()
Dgv.Columns.Clear()
Dgv.Columns.Add("kode_periode", "Kode")
Dgv.Columns("kode_periode").ReadOnly = True
Dgv.Columns.Add("nama_periode", "Nama Periode")
Dgv.Columns("nama_periode").ReadOnly = True
Dgv.Columns.Add("keterangan", "Keterangan")
Dgv.Columns("keterangan").ReadOnly = True
Dgv.Columns(0).Width = 100
Dgv.Columns(1).Width = 150
Dgv.Columns(2).Width = 150
Dr = OpenDR("SELECT * FROM tb_periode WHERE kode_periode LIKE
@0 OR nama_periode LIKE @0 ORDER BY kode_periode", "%" &
TxtCari.Text & "%")
While dr.Read()
Dgv.Rows.Add(Dr("kode_periode"), Dr("nama_periode"),
Dr("keterangan"))
End While
Dr = OpenDR("SELECT kode_jenis, nama_jenis FROM tb_jenis ORDER
BY kode_jenis")
While dr.Read()
Dgv.Columns.Add(Dr(0), Dr(1))
Dgv.Columns(Dr(0)).Width = 150
End While
For Each row As DataGridViewRow In Dgv.Rows
Dr = OpenDR("SELECT * FROM tb_nilai WHERE kode_periode=@0
ORDER BY kode_jenis", Dgv.getValAt(row.Index, "kode_periode"))
While dr.Read()
Dgv(Dr("kode_jenis").ToString(), row.Index).Value = Dr("nilai")
End While
Next
End Sub
Private Sub BtnRefresh_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnRefresh.Click
isiGrid1()
End Sub
Private Sub TxtCari_KeyPress(sender As Object, e As KeyPressEventArgs)
Handles TxtCari.KeyPress
If e.isEnter Then isiGrid1()
End Sub
Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
Private Sub Dgv_CellFormatting(sender As Object, e As
DataGridViewCellFormattingEventArgs) Handles Dgv.CellFormatting
If Not IsNothing(e.Value) Then
If e.ColumnIndex >= 3 Then
e.CellStyle.BackColor = Color.Cyan
End If
End If
End Sub
Private Sub Dgv_CellEndEdit(sender As Object, e As
DataGridViewCellEventArgs) Handles Dgv.CellEndEdit
Dim nilai As Double = Val(Dgv(e.ColumnIndex, e.RowIndex).Value)
Execute("UPDATE tb_nilai SET nilai=@0 WHERE kode_periode=@1
AND kode_jenis=@2", nilai, Dgv(0, e.RowIndex).Value,
Dgv.Columns(e.ColumnIndex).Name)
TxtKeterangan.Text = "Data tersimpan!"
End Sub
Private Sub BtnUbah_Click(sender As System.Object, e As System.EventArgs)
Handles BtnUbah.Click
If Not Dgv.CurrentCell Is Nothing Then
Dim f As New FrmNilaiUbah
f.TxtKode.Text = Dgv.getSelAt("kode_periode")
If f.ShowDialog = DialogResult.Yes Then
BtnRefresh_Click(sender, e)
End If
End If
End Sub
End Class
Form Nilai Ubah
Public Class FrmNilaiUbah
Public Kode = ""
Public KodeResponden = ""
Private Sub FrmNilaiUbah_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dr = OpenDR("SELECT * FROM tb_periode WHERE kode_periode=@0",
TxtKode.Text)
If dr.Read Then
TxtKode.Text = Dr("kode_periode")
TxtNama.Text = Dr("nama_periode")
TxtKode.Enabled = False
TxtNama.Enabled = False
Dim Top As Integer = TxtNama.Top + TxtKode.Height + 9
Dim indeks As Integer = 0
Dim DtDetail As DataTable = OpenDT("SELECT * FROM tb_nilai n
INNER JOIN tb_jenis j ON j.kode_jenis=n.kode_jenis WHERE
kode_periode=@0 ORDER BY j.kode_jenis", TxtKode.Text)
For Each Row As DataRow In DtDetail.Rows
Dim l As New Label()
l.Text = Row("nama_jenis")
l.Location = New Point(Label1.Left, Top)
Me.Controls.Add(l)
Dim txt As New TextBox()
txt.Location = New Point(TxtKode.Left, Top)
txt.Tag = Row("kode_jenis")
txt.Width = TxtKode.Width
txt.Text = Row("nilai")
Me.Controls.Add(txt)
Top += 32
indeks += 1
Next
BtnSimpan.Top = Top
BtnKeluar.Top = Top
Me.Height = Top + 100
End If
End Sub
Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnSimpan.Click
If TxtNama.Text = "" Then
MsgInfo("Field bertanda * tidak boleh kosong!")
Else
For Each c As Control In Me.Controls
If TypeOf c Is TextBox And c.Tag <> "" Then
Dim txt As TextBox = c
Execute("UPDATE tb_nilai SET nilai=@0 WHERE
kode_periode=@1 AND kode_jenis=@2", Val(txt.Text), TxtKode.Text, txt.Tag)
End If
Next
MsgInfo("Data tersimpan")
Me.DialogResult = vbYes
End If
End Sub
End Class
Form Perhitungan
Public Class FrmHitung
Dim DtPeriode As DataTable
Dim NilaiHuruf As String
Dim DtJenis As DataTable
Dim DtNilai As DataTable
Dim a As Integer
Dim MaxPeriode = 0
Dim AC As ClassFWMA
Private Sub FrmHitung_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
MaxPeriode = GetVar("SELECT MAX(nama_periode) FROM tb_periode")
TxtNextPeriode.Text = MaxPeriode + 1
TxtJenis.setDS(OpenDT("SELECT kode_jenis, nama_jenis FROM tb_jenis
ORDER BY kode_jenis"))
Dim dt As DataTable = OpenDT("SELECT * FROM tb_nilai WHERE nilai
< 0")
Dgv1.SetDefault()
awal()
TxtMovingAvg.Text = 3
End Sub
Sub awal()
DtNilai = OpenDT("SELECT p.nama_periode, p.keterangan, n.nilai FROM
tb_nilai n INNER JOIN tb_jenis j ON j.kode_jenis=n.kode_jenis INNER JOIN
tb_periode p ON p.kode_periode=n.kode_periode WHERE j.kode_jenis=@0
ORDER BY p.nama_periode ", TxtJenis.SelectedValue.ToString())
AC = New ClassFWMA(DtNilai)
With Dgv1
.Columns.Clear()
.Columns.Add("periode", "Periode")
.Columns.Add("keterangan", "Keterangan")
.Columns.Add("nilai", TxtJenis.Text)
.Columns("nilai").formatNumber()
For Each Row As KeyValuePair(Of Integer, Nilai) In AC.DNilai
Dgv1.Rows.Add(Row.Value.Periode, Row.Value.Keterangan,
Row.Value.Dt)
Next
End With
BtnCetak.Enabled = False
End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnHitung_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnHitung.Click
If Val(TxtNextPeriode.Text) < MaxPeriode + 1 Then
MsgInfo("Masukkan next periode minimal " & (MaxPeriode + 1))
Exit Sub
ElseIf Val(TxtMovingAvg.Text) < 2 Or Val(TxtMovingAvg.Text) >
Dgv1.Rows.Count - 1 Then
MsgInfo("Masukkan moving agv dari " & 2 & " sampai " &
(Dgv1.Rows.Count - 1))
Exit Sub
End If
AC.hitung(MaxPeriode, Val(TxtNextPeriode.Text),
Val(TxtMovingAvg.Text))
With Dgv1
.Columns.Clear()
.Columns.Add("periode", "Periode")
.Columns.Add("keterangan", "Keterangan")
.Columns.Add("nilai", TxtJenis.Text)
'.Columns.Add("weight", "Weight")
'.Columns("weight").formatNumber(6)
.Columns("nilai").formatNumber()
.Columns.Add("ft", "Ft")
.Columns("ft").formatNumber(3)
.Columns.Add("Err", "Err")
.Columns("Err").formatNumber(3)
.Columns.Add("AbsErr", "AbsErr")
.Columns("AbsErr").formatNumber(3)
.Columns.Add("Err^2", "Err^2")
.Columns("Err^2").formatNumber(3)
.Columns.Add("Err/Dt", "APE(%)")
.Columns("Err/Dt").formatNumber(3)
' a = 1
'Dim w As New List(Of Double)
'Dim total As Integer = 0
'For Each Row As KeyValuePair(Of Integer, Nilai) In AC.DNilai
'If a <= Val(TxtMovingAvg.Text) Then
'total += a
'w.Add(a)
'a += 1
'End If
'.Rows.Add(Row.Value.Periode, Row.Value.Dt, Nothing, Row.Value.Fx,
Row.Value.Err, Row.Value.AbsErr, Row.Value.ErrKuadrat, Row.Value.ErrDt)
'Next
'a = 0
'For Each d As Double In w
'Dgv1("weight", a).Value = d / total
'a += 1
'Next
For Each Row As KeyValuePair(Of Integer, Nilai) In AC.DNilai
If Row.Value.Periode = 1 Then
NilaiHuruf = "Juli 2019"
ElseIf Row.Value.Periode = 2 Then
NilaiHuruf = "Agustus 2019"
ElseIf Row.Value.Periode = 3 Then
NilaiHuruf = "September 2019"
ElseIf Row.Value.Periode = 4 Then
NilaiHuruf = "Oktober 2019"
ElseIf Row.Value.Periode = 5 Then
NilaiHuruf = "November 2019"
ElseIf Row.Value.Periode = 6 Then
NilaiHuruf = "Desember 2019"
ElseIf Row.Value.Periode = 7 Then
NilaiHuruf = "Januari 2020"
ElseIf Row.Value.Periode = 8 Then
NilaiHuruf = "Februari 2020"
ElseIf Row.Value.Periode = 9 Then
NilaiHuruf = "Maret 2020"
ElseIf Row.Value.Periode = 10 Then
NilaiHuruf = "April 2020"
ElseIf Row.Value.Periode = 11 Then
NilaiHuruf = "Mei 2020"
ElseIf Row.Value.Periode = 12 Then
NilaiHuruf = "Juni 2020"
ElseIf Row.Value.Periode = 13 Then
NilaiHuruf = "Juli 2020"
ElseIf Row.Value.Periode = 14 Then
NilaiHuruf = "Agustus 2020"
ElseIf Row.Value.Periode = 15 Then
NilaiHuruf = "September 2020"
ElseIf Row.Value.Periode = 16 Then
NilaiHuruf = "Oktober 2020"
ElseIf Row.Value.Periode = 17 Then
NilaiHuruf = "November 2020"
ElseIf Row.Value.Periode = 18 Then
NilaiHuruf = "Desember 2020"
ElseIf Row.Value.Periode = 19 Then
NilaiHuruf = "Januari 2021"
ElseIf Row.Value.Periode = 20 Then
NilaiHuruf = "Februari 2021"
ElseIf Row.Value.Periode = 21 Then
NilaiHuruf = "Maret 2021"
ElseIf Row.Value.Periode = 22 Then
NilaiHuruf = "April 2021"
ElseIf Row.Value.Periode = 23 Then
NilaiHuruf = "Mei 2021"
ElseIf Row.Value.Periode = 24 Then
NilaiHuruf = "Juni 2021"
Else
NilaiHuruf = "Tahun 2022"
End If
.Rows.Add(Row.Value.Periode, NilaiHuruf, Row.Value.Dt,
Row.Value.Fx, Row.Value.Err, Row.Value.AbsErr, Row.Value.ErrKuadrat,
Row.Value.ErrDt)
Next
For Each Row As KeyValuePair(Of Integer, Nilai) In AC.DFt
If Row.Value.Periode = 1 Then
NilaiHuruf = "Juli 2019"
ElseIf Row.Value.Periode = 2 Then
NilaiHuruf = "Agustus 2019"
ElseIf Row.Value.Periode = 3 Then
NilaiHuruf = "September 2019"
ElseIf Row.Value.Periode = 4 Then
NilaiHuruf = "Oktober 2019"
ElseIf Row.Value.Periode = 5 Then
NilaiHuruf = "November 2019"
ElseIf Row.Value.Periode = 6 Then
NilaiHuruf = "Desember 2019"
ElseIf Row.Value.Periode = 7 Then
NilaiHuruf = "Januari 2020"
ElseIf Row.Value.Periode = 8 Then
NilaiHuruf = "Februari 2020"
ElseIf Row.Value.Periode = 9 Then
NilaiHuruf = "Maret 2020"
ElseIf Row.Value.Periode = 10 Then
NilaiHuruf = "April 2020"
ElseIf Row.Value.Periode = 11 Then
NilaiHuruf = "Mei 2020"
ElseIf Row.Value.Periode = 12 Then
NilaiHuruf = "Juni 2020"
ElseIf Row.Value.Periode = 13 Then
NilaiHuruf = "Juli 2020"
ElseIf Row.Value.Periode = 14 Then
NilaiHuruf = "Agustus 2020"
ElseIf Row.Value.Periode = 15 Then
NilaiHuruf = "September 2020"
ElseIf Row.Value.Periode = 16 Then
NilaiHuruf = "Oktober 2020"
ElseIf Row.Value.Periode = 17 Then
NilaiHuruf = "November 2020"
ElseIf Row.Value.Periode = 18 Then
NilaiHuruf = "Desember 2020"
ElseIf Row.Value.Periode = 19 Then
NilaiHuruf = "Januari 2021"
ElseIf Row.Value.Periode = 20 Then
NilaiHuruf = "Februari 2021"
ElseIf Row.Value.Periode = 21 Then
NilaiHuruf = "Maret 2021"
ElseIf Row.Value.Periode = 22 Then
NilaiHuruf = "April 2021"
ElseIf Row.Value.Periode = 23 Then
NilaiHuruf = "Mei 2021"
ElseIf Row.Value.Periode = 24 Then
NilaiHuruf = "Juni 2021"
Else
NilaiHuruf = "Tahun 2022"
End If
.Rows.Add(Row.Value.Periode, NilaiHuruf, Nothing,
Math.Round(Row.Value.Fx, 2))
.Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.Yellow
Next
.Rows.Add("MAD", Nothing, Nothing, AC.MAD)
.Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.Cyan
.Rows.Add("MSE", Nothing, Nothing, AC.MSE)
.Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.Cyan
.Rows.Add("MAPE(%)", Nothing, Nothing, AC.MAPE)
.Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.Cyan
End With
BtnCetak.Enabled = True
End Sub
Private Sub TxtJenis_SelectedIndexChanged(sender As System.Object, e As
System.EventArgs) Handles TxtJenis.SelectedIndexChanged
awal()
End Sub
Private Sub BtnCetak_Click(sender As System.Object, e As
System.EventArgs) Handles BtnCetak.Click
Dim l As New LapHitung
Dim Rpt As New RptHitung
Dim Dt As DataTable = OpenDT("SELECT '' AS periode, 0.0 AS nilai, 0.0
AS fx, 0.0 AS Err, 0.0 AS AbsErr, 0.0 AS ErrKuadrat, 0.0 AS ErrDt")
Dt.Clear()
For Each row As DataGridViewRow In Dgv1.Rows
'Dt.Rows.Add(row.Cells(0).Value, row.Cells(1).Value,
row.Cells(2).Value, row.Cells(3).Value, row.Cells(4).Value, row.Cells(5).Value,
row.Cells(6).Value, row.Cells(7).Value)
Dt.Rows.Add(row.Cells(0).Value, row.Cells(2).Value,
row.Cells(3).Value, row.Cells(4).Value, row.Cells(5).Value, row.Cells(6).Value,
row.Cells(7).Value)
Next
Rpt.SetDataSource(Dt)
Rpt.Refresh()
l.CrystalReportViewer1.ReportSource = Rpt
l.CrystalReportViewer1.RefreshReport()
l.ShowAsChild(Me.MdiParent)
End Sub
End Class
Form Laporan hasil Perhitungan
Public Class LapHitung
Public sql As String = ""
Private Sub CrystalReportViewer1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles CrystalReportViewer1.Load
'If sql = "" Then sql = "SELECT * FROM tb_alternatif ORDER BY total
DESC"
'Me.Rpt.SetDataSource(openDT(sql))
'CrystalReportViewer1.RefreshReport()
End Sub
Private Sub LapHitung_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
End Sub
End Class
Form Password
Public Class FrmPassword
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnKeluar.Click
Me.Close()
End Sub
Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnUbah.Click
dr = openDR("SELECT * FROM tb_user WHERE user='" & user & "' AND
pass='" & TxtPass1.Text & "'")
If Not dr.Read Then
msgError("Password lama salah!")
ElseIf TxtPass2.Text <> TxtPass3.Text Then
msgError("Password baru dan konfirmasi passwrod baru tidak sama")
ElseIf TxtPass2.Text.Length < 4 Then
msgError("Password minimal 4 karakter")
Else
Execute("UPDATE tb_user SET pass='" & TxtPass2.Text & "' WHERE
user='" & user & "'")
msgInfo("Password berhasil diubah!")
Me.Close()
End If
End Sub
MWAClass.vb
Public Class Nilai
Public Periode As Integer
Public Keterangan As String
Public Dt As Double = 0
Public Fx As Double
Public Err As Double = 0
Public AbsErr As Double = 0
Public ErrKuadrat As Double = 0
Public ErrDt As Double = 0
End Class
Public Class ClassFWMA
Public DNilai As New Dictionary(Of Integer, Nilai)
Public DFt As New Dictionary(Of Integer, Nilai)
Public MAD As Double = 0
Public MSE As Double = 0
Public MAPE As Double = 0
Public Sub New(ByVal DtNilai As DataTable)
For Each row As DataRow In DtNilai.Rows
Dim a As New Nilai
a.Periode = row("nama_periode")
a.Keterangan = row("keterangan")
a.Dt = row("nilai")
DNilai.Add(a.Periode, a)
Next
End Sub
Public Sub hitung(MaxPeriode As Integer, NexPeriode As Integer, Avg As
Integer)
Dim Prev As New List(Of Double)
For Each Row As KeyValuePair(Of Integer, Nilai) In DNilai
If Prev.Count >= Avg Then
Dim total As Double = 0
Dim nItem As Integer = 1
Dim nTotal As Integer = 0
For Each Item As Double In Prev
total += Item * nItem
nTotal += nItem
nItem += 1
Next
Row.Value.Fx = total / nTotal
Else
Row.Value.Fx = Nothing
End If
Prev.Add(Row.Value.Dt)
If Prev.Count > Avg Then
Prev.RemoveAt(0)
End If
Next
DFt.Clear()
For i As Integer = MaxPeriode + 1 To NexPeriode
Dim n As New Nilai
n.Periode = i
Dim total As Double = 0
Dim nItem As Integer = 1
Dim nTotal As Integer = 0
For Each Item As Double In Prev
total += Item * nItem
nTotal += nItem
nItem += 1
Next
n.Fx = total / nTotal
DFt.Add(i, n)
Prev.Add(n.Fx)
If Prev.Count > Avg Then
Prev.RemoveAt(0)
End If
Next
Tes()
End Sub
Sub Tes()
Dim n As Integer = 0
MAD = 0
MSE = 0
MAPE = 0
For Each Row As KeyValuePair(Of Integer, Nilai) In DNilai
If Row.Value.Fx <> Nothing Then
Row.Value.Err = Row.Value.Fx - Row.Value.Dt
Row.Value.AbsErr = Math.Abs(Row.Value.Err)
Row.Value.ErrKuadrat = Math.Pow(Row.Value.Err, 2)
Row.Value.ErrDt = Math.Abs(Row.Value.AbsErr / Row.Value.Dt) *
100
MAD += Row.Value.AbsErr
MSE += Row.Value.ErrKuadrat
MAPE += Row.Value.ErrDt
n += 1
Else
Row.Value.Err = Nothing
Row.Value.AbsErr = Nothing
Row.Value.ErrKuadrat = Nothing
Row.Value.ErrDt = Nothing
End If
Next
MAD /= n
MSE /= n
MAPE /= n
End Sub
End Class
DAFTAR RIWAYAT HIDUP
1. Data Personal
Nama : Rismawati
Tempat / Tgl. Lahir : Aek Nabuntu/ 19 Desember 1998
Jenis Kelamin : Perempuan
Agama : Islam
Program Studi : Sistem Informasi
Alamat : Afd V Desa Aek Nabuntu
Negara : Indonesia
2. Pendidikan Formal
Jenjang Nama Lemabaga Jurusan Tahun
Masuk
Tahun
Lulus
SD SDN 014657 Aek Nabuntu - 2004 2010
SMP SMP Negeri 1 Aek Kuasan - 2010 2013
SMK SMK Swasta Pelita 2 Kualuh
Hulu
Administrasi
Perkantoran
2013 2016
Kuliah STMIK Royal Kisaran Sistem
Informasi
2016 2020
Demikian daftar riwayat hidup ini dibuat dengan sebenarnya.
Kisaran, September 2020
Hormat Penulis
Rismawati