View
9
Download
0
Category
Preview:
Citation preview
IMPLEMENTASI METODE WEIGHTED MOVING
AVERAGE DALAM MEMPREDIKSI
PENGANGGURAN DI KABUPATEN
ASAHAN
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Untuk Menyelesaikan Pendidikan Strata Satu (S-1)
Program Studi Sistem Informasi
Disusun Oleh:
FEBRIYANINGSIH SIAGIAN
16.22.0188
Sekolah Tinggi Manajemen Informatika dan Komputer Royal
STMIK ROYAL KISARAN
2020
ix
KATA PENGANTAR
Puji Syukur kepada Allah SWT yang telah memberikan rahmat dan
hidayah-Nya kepada penulis, sehingga penulis dapat menyelesaikan proposal ini.
proposal yang berjudul “Implementasi Metode Weighted Moving Average
Dalam Memprediksi Tingkat Pengangguran Terbuka Di Kabupaten
Asahan“ ini dimaksudkan adalah sebagai syarat untuk menyelesaikan pendidikan
program Strata Satu (SI) STMIK Royal Kisaran.
Dalam proses pembuatan proposal 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;
3. Ibu Rizky Fauziah, S.Sos., M.Kom., M.Ikom Selaku Wakil Ketua 1 STMIK
Royal Kisaran;
4. Ibu Wan Mariatul Kifti, M.M Selaku Wakil Ketua 2 STMIK Royal Kisaran;
5. Bapak Sudarmin., M.Kom Selaku Wakil Ketua 3 STMIK Royal Kisaran;
6. Bapak William Ramdhan, M.Kom selaku Kepala Prodi Sistem Informasi
STMIK Royal Kisaran
7. Bapak Havid Syafwan, S.Si, M.Kom selaku dosen pembimbing I yang telah
banyak membantu dalam proses penyelesaian proposal;
x
8. Ibu Masitah Handayani, M.Kom selaku dosen pembimbing II yang telah
banyak membantu dalam penulisan dan memberikan banyak masukan
terhadap proses penyelesain proposal;
9. Pimpinan dan seluruh staf/pegawai Badan Pusat Statistik Kabupaten Asahan
yang memberikan izin untuk melakukan riset serta membantu peneliti dalam
melakukan riset;
10. Seluruh Dosen dan Staff Kependidikan STMIK Royal yang telah banyak
membantu kelancaran perkuliahan penulis.
Dalam penyusunan proposal ini penulis menyadari sepenuhnya bahwa
masih jauh dari kesempurnaan, oleh karena itu segala kritik dan saran yang
bersifat membangun sangat penulis harapkan demi kesempurnaan proposal ini dan
membantu ilmu pengetahuan penulis.
Kisaran, September 2020
Penulis
Febriyaningsih Siagian
NIM : 16.22.0188
xi
DAFTAR ISI
Halaman
HALAMAN JUDUL ................................................................................. i
HALAMAN PERSETUJUAN ................................................................. ii
HALAMAN PENGESAHAN ................................................................... iii
HALAMAN KEASLIAN .......................................................................... iv
HALAMAN PERSEMBAHAN ............................................................... v
ABSTRAK ................................................................................................. vii
ABSTRACT ................................................................................................ viii
KATA PENGANTAR ............................................................................... ix
DAFTAR ISI .............................................................................................. xi
DAFTAR GAMBAR ................................................................................. xv
DAFTAR TABEL ..................................................................................... xviii
BAB 1 PENDAHULUAN ......................................................................... 1
1.1 Latar Belakang Masalah .............................................................. 1
1.2 Identifikasi Masalah..................................................................... 4
1.3 Pembatasan Masalah .................................................................... 5
1.4 Perumusan Masalah ..................................................................... 5
1.5 Tujuan Penelitian ......................................................................... 5
1.6 Manfaat Penelitian ....................................................................... 6
1.7 Sistematika Penulisan .................................................................. 7
xii
BAB II TINJAUAN PUSTAKA ............................................................... 9
2.1 Konsep Dasar Peramalan ............................................................. 9
2.1.1 Peramalan ............................................................................ 9
2.1.2 Metode Weighted Moving Average ..................................... 11
2.1.3 Nilai Ukuran Kesalahan ....................................................... 12
2.1.4 Pemodelan Sistem ................................................................ 14
2.1.5 Perangkat Lunak Yang Digunakan ...................................... 20
2.2 Tinjauan Penelitian ...................................................................... 23
2.3 Kerangka Pemikiran .................................................................... 24
2.4 Tinjauan Umum Perusahaan ........................................................ 25
2.4.1 Badan Pusat Statistik Kab. Asahan ...................................... 25
2.4.2 Struktur Organisasi Badan Pusat Statistik Kab. Asahan ..... 27
2.5 Hipotesis ........................................................................................ 28
BAB III METODOLOGI PENELITIAN ............................................... 29
3.1 Kerangka Kerja Penelitian ........................................................... 30
3.2 Metode Penelitian ........................................................................ 31
3.3 Teknik Pengumpulan Data .......................................................... 32
3.4 Waktu dan Tempat Penelitian ..................................................... 32
BAB IV ANALISA DAN PERANCANGAN .......................................... 34
4.1 Analisis Sistem ............................................................................ 34
4.1.1 Analisis Masalah ................................................................. 36
4.1.2 Analisis Kebutuhan Sistem ................................................. 36
4.1.2.1 Analisis Data .................................................................... 36
4.1.2.2 Analisis Pengguna ........................................................... 37
xiii
4.1.2.3 Analisis Perangkat Keras ................................................. 38
4.1.2.4 Analisis Perangkat Lunak ................................................ 38
4.1.2.5 Konfigurasi Sistem .......................................................... 38
4.2 Analisis Biaya .............................................................................. 40
4.3 Perancangan Sistem Secara Umum ............................................. 41
4.3.1 Algoritma Weighted Moving Average ................................ 41
4.3.2 Analisis Sitem Baru ............................................................ 42
4.3.3 Unified Modeling Language ............................................... 59
4.3.4 Flowchart ............................................................................ 66
4.3.5 Perancangan Basis Data ...................................................... 78
4.3.6 Perancangan Antar Muka ................................................... 81
BAB V IMPLEMENTASI DAN PENGUJIAN ...................................... 93
5.1 Implementasi................................................................................ 92
5.1.1 Implementasi Basis Data .................................................... 92
5.1.2 Implementasi Antar Muka .................................................. 96
5.2 Pengujian ..................................................................................... 106
5.3 Kelebihan dan Kekurangan Sistem .............................................. 110
5.3.1 Kelebihan Sistem ................................................................ 110
5.3.2 Kekurangan Sistem ............................................................. 111
BAB VI PENUTUP ................................................................................... 112
6.1 Kesimpulan .................................................................................. 112
6.2 Saran ............................................................................................ 113
DAFTAR PUSTAKA
xiv
DAFTAR LAMPIRAN
1. Listing Program
2. Surat Permohonan Riset
3. Surat Balasan Riset
4. Surat Penunjukan Pembibing Skripsi
5. Berita acara Skripsi
6. Daftar Riwayat Hidup
xv
DAFTAR GAMBAR
Halaman
Gambar 2.1 XAMPP .................................................................................... 20
Gambar 2.2 MySQL ..................................................................................... 21
Gambar 2.3 Microsoft Visual Studio 2010 .................................................. 22
Gambar 2.4 Crystal Report 13.0.4 .............................................................. 22
Gambar 2.5 Kerangka Pemikiran ................................................................ 25
Gambar 2.6 Struktur Organisasi Badan Pusat Statistik Kabupaten Asahan 28
Gambar 3.1 Kerangka Kerja ....................................................................... 30
Gambar 4.1 Aliran Sistem Informasi Lama (yang sedang berjalan) ........... 35
Gambar 4.2 Aliran Sistem Informasi Baru (yang diusulkan) ..................... 44
Gambar 4.3 Use Case Diagram .................................................................. 45
Gambar 4.4 Class Diagram......................................................................... 51
Gambar 4.5 Activity Diagram Login ........................................................... 52
Gambar 4.6 Activity Diagram Data Indikator ............................................. 53
Gambar 4.7 Activity Diagram Data Tahun ................................................. 54
Gambar 4.8 Activity Diagram Jumlah Pengangguran ................................. 55
Gambar 4.9 Activity Diagram Peramalan WMA ........................................ 56
Gambar 4.10 Activity Diagram Ganti Password ........................................ 57
Gambar 4.11 Activity Diagram Logout ....................................................... 58
Gambar 4.12 Squence Diagram Login ........................................................ 59
Gambar 4.13 Squence Diagram Data Indikator .......................................... 60
Gambar 4.14 Squence Diagram Data Tahun .............................................. 61
xvi
Gambar 4.15 Squence Diagram Jumlah Pengangguran ............................. 62
Gambar 4.16 Squence Diagram Peramalan WMA ..................................... 63
Gambar 4.17 Squence Diagram Ganti Password ........................................ 64
Gambar 4.18 Squence Diagram Logout ...................................................... 65
Gambar 4.19 Deployment Diagram ........................................................... 66
Gambar 4.20 Flowchart Login .................................................................... 67
Gambar 4.21 Flowchart Menu Utama ........................................................ 68
Gambar 4.22 Flowchart Data Indikator ...................................................... 70
Gambar 4.23 Flowchart Data Tahun .......................................................... 72
Gambar 4.24 Flowchart Jumlah Pengangguran .......................................... 73
Gambar 4.25 Flowchart Peramalan WMA ................................................. 75
Gambar 4.26 Flowchart Ganti Password .................................................... 77
Gambar 4.27 Flowchart Logout .................................................................. 78
Gambar 4.28 Entity Relationship Diagram (ERD) ..................................... 79
Gambar 4.29 Form Login ............................................................................ 82
Gambar 4.30 Halaman Menu Utama .......................................................... 83
Gambar 4.31 Form Data Indikator .............................................................. 84
Gambar 4.32 Form Tambah/Ubah Data Indikator ...................................... 85
Gambar 4.33 Form Hapus Data Indikator................................................... 86
Gambar 4.34 Form Data Tahun ................................................................. 87
Gambar 4.35 Form Tambah/Ubah Data Tahun .......................................... 88
Gambar 4.36 Form Konfirmasi Hapus Data Tahun .................................... 88
Gambar 4.37 Form Jumlah Pengangguran ................................................. 89
Gambar 4.38 Form Peramalan WMA ......................................................... 90
xvii
Gambar 4.39 Cetak Hasil Perhitungan ........................................................ 91
Gambar 4.40 Form Ganti Password ............................................................ 92
Gambar 5.1 Tampilan Tabel Database ....................................................... 93
Gambar 5.2 Tampilan Tabel Indikator ........................................................ 94
Gambar 5.3 Tampilan Tabel Jumlah ........................................................... 94
Gambar 5.4 Tampilan Tabel Tahun ............................................................ 95
Gambar 5.5 Tampilan Tabel User ............................................................... 95
Gambar 5.6 Tampilan Form Login ............................................................. 96
Gambar 5.7 Tampilan Halaman Utama Administrator ............................... 97
Gambar 5.8 Tampilan Form Data Indikator ............................................... 97
Gambar 5.9 Tampilan Form Tambah Data Indikator ................................. 98
Gambar 5.10 Tampilan Form Ubah Data Indikator .................................... 98
Gambar 5.11 Tampilan Form Cari Data Indikator...................................... 99
Gambar 5.12 Tampilan Form Data Indikator ............................................. 99
Gambar 5.13 Tampilan Form Data Tahun .................................................. 100
Gambar 5.14 Tampilan Form Tambah Data Tahun .................................... 101
Gambar 5.15 Tampilan Form Ubah Data Tahun ........................................ 101
Gambar 5.16 Tampilan Form Cari Data Tahun .......................................... 102
Gambar 5.17 Tampilan Form Konfirmasi Hapus Data Tahun ................... 102
Gambar 5.18 Tampilan Form Jumlah Pengangguran ................................. 103
Gambar 5.19 Tampilan Form Cari Data Jumlah Pengangguran ................. 103
Gambar 5.20 Tampilan Form Peramalan WMA......................................... 104
Gambar 5.21 Tampilan Form Hitung.......................................................... 105
Gambar 5.22 Tampilan Form Cetak ........................................................... 105
xviii
DAFTAR TABEL
Halaman
Tabel 1.1 Pengangguran Terbuka di Kabupaten Asahan ............................ 3
Tabel 2.1 Simbol Flowchart ....................................................................... 14
Tabel 2.2 Simbol Entity Relationship Diagram .......................................... 15
Tabel 2.3 Simbol Use Case Diagram ......................................................... 16
Tabel 2.4 Simbol Class Diagram ................................................................ 17
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 ......................................................................... 33
Tabel 4.1 Perangkat Keras .......................................................................... 38
Tabel 4.2 Perangkat Lunak Yang digunakan .............................................. 39
Tabel 4.3 Analisis Biaya ............................................................................. 40
Tabel 4.4 Perhitungan Prediksi Pengangguran Terbuka ............................ 41
Tabel 4.5 Analisis Kesalahan Prediksi Pengangguran Terbuka.................. 42
Tabel 4.6 Deskripsi Use Case Diagran Login ............................................ 46
Tabel 4.7 Deskripsi Use Case Diagran Data Indikator .............................. 46
Tabel 4.8 Deskripsi Use Case Diagran Data Tahun ................................... 47
Tabel 4.9 Deskripsi Use Case Diagran Jumlah Pengangguran .................. 48
Tabel 4.10 Deskripsi Use Case Diagran Peramalam WMA ...................... 49
Tabel 4.11 Deskripsi Use Case Diagran Ganti Password .......................... 49
Tabel 4.12 Deskripsi Use Case Diagran Logout ........................................ 50
xix
Tabel 4.13 Kelas, Atribut dan Operasi ........................................................ 51
Tabel 4.14 Indikator .................................................................................... 80
Tabel 4.15 Jumlah ....................................................................................... 80
Tabel 4.16 Tahun ........................................................................................ 81
Tabel 4.17 User ........................................................................................... 81
Tabel 5.1 Hasil Pengujian login .................................................................. 106
Tabel 5.2 Hasil Pengujian From Halaman Utama ...................................... 107
Tabel 5.3 Hasil Pengujian From Data Indikator ......................................... 107
Tabel 5.4 Hasil Pengujian From Data Tahun ............................................. 108
Tabel 5.5 Hasil Pengujian From Jumlah Pengangguran ............................. 109
Tabel 5.6 Hasil Pengujian From Peramalan WMA .................................... 109
Tabel 5.7 Hasil Pengujian From Ganti Password ....................................... 110
DAFTAR PUSTAKA
A.s, R; & Shalahuddin, M. (2016). Rekayasa Perangkat Lunak Terstruktur dan
Berorientasi Objek. Bandung: Informatika.
Ais, K., Sholihah, B., Safitri, N., & Fitri, S. (2019). Perbandingan Metode Moving Average dan Metode Naïve Dalam Peramalan Data Kemiskinan. Jurnal
Teori Dan Aplikasi Matematika, 3(1), 65–73.
Ayumida, S. (2018). Aplikasi Tasibar (Pendaftaran Siswa Baru0 Pada SD Negeri Cikampak Selatan 1-Karawang. Jurnal Interkom, 13(2), 21–30.
Baktiar, C., Wibowo, A., & Adipranata, R. (2015). Pembuatan Sistem Peramalan
Penjualan Dengan Metode Weighted Moving Average dan Double
Exponential Smoothing Pada UD Y. 1–5.
Darmawan, D. R., Aspiranti, T., & Koesdiningsih, N. (2017). Analisis Peramalan Penjualan dengan Menggunakan Metode Single Moving Average , Weighted Moving Average dan Exponential Smoothing Sebagai Dasar Perencanaan Produksi Polo Shirt Pria ( Studi Kasus pada PT . Amanah Garment Bandung ). Junal Prosiding Manajemen, 3(2), 703–708.
Gusrion, D., Kom, S., & Kom, M. (2018). Membuat Aplikasi Penyimpanan dan Pengolahan Data Dengan VB.NET. Jurnal Komunikasi Teknologi
Informatika, 5(1), 150–163.
Hayuningtyas, R. Y. (2017). Peramalan Persediaan Barang Menggunakan Metode Weighted Moving Average dan Metode Double Exponential Smoothing. Jurnal Psa Mandiri, 13(2), 217–222.
Isnayati, & Saptari, M. A. (2017). Sistem Peramalan Penjualan Sepeda Motor Menggunakan Metode Trend Projection Pada PT. UD PRIMA NUSANTARA. Jurnal Sistem Informasi, 155–184.
Laisina, L. H., Haurissa, M. A. ., & Hatala, Z. (2018). Sistem Informasi Data Jemaat GPM Gidion Waiyari Ambon dan Jemaat GPM Halong Anugerah Ambon. Jurnal Simetrik, 8(2), 139–144.
Lubis, J. R., Fauzi, R., Fauzan, M., & Sari, L. P. (2019). Rumus Matematika Sekolah Dasar Berbasis Android Menggunaakan ADT ( Android Developer Tools). Jurnal Education and Development, 7(1), 103–110.
Nasution, A. (2019). Metode Weighted Moving Average Dalam M-Forecasting. Jurnal Teknologi Dan Sistem Informasi, V(2), 119–124.
Paruntu, S. A., & Palandeng, I. D. (2018). Analisa Ramalan Penjualan Persediaan Produk Sepeda Motor Suzuki pada PT SINAR GALESONG MANDIRI MALALAYANG. Jurnal EMBA, 6(4), 2828–2837.
Ramadania, R. (2018). Peramalan Harga Beras Bulanan Di Tingkat Penggilingan Dengan Metode. Jurnal Bimaster, 07(4), 329–334.
Riyanto, Giarti, F. R., & Permana, S. E. (2017). Sistem Prediksi Menggunakan Metode Weighted Moving Average Untuk Penentuan Jumlah Order Barang. Jurnal ICT, 16(2), 37–42.
Santi, R. C. noor, Eniyati, S., & Mulyani, S. (2019). Penggunaan Weight Moving Average Untuk Sistem Peramalan Estensi Jumlah Mahasiswa Baru. Jurnal
Proceeding SINTAK, 2017, 520–524.
Sulianta, Feri. (2017). Teknik Perancangan Arsitektur Sistem Informasi. Yogyakarta: Penerbit Andi.
Syahputra, R. D., Suharyono, & Supriono. (2018). Peramalan Penjualan Jasa Freight Forwarding Dengan Metode Single Moving Averages, Expontial Smoothing dan Weighted Moving Average. Jurnal Adminitrasi Bisnis, 55(2), 113–121.
Yesputra, Rolly. (2017). Belajar Visual Basic.Net dengan Visual Studio 2010. Kisaran: Royal Asahan Press
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Pembangunan nasional Indonesia adalah paradigma pembangunan yang
terbangun atas pengalaman Pancasila yaitu pembangunan manusia Indonesia
seutuhnya dan pembangunan masyarakat Indonesia seluruhnya, dengan Pancasila
sebagai dasar, tujuan, dan pedomannya. Salah satu tujuan dari pembangunan
nasional adalah memajukan kesejahteraan umum dan mencerdaskan kehidupan
bangsa. Sebagai negara yang berkembang, Indonesia berupaya untuk
meningkatkan kesejahteraan demi mencapai tujuan nasional. Upaya pemerintah
dalam meningkatkan kesejahteraan adalah meningkatkan stabilitas nasional,
memacu pertumbuhan ekonomi, meningkatkan iklim investasi, dan menekan
angka pengangguran. Salah satu masalah yang dihadapi Indonesia pada saat ini
adalah masalah pengangguran. Jumlah pengangguran yang tinggi berdampak pada
menurunnya tingkat kesejahteraan masyarakat.
Pengangguran dapat disebabkan oleh berbagai hal seperti kurangnya
lapangan pekerjaan atau sedikitnya kesempatan untuk mendapatkan sebuah
pekerjaan. Masalah pengangguran telah menjadi momok yang begitu menakutkan.
Indonesia sering kali dihadapkan dengan besarnya angka pengangguran karena
sempitnya lapangan pekerjaan dan besarnya jumlah penduduk. Pengangguran
dapat berdampak tidak hanya bagi dirinyanya sendiri, keluarga dan masyarakat.
Namun, dapat berdampak kepada Negara, seperti turunnya tingkat pendapatan
Negara dari sektor pajak, tingginya tingkat kriminalitas dan turunnya daya beli
2
masyarakat. Menurut BPS (2016), Indikator utama yang digunakan untuk
mengukur angka pengangguran dalam angkatan kerja yaitu Tingkat Pengangguran
Terbuka. Tingkat Pengangguran Terbuka (TPT) merupakan persentase jumlah
pengangguran terhadap jumlah angkatan kerja. Secara umum, selama Agustus
2017 sampai Agustus 2018 terjadi peningkatan kondisi ketenagakerjaan di
Kabupaten Asahan, yaitu menurunnya jumlah pengangguran yang terserap
menjadi Angkatan Kerja, penurunan jumlah Tingkat Pengangguran Terbuka
(TPT) dan meningkatnya proporsi pekerja formal (berusaha dibantu buruh
tetap/buruh dibayar dan buruh/karyawan/pegawai).
Jumlah angkatan kerja di Kabupaten Asahan pada Agustus 2018 sebanyak
336.894 orang, naik sebanyak 21.376 orang dibanding Agustus 2017. Jumlah
penduduk yang bekerja di Kabupaten Asahan pada Agustus 2018 mencapai
319.167 orang, naik sebanyak 22.408 orang dibanding Agustus 2017 yang
sebesar 296.759 orang. Jumlah pengangguran terbuka mengalami penurunan yaitu
dari 18.759 orang pada Agustus 2017 menjadi 17.727 orang pada Agustus 2018
atau turun sebanyak 1.032 orang (Berita Resmi Statistik, 2019: 1).
Tingkat Pengangguran Terbuka (TPT) di Kabupaten Asahan
pada Agustus 2018 sebesar 5,26 persen, mengalami penurunan sebesar 0,69 poin
dibanding Agustus 2017 yang sebesar 5,95 persen. Sektor pertanian masih
menyerap jumlah tenaga kerja terbanyak yaitu mencapai 115.849 orang pada
Agustus 2018 (36,30 persen). Sektor pekerjaan formal mengalami peningkatan
yaitu dari 49,28 persen pada Agustus 2017 naik menjadi 52,22 persen pada
Agustus 2018 atau naik sebanyak 2,94 poin (Berita Resmi Statistik, 2019: 1).
3
Berikut ini adalah data penganguran di Kabupaten Asahan:
Tabel 1.1 Pengangguran
di Kabupaten Asahan
Tahun Pengangguran
2009 26 971 2010 27 687 2011 20 488 2012 21 096 2013 13 651 2014 5237 2015 17 120 2016 - 2017 18 759 2018 17 727 2019 22 441
Sumber: Badan Pusat Statistika (2019)
Berdasarkan tabel 1.1 terlihat bahwa data pengangguran mengalami
jumlah yang naik turun dari tahun 2009 sampai tahun 2019. Pada tahun 2009
jumlah pengangguran terbuka di Kabupaten Asahan sebesar 26.971 orang dan
naik di tahun 2010 menjadi sebesar 27.687 orang. Tahun 2011 terjadi penurunan
pengangguran menjadi sebesar 20.488 orang dan tahun 2012 terjadi kenaikan
pengangguran menjadi sebesar 21.096 orang.
Pada tahun 2013 hingga tahun 2014 terjadi penurunan pengangguran yang
disebabkan oleh optimisme tumbuhnya perekonomian Kabupaten Asahan dan
semakin berkurangnya tambahan angkatan kerja baru. Sebab pemerintah
melakukan berbagai upaya untuk membuka lapangan pekerjaan di berbagai sektor
untuk mengimbangi adanya tambahan angakatan kerja baru yang bertambah setiap
tahunnya.
4
Pada tahun 2015 dan tahun 2017 terjadi peningkatan pengangguran, dua
alasan yang menjadi penyebab peningkatan pengangguran yaitu adanya
pemutusan hubungan kerja serta daya serap yang menurun karena peningkatan
jumlah angkatan kerja. Pada tahun 2018 terjadi penurunan pengangguran di
Kabupaten Asahan karena banyaknya penyerapan jumlah tenaga kerja. Pada tahun
2019 terjadi kenaikan tingkat pengangguran, hal ini disebabkan banyaknya
pengangguran lulusan SMK, SMA, dan Diploma I/II/III.
Berdasarkan latar belakang masalah di atas, maka penulis bermaksud
melakukan penelitian menggunakan bahasa pemrograman Visual Basic Net 2010
dan database MySQL. Diharapkan dengan adanya sistem tersebut akan
mempermudah pihak Badan Pusat Statistik (BPS) Kabupaten Asahan dalam
memprediksi tingkat pengangguran di masa yang akan datang di Kabupaten
Asahan. Adapun judul skripsi yang akan dibuat adalah “Implementasi Metode
Weighted Moving Average dalam Memprediksi Pengangguran di Kabupaten
Asahan.”
1.2 Identifikasi Masalah
Adapun identifikasi masalah dalam penelitian ini adalah:
1. Data pengangguran mengalami jumlah yang naik turun dari tahun 2009
sampai dengan 2019.
2. Badan Pusat Statistik (BPS) Kabupaten Asahan belum memiliki sistem
peramalan untuk memprediksi pengangguran di Kabupaten Asahan.
5
1.3 Pembatasan Masalah
Adapun batasan masalah dalam penelitian ini adalah:
1. Metode yang digunakan Weighted Moving Average.
2. Bahasa pemrograman Visual Basic Net 2010.
3. Database yang digunakan MySQL.
4. Pengolahannya berdasarkan data pengangguran khususnya pengangguran
dari tahun 2009 sampai dengan 2019
1.4 Perumusan Masalah
Adapun rumusan masalah dalam penelitian ini adalah:
1. Bagaimana meramalkan pengangguran yang terjadi saat ini di Kabupaten
Asahan?
2. Bagaimana penerapan metode Weighted Moving Average untuk meramalkan
pengangguran di Kabupaten Asahan?
3. Bagaimana merancang sistem aplikasi peramalan pengangguran di Kabupaten
Asahan dengan menggunakan metode Weighted Moving Average berbasis
desktop?
1.5 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah sebagai berikut:
1. Meramalkan pengangguran di Kabupaten Asahan pada periode berikutnya
berdasarkan data yang ada saat ini.
2. Menerapkan metode Weighted Moving Average untuk meramalkan tingkat
pengangguran terbuka berdasarkan data yang diperoleh di Kabupaten Asahan.
6
3. Merancang sistem aplikasi peramalan pengangguran dengan menggunakan
metode Weighted Moving Average dengan bahasa pemrograman Visual Basic
Net 2010 dan database MySQL.
1.6 Manfaat Penelitian
Adapun manfaat dari penelitian ini adalah sebagai berikut:
1. Bagi Penulis
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 Badan Pusat Statistik Kabupaten Asahan
Sebagai bahan acuan dalam upaya melakukan pengambilan keputusan
peramalan pengangguran oleh pegawai Badan Pusat Statistik Kabupaten
Asahan.
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.
7
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
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. Cari
jurnal dan hasil penelitian yang sudah dipublikasikan untuk dijadikan referensi.
BAB III METODOLOGI PENELITIAN
Bab ini menjelaskan berbagai metode yang digunakan antara lain: analisis
data dan masalah, jenis dan metode pengumpulan data, rancangan/desain
penelitian, teknik pengumpulan, waktu dan tempat 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.
8
BAB VI KESIMPULAN DAN SARAN
Pada bab ini terdiri atas kesimpulan dan saran. Kesimpulan mengemukakan secara
singkat hasil penting yang diperoleh dan menginterpretasikan sesuai dengan
masalah dan tujuan penelitian. Saran merupakan sumbangan pemikiran berupa
rekomendasi yang diambil dari hasil analisis dan pembahasan serta hasil
kesimpulan.
9
BAB II
TINJAUAN PUSTAKA
2.1 Konsep Dasar Peramalan
2.1.1 Peramalan
2.1.1.1 Definisi Peramalan
Peramalan merupakan teknik penting bagi perusahaan dalam mengambil
kebijakan. Dalam meramalkan suatu kejadian pada masa yang akan datang bukan
berarti hasil yang diramalkan adalah sama persis, melainkan suatu pendekatan
alternatif yang lumrah dalam ilmu statistik (Darmawan, dkk, 2017: 704).
Peramalan adalah suatu usaha untuk memprediksikan keadaaan yang akan
terjadi di masa akan datang melalui pengujian keadaan di masa lalu. Subtansi
peramalan adalah perkiraan kejadian di waktu yang akan datang atas dasar pola di
waktu masa lalu dan penggunaan kebijakan terhadap proyeksi dengan pola di
waktu masa lalu (Paruntu dan Palandeng, 2018: 2829).
2.1.1.2 Kegunaan Peramalan
Beberapa kegunaan peramalan adalah:
1. Peramalan yang akurat akan menghemat biaya perusahaan.
2. Perusahaan/instansi dapat mengantisipasi keadaan di masa mendatang
sehingga resiko terjadinya kegagalan dapat diminimalkan.
3. Peramalan dapat digunakan sebagai pengambilan keputusan karena hasil
peramalan berisi informasi yang mengawali dalam tingkatan manajemen
perusahaan/instansi.
10
4. Mengevaluasi dan mengkaji kebijakan perusahaan saat ini dan dimasa lalu,
serta melihat sejauh mana pengaruhnya dimasa yang akan datang (Syahputra,
dkk, 2018: 115).
2.1.1.3 Metode Peramalan
Terdapat dua kategori metode peramalan menurut Baktiar, dkk (2015:2):
1. Metode kualitatif
Metode kualitatif adalah metode yang tidak menggunakan perhitungan-
perhitungan dengan rumus dan metode yang menggunakan pendapat dari berbagai
pihak. Metode kualitatif dibagi menjadi dua, yaitu:
a. Metode Eksploratoris
Bergerak kearah masa depan dengan melihat semua kemungkinan yang terjadi
dengan masa lalu dan masa sekarang sebagai langkah awalnya.
b. Metode Normatif
Menetapkan sasaran dan tujuan yang akan datang, kemudian melihat masa lalu
untuk memastikan apakah hal ini dapat dicapai berdasarkan kendala, sumber daya,
dan teknologi yang tersedia.
2. Metode kuantitatif
Metode kuantitatif menggunakan metode yang berhubungan dengan ilmu
statistik dan matetematik sehingga dapat dipertanggung jawabkan secara ilmiah.
Metode kuantitatif adalah metode yang sangat mengandalkan pola data historis
yang dimiliki. Pada Metode kuantitatif di kelompokkan menjadi dua jenis, yaitu:
11
a. Analisis sebab-akibat (Causal Methods) berdasarkan atas pengguna analisa pola
hubungan antara variabel yang akan diperkirakan dengan variabel yang
mempengaruhinya.
b. Analisis deret berkala (Time Series) pada umumnya berdasarkan atas pengguna
analisa pola hubungan antara variabel yang akan diperkirakan dengan variabel
waktu. Pola data dapat dibedakan menjadi 4 jenis, yaitu:
Pola Trend (T) yaitu terjadi apabila terdapat fluktuasi jangka panjang dalam data
Pola Siklus (C) yaitu terjadi apabila berhubungan dengan siklus bisnis dan
datanya dipengaruhi oleh frekuensi ekonomi jangka panjang Pola Musiman (S)
yaitu terjadi apabila dipengaruhi oleh faktor musiman Pola Horizontal (H)
terjadi apabila nilai data berfluktuasi di sekitar nilai rata – rata yang tetap.
2.1.2 Metode Weighted Moving Average
Metode Weight Moving Average (WMA) merupakan metode yang banyak
digunakan untuk menentukan trend dari suatu deret waktu. Metode ini digunakan
untuk data yang perubahannya tidak cepat/lambat. Model rata-rata bergerak
menggunakan sejumlah data aktual permintaan yang baru untuk membangkitkan
nilai ramalan untuk permintaan di masa mendatang(Riyanto, dkk, 2017: 39).
Metode Weight Moving Average adalah bentuk peningkatan dari metode Simple
Moving Average (SMA) yang memberikan bobot lebih besar untuk data yang
lebih baru daripada yang lebih lama. Faktor bobot dihitung dari jumlah hari yang
digunakan dalam data deret waktu atau dikenal sebagai jumlah digit (Kumila, dkk,
2019: 66).
12
Persamaan matematis dari metode WMA adalah:
WMA = ∑ (Xt x W) ........................................................ (1) ∑W
Keterangan:
Xt = Data aktual pada periode (t) tertentu
W = Bobot
2.1.3 Nilai Ukuran Kesalahan
Nilai ukuran kesalahan dilakukan untuk mengetahui ketepatan dari hasil
peramalan yang telah dilakukan. Ketepatan suatu metode peramalan merupakan
kesesuaian dari suatu metode dan pada akhirnya dapat memperlihatkan seberapa
jauh model peramalan tersebut mampu meramalkan data yang telah diketahui.
Setiap metode peramalan pasti menghasilkan kesalahan. Jika tingkat kesalahan
yang dihasilkan semakin kecil, maka hasil peramalan semakin akurat. Jika data
aktual untuk periode ke-t 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
Adapun perhitungan yang digunakan untuk nilai kesalahan dalam
peralaman (Ramadania, 2018: 331) adalah:
1. Mean Absolute Deviation (MAD)
MAD merupakan rata-rata kesalahan absolut (mutlak) selama periode
tertentu. Nilai absolut berguna untuk menghindari adanya nilai penyimpangan
13
positif dan penyimpangan negatif. Secara matematis, MAD dapat dirumuskankan
sebagai berikut:
MAD = 1/n ....................................................(3)
dimana :
et = Error pada periode ke-t
n = Jumlah periode
2. Mean Square Error (MSE)
MSE merupakan kesalahan nilai tengah kuadrat atau rata-rata kesalahan
peramalan yang dikuadratkan, semakin kecil nilai MSE maka semakin kecil
kesalahan hasil prediksi. Secara matematis, MSE dapat dirumuskankan sebagai
berikut:
MSE = 1/n ......................................................(4)
dimana :
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 besar nilai
MAPE maka semakin besar kesalahan hasil prediksi, sebaliknya semakin kecil
nilai MAPE maka semakin kecil pula kesalahan hasil prediksi. Hasil suatu metode
peramalan mempunyai kemampuan peramalan baik jika nilai MAPE diantara 10%
dan 20% serta mempunyai kemampuan sangat baik jika nilai MAPE < 10%.
Secara matematis, MAPE dapat dirumuskan sebagai berikut:
| et |
| et |2
14
MAPE = 1/n ..........................(5)
dimana :
et = Error pada periode ke-t
n = Jumlah periode
2.1.4 Pemodelan Sistem
2.1.4.1 Flowchart
Flowchart adalah simbol-simbol untuk menggambarkan urutan proses
yang terjadi di dalam suatu program komputer secar sistematis dan logis.
Flowchart dapat menunjukkan secara jelas arus pengendalian suatu algoritma di
dalam program yang akan dibuat (Ayumida, 2018: 24). Berikut ini adalah simbol-
simbol dari flowchart:
Tabel 2.1 Simbol Flowchart
Simbol Nama Deskripsi
Terminator
Permulaan atau akhir dari program.
Garis Alir
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.
| et/xt | x 100%
15
Sumber: Rosyidi L, dkk (2019: 104)
2.1.4.2 Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) merupakan diagram yang digunakan
untuk merancang tabel-tabel yang nantinya akan diterapkan pada basis data
(Sulianta, 2017: 158). Berikut ini adalah simbol-simbol dari ERD:
Tabel 2.2 Simbol Entity Relationship Diagram
Simbol Nama Deskripsi
Entitas Entitas merupakan data inti yang akan
disimpan; benda yang memiliki data dan
harus disimpan datanya agar dapat diakses
oleh aplikasi komputer.
Atribut
Kolom data yang butuh disimpan dalam suatu
entitas.
Atribut kunci primer
Kolom data yang butuh disimpan dalam
suatu entitas dan digunakan sebagai kunci
akses record yang diinginkan.
Atribut multinilai
Kolom data yang butuh disimpan dalam
suatu entitas yang dapat memiliki nilai
lebih dari satu.
Relasi Relasi yang menghubungkan anta entita;
biasanya diawali dengan kata kerja.
Simbol Nama Deskripsi
Decision
Perbandingan pernyataan, menyeleksi data yang memberikan pilihan untuk langkah selanjutnya.
One Page
Connector
Penghubung flowchart yang berada pada satu halaman.
Off Page
Connector
Penghubung flowchart yang berada pada halaman berbeda.
nama_entitas
nama_atribut
nama_kunci
primer
nama_atribut
nama_relasi
16
Simbol Nama Deskripsi
N
Asosiasi
Penghubung antara relasi dan entitas di
mana di kedua ujungnya memiliki
multiplicity kemungkinan jumlah
pemakaian. Sumber: Rosa A.S dan Shalahuddin (2016:50-51)
2.1.4.3 Unified Modeling Language (UML)
Pada umumnya hanya digunakan lima diagram saja dalam sebuah UML,
yaitu use case diagram, class diagram, activity diagram, sequence diagram dan
deployment diagram.
1. Use Case Diagram
Use case diagram merupakan diagram yang harus dibuat pertama kali saat
pemodelan perangkat lunak berorientasi pada objek dilakukan. Use case diagram
menggambarkan apa-apa saja yang akan dikerjakan oleh aktor (Sulianta, 2017:
216). Berikut ini adalah simbol-simbol dari use case diagram:
Tabel 2.3 Simbol Use Case Diagram
Simbol Nama Deskripsi
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.
17
Sumber: Sulianta (2017:217)
2. Class Diagram
Class diagram dibuat setelah use case diagram, dalam class diagram
harus menjelaskan hubungan yang terjadi antara suatu objek dengan objek lainnya
sehingga terbentuklah suatu sistem aplikasi (Sulianta, 2017: 218). Berikut ini
adalah simbol-simbol dari class diagram:
Tabel 2.4 Simbol Class Diagram
Sumber: Rossa AS & Shalahuddin (2016:146-147)
Simbol Nama Deskripsi
<<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.
Simbol Nama Keterangan
Nama Kelas
+atribut
+operasi()
Kelas(Class)
Kelas pada struktur sistem.
Antarmuka (Interface)
Sama dengan konsep interface dalam pemrograman berorientasi objek.
Asosiasi (Association)
Relasi antarkelas dengan makna umum, asosia biasanya disertai dengan multiplicity.
Asosiasi Berarah (Directed
Association)
Relasi antarkelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya disertai dengan multiplicity.
Generalisasi
Relasi antarkelas dengan makna generalisasi-spesialisasi (umum-khusus).
Kebergantungan (Dependency)
Relasi antarkelas dengan makna kebergantungan antarkelas.
Agregasi (Aggregation)
Relasi antarkelas dengan makna semua-bagian.
18
3. Activity Diagram
Activity diagram menggambarkan aliran kerja atau aktivitas dari sebuah
sistem dan proses bisnis yang ada pada perangkat lunak. Yang perlu diperhatikan
adalah diagram aktivitas menggambarkan aktvitas sistem bukan apa yang
dilakukan aktor (Rosa dan Shalahuddin, 2016:161). Berikut ini adalah simbol-
simbol dari activity diagram:
Tabel 2.5 Simbol Activity Diagram
Sumber: Rossa & Shalahuddin (2016:162-163)
4. Sequence Diagram
Sequence diagram adalah diagram yang dibuat untuk mengetahui alur dari
iinteraksi antar objek. Isi dari sequence diagram harus sama dengan use case
diagram dan class diagram (Sulianta, 2017: 221). Berikut ini adalah simbol-
simbol dari sequence diagram:
Simbol Nama Keterangan
Status Awal (Start Point)
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktivitas (Activitis)
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja.
Percabangan (Decision)
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
Penggabungan (Join)
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu.
Status Akhir (End Point)
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.
19
Tabel 2.6 Simbol Sequence Diagram
Sumber: Sulianta (2017:222)
5. Deployment Diagram
Diagram deployment menunjukkan konfigurasi komponen dalam proses
eksekusi aplikasi (Rosa dan Shalahuddin, 2016:154). Berikut ini adalah simbol-
simbol dari deployment diagram:
Tabel 2.7 Simbol Deployment Diagram
Sumber: Rossa & Shalahuddin (2016:154-155)
Simbol Nama Deskripsi
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 antarobjek ditunjukkan pada bagian operasi pada diagram kelas.
Return
Pesan kembalian dari komunikasi antar objek.
Simbol Nama Deskripsi
Package Merupakan sebuah bungkusan dari satu atau lebih node.
Node Biasanya mengacu pada perangkat keras, perangkat lunak yang tidak dibuat sendiri jika di dalam node disertakan komponen untuk mengkonsistenkan rancangan.
Dependency /
Kebergantungan Kebergantungan antar node, arah panah mengarah pada node yang dipakai.
Link Relasi antar node.
20
2.1.5 Perangkat Lunak yang Digunakan
2.1.5.1 XAMPP
XAMPP adalah perangkat lunak yang mendukung banyak sistem operasi.
XAMPP merupakan server yang berfungsi sebagai penerjemah bahasa yang ditulis
dengan bahasa pemrograman PHP dan Perl. XAMPP singkatan dari X (empat
sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia
dalam General Public License merupakan web server yang mudah digunakan dan
dapat melayani tampilan web secara dinamis (Isnayati, dan Saptari, 2017: 160).
Gambar 2.1 Simbol XAMPP
2.1.5.2 MySQL
MySQL merupakan database server yang open source dengan berbagai
kelebihan sehingga banyak digunakan dalam membangun suatu project. MySQL
memiliki fasilitas utama yaitu API (Application Programming Interface) sehingga
berbagai bahasa pemrograman dapat mengakses basis data MySQL (Laisina, dkk,
2018: 141).
21
Gambar 2.2 MySQL
2.1.5.3 Visual Basic Net 2010
Visual Studio 2010 (VB .Net 2010) pada dasarnya adalah sebuah bahasa
pemrograman komputer. Visual Studio 2010 merupakan suatu software yang
dapat digunakan untuk pengembangan berbagai macam aplikasi dengan berbagai
macam tipe antara lain aplikasi desktop (Windows Form, CommandLine, Aplikasi
Web, Windwos Mobile). Visual Studio 2010 memiliki lebih dari satu kompiler,
SDK (Software Development Kid), dan Dokumentasi Tutorial (MDSN Library)
(Yesputra, 2017: 1).
Beberapa keistimewaan Visual Studio 2010 ini diantaranya seperti :
1. Beberapa fitur untuk pengembangan berbagai macam aplikasi yang dimiliki
Visual Studio 2010 diantaranya; Windows Development, Web Development,
Office Development, Sharepoint Development, Cloud Development (Windows
Azure), Silverlight Tooling, Multi-Core Development, Customizable IDE
2. Menghasilkan file executable yang lebih cepat dan lebih efisien dari yang
sebelumnya karena memiliki compiler handal.
3. Menggunakan developer studio, yang memiliki tampilan dan sarana yang
sama dengan Visual C++ dan Visual J++.
22
4. Memiliki beberapa tambahan wizard yang baru yang merupakan sarana untuk
mempermudah di dalam pembuatan aplikasi dengan mengotomisasi tugas-
tugas tertentu (Gusrion, 2018: 151).
Gambar 2.3 Microsoft Visual Studio 2010
2.1.5.4 Crystal Report
Crystal reports merupakan salah satu program yang digunakan untuk
membuat, menganalisa, dan menterjemahkan informasi yang terkandung dalam
database ke dalam berbagai jenis laporan. Crystal reports dirancang untuk
membuat laporan yang dapat digunakan dengan berbagai bahasa pemrograman
berbasis dekstop, seperti Visual Basic, Visual C/C++, Visual Interdev, dan
Borland Delphi.
Gambar 2.4 Crystal Report 13.0.4
23
2.2 Tinjauan Penelitian
Berikut beberapa penelitian yang relevan dengan skripsi ini adalah:
1. Ratih Yulia Hayuningtyas (2017) melakukan penelitian dengan judul
“Peramalan Persediaan Barang Menggunakan Metode Weighted Moving
Average dan metode Double Exponential Smoothing.” Hasilnya adalah
adanya sistem peramalan persediaan barang dapat mempermudah proses
pelayanan pemilik dalam menyediakan barang untuk ke depannya. Metode
Weighted Moving Average lebih baik dari metode Double Exponential
Smoothing dilihat dari nilai error MSE dan dapat mengurangi atau
meminimalisir masalah penumpukan barang atau kekurangan barang.
2. Riyanto, Fitria Ratma Giarti, dan Sandy Eka Permana (2017) melakukan
penelitian dengan judul “Sistem Prediksi Menggunakan Metode Weighted
Moving Average untuk Penentuan Jumlah Order Barang.” Hasilnya adalah
penerapan sistem prediksi dengan mengunakan metode Weight Moving
Average dapat memberikan hasil prediksi dengan cukup akurat, melihat dari
data-data penjualan sebelumnya, yang di jadikan acuan dalam proses estimasi
barang untuk menentukan jumlah order barang yang dapat meminimalisir
terjadinya overstock atau kelebihan persediaan
3. Akmal Nasution (2018) melakukan penelitian dengan judul “Forecasting
Produksi Karet Menggunakan Metode Weighted Moving Average.” Hasilnya
adalah perhitungan peramalan dengan metode weighted moving average
produksi karet mempunyai tingkat eror 2.52% yang tergolong kecil, sehingga
tingkat ke akurasiannya tergolong besar, sehingga tepat jika diterapkan pada
sistem nantinya.
24
4. Riska Ramadania (2018) melakukan penelitian dengan judul “Peramalan
Harga Beras Bulanan di Tingkat Penggilingan Dengan Metode Weighted
Moving Average.” Hasilnya adalah sistem peramalan mampu meramalkan
harga beras bulanan dengan baik. Peramalan dari penelitian rata-rata harga
beras bulanan (Rp/Kg) di tingkat penggilingan menurut kualitas beras
medium untuk bulan Desember 2017 dengan kombinasi bobot 36 adalah
sebesar Rp9.227,94/Kg.
5. Rina Candra Noor Santi, Sri Eniyati, dan Sri Mulyani (2019) melakukan
penelitian dengan judul “Penggunaan Weight Moving Average untuk Sistem
Peramalan Estimasi Jumlah Mahasiswa Baru.“ Hasilnya adalah sistem
peramalan dapat membatu dalam melakukan peramalan menentukan jumlah
mahasiswa pada masa yang akan datang. Presentase tingkat keakurasian pada
peramalan yang dilakukan memperoleh hasil diatas 90%.
2.3 Kerangka Pemikiran
Berikut ini adalah kerangka pemikiran dari “Implementasi Metode
Weighted Moving Average dalam Memprediksi Pengangguran di Kabupaten
Asahan.”:
25
A~a
Gambar 2.5 Kerangka Pemikiran
2.4 Tinjauan Umum Perusahaan
2.4.1 Badan Pusat Statistik Kab. Asahan
Badan Pusat Statistik adalah Lembaga Pemerintah Non-Departemen yang
bertanggung jawab langsung kepada Presiden. Sebelumnya, BPS merupakan Biro
Identifikasi Masalah 1. Badan Pusat Statistik (BPS) Kabupaten
Asahan tidak bisa memprediksi jumlah pengangguran terbuka di Kabupaten Asahan untuk tahun berikutnya.
2. Badan Pusat Statistik (BPS) Kabupaten Asahan belum memiliki sistem peramalan untuk memprediksi tingkat pengangguran terbuka di Kabupaten Asahan.
Metode Peramalan
Menghitung data dengan metode Weighter Moving
Average.
Perangkat Lunak yang Digunakan 1. Bahasa pemrograman Visual Basic Net 2010. 2. Database MySQL. 3. Perancangan Unified Modelling Language (UML)
dan flowchart dengan Visual Paradigm.
Implementasi
Implementasi metode Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka.
Pengumpulan
Data
1. Wawancara 2. Dokumentasi
Pengujian Sistem
Pengujian sistem yang dilakukan adalah pengujian black box.
Pengujian Peramalan
1. Mean Squared Error (MSE) 2. Mean Absolute Deviation (MAD) 3. Mean Absolute Perentage Error
(MAPE) 4.
26
Pusat Statistik, yang dibentuk berdasarkan UU Nomor 6 Tahun 1960 tentang
Sensus dan UU Nomer 7 Tahun 1960 tentang Statistik. Sebagai pengganti kedua
UU tersebut ditetapkan UU Nomor 16 Tahun 1997 tentang Statistik. Berdasarkan
UU ini yang ditindaklanjuti dengan peraturan perundangan dibawahnya, secara
formal nama Biro Pusat Statistik diganti menjadi Badan Pusat Statistik.
Materi yang merupakan muatan baru dalam UU Nomor 16 Tahun 1997,
antara lain:
1. Jenis statistik berdasarkan tujuan pemanfaatannya terdiri atas statistik dasar
yang sepenuhnya diselenggarakan oleh BPS, statistik sektoral yang
dilaksanakan oleh instansi Pemerintah secara mandiri atau bersama dengan
BPS, serta statistik khusus yang diselenggarakan oleh lembaga, organisasi,
perorangan, dan atau unsur masyarakat lainnya secara mandiri atau bersama
dengan BPS.
2. Hasil statistik yang diselenggarakan oleh BPS diumumkan dalam Berita
Resmi Statistik (BRS) secara teratur dan transparan agar masyarakat dengan
mudah mengetahui dan atau mendapatkan data yang diperlukan.
3. Sistem Statistik Nasional yang andal, efektif, dan efisien.
4. Dibentuknya Forum Masyarakat Statistik sebagai wadah untuk menampung
aspirasi masyarakat statistik, yang bertugas memberikan saran dan
pertimbangan kepada BPS.
Berdasarkan undang-undang yang telah disebutkan di atas, peranan yang
harus dijalankan oleh BPS adalah sebagai berikut:
27
1. Menyediakan kebutuhan data bagi pemerintah dan masyarakat. Data ini
didapatkan dari sensus atau survey yang dilakukan sendiri dan juga dari
departemen atau lembaga pemerintahan lainnya sebagai data sekunder
2. Membantu kegiatan statistik di departemen, lembaga pemerintah atau institusi
lainnya, dalam membangun sistem perstatistikan nasional.
3. Mengembangkan dan mempromosikan standar teknik dan metodologi
statistik, dan menyediakan pelayanan pada bidang pendidikan dan pelatihan
statistik.
4. Membangun kerjasama dengan institusi internasional dan negara lain untuk
kepentingan perkembangan statistik Indonesia.
Adapun visi dan misi Badan Pusat Statistik Kabupaten Asahan adalah:
1. Visi
a. Pelopor data statistik terpercaya untuk semua.
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 Badan Pusat Statistik Kabupaten Asahan
Struktur organisasi 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 Badan Pusat
Statistik Kabupaten Asahan:
28
Gambar 2.6 Struktur Organisasi Badan Pusat Statistik Kabupaten Asahan
2.5 Hipotesis
Adapun hipotesis dalam penelitian ini adalah implemenasi metode
Weighted Moving Average di Badan Pusat Statistik diharapkan dapat membantu
proses perhitungan pengangguran di tahun berikutnya dengan mudah,
memperkecil terjadinya kesalahan dan menghasilkan prediksi yang akurat dan
cepat.
KEPALA
Sub Bagian
Tata Usaha
Tenaga
Fungsional
Seksi Statistik
Sosial
Seksi Statistik
Distribusi
Seksi Neraca
Wilayah &
Analisis Statistik Seksi Statistik
Produksi Seksi Integrasi
Pengolahan &
Diseminasi
Statistik
29
BAB III
METODOLOGI PENELITIAN
3.1 Kerangka Kerja Penelitian
Kerangka penelitian merupakan langkah-langkah yang akan dilakukan
dalam penyelesaian masalah yang akan dibahas. Adapun kerangka kerja penelitian
yang digunakan adalah:
Gambar 3.1 Kerangka Kerja
Adapun uraian kerangka kerja pada gambar 3.1 adalah:
1. Perumusan Masalah
Pada tahap ini penulis merumuskan masalah yang terjadi di Badan Pusat
Statistik (BPS) Kabupaten Asahan yaitu tidak bisa memprediksi jumlah
pengangguran terbuka di Kabupaten Asahan untuk tahun berikutnya. Badan
Pengumpulan Data
Pengembangan Sistem
Pembuatan Laporan Skripsi
Analisis Sistem
Perumusan Masalah
Studi Literatur
30
Pusat Statistik (BPS) Kabupaten Asahan belum memiliki sistem peramalan
untuk memprediksi tingkat pengangguran terbuka di Kabupaten Asahan.
2. Studi Literatur
Pada tahap ini peneliti mengumpulkan data dengan cara mempelajari teori
dan konsep dari literatur yang akurat dengan masalah penelitian, dimana
peneliti banyak mencari data-data dari beberapa buku dan jurnal di internet
yang sesuai dengan permasalahan yang dihadapi. Penulis mencari penjelasan
mengenai definisi peramalan, kegunaan peramalan, metode peramalan,
metode Weighted Moving Average, nilai ukuran kesalahan, pemodelan sistem
yaitu flowchart, Entity Relationship Diagram (ERD), Unified Modelling
Language (UML), dan perangkat lunak yang digunakan.
3. Pengumpulan Data
Setelah merumuskan masalah yang terjadi penulis mengumpulkan data-data
yang diperlukan dalam perancangan peramalan pengangguran terbuka dengan
melakukan wawancara kepada pegawai Badan Pusat Statistik Kabupaten
Asahan dan melakukan observasi ke tempat secara langsung. Pada tahap ini
penulis mengumpulkan data tentang pengangguran terbuka di Kabupaten
Asahan tahun 2009 sampai tahun 2019.
4. Analisis Sistem
Pada tahap ini penulis merancang peramalan pengangguran terbuka yang
bertujuan menjadi acuan dalam pembuatan aplikasi dengan membuat use case
diagram, class diagram, activity diagram, sequence diagram, deployment
diagram, perancangan input output, perancangan struktur data dan flowchart
dan entity relationship diagram.
31
5. Pengembangan Sistem
Pada tahap ini, penulis melakukan pengembangan sistem dengan metode
waterfall. Dengan tujuan agar sistem yang dirancang lebih sistematis dan
efektif ataupun terarah sesuai dengan kebutuhan yang diperlukan. Dan
menghasilkan peramalan pengangguran terbuka menggunakan metode
Weighted Moving Average.
6. Pembuatan Laporan Skripsi
Pada tahap ini merupakan akhir dimana penulis membuat laporan akhir
skripsi dengan judul “Implementasi Metode Weighted Moving Average dalam
Memprediksi Tingkat Pengangguran Terbuka di Kabupaten Asahan”. Yang
terdiri atas 6 bab utama yaitu pendahuluan, landasan teori, metodologi
penelitian, analisa dan perancangan, implementasi dan pengujian dan
kesimpulan dan saran.
3.2 Metode Penelitian
Adapun metode penelitian ini menggunakan pendekatan kuantitatif yaitu
metode penelitian dengan data berupa angka yang diolah menggunakan rumus
sehingga memperoleh hasil berdasarkan perhitungan dengan rumus tersebut.
Tujuan metode penelitian ini adalah untuk mendeskripsikan objek yang diteliti
yaitu memprediksi tingkat pengangguran terbuka, berdasarkan hasil perhitungan
metode Weighted Moving Average.
32
3.3 Teknik Pengumpulan Data
Teknik pengumpulan data merupakan cara yang digunakan untuk
memperoleh dan mengumpulkan data dan informasi yang diteliti secara detail dan
benar. Dalam menyelesaikan skripsi ini penulis melakukan teknik pengumpulan
data sebagai berikut:
1. Penelitian Lapangan
Penelitian lapangan yang penulis lakukan adalah penelitian dan pengambilan
data-data yang diperlukan langsung ditempat penelitian. Penelitian dilakukan
dengan cara :
a. Wawancara yaitu teknik pengumpulan data dengan cara tanya jawab secara
langsung.
b. Pengamatan yaitu teknik pengumpulan data dengan melakukan pengamatan
atau datang langsung ke lokasi penelitian.
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
Pada kesempatan dalam melakukan penelitian ini, penulis mengambil riset
di Badan Pusat Statistik Kabupaten Asahan. Dalam melakukan penelitian nantinya
penulis melakukan riset dengan mengambil data-data yang diperlukan untuk
membangun aplikasi ini. Penulis melaksanakan riset dari bulan Maret 2020
sampai Agustus 2020.
33
Tabel 3.1 Waktu Penelitian
N
o Ket
Waktu
Maret
2020
April
2020
Mei
2020
Juni
2020
Juli
2020
Agustus
2020
September
2020
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 Perumusan Masalah
2 Studi Literatur
3 Pengumpulan Data
4 Analisis Sistem
5 Pengembangan Sistem
6 Pembuatan Laporan Skripsi
30
34
BAB IV
ANALISIS DAN PERANCANGAN
4.1 Analisis Sistem
Analisis sistem dimaksudkan untuk melakukan analisis terhadap sistem
yang sedang berjalan di Badan Pusat Statistik (BPS) Kabupaten Asahan. Fokus
objek peneliti adalah jumlah pengangguran terbuka di Kabupaten Asahan. Adapun
sistem yang sedang berjalan dalam proses perkiraan jumlah pengangguran terbuka
di Kabupaten Asahan adalah:
1. Catatan jumlah pengangguran terbuka ada pada Pegawai Badan Pusat
Statistik Kabupaten Asahan.
2. Pegawai membuat laporan jumlah pengangguran terbuka di Kabupaten
Asahan.
3. Laporan jumlah pengangguran terbuka diserahkan kepada Kepala Badan
Pusat Statistik Kabupaten Asahan.
4. Pegawai menyerahkan laporan jumlah pengangguran terbuka kepada Kepala
BPS Kabupaten Asahan.
5. Kepala BPS Kabupaten Asahan menerima laporan tersebut dan
memeriksanya.
6. Laporan jumlah jumlah pengangguran terbuka yang telah diperiksa oleh
Kepala BPS Kabupaten Asahan diserahkan kepada Pegawai untuk acuan
melakukan perkiraan jumlah pengangguran terbuka pada periode berikutnya.
7. Pegawai melakukan perkiraan jumlah pengagguran terbuka dan
menyerahkannya sebanyak 2 rangkap kepada Kepala BPS Kabupaten Asahan.
35
8. Kepala BPS Kabupaten Asahan memeriksa hasil perkiraan jumlah
pengangguran terbuka periode berikutnya dan menandatanganinya.
9. Hasil perkiraan jumlah pengangguran terbuka periode berikutnya disimpan
oleh Kepala BPS Kabupaten Asahan sebanyak 1 (satu) rangkap dan
diserahkan kepada Pegawai sebanyak 1 (rangkap) untuk dijadikan arsip.
Berikut ini adalah gambar Aliran Sistem Informasi (ASI) perkiraan jumlah
pengangguran terbuka di Kabupaten Asahan:
Pegawai Badan Pusat Statistik Kabupaten Asahan
Kepala Badan Pusat Statistik Kabupaten Asahan
Catatan Jumlah Pengangguran
Membuat Laporan
Laporan jumlah Pengangguran
Laporan Jumlah Pengangguran
Memeriksa Laporan Jumlah Pengangguran
Laporan Jumlah Pengangguran Yang
Telah Diperiksa
Laporan Jumlah Pengangguran Yang
Telah Diperiksa
Melakukan Perkiraan Jumlah Pengangguran Periode Berikutrnya
Hasil Perkiraan Jumlah Pengangguran Periode
Berikutnya
Hasil Perkiraan Jumlah Pengangguran Periode
Berikutnya
Periksa & ttd
Hasil Perkiraan jumlah Pengangguran Periode Berikutnya yang Sudah
di ttd
Hasil Perkiraan jumlah Pengangguran Periode Berikutnya yang Sudah
di ttd
A A
Gambar 4.1 Aliran Sistem Informasi Lama (yang Sedang Berjalan)
36
4.1.1 Analisis Masalah
Analisis masalah dimaksudkan untuk mengetahui permasalahan yang
terjadi di Badan Pusat Statistik Kabupaten Asahan sehingga dapat diketahui
kebutuhan apa yang perlu disediakan untuk pengembangan sistem dan perangkat
lunak. Berikut ini adalah permasalahan yang terjadi:
1. Badan Pusat Statistik (BPS) Kabupaten Asahan tidak bisa memprediksi
jumlah pengangguran terbuka di Kabupaten Asahan untuk tahun berikutnya.
2. Badan Pusat Statistik (BPS) Kabupaten Asahan belum memiliki sistem
peramalan untuk memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan.
4.1.2 Analisis Kebutuhan Sistem
Dalam penelitian ini dilakukan analisis data berupa data masukan dan data
keluaran, analisis proses, analisis pengguna yang dapat menjawab siapa
penggunanya, tujuan penggunaanya dan strategi supaya sistem dapat digunakan
dengan baik oleh pengguna, analisis perangkat keras, analisis perangkat lunak dan
konfirgurasi sistem.
4.1.2.1 Analisis Data
Analisis data terdiri atas analisis data masukan dan analisis data keluaran.
Data masukan yang dibutuhkan di dalam prediksi jumlah pengangguran terbuka di
Kabupaten Asahan adalah data pengangguran terbuka di Kabupaten Asahan tahun
2009 sampai dengan tahun 2019. Data masukan tersebut akan diperoses dengan
menggunakan metode Weighted Moving Average untuk menghitung data
37
menggunakan cara manual dan cara perhitungan sistem. Kemudian data masukan
akan diinputkan ke dalam sistem yang dirancang dan dibangun menggunakan
bahasa pemrograman Visual Basic Net 2010 dan database MySQL.
Analisis kebutuhan keluaran berupa tampilan program berbasis desktop
yang dapat digunakan ketika sudah mengaktifkan local server yaitu XAMPP.
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
yang mempunyai akses mengelola aplikasi peramalan jumlah pengangguran
terbuka mulai dari proses login, pencarian, tambah, ubah, hapus, simpan, kembali,
hitung, cetak, download dan logout. Tujuan penggunaan sistem peramalan
menggunakan metode Weighted Moving Average adalah memudahkan Pegawai
Badan Pusat Statistik Kabupaten Asahan untuk proses peramalan tingkat
pengangguran terbuka di Kabupaten Asahan.
Strategi yang digunakan agar aplikasi peramalan dapat digunakan dengan
baik oleh pengguna adalah harus dirancang dengan tampilan yang mudah
dimengerti dan mudah digunakan. Pemilihan bahasa untuk menu dan tombol yang
ada pada sistem juga harus sesuai dengan kebutuhan pengguna. Selanjutnya,
ketika sistem peramalan ini telah selesai dirancang dan dibangun maka dilakukan
38
pelatihan penggunaan sistem untuk pengguna sebelum benar-benar
diimplementasikan.
4.1.2.3 Analisis Perangkat Keras
Analisis perangkat keras bertujuan untuk mengetahui spesifikasi minimal
yang dibutuhkan untuk dapat merancang implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan.
Perangkat kerasnya adalah:
Tabel 4.1 Perangkat Keras
No Nama Hardware Spesifikasi Fungsi
1 CPU (Central
Processing Unit)
Processor 2.10 GHz Memproses perintah yang diberikan dan melakukan operasi sesuai perintah.
Memory 2 GB Harddiskt 500 GB
2 Monitor 14.0” HD LED LCD Menampilkan data yang terdapat di CPU.
3 Keyboard 86 Keys Mengetik data. 4 Mouse Optical/Touchpad Menggerakkan kursor
pada monitor. 5 Printer Epson L360 Mencetak laporan.
4.1.2.4 Analisis Perangkat Lunak
Analisis perangkat lunak bertujuan untuk mengetahui kebutuhan perangkat
lunak yang dibutuhkan untuk dapat merancang implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan. Perangkat lunak yang digunakan adalah:
39
Tabel 4.2 Perangkat Lunak yang Digunakan
No Kebutuhan Keterangan Fungsi
1 Sistem Operasi Windows 7 Ultimate Mengatur atau mengontrol kerja perangkat keras atau hardware dan menjalankan aplikasi atau software di dalam suatu sistem komputer.
2 Aplikasi a. Microsoft Word
2007
Sebagai media penulisan penelitian.
b. Microsoft Excell
2007
Sebagai media penulisan datashet.
c. Visual Basic Net 2010
Sebagai bahasa pemrograman.
d. MySQL Sebagai database system.
e. Vusial Studio
2010
Sebagai text editor.
f. Crystal Reports
2013
Sebagai media untuk menampilkan laporan.
4.1.2.5 Konfigurasi Sistem
Berikut ini adalah konfigurasi dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan.
Perangkat kerasnya adalah:
1. Instal program aplikasi XAMPP.
2. Membuat database di localhost/phpmyadmin/ yaitu dengan nama
db_forecasting_wma_tingkatpengangguran dan membuat tabel serta field
sesuai.
3. Instal program aplikasi Visual Studio 2010.
4. Membuat codding koneksi di program.
5. Membuat form tampilan program dengan codding yang sesuai.
6. Setelah selesai, jalankan program.
40
4.2 Analisis Biaya
Berikut ini adalah analisis biaya yang dikeluarkan selama pembuatan
skripsi implementasi metode Weighted Moving Average dalam memprediksi
tingkat pengangguran terbuka di Kabupaten Asahan
Tabel 4.3 Analisis Biaya
No Material Pemakaian Kuantitas Jumlah Harga
1 Kertas A4 70 gr Operasional 2 Rp. 90.000,- 2 Printer Operasional 1 Rp.600.000.- 3 Binder Clip Operasional 1 Rp.5.000.- 4 Map Operasional 2 Rp.6.000.- 5 Tinta Printer Operasional 4 Rp.80.000,- 6 Pulpen Operasional 3 Rp.10.000.-
Sub Total Rp.791.000,-
4.3 Perancangan Sistem Secara Umum
Perancangan sistem bertujuan untuk memberikan gambaran rancangan
bangun sistem yang sesuai dengan kebutuhan pengguna. Perancangan sistem
terdiri atas algoritma single moving average, analisis sistem yang baru, Unified
Modeling Language (UML), flowchart, Entity Relationship Diagram (ERD) dan
perancangan tampilan sistem.
4.3.1 Algoritma Weighted Moving Average
Sistem yang akan dibuat merupakan sistem peramalan pengangguran
terbuka dengan menggunakan metode Weighted Moving Average. Adapun
algoritma perhitungannya adalah:
41
Tabel 4.4 Perhitungan Prediksi Pengangguran Terbuka
Periode Aktual Ft Error Abs Error Error^2 APE
(%)
2009 26971 0
2010 27687 0
2011 20488 0
2012 21096 0
2013 13651 0
2014 5237 0
2015 17120 15612,85714 -1507,142857 1507,142857 2271479,592 8,80%
2017 18759 15021,90476 -3737,095238 3737,095238 13965880,82 19,92%
2018 17727 15368,33333 -2358,666667 2358,666667 5563308,444 13,31%
2019 22441 15845,04762 -6595,952381 6595,952381 43506587,81 29,39%
2020 ? 17800,09524
WMA = (∑(Data * bobot)) / (∑ bobot)
WMA = ((5237 * 6) + (13651 * 5) + (21096 * 4) + (20488 * 3) + (27687 * 2) + (26971
* 1)) / (6+5+4+3+2+1) = 15612,85714
WMA = ((17120 * 6) + (5237 * 5) + (13651 * 4) + (21096 * 3) + (20488 * 2) + (27687
* 1)) / (6+5+4+3+2+1) = 15021,90476
WMA = ((18759 * 6) + (17120 * 5) + (5237 * 4) + (13651 * 3) + (21096 * 2) + (20488
* 1)) / (6+5+4+3+2+1) = 15368,33333
WMA = ((17727 * 6) + (18759 * 5) + (17120 * 4) + (5237 * 3) + (13651 * 2) + (21096
* 1)) / (6+5+4+3+2+1) = 15845,04762
WMA = ((22441 * 6) + (17727 * 5) + (18759* 4) + (17120* 3) + (5237 * 2) + (13651*
1)) / (6+5+4+3+2+1) = 17800,09524
Adapun perhitungan error forecasting dengan menggunakan Mean
Absolute Deviation (MAD), Mean Square Error (MSE), dan Mean Absolute
Percentance Error (MAPE) sebagai berikut:
42
Tabel 4.5 Analisis Kesalahan Prediksi Pengangguran Terbuka
Periode Aktual Ft Error Abs Error Error^2 APE
(%)
2009 26971 0
2010 27687 0
2011 20488 0
2012 21096 0
2013 13651 0
2014 5237 0
2015 17120 15612,85714 -1507,142857 1507,142857 2271479,592 8,80%
2017 18759 15021,90476 -3737,095238 3737,095238 13965880,82 19,92%
2018 17727 15368,33333 -2358,666667 2358,666667 5563308,444 13,31%
2019 22441 15845,04762 -6595,952381 6595,952381 43506587,81 29,39%
2020 ? 17800,09524
MAD 3549,714286
MSE 16326814,167
MAPE
(%) 17,86%
MAD = (1507,142857 + 3737,095238 + 2358,666667 + 6595,952381) 21 = 3549,714286 MSE = (2271479,592 + 13965880,82 + 5563308,444 + 43506587,81) 21 = 16326814,167
MAPE = (8,80% + 19,92% + 13,31% + 29,39%) 21 = 17,86% 4.3.2 Analisis Sistem Baru
Analisis sistem baru merupakan perbaikan dari sistem yang lama pada
Badan Pusat Statistik Kabupaten Asahan terhadap permasalahan perkiraan jumlah
pengangguran terbuka di Kabupaten Asahan. Berikut ini adalah usulan aliran
sistem informasi untuk implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
43
1. Catatan jumlah pengangguran terbuka ada pada Pegawai Badan Pusat
Statistik Kabupaten Asahan.
2. Pegawai membuat laporan jumlah pengangguran terbuka di Kabupaten
Asahan.
3. Laporan jumlah pengangguran terbuka diserahkan kepada Kepala Badan
Pusat Statistik Kabupaten Asahan.
4. Pegawai menyerahkan laporan jumlah pengangguran terbuka kepada Kepala
BPS Kabupaten Asahan.
5. Kepala BPS Kabupaten Asahan menerima laporan tersebut dan
memeriksanya.
6. Laporan jumlah jumlah pengangguran terbuka yang telah diperiksa oleh
Kepala BPS Kabupaten Asahan diserahkan kepada Pegawai.
7. Pegawai menginputkan data indikator, data tahun dan data jumlah
pengangguran.
8. Data yang telah diinputkan akan tersimpan di dalam database.
9. Berdasarkan data tersebut Pegawai melakukan perhitungan peramalan jumlah
pengangguran terbuka.
10. Hasil perhitungan peramalan jumlah pengangguran terbuka dicetak oleh
Pegawai sehingga menghasilkan laporan .
11. Laporan hasil peramalan jumlah pengangguran terbuka dicetak 2 (dua)
rangkap oleh Pegawai, 1 (satu) rangkap disimpan dan 1 (satu) rangkap lagi
diserahkan kepada Kepala BPS Kabupaten Asahan.
44
Berikut ini merupakan gambar Aliran Sistem Informasi (ASI) pada
implementasi metode Weighted Moving Average dalam memprediksi tingkat
pengangguran terbuka di Kabupaten Asahan:
Pegawai Badan Pusat Statistik Kepala Badan Pusat Statistik
Catatan Jumlah Pengangguran
Membuat Laporan Jumlah Pengangguran
Laporan Jumlah Pengangguran
Laporan Jumlah Pengangguran
Memeriksa Laporan Jumlah Pengangguran
Laporan Jumlah Pengangguran Yang
Telah Diperiksa
Laporan Hasil Peramalan Jumlah Pengangguran
Laporan Jumlah Pengangguran Yang
Telah Diperiksa
Menginputkan Data Kategori, Tahun dan
Jumlah Pengangguran
Data Yang Telah Di Inputkan
Melakukan Perhitungan Peramalan Jumlah
Pengangguran
Hasil Perhitungan Peramalan Jumlah
Pengangguran
Cetak hasil Peramalan
DB
Laporan Hasil Peramalan Jumlah Pengangguran
A A
Gambar 4.2 Aliran Sistem Informasi Baru (yang Diusulkan)
45
4.3.3 Unified Modeling Language (UML)
Perancangan pemodelan Unified Modeling Language (UML) hanya
menggambarkan 5 (lima) diagram yaitu Use Case Diagram, Class Diagram,
Activity Diagram, Sequence Diagram dan Deployment Diagram.
1. Use Case Diagram
Use case diagram dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan terdiri
atas beberapa skenario yaitu melakukan login, mengelola data indikator,
mengelola data tahun, mengelola peramalan WMA, mengelola password dan
melakukan logout. Adapun gambar use case diagramnya adalah:
Gambar 4.3 Use Case Diagram
46
Berikut ini adalah deskripsi use diagram dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan:
1. Deskripsi Use Case Diagram Login
Deskripsi use case diagram login menjelaskan skenario mengelola login
yang dilakukan Admin di dalam sistem, dapat dilihat pada tabel 4.6 berikut:
Tabel 4.6 Deksripsi Use Case Diagram Login
Title Skenario Mengelola Login
Actor Admin. Interface Form login dan halaman menu utama. Description 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.
2. Deskripsi Use Case Diagram Data Indikator
Deskripsi use case diagram data indikator menjelaskan skenario
mengelola data indikator yang dilakukan Admin di dalam sistem, dapat dilihat
pada tabel 4.7 berikut:
Tabel 4.7 Deksripsi Use Case Diagram Data Indikator
Title Skenario Mengelola Data Indikator
Actor Admin. Interface Form data indikator. Description Admin mengelola data indikator. Pre-condition Admin belum mengelola data indikator. Basic Flow - Admin mengetik data indikator yang ingin dicari.
- Admin mengklik tombol cari data indikator.
47
- Sistem menampilkan data indikator yang dicari. - Admin mengklik tombol tambah data indikator. - Sistem menampilkan form input data indikator. - Admin menginputkan data di form. - Admin mengklik tombol simpan. - Sistem menyimpan data indikator. - Admin mengklik tombol ubah data indikator. - Sistem menampilkan form ubah data indikator. - Admin mengubah data yang inginkan. - Admin mengklik tombol simpan. - Sistem menyimpan data indikator yang diubah. - Admin memilih data indikator yang akan dihapus. - Admin mengklik tombol hapus data indikator. - Sistem memberikan pilihan yes dan no untuk
menghapus data. - Jika Admin mengklik yes, maka sistem akan
menghapus data indikator. - Jika Admin mengklik no, maka sistem tidak akan
menghapus data indikator. - Admin mengklik tombol keluar. - Sistem menutup form data indikator. - Admin keluar dari form data indikator.
Post Condition Admin telah berhasil mengelola data indikator. Alternative(s) Flow Admin gagal mengelola data indikator.
3. Deskripsi Use Case Diagram Data Tahun
Deskripsi use case diagram data tahun menjelaskan skenario mengelola
data tahun yang dilakukan Admin di dalam sistem, dapat dilihat pada tabel 4.8
berikut:
Tabel 4.8 Deksripsi Use Case Diagram Data Tahun
Title Skenario Mengelola Data Tahun.
Actor Admin. Interface Form data tahun. Description Admin mengelola data tahun. Pre-condition Admin belum mengelola data tahun. Basic Flow - Admin mengetik data tahun yang ingin dicari.
- Admin mengklik tombol cari data tahun. - Sistem menampilkan data tahun dicari. - Admin mengklik tombol tambah data tahun. - Sistem menampilkan form input data tahun. - Admin menginputkan data di form. - Admin mengklik tombol simpan.
48
- Sistem menyimpan data tahun. - Admin mengklik tombol ubah data tahun. - Sistem menampilkan form ubah data tahun. - Admin mengubah data yang inginkan. - Admin mengklik tombol simpan. - Sistem menyimpan data tahun yang diubah. - Admin memilih data tahun yang akan dihapus. - Admin mengklik tombol hapus data tahun. - Sistem memberikan pilihan yes dan no untuk
menghapus data tahun. - Jika Admin mengklik yes, maka sistem akan
menghapus data tahun. - Jika Admin mengklik no, maka sistem tidak akan
menghapus data tahun. - Admin mengklik tombol keluar. - Sistem menutup form data indikator. - Admin keluar dari form data indikator.
Post Condition Admin telah berhasil mengelola data tahun. Alternative(s) Flow Admin gagal mengelola data tahun.
4. Deskripsi Use Case Diagram Jumlah Pengangguran
Deskripsi use case diagram jumlah pengangguran menjelaskan skenario
mengelola jumlah pengangguran yang dilakukan Admin di dalam sistem, dapat
dilihat pada tabel 4.9 berikut:
Tabel 4.9 Deksripsi Use Case Diagram Jumlah Pengangguran
Title Skenario Mengelola Data Jumlah Pengangguran
Actor Admin. Interface Form data jumlah pengangguran. Description Admin mengelola data jumlah pengangguran. Pre-condition Admin belum mengelola data jumlah pengangguran. Basic Flow - Admin mengetik data jumlah pengangguran yang
ingin dicari. - Admin mengklik tombol cari data jumlah
pengangguran. - Sistem menampilkan data jumlah pengangguran yang
dicari. - Admin mengklik tombol keluar. - Sistem menutup form data jumlah pengangguran. - Admin keluar dari form data jumlah pengangguran.
Post Condition Admin telah berhasil mengelola data jumlah pengangguran.
Alternative(s) Flow Admin gagal mengelola data jumlah pengangguran.
49
5. Deskripsi Use Case Diagram Peramalan WMA
Deskripsi use case diagram peramalan WMA menjelaskan skenario
peramalan WMA yang dilakukan Admin di dalam sistem, dapat dilihat pada tabel
4.10 berikut:
Tabel 4.10 Deksripsi Use Case Diagram Peramalan WMA
Title Skenario Mengelola Peramalan WMA
Actor Admin. Interface Form Peramalan WMA.
Description Admin mengelola peramalan WMA. Pre-condition Admin belum mengelola peramalan WMA. Basic Flow - Admin mengklik indikator.
- Sistem menampilkan data indikator yang ada. - Admin mengklik data indikator yang diinginkan. - Admin menginputkan next tahun yang ingin dihitung. - Sistem menyimpan tahun tersebut. - Sistem menampilkan moving average. - Admin mengklik tombol hitung. - Sistem menampilkan hasil peramalan WMA
peramalan dengan metode Single Moving Average. - Admin mengklik tombol cetak. - Sistem mencetak hasil peramalan WMA. - Admin mengklik tombol keluar. - Sistem menutup form peramalan WMA. - Admin keluar dari form peramalan WMA.
Post Condition Admin telah berhasil mengelola peramalan WMA. Alternative(s) Flow Admin gagal mengelola peramalan WMA.
6. Deskripsi Use Case Diagram Ganti Password
Deskripsi use case diagram ganti password menjelaskan skenario
mengelola ganti password yang dilakukan Admin di dalam sistem, dapat dilihat
pada tabel 4.11 berikut:
Tabel 4.11 Deksripsi Use Case Diagram Ganti Password
Title Skenario Mengelola Ganti Password
Aktor Admin. Interface Form ganti password. Deskripsi Admin mengelola ganti password.
50
Pre-condition Admin belum mengelola ganti 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 menutup form ganti password. - Admin keluar dari form ganti password.
Post Condition Admin telah berhasil mengelola password. Alternative(s) Flow Admin gagal mengelola password.
7. Deskripsi Use Case Diagram Logout
Deskripsi use case diagram logout menjelaskan skenario mengelola logout
yang dilakukan Admin di dalam sistem, dapat dilihat pada tabel 4.12 berikut:
Tabel 4.12 Deksripsi Use Case Diagram Logout
Title Skenario Melakukan Logout
Actor Admin. Interface Form Login
Description 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 implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan terdiri atas
beberapa kelas yaitu kelas indikator, kelas tahun, kelas user dan kelas jumlah.
Adapun gambar use case diagramnya adalah:
51
Gambar 4.4 Class Diagram
Berikut ini adalah keterangan class diagram dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan:
Tabel 4.13 Kelas, Atribut dan Operasi
No Nama Kelas Atribut Operasi
1 Indikator -kode_indikator (varchar: 16) -nama_indikator (varchar: 255)
-Cari -Tambah -Ubah -Hapus -Keluar
2 Tahun -kode_tahun (varchar: 16) -nama_tahun (integer: 11)
-Cari -Tambah -Ubah -Hapus -Keluar
3 Jumlah -ID (integer: 11) -kode_tahun (varchar: 16) -kode_indikator (varchar: 16) -jumlah (double)
-Cari -Keluar
4 User -user (varchar: 16) -pass (varchar: 16)
52
3. Activity Diagram
Activity diagram dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan terdiri
atas beberapa diagram yaitu activity diagram login, activity diagram indikator,
activity diagram tahun, activity diagram jumlah pengangguran, activity diagram
peramalan WMA, activity diagram ganti password dan activity diagram logout.
a. Activity Diagram Login
Activity diagram login dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
Gambar 4.5 Activity Diagram Login
Pada gambar 4.5 terlihat bahwa activity diagram login dimulai dari Admin
yang masuk ke aplikasi, dan sistem menampilkan form login. Admin memasukkan
username dan password, jika benar maka sistem akan menampilkan menu utama
jika salah maka akan kembali lagi ke form login.
53
b. Activity Diagram Data Indikator
Activity diagram data indikator dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
Gambar 4.6 Activity Diagram Data Indikator
Pada gambar 4.6 terlihat bahwa activity diagram data indikator dimulai
dari Admin memilih menu data indikator, sistem menampilkan form data
indikator dan admin memilih proses yang diinginkan yaitu cari, tambah, ubah,
hapus dan keluar. Adapun fungsi dari proses-proses tersebut adalah:
1. Cari untuk menampilkan data indikator yang ingin dicari.
2. Tambah untuk menampilkan form tambah data indikator.
3. Ubah untuk menampilkan form ubah data indikator.
4. Hapus untuk menghapus data indikator.
5. Keluar untuk menutup form data indikator.
54
c. Activity Diagram Data Tahun
Activity diagram data tahun dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
Gambar 4.7 Activity Diagram Data Tahun
Pada gambar 4.7 terlihat bahwa activity diagram data tahun dimulai dari
Admin memilih menu data tahun, sistem menampilkan form data tahun dan admin
memilih proses yang diinginkan yaitu cari, tambah, ubah, hapus dan keluar.
Adapun fungsi dari proses-proses tersebut adalah:
1. Cari untuk menampilkan data tahun yang ingin dicari.
2. Tambah untuk menampilkan form tambah data tahun.
3. Ubah untuk menampilkan form ubah data tahun.
4. Hapus untuk menghapus data tahun.
5. Keluar untuk menutup form data tahun.
55
d. Activity Diagram Jumlah Pengangguran
=Activity diagram jumlah pengangguran dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
Gambar 4.8 Activity Diagram Jumlah Pengangguran
Pada gambar 4.8 terlihat bahwa activity diagram jumlah pengangguran
dimulai dari Admin memilih menu jumlah pengangguran, sistem menampilkan
form jumlah pengangguran dan admin memilih proses yang diinginkan yaitu cari,
dan keluar. Adapun fungsi dari proses-proses tersebut adalah:
1. Cari untuk menampilkan data jumlah pengangguran yang ingin dicari.
2. Keluar untuk menutup form jumlah pengangguran.
56
e. Activity Diagram Peramalan WMA
Activity diagram peramalan WMA dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
Gambar 4.9 Activity Diagram Peramalan WMA
Pada gambar 4.9 terlihat bahwa activity diagram peramalan WMA dimulai
dari Admin memilih menu peramalan WMA, sistem menampilkan form
peramalan WMA dan admin memilih proses yang diinginkan yaitu indikator, next
tahun, moving average, hitung, cetak dan keluar. Adapun fungsi dari proses-
proses tersebut adalah:
1. Indikator untuk memilih data indikator yang dihitung.
2. Next tahun untuk menginputkan data tahun yang diinginkan.
3. Moving average untuk menginputkan moving average yang diinginkan.
57
4. Hitung untuk menghitung peramalan WMA data jumlah pengangguran.
5. Cetak untuk mencetak data hasil perhitungan WMA.
6. Keluar untuk menutup form peramalan WMA.
f. Activity Diagram Ganti Password
Activity diagram ganti password dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
Gambar 4.10 Activity Diagram Ganti Password
Pada gambar 4.10 terlihat bahwa activity diagram ganti password dimulai
dari Admin memilih menu ganti password, sistem menampilkan form ganti
password dan admin memilih proses yang diinginkan yaitu ubah password dan
keluar. Adapun fungsi dari proses-proses tersebut adalah:
1. Ubah password untuk menyimpan data password yang diubah.
2. Keluar untuk menutup form ganti password.
58
g. Activity Diagram Logout
Activity diagram logout dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
Gambar 4.11 Activity Diagram Logout
Pada gambar 4.11 terlihat bahwa activity diagram logout dimulai dari
Admin memilih menu logout, sistem memproses logout dan menampilkan form
login.
4. Sequence Diagram
Sequence diagram dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan terdiri
atas beberapa diagram yaitu sequence diagram login, sequence diagram indikator,
sequence diagram tahun, sequence diagram jumlah pengangguran, sequence
59
diagram peramalan WMA, sequence diagram ganti password dan sequence
diagram logout.
a. Sequence Diagram Login
Sequence diagram login dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
Gambar 4.12 Sequence Diagram Login
Pada gambar 4.12 terlihat bahwa sequence diagram login dimulai dari
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.
b. Sequence Diagram Data Indikator
Sequence diagram data indikator dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
60
Gambar 4.13 Sequence Diagram Data Indikator
Pada gambar 4.13 terlihat bahwa sequence diagram data indikator dimulai
dari Admin memilih menu data indikator dan berhasil mengaksesnya sehingga
menampilkan beberapa pilihan proses yaitu cari data indikator, tambah data
indikator, ubah data indikator, hapus data indikator dan keluar dari form data
indikator. Apabila admin berhasil mengakses proses tersebut maka sistem akan
menampilkan data sesuai perintah admin.
c. Sequence Diagram Data Tahun
Sequence diagram data tahun dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
61
Gambar 4.14 Sequence Diagram Data Tahun
Pada gambar 4.14 terlihat bahwa sequence diagram data tahun dimulai
dari Admin memilih menu data tahun dan berhasil mengaksesnya sehingga
menampilkan beberapa pilihan proses yaitu cari data tahun, tambah data tahun,
ubah data tahun, hapus data tahun dan keluar dari form data tahun. Apabila admin
berhasil mengakses proses tersebut maka sistem akan menampilkan data sesuai
perintah admin.
d. Sequence Diagram Jumlah Pengangguran
Sequence diagram jumlah pengangguran dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
62
Gambar 4.15 Sequence Diagram Jumlah Pengangguran
Pada gambar 4.15 terlihat bahwa sequence diagram jumlah pengangguran
dimulai dari Admin memilih menu jumlah pengangguran dan berhasil
mengaksesnya sehingga menampilkan beberapa pilihan proses yaitu cari data
jumlah pengangguran dan keluar dari form jumlah pengangguran. Apabila admin
berhasil mengakses proses tersebut maka sistem akan menampilkan data sesuai
perintah admin.
e. Sequence Diagram Peramalan WMA
Sequence diagram peramalan WMA dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
63
Gambar 4.16 Sequence Diagram Peramalan WMA
Pada gambar 4.16 terlihat bahwa sequence diagram peramalan WMA
dimulai dari Admin memilih menu peramalan WMA dan berhasil mengaksesnya
sehingga menampilkan beberapa pilihan proses yaitu pilih indikator, input next
tahun, input moving average, hitung peramalan WMA, cetak peramalan WMA
dan keluar dari form peramalan WMA. Apabila admin berhasil mengakses proses
tersebut maka sistem akan menampilkan data sesuai perintah admin.
64
f. Sequence Diagram Ganti Password
Sequence diagram ganti password dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
Gambar 4.17 Sequence Diagram Ganti Password
Pada gambar 4.17 terlihat bahwa sequence diagram ganti password
dimulai dari Admin memilih menu ganti password dan berhasil mengaksesnya
sehingga menampilkan beberapa pilihan proses yaitu ubah data password dan
keluar dari form ganti password. Apabila admin berhasil mengakses proses
tersebut maka sistem akan menampilkan data sesuai perintah admin.
g. Sequence Diagram Logout
Sequence diagram logout dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
65
Gambar 4.18 Sequence Diagram Logout
Pada gambar 4.18 terlihat bahwa sequence diagram logout dimulai dari
Admin memilih menu logout dan berhasil mengaksesnya sehingga menampilkan
form login.
5. Deployment Diagram
Deployment diagram dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
terdiri atas 4 (empat) node yaitu local server, database server, aplikasi peramalan
tingkat pengangguran terbuka dan printer. Adapun gambar deployment
diagramnya adalah:
66
Gambar 4.19 Deployment Diagram
Pada gambar 4.19 terlihat bahwa deployment diagram memiliki node yang
saling terhubung satu dengan yang lain. Ketika admin ingin menjalankan sistem
maka harus mengaktifkan local server terlebih dahulu yaitu XAMPP agar dapat
mengkases database server yaitu MySQL. Kemudian aplikasi peramalan tingkat
pengangguran terbuka dapat diakses oleh admin dan hasil peramalan WMA dapat
dicetak menggunakan printer.
4.3.4 Flowchart
Flowchart dari implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan terdiri atas
beberapa gambar yaitu flowchart login, flowchart indikator, flowchart tahun,
flowchart jumlah pengangguran, flowchart peramalan WMA, flowchart ganti
password dan flowchart logout.
67
1. Flowchart Login
Flowchart login dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan adalah:
Mulai
Admin Login
Selesai
Login Sukses
Forecasting WMA
Y
T
Gambar 4.20 Flowchart Login
Pada gambar 4.20 terlihat bahwa flowchart login dimulai dengan Admin
melakukan login. Apabila login sukses maka akan menampilkan peramalan
WMA, dan apabila salah maka kembali ke login Admin.
2. Flowchart Menu Utama
Flowchart menu utama dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
68
Mulai
Menu Utama
Menu Indikator
Menu Data Tahun
Menu Jumlah Pengangguran
Menu Peramalan WNA
Menu Ganti Password
Menu Logout
Data Indikator
Data Tahun
Data Jumlah Pengangguran
Data Peramalan WMA
Data Ganti Password
Logout
Selesai
Y
Y
Y
Y
Y
Y
T
T
T
T
T
Gambar 4.21 Flowchart Menu Utama
Pada gambar 4.21 terlihat bahwa flowchart menu utama akan tampil ketika
Admin berhasil melakukan login. Adapun penjelasannya adalah:
1. Admin memulai program, kemudian program akan menampilkan halaman
utama yang memberikan beberapa pilihan menu yang dapat dipilih.
69
2. Jika Admin memilih menu indikator maka sistem akan menampilkan form
indikator
3. Jika Admin memilih menu tahun maka sistem akan menampilkan form tahun.
4. Jika Admin memilih menu jumlah pengangguran maka sistem akan
menampilkan form jumlah pengangguran.
5. Jika Admin memilih menu peramalan WMA maka sistem akan
menampilakan form peramalan WMA.
6. Jika Admin memilih menu ganti password maka sistem akan menampilkan
form ganti password.
7. Jika Admin memilih menu logout maka sistem akan menampilkan form login.
8. Dan jika Admin tidak memilih semua dari menu tampilan maka akan tetapi
berada di halaman menu utama.
3. Flowchart Data Indikator
Flowchart data indikator dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
70
Mulai
Data Indikator
Cari
Tambah
Ubah
Hapus
Keluar
Cari Data Indikator
Tambah Data Indikator
Ubah Data Indikator
Hapus Data Indikator
Keluar Dari Form Data Indikator
Selesai
Y
Y
Y
Y
Y
T
T
T
T
T
Gambar 4.22 Flowchart Data Indikator
Pada gambar 4.22 terlihat bahwa flowchart data indikator akan tampil
ketika Admin mengklik menu data indikator. Adapun penjelasannya adalah:
1. Admin memulai program, kemudian program akan menampilkan form data
indikator yang memberikan beberapa pilihan tombol yang dapat dipilih.
2. Jika Admin memilih tombol cari maka sistem akan menampilkan data
indikator yang dicari.
71
3. Jika Admin memilih tombol tambah maka sistem akan menampilkan form
tambah data indikator.
4. Jika Admin memilih tombol ubah maka sistem akan menampilkan form ubah
data indikator.
5. Jika Admin memilih tombol hapus maka sistem akan menghapus data
indikator yang dipilih.
6. Jika Admin memilih tombol keluar maka sistem akan menutup form data
industri.
7. Dan jika Admin tidak memilih semua dari tombol yang ada maka akan tetapi
berada di form data indikator.
4. Flowchart Data Tahun
Flowchart data tahun dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
72
Mulai
Data Tahun
Cari
Tambah
Ubah
Hapus
Keluar
Cari Data Tahun
Tambah Data Tahun
Ubah Data Tahun
Hapus Data Tahun
Keluar Dari Form Data Tahun
Selesai
Y
Y
Y
Y
Y
T
T
T
T
T
Gambar 4.23 Flowchart Data Tahun
Pada gambar 4.23 terlihat bahwa flowchart data tahun akan tampil ketika
Admin mengklik menu data tahun. Adapun penjelasannya adalah:
1. Admin memulai program, kemudian program akan menampilkan form data
tahun yang memberikan beberapa pilihan tombol yang dapat dipilih.
2. Jika Admin memilih tombol cari maka sistem akan menampilkan data tahun
yang dicari.
73
3. Jika Admin memilih tombol tambah maka sistem akan menampilkan form
tambah data tahun.
4. Jika Admin memilih tombol ubah maka sistem akan menampilkan form ubah
data tahun.
5. Jika Admin memilih tombol hapus maka sistem akan menghapus data tahun
yang dipilih.
6. Jika Admin memilih tombol keluar maka sistem akan menutup form data
tahun.
7. Dan jika Admin tidak memilih semua dari tombol yang ada maka akan tetapi
berada di form data tahun.
5. Flowchart Jumlah Pengangguran
Flowchart jumlah pengangguran dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
Mulai
Jumlah Pengangguran
Cari
Keluar
Cari Data Jumlah Pengangguran
Keluar DAri Form Jumlah
Pengangguran
Selesai
Y
Y
T
T
Gambar 4.24 Flowchart Data Jumlah Pengangguran
74
Pada gambar 4.24 terlihat bahwa flowchart jumlah pengangguran akan
tampil ketika Admin mengklik menu jumlah pengangguran. Adapun
penjelasannya adalah:
1. Admin memulai program, kemudian program akan menampilkan form jumlah
pengangguran yang memberikan beberapa pilihan tombol yang dapat dipilih.
2. Jika Admin memilih tombol cari maka sistem akan menampilkan data jumlah
pengangguran yang dicari.
3. Jika Admin memilih tombol keluar maka sistem akan menutup form jumlah
pengangguran.
4. Dan jika Admin tidak memilih semua dari tombol yang ada maka akan tetapi
berada di form jumlah pengangguran.
6. Flowchart Peramalan WMA
Flowchart peramalan WMA dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
75
Mulai
Peramalan WMA
Indikator
Next Tahun
Moving Average
Hitung
Cetak
Pilih Indikator
Input Tahun
Input Moving Average
Hitung Pengangguran Terbuka
Cetak Hasil Perhitungan
Selesai
Y
Y
Y
Y
Y
T
T
T
T
TKeluarKeluar Dari Form Peramalan
WMA
Y
T
T
Gambar 4.25 Flowchart Peramalan WMA
Pada gambar 4.25 terlihat bahwa flowchart peramalan WMA akan tampil
ketika Admin mengklik menu peramalan WMA. Adapun penjelasannya adalah:
1. Admin memulai program, kemudian program akan menampilkan form
peramalan WMA yang memberikan beberapa pilihan tombol yang dapat
dipilih.
76
2. Jika Admin memilih tombol pilih indikator maka sistem akan menampilkan
data indikator yang dipilih.
3. Jika Admin memilih input tahun maka sistem akan menampilkan data tahun
yang diinputkan.
4. Jika Admin memilih input moving average maka sistem akan menampilkan
data moving average yang diinputkan.
5. Jika Admin memilih tombol hitung maka sistem akan menghitung data
peramalan pengangguran terbuka.
6. Jika Admin memilih tombol cetak maka sistem akan mencetak data hasil
peramalan WMA.
7. Jika Admin memilih tombol keluar maka sistem akan menutup form
peramalan WMA.
8. Dan jika Admin tidak memilih semua dari tombol yang ada maka akan tetapi
berada di form jumlah pengangguran.
7. Flowchart Ganti Password
Flowchart ganti password dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
77
Mulai
Ganti Password
Ubah
Keluar
Ubah Password
Keluar Dari Password
Selesai
Y
Y
T
T
Gambar 4.26 Flowchart Ganti Password
Pada gambar 4.26 terlihat bahwa flowchart ganti password akan tampil
ketika Admin mengklik menu ganti password. Adapun penjelasannya adalah:
1. Admin memulai program, kemudian program akan menampilkan form ganti
password yang memberikan beberapa pilihan tombol yang dapat dipilih.
2. Jika Admin memilih tombol ubah password maka sistem menyimpan data
password yang diubah.
3. Jika Admin memilih tombol keluar maka sistem akan menutup form ganti
password.
4. Dan jika Admin tidak memilih semua dari tombol yang ada maka akan tetapi
berada di form ganti password.
78
8. Flowchart Logout
Flowchart logout dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan adalah:
Mulai
Logout
Form Login
Selesai
Gambar 4.27 Flowchart Logout
Pada gambar 4.27 merupakan flowchart logout yang akan tampil ketika
Admin mengklik menu logout. Admin memulai program, kemudian memilih
menu logout dan sistem akan memproses logout dan menampilkan form login.
4.3.5 Perancangan Basis Data
Perancangan basis data merupakan bagian penting pada sistem informasi,
karena diperlukan untuk mengelola sumber informasi pada organisasi tersebut.
Adapun perancangan basis data yang dibuat adalah Entity Relationship Diagram
(ERD) dan struktur data.
79
1. Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan terdiri atas beberapa entiti yaitu entiti indikator, entiti jumlah dan entiti
tahun. Adapun gambar Entity Relationship Diagram (ERD)nya adalah:
Administrator
Kode IndikatorKode Indikator
Nama IndikatorNama Indikator
Input Input
Indikator Jumlah
IDID
Kode TahunKode Tahun
Kode IndikatorKode Indikator
JumlahJumlah
Input
Tahun
Kode TahunKode TahunNama TahunNama Tahun
Gambar 4.28 Entity Relationship Diagram (ERD)
Pada gambar 4.28 terlihat bahwa entiti dari ERD mempunyai beberapa
atribut yaitu:
1. Entiti indikator mempunyai 2 (dua) atribut yaitu kode indikator dan nama
indikator.
2. Entiti jumlah mempunyai 4 (empat) atribut yaitu ID, kode tahun, kode
indikator dan jumlah.
3. Entiti tahun mempunyai 2 (dua) atribut yaitu kode tahun dan nama tahun.
80
2. Struktur Data
Struktur data dari dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan terdiri
atas:
a. Tabel Indikator
nama database: db_forecasting_wma_tingkatpengangguran
jumlah field : 2 (dua)
primary key : kode_indikator
fungsi : menyimpan data indikator yang diinputkan oleh Admin.
Tabel 4.14 Indikator
No Field Type Size Description
1. kode_indikator Varchar 16 Kode Indikator
2. nama_indikator Varchar 255 Nama Indikator
b. Tabel Jumlah
nama database: db_forecasting_wma_tingkatpengangguran
jumlah field : 4 (empat)
primary key : ID
fungsi : menyimpan data jumlah yang diinputkan oleh Admin.
Tabel 4.15 Jumlah
No Field Type Size Description
1. ID Integer 11 ID
2. kode_tahun Varchar 16 Kode Tahun
3. kode_indikator Varchar 16 Kode Indikator
4. Jumlah Double - Jumlah
81
c. Tabel Tahun
nama database: db_forecasting_wma_tingkatpengangguran
jumlah field : 2 (dua)
primary key : kode_tahun
fungsi : menyimpan data tahun yang diinputkan oleh Admin.
Tabel 4.16 Tahun
No Field Type Size Description
1. kode_tahun Varchar 16 Kode Tahun
2. nama_tahun Integer 11 Nama Tahun
d. Tabel User
nama database: db_forecasting_wma_tingkatpengangguran
jumlah field : 2 (dua)
primary key : user
fungsi : menyimpan data user yang diinputkan oleh Admin.
Tabel 4.17 User
No Field Type Size Description
1. User Varchar 16 Username
2. Pass Varchar 16 Password
4.3.6 Perancangan Antar Muka (User Interface)
Perancangan antar muka dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
terdiri atas beberapa gambar yaitu perancangan tampilan form login, perancangan
tampilan form indikator, perancangan tampilan form tahun, perancangan tampilan
form jumlah pengangguran, perancangan tampilan form peramalan WMA,
perancangan tampilan form ganti password.
82
a. Perancangan Tampilan Form Login
Perancangan tampilan form login dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
Username
Password
FORECASTING WEIGHTED MOVING AVERAGE“Prediksi Tingkat Pengangguran di Kabupaten Asahan”
KeluarLogin
Copyright 2020 | Forecasting Metode Weighted Moving Average
Gambar 4.29 Form Login
Pada gambar 4.29 terlihat bahwa form login mempunyai 2 (dua) field yaitu
username dan password, juga mempunyai 2 (dua) tombol yaitu login dan keluar.
Admin harus memasukkan username dan password untuk masuk ke dalam
halaman utama. Jika username dan password yang diinputkan Admin benar maka
halaman menu utama akan muncul. Jika tidak maka akan muncul pemberitahuan
salah kombinasi username dan password.
b. Perancangan Tampilan Halaman Menu Utama
Perancangan tampilan halaman menu utama dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
83
Gambar 4.30 Halaman Menu Utama
Pada gambar 4.30 terlihat bahwa halaman menu utama mempunyai
beberapa menu yaitu menu indikator, menu data tahun, menu jumlah
pengangguran, menu peramalan WMA, menu ganti password dan menu logout.
c. Perancangan Tampilan Form Data Indikator
Perancangan tampilan form data indikator dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
84
Data Indikator Pengangguran
Cari
Kode_Indikator Nama_Indikator
Aksi
Tambah Ubah Hapus Keluar
__ X
x x
Gambar 4.31 Form Data Indikator
Pada gambar 4.31 terlihat bahwa form data indikator menampilkan data
kode indikator dan nama indikator yang telah diinputkan ke sistem. Form data
indikator mempunyai 5 (lima) tombol yaitu cari, tambah, ubah, hapus dan keluar.
Jika Admin ingin mencari data indikator maka harus mengklik tombol cari, jika
ingin menambah data indikator maka harus mengklik tombol tambah, jika ingin
mengubah data indikator maka harus mengklik tombol ubah, jika ingin
menghapus data indikator maka harus mengklik tombol hapus dan jika ingin
menutup form data indikator maka harus mengklik tombol keluar.
d. Perancangan Tampilan Form Tambah/Ubah Data Indikator
Perancangan tampilan form tambah/ubah data indikator dari implementasi
metode Weighted Moving Average dalam memprediksi tingkat pengangguran
terbuka di Kabupaten Asahan adalah:
85
Kode Indikator*
KeluarSimpan
Data Indikator
Indikator*
x
X X X X
Gambar 4.32 Form Tambah/Ubah Data Indikator
Pada gambar 4.32 terlihat bahwa form tambah/ubah data indikator
mempunyai 2 (dua) field yaitu kode indikator dan indikator, juga mempunyai 2
(dua) tombol yaitu simpan dan keluar. Admin harus menginputkan kode indikator
dan indikator jika ingin menambahkan data indikator dan mengklik simpan. Jika
hanya menginputkan salah satunya saja maka akan muncul pemberitahuan yaitu
field tidak boleh kosong. Jika Admin mengklik tombol keluar, maka sistem akan
menutup form.
e. Perancangan Tampilan Form Hapus Data Indikator
Perancangan tampilan form hapus data indikator dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
86
NOYES
Konfirmasi x
Hapus Data Indiktor?
Gambar 4.33 Form Hapus Data Indikator
Pada gambar 4.33 terlihat bahwa form konfirmasi hapus data indikator
mempunyai 2 (dua) tombol yaitu yes dan no. Jika Admin mengklik tombol yes,
maka sistem akan menghapus data indikator dan jika Admin mengklik tombol no
maka sistem akan membatalkan perintah hapus data indikator.
f. Perancangan Tampilan Form Data Tahun
Perancangan tampilan form data tahun dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan adalah:
87
Data Tahun
Cari
Aksi
Tambah Ubah Hapus Keluar
Kode_Tahun Nama_Tahun
X
X
X
X
X
X
__X
Gambar 4.34 Form Data Tahun
Pada gambar 4.34 terlihat bahwa form data tahun menampilkan data kode
tahun dan nama tahun yang telah diinputkan ke sistem. Form data tahun
mempunyai 5 (lima) tombol yaitu cari, tambah, ubah, hapus dan keluar. Jika
Admin ingin mencari data tahun maka harus mengklik tombol cari, jika ingin
menambah data tahun maka harus mengklik tombol tambah, jika ingin mengubah
data tahun maka harus mengklik tombol ubah, jika ingin menghapus data tahun
maka harus mengklik tombol hapus dan jika ingin menutup form data tahun maka
harus mengklik tombol keluar.
g. Perancangan Tampilan Form Tambah/Ubah Tahun
Perancangan tampilan form tambah/ubah data tahun dari implementasi
metode Weighted Moving Average dalam memprediksi tingkat pengangguran
terbuka di Kabupaten Asahan adalah:
88
Kode Tahun*
KeluarSimpan
Data Tahun
Tahun*
x
X X X X
Gambar 4.35 Form Tambah/Ubah Data Tahun
Pada gambar 4.35 terlihat bahwa form tambah/ubah data tahun mempunyai
2 (dua) field yaitu kode tahun dan tahun, juga mempunyai 2 (dua) tombol yaitu
simpan dan keluar. Admin harus menginputkan kode tahun dan tahun jika ingin
menambahkan data tahun dan mengklik simpan. Jika hanya menginputkan salah
satunya saja maka akan muncul pemberitahuan yaitu field tidak boleh kosong.
Jika Admin mengklik tombol keluar, maka sistem akan menutup form.
h. Perancangan Tampilan Form Hapus Data Tahun
Perancangan tampilan form hapus data tahun dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
NOYES
Konfirmasi x
Hapus Data Tahun?
Gambar 4.36 Form Konfirmasi Hapus Data Tahun
89
Pada gambar 4.36 terlihat bahwa form konfirmasi hapus data tahun
mempunyai 2 (dua) tombol yaitu yes dan no. Jika Admin mengklik tombol yes,
maka sistem akan menghapus data tahun dan jika Admin mengklik tombol no
maka sistem akan membatalkan perintah hapus data tahun.
i. Perancangan Tampilan Form Jumlah Pengangguran
Perancangan tampilan form jumlah pengangguran dari implementasi
metode Weighted Moving Average dalam memprediksi tingkat pengangguran
terbuka di Kabupaten Asahan adalah:
Data Jumlah Pengangguran
Cari
Kode Tahun
X
X
X
X
X
X
X
X
X
X
Keluar
Pengangguran
X
X
X
X
X
__X
Gambar 4.37 Form Jumlah Pengangguran
Pada gambar 4.37 terlihat bahwa form data jumlah pengangguran
menampilkan data kode, tahun dan pengangguran yang telah diinputkan ke sistem.
Form data tahun mempunyai 2 (dua) tombol yaitu cari dan keluar. Jika Admin
ingin mencari data jumlah pengangguran maka harus mengklik tombol cari dan
jika ingin menutup form data pengangguran maka harus mengklik tombol keluar.
90
j. Perancangan Tampilan Form Peramalan WMA
Perancangan tampilan form peramalan WMA dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
Perhitungan WMA Dalam Memprediksi Tingkat Pengangguran
Hitung
Tahun Pengangguran
X
X
X
X
X
X
X
X
X
X
Keluar
Indikator Nama Tahun Moving Avg
Cetak
__X
Gambar 4.38 Form Peramalan WMA
Pada gambar 4.38 terlihat bahwa form peramalan WMA mempunyai 2
(dua) field yaitu nama tahun dan moving average, juga mempunyai 4 (empat)
tombol yaitu pilih indikator, hitung, cetak dan keluar. Admin harus menginputkan
memilih indikator yang akan dihitung, menginputkan tahun, menginputkan
moving average lalu klik hitung, maka sistem akan menampilkan hasil
perhitungan pengangguran terbuka menggunakan metode WMA. Admin
mengklik cetak maka akan muncul hasil perhitungan yang siap dicetak dan
apabila admin mengklik keluar maka sistem akan menutup form.
91
k. Perancangan Tampilan Cetak Hasil Perhitungan
Perancangan tampilan cetak hasil perhitungan dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
HASIL PERHITUNGAN
Jumlah Forecasting Error Absolute error Error Kuadrat ErrDt
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Gambar 4.39 Cetak Hasil Perhitungan
Berdasarkan gambar 4.39 terlihat bahwa cetak hasil perhitungan
menampilkan data pengangguran terbuka yang telah dihitung oleh Admin.
Adapun data yang terdapat dalam tampilan cetak hasil perhitungan adalah jumlah,
forecasting, error, absolute error, error kuadrat dan error dt.
l. Perancangan Tampilan Form Ganti Password
Perancangan tampilan form ganti password dari implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan adalah:
92
Gambar 4.40 Form Ganti Password
Pada gambar 4.40 terlihat bahwa form ganti password mempunyai 3 (tiga)
field yaitu password lama, password baru, dan konfirmasi password baru dan 2
(dua) tombol yaitu ubah password dan keluar. Jika Admin menyimpan data
password yang telah diubah maka klik ubah password dan jika ingin menutup
form ganti password maka harus mengklik tombol keluar.
93
BAB V
IMPLEMENTASI DAN PENGUJIAN
5.1 Implementasi
Implementasi merupakan kelanjutan untuk mewujudkan sistem yang
dirancang. Langkah-langkah dari proses implementasi adalah urutan dari kegiatan
awal sampai kegiatan akhir yang harus dilakukan dalam mewujudkan sistem yang
dirancang. Hasil dari implementasi ini adalah sistem peramalan dapat berjalan
dengan baik. Implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan dikembangkan
dengan bahasa pemrograman Visual Basic Net 2010 dan database MySQL. Dalam
implementasinya, sistem dapat dijalankan pada perangkat komputer atau laptop.
5.1.1 Implementasi Basis Data
Basis data dengan db_forecasting_wma_tingkatpengangguran mempunyai
beberapa tabel yaitu tb_indikator, tb_jumlah, tb_tahun dan tb_user. Adapun
tampilan implementasi basis data pada implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan
adalah:
Gambar 5.1 Tampilan Tabel Database
94
1. Tabel Indikator
Tabel indikator merupakan tempat disimpannya data indikator yang terdiri
atas 2 (dua) field yaitu kode_indikator dan nama_indikator. Berikut ini adalah
tampilan tabel indikator dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.2 Tampilan Tabel Indikator
2. Tabel Jumlah
Tabel jumlah merupakan tempat disimpannya data jumlah yang terdiri atas
ID, kode_tahun, kode_indikator dan jumlah. Berikut ini adalah tampilan tabel
jumlah dari implementasi metode Weighted Moving Average dalam memprediksi
tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.3 Tampilan Tabel Jumlah
95
3. Tabel Tahun
Tabel tahun merupakan tempat disimpannya data tahun yang terdiri atas
kode_tahun dan nama_tahun. Berikut ini adalah tampilan tabel tahun dari
implementasi metode Weighted Moving Average dalam memprediksi tingkat
pengangguran terbuka di Kabupaten Asahan:
Gambar 5.4 Tampilan Tabel Tahun
4. Tabel User
Tabel user merupakan tempat disimpannya data user yang terdiri atas
username dan password. Berikut ini adalah tampilan tabel user dari implementasi
metode Weighted Moving Average dalam memprediksi tingkat pengangguran
terbuka di Kabupaten Asahan:
Gambar 5.5 Tampilan Tabel User
96
5.1.2 Implementasi Antarmuka
Implementasi antarmuka merupakan tampilan antarmuka dari program
yang telah dibuat. Berikut ini adalah implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
1. Tampilan Form Login
Form login merupakan tampilan awal yang muncul ketika Admin
menjalankan sistem. Admin harus menginputkan username dan password dengan
benar jika ingin berhasil melakukan login. Berikut ini adalah tampilan form login
dari implementasi metode Weighted Moving Average dalam memprediksi tingkat
pengangguran terbuka di Kabupaten Asahan:
Gambar 5.6 Tampilan Form Login
2. Tampilan Halaman Utama Administrator
Setelah Admin berhasil melakukan login, maka aplikasi peramalan akan
terbuka. Admin berhak mengakses menu-menu yang ada di dalam sistem dan
melakukan proses pengolahan data sesuai dengan fungsinya. Berikut ini adalah
tampilan halaman utama Administrator dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan:
97
Gambar 5.7 Tampilan Halaman Utama Administrator
3. Tampilan Form Data Indikator
Form data indikator akan tampil ketika Admin mengklik menu data
indikator. Admin mempunyai hak akses untuk melakukan cari data indikator,
tambah data indikator, ubah data indikator, hapus data indikator dan keluar dari
form data indikator. Berikut ini adalah tampilan form data indikator dari
implementasi metode Weighted Moving Average dalam memprediksi tingkat
pengangguran terbuka di Kabupaten Asahan:
Gambar 5.8 Tampilan Form Data Indikator
98
4. Tampilan Form Tambah Data Indikator
Form tambah data indikator akan tampil ketika Admin mengklik tombol
tambah. Kode indikator akan terisi secara otomatis, Admin hanya bertugas
menginputkan data di field indikator. Berikut ini adalah tampilan form tambah
data indikator dari implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.9 Tampilan Form Tambah Data Indikator
5. Tampilan Form Ubah Data Indikator
Form ubah data indikator akan tampil ketika Admin mengklik tombol
ubah. Admin hanya dapat mengedit indikator karena ketika sistem menampilkan
form ubah indikator secara otomatis kode indikator terkunci. Berikut ini adalah
tampilan form ubah data indikator dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.10 Tampilan Form Ubah Data Indikator
99
6. Tampilan Form Cari Data Indikator
Form cari data indikator akan tampil ketika Admin mengetik data di field
cari dan mengklik tombol cari maka sistem secara otomatis akan menampilkan
data indikator yang dicari admin. Berikut ini adalah tampilan form cari data
indikator dari implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.11 Tampilan Form Cari Data Indikator
7. Tampilan Form Konfirmasi Hapus Data Indikator
Form konfirmasi hapus data indikator akan tampil ketika Admin memilih
data indikator yang akan dihapus dan mengklik tombol hapus maka sistem akan
menampilkan form konfirmasi hapus data indikator. Berikut ini adalah tampilan
form hapus data indikator dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.12 Tampilan Form Konfirmasi Hapus Data Indikator
100
8. Tampilan Form Data Tahun
Form data tahun akan tampil ketika Admin mengklik menu data tahun.
Admin mempunyai hak akses untuk melakukan cari data tahun, tambah data
tahun, ubah data tahun, hapus data tahun dan keluar dari form data tahun. Berikut
ini adalah tampilan form data tahun dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.13 Tampilan Form Data Tahun
9. Tampilan Form Tambah Data Tahun
Form tambah data tahun akan tampil ketika Admin mengklik tombol
tambah. Kode tahun akan terisi secara otomatis, Admin hanya bertugas
menginputkan data di field tahun. Berikut ini adalah tampilan form tambah data
tahun dari implementasi metode Weighted Moving Average dalam memprediksi
tingkat pengangguran terbuka di Kabupaten Asahan:
101
Gambar 5.14 Tampilan Form Tambah Data Tahun
10. Tampilan Form Ubah Data Tahun
Form ubah data tahun akan tampil ketika Admin mengklik tombol tambah.
Admin hanya dapat mengedit tahun karena ketika sistem menampilkan form ubah
tahun secara otomatis kode tahun terkunci. Berikut ini adalah tampilan form ubah
data tahun dari implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.15 Tampilan Form Ubah Data Tahun
11. Tampilan Form Cari Data Tahun
Form cari data tahun akan tampil ketika Admin mengetik data di field cari
dan mengklik tombol cari maka sistem secara otomatis akan menampilkan data
tahun yang dicari admin. Berikut ini adalah tampilan form cari data tahun dari
implementasi metode Weighted Moving Average dalam memprediksi tingkat
pengangguran terbuka di Kabupaten Asahan:
102
Gambar 5.16 Tampilan Form Cari Data Tahun
12. Tampilan Form Konfirmasi Hapus Data Tahun
Form konfirmasi hapus data tahun akan tampil ketika Admin memilih data
tahun yang akan dihapus dan mengklik tombol hapus maka sistem akan
menampilkan form konfirmasi hapus data tahun. Berikut ini adalah tampilan form
hapus data tahun dari implementasi metode Weighted Moving Average dalam
memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.17 Tampilan Form Konfirmasi Hapus Data Tahun
13. Tampilan Form Jumlah Pengangguran
Form jumlah pengangguran akan tampil ketika Admin mengklik menu
jumlah pengangguran. Admin mempunyai hak akses untuk melakukan cari data
jumlah pengangguran dan keluar dari form data jumlah pengangguran. Berikut ini
adalah tampilan form jumlah pengangguran dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan:
103
Gambar 5.18 Tampilan Form Jumlah Pengangguran
14. Tampilan Form Cari Data Jumlah Pengangguran
Form cari data jumlah pengangguran akan tampil ketika Admin mengetik
data di field cari dan mengklik tombol cari maka sistem secara otomatis akan
menampilkan data jumlah pengangguran yang dicari admin. Berikut ini adalah
tampilan form cari data jumlah pengangguran dari implementasi metode Weighted
Moving Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten
Asahan:
Gambar 5.19 Tampilan Form Cari Data Jumlah Pengangguran
15. Tampilan Form Peramalan WMA
Form peramalan WMA akan tampil ketika Admin mengklik menu
peramalan WMA. Admin mempunyai hak akses untuk memilih indikator,
104
menginputkan tahun peramalan, menginputkan moving average, menghitung data,
mencetak data dan menutup form peramalan WMA. Berikut ini adalah tampilan
form peramalan WMA dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.20 Tampilan Form Peramalan WMA
16. Tampilan Form Hitung
Form hitung akan tampil ketika Admin mengklik tombol hitung pada
menu peramalan WMA. Sistem akan menampilkan tabel perhitungan sehingga
mendapatkan hasil akhir sesuai dengan yang diinputkan oleh Admin. Berikut ini
adalah tampilan form hitung dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
105
Gambar 5.21 Tampilan Form Hitung
17. Tampilan Form Cetak
Form cetak akan tampil ketika Admin mengklik tombol cetak pada menu
peramalan WMA. Sistem akan menampilkan laporan hasil perhitungan. Berikut
ini adalah tampilan form cetak dari implementasi metode Weighted Moving
Average dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
Gambar 5.22 Tampilan Form Cetak
106
5.2 Pengujian
Pengujian merupakan hal terpenting yang bertujuan untuk menemukan
kesalahan-kesalahan atau kekurangan-kekurangan pada perangkat lunak yang
akan diuji. Pengujian bermaksud untuk mengetahui perangkat lunak yang dibuat
sudah memenuhi kriteria yang sesuai dengan tujuan perancangan perangkat lunak
tersebut. Pengujian sistem dilakukan dengan menggunakan pengujian Black Box
yang merupakan sebuah metode yang digunakan untuk menemukan kesalahan dan
mendemonstrasikan fungsional aplikasi saat dioperasikan, apakah input diterima
dengan benar dan output yang dihasilkan telah sesuai dengan yang diharapkan.
Berikut ini adalah hasil pengujian sistem yang telah dirancang dan
dibangun dengan menggunakan Black Box Testing pada implementasi metode
Weighted Moving Average dalam memprediksi tingkat pengangguran terbuka di
Kabupaten Asahan:
1. Pengujian Form Login
Pengujian form login dilakukan untuk mengetahui apakah tombol-tombol
di form ini berfungsi dengan baik. Untuk lebih jelasnya dapat dilihat pada tabel
berikut:
Tabel 5.1 Hasil Pengujian Login
Kasus dan Hasil Uji Login
Data
Masukan Yang Diharapkan Hasil Kesimpulan
Klik tombol login.
Dapat melakukan login serta mengaktifkan semua tombol dan menu pada sistem.
Masuk ke sistem dan mengaktifkan semua tombol pada sistem.
[√ ] Diterima [ ] Ditolak
Klik tombol keluar.
Dapat menutup form
login.
Form login ditutup. [√ ] Diterima [ ] Ditolak
107
2. Pengujian Form Halaman Utama
Pengujian form halaman utama dilakukan untuk mengetahui apakah menu-
menu di form ini berfungsi dengan baik. Untuk lebih jelasnya dapat dilihat pada
tabel berikut:
Tabel 5.2 Hasil Pengujian Form Halaman Utama
Kasus dan Hasil Uji Form Halaman Utama
Data
Masukan Yang Diharapkan Hasil Kesimpulan
Klik menu data indikator.
Dapat menampilkan form data indikator.
Menu data indikator sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik menu data tahun.
Dapat menampilkan form data tahun.
Menu data tahun
sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik menu jumlah pengangguran.
Dapat menampilkan form jumlah pengangguran.
Menu jumlah pengangguran sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik menu peramalan WMA.
Dapat menampilkan form peramalan WMA.
Menu peramalan WMA sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik menu ganti password.
Dapat menampilkan form ganti password.
Menu ganti password
sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik menu logout.
Dapat menampilkan form login.
Menu logout sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
3. Pengujian Form Data Indikator
Pengujian form data indikator dilakukan untuk mengetahui apakah tombol-
tombol di form ini berfungsi dengan baik. Untuk lebih jelasnya dapat dilihat pada
tabel berikut:
Tabel 5.3 Hasil Pengujian Form Data Indikator
Kasus dan Hasil Uji Form Data Indikator
Data
Masukan Yang Diharapkan Hasil Kesimpulan
Klik tombol Dapat menampilkan Tombol cari sesuai [√ ] Diterima
108
cari. data indikator yang dicari.
dengan yang diharapkan.
[ ] Ditolak
Klik tombol tambah.
Dapat menampilkan form tambah data indikator.
Tombol tambah sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol ubah.
Dapat menampilkan form ubah data indikator.
Tombol ubah sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol hapus.
Dapat menampilkan form konfirmasi hapus data indikator.
Tombol hapus sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol keluar.
Dapat menutup form
data indikator. Tombol keluar sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
4. Pengujian Form Data Tahun
Pengujian form data tahun dilakukan untuk mengetahui apakah tombol-
tombol di form ini berfungsi dengan baik. Untuk lebih jelasnya dapat dilihat pada
tabel berikut:
Tabel 5.4 Hasil Pengujian Form Data Tahun
Kasus dan Hasil Uji Form Data Tahun
Data
Masukan Yang Diharapkan Hasil Kesimpulan
Klik tombol cari.
Dapat menampilkan data tahun yang dicari.
Tombol cari sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol tambah.
Dapat menampilkan form tambah data tahun.
Tombol tambah sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol ubah.
Dapat menampilkan form ubah data tahun.
Tombol ubah sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol hapus.
Dapat menampilkan form konfirmasi hapus data tahun.
Tombol hapus sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol keluar.
Dapat menutup form
data tahun. Tombol keluar sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
109
5. Pengujian Form Jumlah Pengangguran
Pengujian form jumlah pengangguran dilakukan untuk mengetahui apakah
tombol-tombol di form ini berfungsi dengan baik. Untuk lebih jelasnya dapat
dilihat pada tabel berikut:
Tabel 5.5 Hasil Pengujian Form Jumlah Pengangguran
Kasus dan Hasil Uji Form Jumlah Pengangguran
Data
Masukan Yang Diharapkan Hasil Kesimpulan
Klik tombol cari.
Dapat menampilkan data jumlah pengangguran yang dicari.
Tombol cari sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol keluar.
Dapat menutup form
jumlah pengangguran. Tombol keluar sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
6. Pengujian Form Peramalan WMA
Pengujian form peramalan WMA dilakukan untuk mengetahui apakah
tombol-tombol di form ini berfungsi dengan baik. Untuk lebih jelasnya dapat
dilihat pada tabel berikut:
Tabel 5.6 Hasil Pengujian Form Peramalan WMA
Kasus dan Hasil Uji Form Peramalan WMA
Data
Masukan Yang Diharapkan Hasil Kesimpulan
Klik tombol Hitung.
Dapat menampilkan hasil perhitungan peramalan.
Tombol hitung sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol cetak.
Dapat menampilkan cetak hasil perhitungan peramalan.
Tombol cetak sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol keluar.
Dapat menutup form
peramalan WMA. Tombol keluar sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
110
7. Pengujian Form Ganti Password
Pengujian form ganti password dilakukan untuk mengetahui apakah
tombol-tombol di form ini berfungsi dengan baik. Untuk lebih jelasnya dapat
dilihat pada tabel berikut:
Tabel 5.7 Hasil Pengujian Form Ganti Password
Kasus dan Hasil Uji Form Ganti Password
Data
Masukan Yang Diharapkan Hasil Kesimpulan
Klik tombol ubah password.
Dapat menyimpan data password yang diubah.
Tombol ubah password
sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
Klik tombol keluar.
Dapat menutup form
peramalan WMA. Tombol keluar sesuai dengan yang diharapkan.
[√ ] Diterima [ ] Ditolak
5.3 Kelebihan dan Kekurangan Sistem
5.3.1 Kelebihan Sistem
Adapun kelebihan dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
1. Sistem ini dilengkapi dengan penginputan data, pengeditan data, penghapusan
data, perhitungan data, pencarian data, dan pencetakan data yaitu berupa data
indikator, data tahun dan data jumlah pengangguran.
2. Menghasilkan laporan hasil perhitungan prediksi tingkat pengangguran yang
akurat dan cepat karena semua data disimpan dalam database.
3. Memberikan kemudahan bagi Admin untuk melakukan prediksi tingkat
pengangguran sehingga dapat memperkecil kesalahan-kesalahan yang terjadi
pada sistem sebelumnya.
111
5.3.2 Kekurangan Sistem
Adapun kekurangan dari implementasi metode Weighted Moving Average
dalam memprediksi tingkat pengangguran terbuka di Kabupaten Asahan:
1. Aplikasi sulit untuk disebarkan karena harus diinstal terlebih dahulu dan
disesuaikan dengan pengaturan database apabila tidak terkoneksi secara
otomatis.
2. Aplikasi peramalan sulit diakses dari jarak jauh karena hanya berbasis
desktop sehingga menyulitkan pengguna apabila ada keperluan untuk
mengambil data.
3. Pengguna sulit untuk melakukan pembaharuan dan perawatan software
karena sistem masih berbasis desktop.
112
BAB VI
PENUTUP
6.1 Kesimpulan
Adapun kesimpulan yang dapat diambil dari penelitian yang berjudul
implementasi metode Weighted Moving Average dalam memprediksi
pengangguran di Kabupaten Asahan adalah:
1. Prediksi pengangguran di Kabupaten Asahan berbasis desktop dirancang dan
dibangun menggunakan bahasa pemrograman Visual Basic Net 2010 dan
database MySQL.
2. Hasil prediksi menggunakan metode Weighted Moving Average dapat
menghasilkan ramalan yang akurat dan cepat sehingga membantu pihak
Badan Pusat Statistik Kabupaten Asahan dalam menentukan pengangguran
di Kabupaten Asahan pada tahun berikutnya.
3. Sistem prediksi ini menggunakan metode Weighted Moving Average yang
menghitung rata-rata bergerak, dengan pengambilan data dalam waktu 6
tahun ke belakang sehingga informasi yang dihasilkan lebih baik.
4. Tingkat akurasi prediksi metode Weighted Moving Average untuk
memprediksi pengangguran di Kabupaten Asahan dihitung dengan beberapa
cara yaitu Mean Absolute Deviation (MAD) yaitu 3549,714286, Mean Square
Error (MSE) yaitu 16326814,167, dan Mean Absolute Percentance Error
(MAPE) yaitu 17,86%.
113
6.2 Saran
Adapun saran-saran yang ingin disampaikan oleh penulis untuk
pengembangan implementasi metode Weighted Moving Average dalam
memprediksi pengangguran di Kabupaten Asahan adalah:
1. Bagi peneliti selanjutnya diharapkan dapat melakukan pengembangan sistem
tidak hanya sebatas pencetakan data hasil perhitungan tetapi dapat melakukan
pencetakan setiap form yaitu data indikator, data tahun dan data jumlah
pengangguran.
2. Diharapkan untuk dapat melakukan perhitungan prediksi menggunakan
metode yang lain sehingga mendapatkan rekomendasi perhitungan lain dan
memperoleh perbandingan hasilnya.
3. Diharapkan dapat memperbaiki sistem prediksi yang mampu dijalankan
secara online ataupun dapat menggunakan mobile sehingga proses prediksi
dapat dilakukan dimanapun dan kapanpun.
4. Diharapkan untuk menambahkan level di sistem prediksi agar tidak hanya 1
(satu) orang saja yang dapat melakukan login tetapi bagian-bagian terkait
dengan pengelolaan data pengangguran dapat masuk ke sistem.
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/Wave/Wave.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 label1.Text = "User: " & User label2.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 label2.Text = Format(Date.Now, "dd MMMM yyyy HH:mm:ss") End Sub Private Sub DataIndikatorToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataIndikatorToolStripMenuItem1.Click Dim f As New FrmIndikator 'f.ShowAsChild(Me) f.ShowDialog() End Sub Private Sub DataTahunToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataTahunToolStripMenuItem1.Click Dim f As New FrmTahun 'f.ShowAsChild(Me) f.ShowDialog() End Sub Private Sub DataJumlahToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataJumlahToolStripMenuItem.Click Dim f As New FrmJumlah 'f.ShowAsChild(Me) f.ShowDialog() End Sub Private Sub PerhitunganForcastingWMAToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PerhitunganForcastingWMAToolStripMenuItem1.Click Dim f As New FrmHitung 'f.ShowAsChild(Me) f.ShowDialog()
End Sub Private Sub GantiPasswordToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GantiPasswordToolStripMenuItem1.Click Dim f As New FrmPassword f.ShowDialog() End Sub Private Sub LogoutToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LogoutToolStripMenuItem1.Click FrmLogin.Show() Me.Close() End Sub End Class Form Indikator
Public Class FrmIndikator Private Sub BtnRefresh_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnRefresh.Click Dgv.DataSource = OpenDT("SELECT Kode_indikator, Nama_indikator FROM tb_indikator WHERE kode_indikator LIKE @0 OR nama_indikator LIKE @0 ORDER BY kode_indikator", "%" & TxtCari.Text & "%") End Sub Private Sub FrmIndikator_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load Dgv.SetDefault() BtnRefresh_Click(sender, e) End Sub Private Sub FrmIndikator_KeyDown(ByVal sender As Object, ByVal 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(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TxtCari.KeyPress If isEnter(e) Then BtnRefresh_Click(sender, e) End Sub Private Sub BtnKeluar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnKeluar.Click Me.Close() End Sub
Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnHapus.Click If Not Dgv.CurrentCell Is Nothing Then If msgAsk("Hapus data?") = vbYes Then Delete("tb_indikator", "kode_indikator=@0", Dgv.getSelAt("kode_indikator")) Delete("tb_jumlah", "kode_indikator=@0", Dgv.getSelAt("kode_indikator")) msgInfo("Data terhapus!") BtnRefresh_Click(sender, e) End If End If End Sub Private Sub BtnTambah_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnTambah.Click Dim f As New FrmIndikatorTambah f.EditState = False If f.ShowDialog = DialogResult.Yes Then BtnRefresh_Click(sender, e) End If End Sub Private Sub BtnUbah_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnUbah.Click If Not Dgv.CurrentCell Is Nothing Then Dim f As New FrmIndikatorTambah f.EditState = True f.TxtKode.Text = Dgv.getSelAt("kode_indikator") If f.ShowDialog = DialogResult.Yes Then BtnRefresh_Click(sender, e) End If End If End Sub End Class
Form Indikator Tambah
Public Class FrmIndikatorTambah Public EditState As Boolean = False Private Sub BtnKeluar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnKeluar.Click Me.Close() End Sub Private Sub BtnSimpan_Click(ByVal sender As Object, ByVal 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_indikator WHERE kode_indikator=@0", TxtKode.Text).Rows.Count > 0 Then MsgError("Kode sudah ada!") Else If EditState Then Execute("UPDATE tb_indikator SET nama_indikator=@0 WHERE kode_indikator=@1", TxtNama.Text, TxtKode.Text) Else Execute("INSERT INTO tb_indikator(kode_indikator, nama_indikator) VALUES (@0, @1)", TxtKode.Text, TxtNama.Text) Execute("INSERT INTO tb_jumlah(kode_tahun, kode_indikator, jumlah) SELECT kode_tahun, @0, 0 FROM tb_tahun", 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_indikator", "tb_indikator", "IND", 2) End Sub Private Sub FrmIndikatorTambah_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 'BtnAuto.Visible = Not EditState TxtKode.Enabled = Not EditState If EditState Then Dr = OpenDR("SELECT * FROM tb_indikator WHERE kode_indikator=@0", TxtKode.Text) If Dr.Read() Then TxtKode.Text = Dr("kode_indikator") TxtNama.Text = Dr("nama_indikator") End If Else BtnAuto_Click(sender, e) End If End Sub Private Sub FrmIndikatorTambah_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown If isSave(e) Then BtnSimpan_Click(sender, e) If isClose(e) Then BtnKeluar_Click(sender, e) End Sub
End Class
Form Tahun
Public Class FrmTahun Private Sub BtnRefresh_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnRefresh.Click Dgv.DataSource = OpenDT("SELECT Kode_tahun, Nama_tahun FROM tb_tahun WHERE kode_tahun LIKE @0 OR nama_tahun LIKE @0 ORDER BY kode_tahun", "%" & TxtCari.Text & "%") End Sub Private Sub FrmTahun_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load Dgv.SetDefault() BtnRefresh_Click(sender, e) End Sub Private Sub FrmTahun_KeyDown(ByVal sender As Object, ByVal 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(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TxtCari.KeyPress If isEnter(e) Then BtnRefresh_Click(sender, e) End Sub Private Sub BtnKeluar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnKeluar.Click Me.Close() End Sub Private Sub BtnHapus_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnHapus.Click If Not Dgv.CurrentCell Is Nothing Then If msgAsk("Hapus data?") = vbYes Then Delete("tb_tahun", "kode_tahun=@0", Dgv.getSelAt("kode_tahun")) Delete("tb_jumlah", "kode_tahun=@0", Dgv.getSelAt("kode_tahun")) msgInfo("Data terhapus!") BtnRefresh_Click(sender, e) End If End If End Sub
Private Sub BtnTambah_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnTambah.Click Dim f As New FrmTahunTambah f.EditState = False If f.ShowDialog = DialogResult.Yes Then BtnRefresh_Click(sender, e) End If End Sub Private Sub BtnUbah_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnUbah.Click If Not Dgv.CurrentCell Is Nothing Then Dim f As New FrmTahunTambah f.EditState = True f.TxtKode.Text = Dgv.getSelAt("kode_tahun") If f.ShowDialog = DialogResult.Yes Then BtnRefresh_Click(sender, e) End If End If End Sub End Class
Form Tahun Tambah
Public Class FrmTahunTambah Public EditState As Boolean = False Private Sub BtnKeluar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnKeluar.Click Me.Close() End Sub Private Sub BtnSimpan_Click(ByVal sender As Object, ByVal 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_tahun WHERE kode_tahun=@0", TxtKode.Text).Rows.Count > 0 Then MsgError("Kode sudah ada!") Else If EditState Then Execute("UPDATE tb_tahun SET nama_tahun=@0 WHERE kode_tahun=@1", TxtNama.Text, TxtKode.Text) Else Execute("INSERT INTO tb_tahun(kode_tahun, nama_tahun) VALUES (@0, @1)", TxtKode.Text, TxtNama.Text)
Execute("INSERT INTO tb_jumlah (kode_tahun, kode_indikator, jumlah) SELECT @0, kode_indikator, 0 FROM tb_indikator", 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_tahun", "tb_tahun", "THN", 2) End Sub Private Sub FrmTahunTambah_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 'BtnAuto.Visible = Not EditState TxtKode.Enabled = Not EditState If EditState Then Dr = OpenDR("SELECT * FROM tb_tahun WHERE kode_tahun=@0", TxtKode.Text) If Dr.Read() Then TxtKode.Text = Dr("kode_tahun") TxtNama.Text = Dr("nama_tahun") End If Else BtnAuto_Click(sender, e) End If End Sub Private Sub FrmTahunTambah_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown If isSave(e) Then BtnSimpan_Click(sender, e) If isClose(e) Then BtnKeluar_Click(sender, e) End Sub End Class
Form Jumlah
Public Class FrmJumlah Public DtJumlah As New DataTable Private JumlahAwal As Integer = 0 Private Sub FrmJumlah_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_tahun", "Kode") Dgv.Columns("kode_tahun").ReadOnly = True Dgv.Columns.Add("nama_tahun", "Tahun") Dgv.Columns("nama_tahun").ReadOnly = True Dr = OpenDR("SELECT * FROM tb_tahun WHERE kode_tahun LIKE @0 OR nama_tahun LIKE @0 ORDER BY kode_tahun", "%" & TxtCari.Text & "%") While dr.Read() Dgv.Rows.Add(Dr("kode_tahun"), Dr("nama_tahun")) End While Dr = OpenDR("SELECT kode_indikator, nama_indikator FROM tb_indikator ORDER BY kode_indikator") While dr.Read() Dgv.Columns.Add(dr(0), dr(1)) End While For Each row As DataGridViewRow In Dgv.Rows Dr = OpenDR("SELECT * FROM tb_jumlah WHERE kode_tahun=@0 ORDER BY kode_indikator", Dgv.getValAt(row.Index, "kode_tahun")) While dr.Read() Dgv(Dr("kode_indikator").ToString(), row.Index).Value = Dr("jumlah") 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(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TxtCari.KeyPress If e.isEnter Then isiGrid1() End Sub Private Sub BtnKeluar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnKeluar.Click Me.Close() End Sub
Private Sub Dgv_CellFormatting(ByVal sender As Object, ByVal e As DataGridViewCellFormattingEventArgs) Handles Dgv.CellFormatting If Not IsNothing(e.Value) Then If e.ColumnIndex >= 2 Then e.CellStyle.BackColor = Color.LightBlue End If End If End Sub Private Sub Dgv_CellEndEdit(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles Dgv.CellEndEdit Dim jumlah As Double = Val(Dgv(e.ColumnIndex, e.RowIndex).Value) Execute("UPDATE tb_jumlah SET jumlah=@0 WHERE kode_tahun=@1 AND kode_indikator=@2", jumlah, Dgv(0, e.RowIndex).Value, Dgv.Columns(e.ColumnIndex).Name) TxtKeterangan.Text = "Data tersimpan!" End Sub End Class Form Perhitungan
Public Class FrmHitung Dim DtTahun As DataTable Dim DtIndikator As DataTable Dim DtJumlah As DataTable Dim a As Integer Dim MaxTahun = 0 Dim AC As ClassFWMA Private Sub FrmHitung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MaxTahun = GetVar("SELECT MAX(nama_tahun) FROM tb_tahun") TxtNextTahun.Text = MaxTahun + 0 TxtIndikator.setDS(OpenDT("SELECT kode_indikator, nama_indikator FROM tb_indikator ORDER BY kode_indikator")) Dim dt As DataTable = OpenDT("SELECT * FROM tb_jumlah WHERE jumlah < 0") Dgv1.SetDefault() awal() TxtMovingAvg.Text = 6 End Sub Sub awal() DtJumlah = OpenDT("SELECT p.nama_tahun, n.jumlah FROM tb_jumlah n INNER JOIN tb_indikator j ON j.kode_indikator=n.kode_indikator INNER JOIN tb_tahun p ON
p.kode_tahun=n.kode_tahun WHERE j.kode_indikator=@0 ORDER BY p.nama_tahun ", TxtIndikator.SelectedValue.ToString()) AC = New ClassFWMA(DtJumlah) With Dgv1 .Columns.Clear() .Columns.Add("tahun", "Tahun") .Columns.Add("jumlah", TxtIndikator.Text) .Columns("jumlah").formatNumber() For Each Row As KeyValuePair(Of Integer, Jumlah) In AC.DJumlah Dgv1.Rows.Add(Row.Value.Tahun, 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(TxtMovingAvg.Text) < 3 Or Val(TxtMovingAvg.Text) > Dgv1.Rows.Count - 1 Then MsgInfo("Masukkan moving agv dari " & 3 & " sampai " & (Dgv1.Rows.Count - 1)) Exit Sub End If 'If Val(TxtNextTahun.Text) < MaxTahun + 1 Then 'MsgInfo("Masukkan next tahun minimal " & (MaxTahun + 1)) 'Exit Sub 'ElseIf Val(TxtMovingAvg.Text) < 3 Or Val(TxtMovingAvg.Text) > Dgv1.Rows.Count - 1 Then 'MsgInfo("Masukkan moving agv dari " & 3 & " sampai " & (Dgv1.Rows.Count - 1)) 'Exit Sub 'End If AC.hitung(MaxTahun, Val(TxtNextTahun.Text), Val(TxtMovingAvg.Text)) With Dgv1 .Columns.Clear() .Columns.Add("tahun", "Tahun") .Columns.Add("jumlah", TxtIndikator.Text) .Columns("jumlah").formatNumber() .Columns.Add("ft", "Ft")
.Columns("ft").formatNumber(2) .Columns.Add("Err", "Err") .Columns("Err").formatNumber() .Columns.Add("AbsErr", "AbsErr") .Columns("AbsErr").formatNumber() .Columns.Add("Err^2", "Err^2") .Columns("Err^2").formatNumber() .Columns.Add("Err/Dt", "APE(%)") .Columns("Err/Dt").formatNumber(2) For Each Row As KeyValuePair(Of Integer, Jumlah) In AC.DJumlah .Rows.Add(Row.Value.Tahun, 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, Jumlah) In AC.DFt .Rows.Add(Row.Value.Tahun, Nothing, Math.Round(Row.Value.Fx, 2)) .Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.Yellow Next .Rows.Add("MAD", Nothing, AC.MAD) .Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.LightBlue .Rows.Add("MSE", Nothing, AC.MSE) .Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.LightBlue .Rows.Add("MAPE(%)", Nothing, AC.MAPE) .Rows(.Rows.Count - 1).DefaultCellStyle.BackColor = Color.LightBlue End With BtnCetak.Enabled = True End Sub Private Sub TxtIndikator_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtIndikator.SelectedIndexChanged awal() End Sub Private Sub BtnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCetak.Click Dim l As New LapHitung Dim Rpt As New RptHitung Dim Dt As DataTable = OpenDT("SELECT '' AS tahun, 0.0 AS jumlah, 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) 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 Private Sub FrmPassword_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class
WMA Class.vb
Public Class Jumlah Public Tahun As Integer 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 DJumlah As New Dictionary(Of Integer, Jumlah) Public DFt As New Dictionary(Of Integer, Jumlah) Public MAD As Double = 0 Public MSE As Double = 0 Public MAPE As Double = 0 Public Sub New(ByVal DtJumlah As DataTable) For Each row As DataRow In DtJumlah.Rows Dim a As New Jumlah a.Tahun = row("nama_tahun") a.Dt = row("jumlah") DJumlah.Add(a.Tahun, a) Next End Sub Public Sub hitung(ByVal MaxTahun As Integer, ByVal NexTahun As Integer, ByVal Avg As Integer) Dim Prev As New List(Of Double)
For Each Row As KeyValuePair(Of Integer, Jumlah) In DJumlah 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 = MaxTahun + 1 To NexTahun Dim n As New Jumlah n.Tahun = 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, Jumlah) In DJumlah 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.Err / Row.Value.Dt) 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 End If Next MAD /= n MSE /= n MAPE /= n End Sub End Class ModMySQL.vb
Imports MySql.Data.MySqlClient Imports vb = Microsoft.VisualBasic Imports System.Globalization Module ModMySQL Private Conn As New MySqlConnection Private Cmd As MySqlCommand Private Da As MySqlDataAdapter Private Ds As New DataSet Public Dr As MySqlDataReader Public User As String = "admin", Level As String = "admin" Private Sub Connect() Try If Conn.State = ConnectionState.Open Then Exit Sub
Conn = New MySqlConnection("SERVER=localhost;UID=root;PASSWORD=;DATABASE=db_forecasting_wma_tingkatpengangguran") Conn.Open() Application.CurrentCulture = New CultureInfo("en-US") Catch ex As Exception MsgError("ERROR: " & ex.Message) End Try End Sub Public Function GetConnection() As MySqlConnection Connect() Return Conn End Function Public Function OpenDT(ByVal sql As String, ByVal ParamArray parameters() As Object) As DataTable Try CloseDR() Ds.Tables.Clear() Cmd = New MySqlCommand(sql, GetConnection()) SetParameter(Cmd, parameters) Da = New MySqlDataAdapter(Cmd) Da.Fill(Ds) Return Ds.Tables(0) Catch ex As Exception MsgError("ERROR: " & ex.Message & vbCrLf & sql) Return Nothing End Try End Function Public Function OpenDR(ByVal sql As String, ByVal ParamArray parameters() As Object) As MySqlDataReader Try CloseDR() Cmd = New MySqlCommand(sql, GetConnection()) SetParameter(Cmd, parameters) Return Cmd.ExecuteReader() Catch ex As Exception MsgError("ERROR: " & ex.Message & vbCrLf & sql) Return Nothing End Try End Function
Private Sub CloseDR() Try Dr.Close() Catch ex As Exception End Try End Sub Public Sub Execute(ByVal sql As String, ByVal ParamArray parameters() As Object) Try CloseDR() Cmd = New MySqlCommand(sql, GetConnection()) SetParameter(Cmd, parameters) Cmd.ExecuteNonQuery() Catch ex As Exception MsgError("ERROR: " & ex.Message & vbCrLf & sql) End Try End Sub Public Sub Delete(tb As String, where As String, ParamArray parameters() As Object) execute("DELETE FROM " & tb & " WHERE " & where, parameters) End Sub Public Function GetVar(Sql As String, ParamArray parameters() As Object) As Object Dim Rows As DataTable = OpenDT(Sql, parameters) If Rows.Rows.Count > 0 Then Return Rows.Rows(0)(0) End If Return Nothing End Function Private Sub SetParameter(ByVal cmd As MySqlCommand, ByVal ParamArray parameters() As Object) For a As Integer = 0 To parameters.Count - 1 Dim parameterName As String = "@" & Trim(Str(a)) Dim value As Object = parameters(a) cmd.Parameters.AddWithValue(parameterName, value) Next End Sub Public Function sRight(ByVal str As String, ByVal Length As Integer) As String Return vb.Right(str, Length) End Function Public Sub MsgError(ByVal msg As String) MsgBox(msg, vbExclamation + MsgBoxStyle.OkOnly, "Error")
End Sub Public Sub MsgInfo(ByVal msg As String) MsgBox(msg, vbInformation + MsgBoxStyle.OkOnly, "Informasi") End Sub Public Function MsgAsk(ByVal msg As String) As MsgBoxResult Return MsgBox(msg, vbYesNo + vbQuestion, "Konfirmasi") End Function Public Function KodeOtomatis(field As String, table As String, prefix As String, length As Integer) As String Dr = OpenDR("SELECT " & field & " FROM " & table & " WHERE " & field & " REGEXP '" & prefix & "[0-9]{" & length & "}' ORDER BY " & field & " DESC") If Dr.Read Then Return prefix & Right(StrDup(length, "0") & Val(Right(Dr(0), length)) + 1, length) Else Return prefix & Right(StrDup(length, "0") & 1, length) End If End Function End Module Mod MySQLExtension.vb
Imports MySql.Data.MySqlClient Imports System.Runtime.CompilerServices Module ModMySQLExtension '===== DATABASE ===== <Extension()> Public Sub Buka(ByVal dataReader As OleDb.OleDbDataReader, ByVal sql As String, ByVal ParamArray parameters() As String) 'MsgBox("") 'dataReader = openDR(sql, parameters) 'msgAsk("") End Sub '===== FORM ===== <Extension()> Public Sub ShowAsChild(ByVal frm As System.Windows.Forms.Form, ByVal parent As System.Windows.Forms.Form) frm.WindowState = FormWindowState.Maximized frm.MdiParent = parent frm.Show() End Sub '===== DataGridView =====
<Extension()> Public Sub SelectFirst(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing Then Dgv.CurrentCell = Dgv.Rows(0).Cells(Dgv.CurrentCell.ColumnIndex) End If End Sub <Extension()> Public Sub SelectNext(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing And Dgv.CurrentCell.RowIndex + 1 < Dgv.Rows.Count Then Dgv.CurrentCell = Dgv.Rows(Dgv.CurrentCell.RowIndex + 1).Cells(Dgv.CurrentCell.ColumnIndex) End If End Sub <Extension()> Public Sub SelectPrevious(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing And Dgv.CurrentCell.RowIndex > 0 Then Dgv.CurrentCell = Dgv.Rows(Dgv.CurrentCell.RowIndex - 1).Cells(Dgv.CurrentCell.ColumnIndex) End If End Sub <Extension()> Public Sub SelectLast(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing Then Dgv.CurrentCell = Dgv.Rows(Dgv.Rows.Count - 1).Cells(Dgv.CurrentCell.ColumnIndex) End If End Sub <Extension()> Public Sub SetDefault(ByVal Dgv As DataGridView) Dgv.ReadOnly = True Dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells Dgv.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders Dgv.AllowUserToAddRows = False End Sub <Extension()> Public Sub copyTo(ByVal dgvFrom As DataGridView, ByVal dgvTo As DataGridView) dgvTo.AutoGenerateColumns = dgvFrom.AutoGenerateColumns dgvTo.AllowUserToAddRows = dgvFrom.AllowUserToAddRows dgvTo.ReadOnly = dgvFrom.ReadOnly
dgvTo.AutoSizeColumnsMode = dgvFrom.AutoSizeColumnsMode dgvTo.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders dgvTo.Columns.Clear() For Each c As DataGridViewColumn In dgvFrom.Columns dgvTo.Columns.Add(c.Name, c.HeaderText) dgvTo.Columns(c.Name).DefaultCellStyle = c.DefaultCellStyle dgvTo.Columns(c.Name).ToolTipText = c.ToolTipText Next If dgvFrom.Rows.Count = 0 Then Return For a = 0 To dgvFrom.Rows.Count - 1 dgvTo.Rows.Add(1) For b As Integer = 0 To dgvFrom.Columns.Count - 1 dgvTo.Rows(a).Cells(b).Value = dgvFrom.Rows(a).Cells(b).Value Next dgvTo.Rows(a).HeaderCell.Value = dgvFrom.Rows(a).HeaderCell.Value Next End Sub <Extension()> Public Function SumColums(ByVal dgv As DataGridView, ByVal col As String) As Double Dim total As Double = 0 For Each row As DataGridViewRow In dgv.Rows If Not IsDBNull(row.Cells(col).Value) Then total = total + Val(row.Cells(col).Value) End If Next SumColums = total End Function <Extension()> Public Sub fillFromArray(ByVal dgv As DataGridView, ByVal matriks(,) As Double, Optional ByVal row As Integer = 0, Optional ByVal col As Integer = 0) For a = 0 To matriks.GetUpperBound(0) For b As Integer = 0 To matriks.GetUpperBound(1) dgv.Rows(row + a).Cells(b + col).Value = matriks(a, b) Next Next End Sub <Extension()> Public Function getValAt(ByVal dgv As DataGridView, ByVal row As Integer, ByVal col As String) As Object
getValAt = dgv.Rows(row).Cells(col).Value End Function <Extension()> Public Function getValAt(ByVal dgv As DataGridView, ByVal row As Integer, ByVal col As Integer) As Object getValAt = dgv.Rows(row).Cells(col).Value End Function <Extension()> Public Function getSelAt(ByVal dgv As DataGridView, ByVal col As Integer) As Object getSelAt = dgv.Rows(dgv.CurrentCell.RowIndex).Cells(col).Value End Function <Extension()> Public Function getSelAt(ByVal dgv As DataGridView, ByVal col As String) As Object getSelAt = dgv.Rows(dgv.CurrentCell.RowIndex).Cells(col).Value End Function <Extension()> Public Sub formatNumber(ByVal col As DataGridViewColumn, Optional ByVal Dec As Integer = 0) col.DefaultCellStyle.Format = "N" & Dec col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight End Sub '===== KeyPressEventArgs ===== <Extension()> Public Function isEnter(ByVal e As System.Windows.Forms.KeyPressEventArgs) As Boolean isEnter = (e.KeyChar = Chr(13)) End Function '===== KeyEventArgs ===== <Extension()> Public Function isSearch(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isSearch = (e.KeyCode = Keys.F1) End Function <Extension()> Public Function isAdd(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isAdd = (e.KeyCode = Keys.F2) End Function <Extension()> Public Function isSave(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean
isSave = (e.KeyCode = Keys.F3) End Function <Extension()> Public Function isPay(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isPay = (e.KeyCode = Keys.F4) End Function <Extension()> Public Function isRefresh(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isRefresh = (e.KeyCode = Keys.F5) End Function <Extension()> Public Function isPrint(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isPrint = (e.KeyCode = Keys.F6) End Function <Extension()> Public Function isEdit(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isEdit = (e.KeyCode = Keys.F7) End Function <Extension()> Public Function isDelete(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isDelete = (e.KeyCode = Keys.F8) End Function <Extension()> Public Function isCancel(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isCancel = (e.KeyCode = Keys.F9) End Function <Extension()> Public Function isClose(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean isClose = (e.KeyCode = Keys.Escape) End Function '===== DateTimePicker ===== <Extension()> Public Sub ThisMonth(ByVal dtp As DateTimePicker) dtp.Value = Now.AddDays(Now.Day * -1 + 1) End Sub '===== DateTimePicker ===== <Extension()> Public Sub Today(ByVal dtp As DateTimePicker)
dtp.Value = Now End Sub <Extension()> Public Sub FirstOfMonth(ByVal dtp As DateTimePicker) dtp.Value = DateTime.Today.AddDays(DateTime.Today.Day * -1 + 1) End Sub <Extension()> Public Sub LastOfMonth(ByVal dtp As DateTimePicker) dtp.Value = DateTime.Today.AddMonths(1).AddDays(DateTime.Today.Day * -1) End Sub <Extension()> Public Function ValStr(ByVal dtp As DateTimePicker) As String ValStr = dtp.Value.ToString("yyyy-MM-dd") End Function '===== ComboBox ===== <Extension()> Public Sub setDS(ByVal cmb As ComboBox, ByVal dt As DataTable) cmb.DataSource = dt cmb.ValueMember = dt.Columns(0).ColumnName If dt.Columns.Count > 1 Then cmb.DisplayMember = dt.Columns(1).ColumnName If dt.Rows.Count > 0 Then cmb.SelectedIndex = 0 End Sub <Extension()> Public Sub fillTerm(ByVal cmb As ComboBox, ByVal taxonomy As String, Optional ByVal selected As String = "", Optional ByVal addDefault As String = "") dr = openDR("SELECT term_name FROM tb_terms WHERE taxonomy='" & taxonomy & "' ORDER BY term_name") cmb.fill(dr, selected, addDefault) End Sub <Extension()> Public Sub fill(ByVal cmb As ComboBox, ByVal dr As MySqlDataReader, Optional ByVal selected As String = "", Optional ByVal addDefault As String = "") cmb.Items.Clear() If addDefault <> "" Then cmb.Items.Add(addDefault) While dr.Read() cmb.Items.Add(dr(0)) End While
cmb.Text = selected End Sub End Module
Daftar Riwayat Hidup
1. Data Personal
Nama : Febriyaningsih Siagian
Tempat / Tgl. Lahir : Terusan Tengah, 24 Februari 1998
Jenis Kelamin : Perempuan
Agama : Islam
Jenjang : Strata Satu (S1)
Program Studi : Sistem Informasi
Alamat : Dsn III Terusan Tengah Kec. Tinggi Raja
Telp/Wa : 0822-6050-6686 / 0857-6741-2391
Email : siagianveby@gmail.com
2. Pendidikan Formal
Jenjang Nama Lemabaga Jurusan Tahun
Masuk
Tahun
Lulus
SD SDN 013843 Terusan Tengah - 2004 2010
SMP SMP N 1 Tinggi Raja - 2010 2013
SMA SMA N 1 Buntu Pane IPA 2013 2016
Kuliah STMIK Royal Kisaran Sistem Informasi 2016 2020
Demikian daftar riwayat hidup ini dibuat dengan sebenarnya.
Kisaran, September 2020
Hormat Penulis
Febriyaningsih Siagian
Recommended